Skip to content

idaxex 0.37 - pdata / exceptions parsing

Compare
Choose a tag to compare
@emoose emoose released this 07 Oct 17:59
· 27 commits to master since this release

Built for IDA 9.0.240925 RC1/release (beta2 not supported)

Binary has been renamed from idaxex64.dll to idaxex.dll, make sure to remove the older version.

Linux build of idaxex is now included, tested on some recent distros and seems to work fine, not sure how compatible it'll be with everything though.
(xex1tool build currently isn't included, but can be built for Linux from source)

0.37 changes:

  • use IDA's (undocumented...) eh_parse plugin to handle .pdata & exception parsing, should now mark SEH exceptions in functions fine
  • (for this it uses a hacked up version of eh_parse_t struct which could easily change in future, would be really nice if definition of that showed up in idasdk...)
  • small plug, but you can now connect IDA up to xenia-canary with gdbstub branch: https://github.com/emoose/xenia/commits/canary-gdbstub/

0.36 changes:

  • support building for Linux with clang & ida-cmake
  • parse & name TLS directory/callbacks
  • VA offset fixes for XEX3F/XEX0

0.35 changes:

  • improved .pdata parsing, greatly reduces time taken to label .pdata functions
  • savevmx/restvmx functions now named/hidden
  • add fix for some XEX1 files that had segments such as .idata removed entirely from basefile
  • use set_inf_main to mark EP like the IDA PE loader does, and call the set_import_* IDA funcs for imports
  • (0.35a) updated x360.til with savefpr/savevmx prototypes to improve decompilation

0.34a changes:

  • prompts to load PDB if the XEX contains debug info
  • now passes codeview info from the XEX over to IDA, fixing "pdb incorrect or invalid" message if using matching PDB for the executable
  • changing PDB_PROVIDER = PDB_PROVIDER_MSDIA inside pdb.cfg is recommended to fully load X360 symbols (though this is a lot slower than PDBIDA)

0.33 changes:

  • IDA 9.0 support: changed bin_search3 -> bin_search to support IDA 9.0.240925

0.32 changes:

  • hopefully fixed x360.til loading by delaying 32-bit switch until after XEX has loaded, should apply fine with hex-rays working, if you find anything wrong with it please let me know.

0.31 changes:

  • added support for IDA 9.0.240807 beta
  • savegpr/restgpr functions should be hidden from hex-rays now, making the decompilation a bit cleaner
  • savefpr/restfpr functions now also named/hidden