Custom Code/Setting up Ghidra: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
Jhmaster2000 (talk | contribs) m (→Requirements: java version) |
Jhmaster2000 (talk | contribs) m (add category) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
=== Requirements === |
=== Requirements === |
||
* Java 11+ |
* Java JDK 11+ |
||
*64-bit operating system |
|||
=== Steps === |
=== Steps === |
||
# Download '''Ghidra |
# Download '''Ghidra v10.1-DEV Fork''' from [https://rootcubed.dev/ghidra_builds/ here]. |
||
# Extract it to a new folder of your choice. The directory that contains ghidraRun.bat will now be called "'''GhidraDir'''" from now on. |
# Extract it to a new folder of your choice. The directory that contains ghidraRun.bat will now be called "'''GhidraDir'''" from now on. |
||
# Download |
# Download GhidraRPXLoader from [https://rootcubed.dev/ghidra_builds/ here] and extract the zip to '''GhidraDir/Ghidra/Extensions/'''. |
||
# Download GhidraRPXLoader from [https://github.com/Maschell/GhidraRPXLoader/releases/download/0.7/ghidra_9.1-BETA_DEV_20191011_GhidraRPXLoader.zip here] and extract the zip to '''GhidraDir/Ghidra/Extensions/'''. |
|||
== Importing the RPX == |
== Importing the RPX == |
||
Line 18: | Line 18: | ||
=== Requirements === |
=== Requirements === |
||
* New Super Mario Bros. U RPX ( |
* New Super Mario Bros. U RPX (US v1.3.0 recommended) |
||
=== Steps === |
=== Steps === |
||
# Run ghidraRun.bat and go to File->New Project. |
# Run ghidraRun.bat and go to '''File -> New Project'''. |
||
# Select Non-Shared and give your project a name and a directory. |
# Select '''Non-Shared''' and give your project a name and a directory. |
||
# Go to File->Import File and select your RPX. Make sure that the settings are as follows: |
# Go to '''File -> Import File''' and select your RPX. Make sure that the settings are as follows: |
||
# Click |
# 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. |
||
# It will ask you if you would like to analyze the file. Click |
# 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'''. |
||
# Click |
# 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. |
||
[[Category:Guides]] |
Latest revision as of 07:49, 5 May 2022
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]
- Download Ghidra v10.1-DEV Fork from here.
- Extract it to a new folder of your choice. The directory that contains ghidraRun.bat will now be called "GhidraDir" from now on.
- 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]
- Run ghidraRun.bat and go to File -> New Project.
- Select Non-Shared and give your project a name and a directory.
- Go to File -> Import File and select your RPX. Make sure that the settings are as follows:
- 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.
- 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.
- 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.