ENDGAME is a universal dashboard exploit for the original Microsoft Xbox. This exploit has been carefully engineered to be compatible across all retail kernel and dashboard versions released for the original Xbox. It does not require a game, or even a working DVD drive -- only a memory card.
Special credit belongs to @shutterbug2000 for the initial discovery of this vector within the dash and the first to demonstrate code execution against it. With further research, ENDGAME was developed by @gaasedelen leveraging an adjacent vulnerability that offered greater control and facilitated a more ubiquitous exploitation strategy.
This project does NOT use any copyrighted code, or help circumvent security mechanisms of an Xbox console. Upon success, ENDGAME will launch a habibi-signed XBE from the root of the memory card. It does not patch kernel code or allow you to launch retail-signed executables.
By using this software, you accept the risk of experiencing total loss or destruction of data on the console in question.
The exploit files can be generated from scratch using Python 3 + NASM on Windows.
Example usage is provided below:
python main.py
Successful output should look something like the following:
[*] Generating ENDGAME v1.0 exploit files -- by Markus Gaasedelen & shutterbug2000
[*] Assembling shellcode... done
[*] Un-swizzling payload... done
[*] Compressing payload... done
[*] Saving helper files... done
[*] Saving trigger files... done
[+] Success, exploit files available in ENDGAME/ directory
A pre-built zip of the exploit and sample payload XBE is available on the releases page of this repository.
Copy the contents of the generated ENDGAME/
directory to a Xbox memory card such that the root directory of the memory card has the following structure, where payload.xbe
can be any habibi-signed XBE of your choosing:
/helper/
/trigger/
/payload.xbe
To trigger the exploit, plug the memory card into a controller and navigate to it while in the dashboard.
After a few seconds, the system should begin cycling the front LED to green/orange/red to indicate success. This is followed by it launching the payload.xbe
placed on the memory card.
- A: No, by itself, ENDGAME is not a softmod. But it will make softmodding significantly more accessible as the community integrates it into existing softmod solutions.
- A: This exploit will enable people to softmod any revision of the original Xbox without needing a specific game. It will also allow people to easily launch a homebrew XBE (such as the Insignia setup assistant, or content scanning tools) by simply inserting a memory card into an unmodded Xbox.
- A: Yes, any FATX-formatted compatible USB device and controller port dongle should work.
- A: Your XBE must be signed using the habibi key. Several tools can do this,
xbedump
being the most popular.
- A: The most common explanation is that your XBE may be using the Debug/XDK kernel thunk & entry point XOR keys rather than the retail ones, resulting in a crash.
- A: While this should be uncommon, it means the exploit probably crashed. It's recommended to navigate straight to the memory card on a cold boot for successful exploitation.
- A: No. Currently, ENDGAME is only structured to copy & execute a standalone XBE.
- A: The exploit targets an integer overflow in the dashboard's handling of savegame images. When the dash attempts to parse the specially crafted images on the memory card, ENDGAME obtains arbitrary code execution.
- shutterbug (@shutterbug2000), discovery and initial exploitation efforts
- Markus Gaasedelen (@gaasedelen), root-cause-analysis & ENDGAME development
- xbox7887 (@xbox7887), minor contributions and assistance with testing