-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Suggestion] Make header file compatible with Ghidra #287
Comments
Would be great to support Ghidra |
Additional change necessary to properly parse header into Ghidra: eliminate C++ style inheritance from structs. Even with addition of the above typedefs, the following results in an error from Ghidra:
whereas the following results in the expected behavior:
I wrote a (terrible, brute force, slow, ugly shell) script to convert a large il2cpp.h from the former to the latter form (with the aforementioned typedefs), and it parsed as expected. Attached here in case it's useful to you or someone else, but it likely does just what you expect and would obviously be improved if done at generation time. |
Don't suppose you can be bothered to create a windows friendly version of that shell script? I tested in Git Bash but wouldn't run.. It would be great to get a Ghidra compatible header file from Il2CppDumper, currently the IDA python script does use the .h file and works great, however Ghidra is open source / free and has the added benefit of browsing the machine code as decompiled C which is a ton more readable.. |
Instead of inlining all the fields, you can do a regex replace of This version of the Ghidra script will automatically assign signatures to all the functions ghidra.py.gz |
Honestly I don't really want to spend the time refining the proof-of-concept shell script; I'd rather integrate the changes into il2cppdumper itself, or at least have it as an option. I'm sure I'll work toward that at some point. (Any day now...) |
Filed PR #371 to add aforementioned typedefs and inline all inherited struct info, WFM but will need more testing. For the script changes by @TellowKrinkle adding function/parameter info, refer to separate issue #366 |
Currently generated header file is not compatible with Ghidra "Parse C Source" option.
It needs typedefed C++ types to match Ghidra types. List of used by me typedefs I'm adding at the beginning for AArch64
So for example instead of
we need
Maybe it will be easier to just include in repo .prf parse configuration that will be used for il2cppheader files, so it won't conflict with IDA.
The text was updated successfully, but these errors were encountered: