XenonRecomp
by hedge-dev
XenonRecomp is a tool that converts Xbox 360 executables into C++ code, which can then be recompiled for any platform. Currently, it only supports x86 platforms due to the use of x86 intrinsics.
Last updated: N/A
What is XenonRecomp?
XenonRecomp is a tool designed to convert Xbox 360 executables (XEX files) into C++ source code. This C++ code can then be recompiled for different platforms, enabling the execution of Xbox 360 code on other systems. It utilizes x86 intrinsics and focuses on direct instruction conversion, making the output less human-readable but functional.
How to use XenonRecomp?
The tool consists of two main components: XenonAnalyse and XenonRecomp. XenonAnalyse is used to analyze the XEX file and generate a TOML file containing jump table information. XenonRecomp then uses this TOML file, along with a configuration TOML file and the ppc_context.h
header file, to perform the recompilation. The configuration TOML file specifies various settings, including file paths, optimization options, and addresses of specific functions. The output is C++ code representing the recompiled Xbox 360 executable.
Key features of XenonRecomp
Converts Xbox 360 executables to C++ code
Supports x86 platforms
Includes XenonAnalyse for jump table detection
Offers various optimization options
Provides mid-asm hook functionality for custom code injection
Supports explicit function boundary definition
Use cases of XenonRecomp
Reverse engineering Xbox 360 games
Porting Xbox 360 games to other platforms
Analyzing Xbox 360 game code
Creating custom patches and modifications for Xbox 360 games
FAQ from XenonRecomp
What platforms are supported?
What platforms are supported?
Currently, only x86 platforms are supported due to the use of x86 intrinsics.
Is the output code human-readable?
Is the output code human-readable?
The output code is not very human-readable as the instructions are directly converted without any effort to make them resemble decompiled code.
What is XenonAnalyse used for?
What is XenonAnalyse used for?
XenonAnalyse is used to detect jump tables in the XEX file and generate a TOML file containing this information, which is then used by XenonRecomp.
How are jump tables handled?
How are jump tables handled?
Jump tables are detected statically using XenonAnalyse, and the recompiler generates real switch cases for these jump tables based on the information in the TOML file.
What are mid-asm hooks?
What are mid-asm hooks?
Mid-asm hooks allow users to insert custom function calls directly into the translated C++ code at specific instruction addresses, enabling custom code injection and modification.