Custom Code/Reverse Engineering: Difference between revisions

From Zenith
Jump to navigation Jump to search
Content added Content deleted
(Created page with "This page is dedicated to guides on reverse engineering the game, to find helpful information about the internals and to assist in creating ASM patches for low level hacks. =...")
 
m (add IDA notice and game variant link)
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page is dedicated to guides on reverse engineering the game, to find helpful information about the internals and to assist in creating ASM patches for low level hacks.
This page is dedicated to guides on reverse engineering the game, to find helpful information about the internals and to assist in creating ASM patches for low level hacks.


== Finding Ctors ==
== Requirements ==


* [[Ghidra]] set up with the NSMBU RPX loaded ([[Game Variants|US v1.3.0 <small>[6B6EF642]</small>]] is recommended)
# Create a class from the Symbol Tree menu and name it the same as the target class name.
** <small>'''Advanced Users Only!''' You can alternatively use IDA Pro 7.2+ if you prefer, but this guide will be optimized for Ghidra and you will be on your own to convert steps to IDA equivalents.</small>
# Check the build function for your desired profile from the discord bot (syntax: .profile [name]).
* At least a basic understanding of C++ and/or Assembly (preferably PowerPC Assembly)
# Go to the build function address from above (Press G to load goto menu).

# Label the build function <code>Class::build</code> where Class is the name of the class you just created in the Symbol Tree.
[[Category:Guides]]
# Set the param type to <code>ActorBuildInfo*</code> and set the label to <code>buildInfo</code>.
# Right click on the function that gets called inside the build function, and go to function signature.
# Label it <code>Class::Class</code>, set the calling convention to <code>__thiscall</code> (make sure to remove the extra param if it creates one here), and set param 2 to be of type <code>ActorBuildInfo*</code> and labelled <code>buildInfo</code>.

Latest revision as of 00:50, 26 November 2022

This page is dedicated to guides on reverse engineering the game, to find helpful information about the internals and to assist in creating ASM patches for low level hacks.

Requirements[edit | edit source]

  • Ghidra set up with the NSMBU RPX loaded (US v1.3.0 [6B6EF642] is recommended)
    • Advanced Users Only! You can alternatively use IDA Pro 7.2+ if you prefer, but this guide will be optimized for Ghidra and you will be on your own to convert steps to IDA equivalents.
  • At least a basic understanding of C++ and/or Assembly (preferably PowerPC Assembly)