Skip to content

Releases: emoose/idaxex

idaxex 0.35a - IDA 9.0 release

03 Oct 01:49
Compare
Choose a tag to compare

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

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 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:

  • change 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

idaxex 0.34a - IDA 9.0 release

02 Oct 21:28
Compare
Choose a tag to compare

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

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:

  • change 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

idaxex 0.33 - IDA 9.0 release

01 Oct 23:55
Compare
Choose a tag to compare

Built for IDA 9.0.240925 (RC1 / release)

0.33 changes:

  • change 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

idaxex 0.32 - IDA 9.0 beta

23 Aug 12:31
Compare
Choose a tag to compare

Built for IDA 9.0 beta 2

0.32 hopefully fixes x360.til loading by delaying 32-bit switch until after XEX has loaded, so x360.til 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 beta
  • savegpr/restgpr functions should be hidden from hex-rays now, making the decompilation a bit cleaner
  • savefpr/restfpr functions now also named/hidden

idaxex 0.31 - IDA 9.0 beta

10 Aug 17:15
Compare
Choose a tag to compare

Built for IDA 9.0 beta

0.31 should hide the savegpr/restgpr functions from hex-rays now, making the decompilation a bit cleaner, if you notice any issues with that let me know.

No x360.til included since tilib90.zip doesn't seem available, not sure if there's any way to hack the 7.7 x360.til to work with it...

idaxex + xex1tool 0.30

14 Jan 08:57
Compare
Choose a tag to compare

idaxex: XEX loader for IDA 7+, supporting most known Xbox360/Xenon executable formats.
xex1tool: manipulator for XEX2/XEX1/XEX0... files, can print detailed info & extract things like basefile/resources.

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

To install idaxex just extract the contents of the folder for your IDA version (eg. ida76_win) into IDA's install folder.

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

Changelog

(0.30) lzx: update decompressor to use same mspack as Xenia, fixes loading HdDvdXPlayer.xex & probably other XEXs
(0.30) update to VS2022 v143 compiler, update ExCrypt libs
(0.29.3) add IDA 7.6 build
(0.29.3) xex: fix callcap imports dbgmsg
(0.29.2) idaloader: delete useless .pdata -> fn xrefs
(0.29.1) xex1tool: print XEXP 32-bit media ID (from the 128-bit security_info.media_id in header)
(0.29.1) xex/xex1tool: allow parsing/printing XEXP delta patch headers
(0.29) xex1tool: add -i/imports option to print import libraries/functions
(0.29) xex: warning fixups, update ExCrypt to fix broken ShaFinal
(0.28.2) xex: don't include zero-blocks when converting VA -> file offset, warn if VA is part of a zero-block
(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 (rldicr etc), 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 X360 executable formats: https://github.com/cseagle/blc

The HexRays PPC decompiler should also work with this loader too, though in my experience that has some issues with handling X360-style prologs/epilogs (register save/loads etc), hopefully later versions might improve this.

Symbols

If you want to load any .PDB 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).

(If you run into an error when loading the PDB maybe try editing the pdb.cfg file, and swap the value of PDB_PROVIDER - MSDIA seems to have the best support for X360 files)

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.

For .MAP symbols I've updated the ida-pro-loadmap plugin to support loaders like idaxex, and also allow it to mark even more functions than it previously could, along with marking functions linked in from known SDK libraries: https://github.com/emoose/ida-pro-loadmap/releases/tag/1.43a

Usage

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!

idaxex + xex1tool 0.29.3

05 Aug 18:47
Compare
Choose a tag to compare

idaxex: XEX loader for IDA 7+, supporting most known Xbox360/Xenon executable formats.
xex1tool: manipulator for XEX2/XEX1/XEX0... files, can print detailed info & extract things like basefile/resources.

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

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

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

Changelog

(0.29.3) add IDA 7.6 build
(0.29.3) xex: fix callcap imports dbgmsg
(0.29.2) idaloader: delete useless .pdata -> fn xrefs
(0.29.1) xex1tool: print XEXP 32-bit media ID (from the 128-bit security_info.media_id in header)
(0.29.1) xex/xex1tool: allow parsing/printing XEXP delta patch headers
(0.29) xex1tool: add -i/imports option to print import libraries/functions
(0.29) xex: warning fixups, update ExCrypt to fix broken ShaFinal
(0.28.2) xex: don't include zero-blocks when converting VA -> file offset, warn if VA is part of a zero-block
(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 (rldicr etc), 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 X360 executable formats: https://github.com/cseagle/blc

The HexRays PPC decompiler should also work with this loader too, though in my experience that has some issues with handling X360-style prologs/epilogs (register save/loads etc), hopefully later versions might improve this.

Symbols

If you want to load any .PDB 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).

(If you run into an error when loading the PDB maybe try editing the pdb.cfg file, and swap the value of PDB_PROVIDER - MSDIA seems to have the best support for X360 files)

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.

For .MAP symbols I've updated the ida-pro-loadmap plugin to support loaders like idaxex, and also allow it to mark even more functions than it previously could, along with marking functions linked in from known SDK libraries: https://github.com/emoose/ida-pro-loadmap/releases/tag/1.43a

Usage

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!

idaxex + xex1tool 0.29.2

11 Jul 04:32
Compare
Choose a tag to compare

idaxex: XEX loader for IDA 7+, supporting most known Xbox360/Xenon executable formats.
xex1tool: manipulator for XEX2/XEX1/XEX0... files, can print detailed info & extract things like basefile/resources.

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/imports & extracting basefile/resources from all the XEX revisions supported by idaxex, usage is mostly the same as XexTool.

Changelog

(0.29.2) idaloader: delete useless .pdata -> fn xrefs
(0.29.1) xex1tool: print XEXP 32-bit media ID (from the 128-bit security_info.media_id in header)
(0.29.1) xex/xex1tool: allow parsing/printing XEXP delta patch headers
(0.29) xex1tool: add -i/imports option to print import libraries/functions
(0.29) xex: warning fixups, update ExCrypt to fix broken ShaFinal
(0.28.2) xex: don't include zero-blocks when converting VA -> file offset, warn if VA is part of a zero-block
(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 (rldicr etc), 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 X360 executable formats: https://github.com/cseagle/blc

The HexRays PPC decompiler should also work with this loader too, though in my experience that has some issues with handling X360-style prologs/epilogs (register save/loads etc), hopefully later versions might improve this.

Symbols

If you want to load any .PDB 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).

(If you run into an error when loading the PDB maybe try editing the pdb.cfg file, and swap the value of PDB_PROVIDER - MSDIA seems to have the best support for X360 files)

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.

For .MAP symbols I've updated the ida-pro-loadmap plugin to support loaders like idaxex, and also allow it to mark even more functions than it previously could, along with marking functions linked in from known SDK libraries: https://github.com/emoose/ida-pro-loadmap/releases/tag/1.43a

Usage

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!

idaxex + xex1tool 0.29.1

28 May 00:49
Compare
Choose a tag to compare

idaxex: XEX loader for IDA 7+, supporting most known Xbox360/Xenon executable formats.
xex1tool: manipulator for XEX2/XEX1/XEX0... files, can print detailed info & extract things like basefile/resources.

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/import libs & extracting basefile/resources from all the XEX revisions supported by idaxex, usage is mostly the same as XexTool.

Changelog

Note: 0.29[.1] only updates xex1tool, idaxex users don't need to update!

(0.29.1) xex1tool: print XEXP 32-bit media ID (from the 128-bit security_info.media_id in header)
(0.29.1) xex/xex1tool: allow parsing/printing XEXP delta patch headers
(0.29) xex1tool: add -i/imports option to print import libraries/functions
(0.29) xex: warning fixups, update ExCrypt to fix broken ShaFinal
(0.28.2) xex: don't include zero-blocks when converting VA -> file offset, warn if VA is part of a zero-block
(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 X360 executable formats: 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).

(If you run into an error when loading the PDB maybe try editing the pdb.cfg file, and swap the value of PDB_PROVIDER - MSDIA seems to have the best support for X360 files)

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/tag/1.43a

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!

idaxex + xex1tool 0.29

27 May 23:46
Compare
Choose a tag to compare

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/import libs & extracting basefile/resources from all the XEX revisions supported by idaxex, usage is mostly the same as XexTool.

Changelog

Note: 0.29 only updates xex1tool, idaxex users don't need to update!

(0.29) xex1tool: add -i/imports option to print import libraries/functions
(0.29) xex: warning fixups, update ExCrypt to fix broken ShaFinal
(0.28.2) xex: don't include zero-blocks when converting VA -> file offset, warn if VA is part of a zero-block
(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).

(If you run into an error when loading the PDB maybe try editing the pdb.cfg file, and swap the value of PDB_PROVIDER - MSDIA seems to have the best support for X360 files)

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!