Custom Code/Setting up Ghidra

From Zenith
Jump to navigation Jump to search

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.

Installation[edit | edit source]

Requirements[edit | edit source]

  • Java JDK 11+
  • 64-bit operating system

Steps[edit | edit source]

  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/.

Importing the RPX[edit | edit source]

Requirements[edit | edit source]

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

Steps[edit | edit source]

  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.