ghidra-xbe
This is an extension for the Ghidra SRE framework to support loading Xbox Executable Format (XBE) files, the format used for the original Xbox game console. Library symbol recovery is supported through integrated pattern matching against the XbSymbolDatabase.
Download
The latest release of this extension can be found on the releases page. Download the latest ghidra_X.X.X_PUBLIC_XXXXXXXX_ghidra-xbe.zip
package. See below for how to install.
How to Build
To build this extension from source on Ubuntu, clone the repository and run the build.sh
script. The script will download the JDK, Gradle, and Ghidra release package, then build the extension and output a release package to the dist
directory.
How to Install
Copy the extension package ghidra_X.X.X_PUBLIC_XXXXXXXX_ghidra-xbe.zip
to your Ghidra installation directory <path to Ghidra root>/Extensions/Ghidra
. When starting Ghidra, in the main window navigate to File→Install Extensions..., and select XboxExecutableLoader. You can now import and analyze XBE files!
Extras
Headers
There is a set of GPL-sourced Xbox headers available in this repository. This can help improve your decompilation in Ghidra by providing type and function signature hints. You can parse this header in Ghidra after creating a project and importing your XBE. Following analysis, go to File → Parse C Source. Click the green + button, select the xbox.h
file, then click Parse to Program. In the Data Type Manager
window, right click on your default.xbe
and select Apply Function Datatypes.