xex2tractor

A tool for extracting and inspecting Xbox 360 XEX2 executable files, written in Rust.

Usage

xex2tractor <file.xex>

Example Output

=== XEX2 Header ===
Magic:            XEX2 (0x58455832)
Module Flags:     0x00000001 [TITLE]
Header Size:      0x00003000 (12288 bytes)
Reserved:         0x00000000
Security Offset:  0x00000090
Header Count:     15

=== Optional Headers (15 entries) ===

[ENTRY_POINT] 0x824AB748
[IMAGE_BASE_ADDRESS] 0x82000000
[DEFAULT_STACK_SIZE] 0x00080000 (524288 bytes)
[SYSTEM_FLAGS] 0x00000400 [PAL50_INCOMPATIBLE]

[EXECUTION_INFO]
  Media ID:        0x2D2E2EEB
  Title ID:        0x535107D4
  Version:         0.0.0.2
  ...

[FILE_FORMAT_INFO]
  Encryption:  Normal (AES-128-CBC)
  Compression: Normal (LZX)

[STATIC_LIBRARIES] (12 libraries)
  XAPILIB  2.0.3215.0 (Unknown(64))
  D3D9     2.0.3215.1 (Unknown(64))
  ...

[IMPORT_LIBRARIES] (2 libraries)
  xam.xex v2.0.4552.0 (min v2.0.4552.0) - 104 imports
  xboxkrnl.exe v2.0.4552.0 (min v2.0.4552.0) - 294 imports

Building

cargo build --release

Testing

Place a sample XEX2 file at tests/data/default.xex, then run:

cargo test

Documentation

See doc/xex2_format.md for the XEX2 file format specification.

License

This project is licensed under the MIT License. See LICENSE for details.

Description
XEX2 extraction tool
Readme MIT 139 KiB
Languages
Rust 100%