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 ( #10 )
...
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 DMaroo/GhidRust#3 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