Custom Code/Setting up Ghidra

Ghidra is an open source reverse-engineering tool developed by the NSA. It is extremely useful for studying the code of New Super Mario Bros. U to help with creating custom code for it.

Requirements

 * Java JDK 11+
 * 64-bit operating system

Steps

 * 1) Download Ghidra v10.1-DEV Fork from here.
 * 2) Extract it to a new folder of your choice. The directory that contains ghidraRun.bat will now be called "GhidraDir" from now on.
 * 3) Download GhidraRPXLoader from here and extract the zip to GhidraDir/Ghidra/Extensions/.

Requirements

 * New Super Mario Bros. U RPX (US v1.3.0 recommended)

Steps

 * 1) Run ghidraRun.bat and go to File -> New Project.
 * 2) Select Non-Shared and give your project a name and a directory.
 * 3) Go to File -> Import File and select your RPX. Make sure that the settings are as follows:
 * 4) Click Ok and wait for the file to finish importing. Double click on the RPX in the Ghidra project and it should open the CodeBrowser.
 * 5) It will ask you if you would like to analyze the file. Click Yes and in the menu that shows up, disable Non-Returning Functions - Discovered, and click on the Demangle option and check the box on the right that says Only Demangle Known Mangled Symbols.
 * 6) Click Analyze and wait for it to finish. This may take a while. Once it finishes, you are done! You may now start reverse-engineering the code.