0
0
mirror of https://github.com/DMaroo/GhidRust.git synced 2025-05-18 05:22:06 +02:00

37 Commits

Author SHA1 Message Date
Dhruv Maroo
a4c5ebeee4
Fix typo in README (og -> of) 2024-05-19 01:47:47 +05:30
Dhruv Maroo
978c22d9ba
Update project status
* Putting development of this project on permanent hold because of a
      shift in priorities
2024-02-05 11:36:11 +05:30
Dhruv Maroo
8355b1f763
Add checkstyle config and Javadoc comments
* Also do some minor rename and refactor
2024-02-05 11:35:33 +05:30
rrockru
e6f0083cf0
Fix according GP-4269 ()
Co-authored-by: Dmitry Shchannikov <d_shchannikov@wargaming.net>
2024-02-05 08:13:14 +05:30
Dhruv Maroo
eb99077ee3
Fixed the failing build caused due to incorrect help files path 2023-06-11 20:53:24 +08:00
Dhruv Maroo
a9592b2b93
Add "documentation" (it's just the readme, but needs to be improved) 2023-05-20 13:16:39 +08:00
Dhruv Maroo
2679f507da
Use the correct CSS file for documentation 2023-05-20 13:09:05 +08:00
Dhruv Maroo
9550dd2717
Remove local file logging 2023-05-09 11:25:46 +05:30
Dhruv Maroo
b66c9091cc
Remove ELF specific section finding (no longer using .rodata)
* Now it searches the address set instead of getting the `.rodata`
      section (only for ELF)
    * See  for more
2023-05-08 13:17:17 +05:30
Dhruv Maroo
08f9e914d2
Remove parens for if conditions 2023-04-28 01:31:07 +05:30
Dhruv Maroo
6b91c2564f
Add better decompilation example's image in README 2023-04-27 04:21:32 +05:30
Dhruv Maroo
61d0e9b94a
Add support for more statements
* If statements decompiled correctly
    * Unary expressions have neater decompilation
    * Break and continue statements
    * Comparison operators decompiled correctly
2023-04-26 23:50:32 +05:30
Dhruv Maroo
3095de7bbd
Add decompilation logic for while and do-while statements 2023-04-26 08:42:43 +05:30
Dhruv Maroo
2891356e1b
Add CContext to store context information while parsing
* For now, it is being used to denote whether to use a semicolon or
      not
2023-04-26 08:41:30 +05:30
Dhruv Maroo
f0f3d0d747
Add a separate formatter
* This would allow for custom formatting
    * Keeps the CVisitor simple
2023-04-26 08:40:45 +05:30
Dhruv Maroo
d317d6ff3c
Add decompilation logic for array indexing
* Add parens while casting
    * Simplifies newline insertion and ";" insertion
2023-04-23 17:37:13 +05:30
Dhruv Maroo
425c633efe
Add decompilation logic for more constructs
* Function calls decompiled correctly
    * Add boolean type and boolean constants in the grammar
    * Allow angled braces in identifier names
    * Overload the `transpile` to also allow input streams
    * Update the generate script accordingly
2023-04-23 17:11:26 +05:30
Dhruv Maroo
6debceb8b5
Add parsing and codegen for assignment and declaration 2023-04-23 17:11:26 +05:30
Dhruv Maroo
2f5674d63b
Add configure instrucions for the plugin 2023-04-22 07:38:40 +05:30
Dhruv Maroo
a206ec28f3
Add decompilation support for function arguments 2023-04-22 07:38:40 +05:30
Dhruv Maroo
c24ddf0a79
Remove unused functions and variables 2023-04-22 07:38:25 +05:30
Dhruv Maroo
b51814233d
Remove certification manifest, not necessary 2023-04-22 07:05:06 +05:30
Dhruv Maroo
59fef18c3a
Make the decompiler plugin invoke the transpiler 2023-04-22 07:04:44 +05:30
Dhruv Maroo
8f916a6a8d
Update .gitignore to exclude Java class files 2023-04-22 07:04:17 +05:30
Dhruv Maroo
0d06543ef7
Update the README to be more descriptive
* Also add the report for detailed overview
2023-04-22 06:12:19 +05:30
Dhruv Maroo
c8231649a0
Use correct fucntion for the popup 2023-04-22 00:21:37 +05:30
Dhruv Maroo
c240d69264
Add logo in the README 2023-04-21 19:03:32 +05:30
Dhruv Maroo
8f7c12d3fe
Add C to Rust transpiler
* Add grammar for C and transpile it to Rust code
  * Add `generate.sh` to generate the JavaCC and JJTree files
  * Update `build.sh`
2023-04-21 19:02:44 +05:30
Dhruv Maroo
6d653d6aef
Add icon images for the decompiler plugin 2023-04-21 01:05:40 +05:30
Dhruv Maroo
32ce329db1
Add Rust decompiler widget plugin 2023-04-21 01:04:29 +05:30
Dhruv Maroo
27586dd822
Move RustStdAnalyzer and restructure directories 2023-04-21 01:04:06 +05:30
Dhruv Maroo
d3d87723c1
Add a nice logo :^) 2023-04-14 06:05:10 +05:30
Dhruv Maroo
c6b6df20fb
Add gitattributes (just in case :)) 2023-04-14 06:04:53 +05:30
Dhruv Maroo
e2a029e36e
Added the Function ID database
* This FIDB is for the libstd found with `rustc` version `1.58.1` on
    x86-64 Linux
  * Feel free to add more FIDBs, or replace this one with more relevant
    ones, depending on your system
2023-04-14 06:03:13 +05:30
Dhruv Maroo
159b1377cf
Add RustStdAnalyzer analyzer extension
* This extension uses an existing Function ID database to apply
    function signatures to Rust binaries (very useful in case of
    stripped binaries)
  * So this extension basically detects a Rust binary and auto-applies
    the correct `libstd` Rust function signatures, pretty cool
  * Plus, you can also add your own Function ID databases in the `data/`
    subdirectory if you want to apply even more signatures or, say,
    custom signatures
2023-04-14 06:00:17 +05:30
Dhruv Maroo
b561396f55
Remove existing installation before installing the new extension
* Also, clear out the `dist/` directory before building.
    This helps in avoiding duplicate builds caused sue of different dates.
2023-04-14 05:58:26 +05:30
Dhruv Maroo
1475238074
Initial extension set up
* Extension help can be found in the "Help" section in Ghidra
  * Extension build script, LICENSE and README added
2023-04-11 23:06:09 +05:30