RolfRolles/HexRaysDeob

building for IDA 7.2

TakahiroHaruyama opened this issue · 5 comments

Hi,

I tried to build the code with IDA SDK and HexRays SDK 7.2 but there were some undefined/undeclared items.

e.g.,

  • mfuncinfo_t and mfuncargs_t
  • optimize_flat
  • mbl_array_t::make_chains_dirty

All are defined in hexrays_sdk 7.1 but not defined in the 7.2.
Could you modify to work on IDA 7.2 or tell me the hints so that I can do that?

Thanks,
Takahiro

Comparing micro.hpp, seems to be a matter of simple renaming:

mfuncinfo_t -> mcallinfo_t
mfuncargs_t -> mcallarg_t
optimize_flat -> optimize_solo
make_chains_dirty ->mark_chains_dirty

You must've downloaded the code more than 12 hours ago, which is when I merged the 7.2 port to GitHub. It does build; I tested it. See the latest commit on the master branch. Here's the changelog: 88eb444

I'm closing this issue.

Thanks all!

I could build it but the plugin on 7.2 looks not work.
I checked the decompiled code of the same function (sub_10010970) in the blog was still obfuscated when typing tab/F5.

Rolf, could you check if the built plugin for 7.2 works correctly?

Yes, it works correctly. The following screenshot was created using 7.2, with a brand new database created from scratch using the sample referenced in the blog entry, at address 0x10010970.

it-works

Make sure the plugin is built and installed properly. E.g., make sure you built the "ida32 Debug" version and installed it in the %IDA%\plugins directory, not the "ida64 Debug" version. You can run a command like the one in the script window shown to be sure that the plugin is loaded. The script produced one line of output in the message window at the bottom, namely: "Hex-rays version 7.2.0.181105 has been detected, Microcode explorer ready to use".

Thank you for very kind advices, Rolf!
I could check it worked. I appreciate your help.