REhints / HexRaysCodeXplorer

Hex-Rays Decompiler plugin for better code navigation
2.41k stars 389 forks source link

IDA 9.0 support #121

Closed BowDown097 closed 3 months ago

BowDown097 commented 3 months ago

Tested most of the features with a database of mine under the Linux version and they seem to work fine. Might be good to mention this is also NOT backwards compatible. Also my first time working with the C++ IDA SDK at least so I hope I'm not committing some crime against humanity in the code here.

AeonLucid commented 3 months ago

Tested this out along with the https://github.com/BowDown097/HexRaysCodeXplorer/pull/1 pull request for windows support. Compiled fine and no crashes, just all reconstructed types are empty structs.

It seems to not be able to reconstruct types on x32 PE binaries. Which is maybe caused by IDA now using a single executable for both x32 and x64 (??).

The same fix was applied to https://github.com/rohitab/ClassInformer/commit/b3cb3e800db7694fd9c1031ad0cf7ea8a25b44bb. "Combine 64-bit version and PE32 on 64-bit version into a single DLL."

BowDown097 commented 3 months ago

Oh, yep, you're right. I was going to look into that as I thought that might be a problem but I completely forgot. My bad. I'll get to that asap.

BowDown097 commented 3 months ago

Did some changes, tested with a 32-bit Windows executable on top of the 64-bit macOS binary I was testing with before and everything works. Would appreciate some testing under Windows IDA again since I still only have Linux IDA.

AeonLucid commented 3 months ago

Thanks for the quick update!

Compiled and tested your new changes but I still get empty structs.
This might also be an user error on my side, but I have used it in the past successfully.

If you add me on discord (aeonlucid) I can share the binary I'm testing with.

Redict commented 3 months ago

Hey. I am using it for native Android reverse engineering. Reconstructing type to e.g. JNIEnv works fine (in matter of restoring type all xref's down the list). Didn't tested more.

matrosov commented 3 months ago

Thank you, @BowDown097 for your contributions to the project! I will review your code and get back to you with comments or just merge them to master.

BowDown097 commented 3 months ago

There actually appears to be an issue with MSVC vtables that I want to look into, probably tomorrow, so I'd wait for that.

ThePixelGamer commented 2 months ago

Visual Studio build fails with this PR as the new Compat files weren't added to the .vcxproj file