Skip to content

Xbox Executable Format (XBE) Loader Extension for Ghidra SRE framework

Notifications You must be signed in to change notification settings

XboxDev/ghidra-xbe

Repository files navigation

ghidra-xbe Download

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 FileInstall 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 FileParse 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.