-
Notifications
You must be signed in to change notification settings - Fork 19
Compiling
This page contains instructions on how to compile the various stages of the bad update exploit. This process is only required for developers who are making changes to the exploit and need to rebuild it (ex: you want to target another kernel/hv version). If you're not a developer you can find precompiled versions of the exploit in the Releases section.
At a minimum you'll need the following tools which can be found in the Tools.zip archive in the releases section:
- XePatcher v3.1 (or newer)
There's quite a few steps to build the exploit from source so I created a batch script build_exploit.bat
which can be used to automate most of the compilation process. To use the batch file you'll need to extract the Tools.zip archive found in the releases section into the Xbox360BadUpdate repository folder such that XePatcher.exe can be found at the following path: \Xbox360BadUpdate\Tools\XePatcher\XePatcher.exe
.
Next you can run the batch file in a command prompt window with the following arguments:
build_exploit.bat <target game> [build flavor]
Arguments:
<target game> = game to compile exploit files for:
THAW - Tony Hawk's American Wasteland
[build flavor] = optional, specifies the build flavor (defaults to RETAIL_BUILD if argument not provided)
RETAIL_BUILD - Build for retail 17559 kernel
DEBUG_BUILD - Build for user defined kernel version
If compilation is successful the exploit files will be put into the folder located at \Xbox360BadUpdate\bin\<build flavor>\<game>
, ex: \Xbox360BadUpdate\bin\RETAIL_BUILD\TonyHawksAmericanWasteland
. You will still need to patch the game save files manually. Instructions for how to patch the game save files can be found in the Stage 1 section. You can ignore all other sections if you used the batch script.
Stage 1 is game dependent, see the following pages for how to compile stage 1 for each of the supported games.
Important
If you make changes to the stage 2 data segment you will need to recompile and rebuild the game save files as the stage 2 data segment is embedded into the game save exploit.
Stage 2, 3, and 4 can be compiled using the following command:
XePatcher.exe -p <asm file> -proc ppc --defsym <build flavor>=1 --defsym <target game>=1 --include "<common folder>" --include "<game folder>"
Where:
<asm file> = file path of the assembly file to compile (ex: Stage2\BadUpdateExploit-2ndStage.asm, Stage3\BadUpdateExploit-3rdStage.asm, etc.)
<common folder> = file path of the "Common" folder
<game folder> = file path of the folder for the game you're targeting
For possible values of <build flavor>
and <target game>
see the build configuration section below.
Example:
Stage 2:
XePatcher.exe -p "X:\Xbox360BadUpdate\Stage2\BadUpdateExploit-2ndStage.asm" -proc ppc --defsym RETAIL_BUILD=1 --defsym TONY_HAWK_AW=1 --include "X:\Xbox360BadUpdate\Common" --include "X:\Xbox360BadUpdate\Stage1\TonyHawksAmericanWasteland"
Stage 3:
XePatcher.exe -p "X:\Xbox360BadUpdate\Stage3\BadUpdateExploit-3rdStage.asm" -proc ppc --defsym RETAIL_BUILD=1 --defsym TONY_HAWK_AW=1 --include "X:\Xbox360BadUpdate\Common" --include "X:\Xbox360BadUpdate\Stage1\TonyHawksAmericanWasteland"
Stage 4:
XePatcher.exe -p "X:\Xbox360BadUpdate\Stage4\BadUpdateExploit-4thStage.asm" -proc ppc --defsym RETAIL_BUILD=1 --defsym TONY_HAWK_AW=1 --include "X:\Xbox360BadUpdate\Common" --include "X:\Xbox360BadUpdate\Stage1\TonyHawksAmericanWasteland"
Some of the stages require additional command line arguments that control how the exploit is compiled. This section contains all of the build configuration values that can be used.
Used to target retail or debug configurations. Possible values:
-
RETAIL_BUILD
: build for retail 17559 kernel. -
DEBUG_BUILD
: build for user defined kernel version.
Note
The debug configuration is used for development/testing builds on arbitrary kernel versions. This configuration would be used if you wanted to target another kernel/hv version and would require additional configuration files be setup with kernel/hv version specific addresses.
Chooses which game to target when building. Possible values:
-
TONY_HAWK_AW
: build for Tony Hawk's American Wasteland.