4 ms·
Ghidra has a pretty good structure editor and structure definition system. You can import a C header (like a modified jni.h) and then you can declare parameters
by nneonneo 8y ago
Ghidra has a pretty good structure editor and structure definition system. You can import a C header (like a modified jni.h) and then you can declare parameters as being of type “JNIEnv *” - after that, Ghidra will automatically resolve function pointer calls for you. No need to keep consulting an offset table.
(IDA’s decompiler has all of this too, but it costs a lot more!)
- souprock 8y agoWhat about graph view? IDA will let you use struct offsets in the assembly language, making the assembly much more readable. I'm hearing that Ghidra doesn't, and that you are forced to use the decompiler to make use of the structs.
- saagarjha 8y agoI'm not completely sure what you're talking about, but if you annotate variables with types Ghidra will show member accesses instead of offsets in the assembly listing.
- pjmlp 8y agoThis graph view I guess. https://www.hex-rays.com/products/ida/pix/idalarge.gif https://www.hex-rays.com/products/ida/pix/idalarge.gif
- saagarjha 7y agoGhidra has a function graph view that shows the control flow for a function.
- souprock 7y agoNo, like this: https://www.hex-rays.com/products/ida/tech/graphing.shtml https://www.hex-rays.com/products/ida/tech/graphing.shtml It is sort of like a flow chart, with the assembly shown for each chunk. I've loaded up functions with over 5000 blocks of code, including one function that was a third of a megabyte in size. Navigation becomes important. Ghidra is supposedly slow at this scale. I'm also told that Ghidra seems to not do struct offsets in that view, forcing the use of the decompiler. With IDA the struct offsets can be chosen and viewed, all without involving the decompiler.