Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xboxdev/ghidra-xbe

Xbox Executable Format (XBE) Loader Extension for Ghidra SRE framework
https://github.com/xboxdev/ghidra-xbe

ghidra ghidra-extension hacktoberfest reverse-engineering xbox

Last synced: about 14 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

ghidra-xbe [![Download](https://img.shields.io/badge/-Download-blue)](https://github.com/XboxDev/ghidra-xbe/releases/latest)
==========
This is an extension for the [Ghidra SRE framework](https://ghidra-sre.org/) to support loading Xbox Executable Format (XBE) files, the format used for the [original Xbox game console](https://en.wikipedia.org/wiki/Xbox_(console)). Library symbol recovery is supported through integrated pattern matching against the [XbSymbolDatabase](https://github.com/Cxbx-Reloaded/XbSymbolDatabase).

Download
--------
The latest release of this extension can be [found on the releases page](https://github.com/XboxDev/ghidra-xbe/releases/latest). 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 `/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](https://github.com/mborgerson/xbox-includes). 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.