Skip to content

idaxex + xex1tool 0.28.1

Compare
Choose a tag to compare
@emoose emoose released this 07 Feb 19:53
· 27 commits to master since this release

idaxex: XEX loader for IDA 7+, supporting most known Xbox360/Xenon executable formats.

Built for 32/64-bit IDA Pro 7.2, 7.3 & 7.5

To install idaxex just extract the contents of the folder for your IDA version (eg. ida75_win) into IDA's install folder (eg. C:\Program Files\IDA 7.5)

xex1tool is also included, which supports printing headers & extracting basefile/resources from all the XEX revisions supported by idaxex, usage is mostly the same as XexTool.

Changelog

(0.28.1) xex1tool: add param to convert between file & virtual (memory) addresses 
(0.28) include the x360.til file (thanks to xorloser for releasing it!)
(0.28) read & map functions from .pdata section (allows a lot more functions to be identified)
(0.28) use ppc:vmx128 processor, improve compiler definition, load x360.til
(0.27) include ida32 builds for IDA 7.2/7.3
(0.27) don't exclude .idata segment from being created (fixes some issues with halo 3 delta build's imports)
(0.26a) added 32-bit build for ida75 loader (for using with PPC hexrays, etc)
(0.26) add builds for IDA 7.3 & 7.5
(0.26) xex: add support for loading XEX0 files

Recommendations

PPC2C can come in useful for making sense of some of the bit-fiddling opcodes, updated code for IDA 7 can be found on gibbed's repo here: https://github.com/gibbed/ppc2c

You can also integrate Ghidra's decompiler into IDA by using cseagle's blc plugin, which works pretty well with both X360 executable formats (XEX / EXE): https://github.com/cseagle/blc

Symbols

If you want to load any symbols in they should hopefully work fine with this loader - IDA should be able to load .PDBs fine by itself (though not .XDBs, which aren't that interesting anyway since they only include symbols for XDK libraries).

When loading the PDB IDA will ask for the address to load it to, make sure to give it the correct base address of the XEX (eg. 0x82000000 is common, but others might be used too - check with xex1tool first), and uncheck the "Types only" option - you'll probably get an alert about the input file not matching as the PDB was made for the EXE before it was converted to XEX, you can usually ignore that, and as long as you have the correct PDB it should then load in fine.

I've also modified the ida-pro-loadmap .MAP symbols loader to let it work with loader plugins like this one too, and also allow it to mark even more functions than it previously could + mark functions that were linked in from known SDK libraries: https://github.com/emoose/ida-pro-loadmap/releases

Support

idaxex has no user-configurable options - just extract the loader, reload IDA and you should now be able to load XEX files!

If you have any problems please let me know about them on the Issues page!