User Tools

Site Tools


decomp:reversing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
decomp:reversing [2022/10/21 11:35] fruityloopsdecomp:reversing [2023/04/23 12:08] (current) – [Symbols/Function Names] fruityloops
Line 1: Line 1:
 ====== Reversing the Game ====== ====== Reversing the Game ======
-==== Importing code.bin ====+===== Importing code.bin =====
 To look at and document the disassembled/pseudo-decompiled code of the game, you are best off using a Tool specifically made for Reverse-engineering, like one of the following: To look at and document the disassembled/pseudo-decompiled code of the game, you are best off using a Tool specifically made for Reverse-engineering, like one of the following:
   * [[https://ghidra-sre.org/|Ghidra]]   * [[https://ghidra-sre.org/|Ghidra]]
Line 7: Line 7:
 For this Article, Ghidra will be used, but you can use anything. For this Article, Ghidra will be used, but you can use anything.
  
-To import the code.bin into the program you are using, you are probably better off converting it to an ELF file to import it, since ELF is a more widely-supported format.+To import the code.bin into the program you are using, you are probably better off [[https://github.com/NWPlayer123/ctr-elf2|converting it to an ELF]] file to import it, since ELF is a more widely-supported format.
  
-=== Notes when importing with Ghidra ===+==== Notes when importing with Ghidra ====
   * Disable the "Non-Returning Functions - Discovered" option when importing, since it will only cause trouble by marking innocent functions as non-returning.   * Disable the "Non-Returning Functions - Discovered" option when importing, since it will only cause trouble by marking innocent functions as non-returning.
 +
 +===== Symbols/Function Names =====
 +Since Super Mario 3D Land does not have debug symbols, or anything of that kind, we will need to be using symbols from the [[misc:games|other games that use ActionLibrary]] of which only Captain Toad: Treasure Tracker (Switch), Super Mario 3D World + Bowser's Fury Kiosk Demo and Super Mario Odyssey have debug symbols to use. For symbols that can't be found in other games, they will have to be made up. Super Mario Galaxy has [[https://tcrf.net/Super_Mario_Galaxy/Chinese_NVIDIA_Shield_Port#Symbol_Maps|debug symbols]] too, so it is useful to look at because it is the direct predecessor to Super Mario 3D Land.
 +
 +Captain Toad: Treasure Tracker is the best game to use in this case, preferably version 1.0 since that is compiled as 32-bit, so import it into your Reverse-engineering program of choice.
 +
 +If you need structs/symbols/function names, you can ask in the [[https://discord.gg/wK4ZKa9QXq|discord server]].
decomp/reversing.1666352150.txt.gz · Last modified: 2022/10/21 11:35 by fruityloops