Gateway RAM Tools 3DS

From GameBrew
Gateway RAM Tools
Gatewayramtools2.png
General
AuthorxJam-es
TypePC Utilities
Version1.3
LicenseMixed
Last Updated2016/06/17
Links
Download
Website
Source

Gateway RAM Tools is a collection of useful tools for exploring RAM Dumps created by Gateway's in-game menu. Written in C# and using .NET 4 for cross-platform GUI friendliness (Windows/Mono/Wine).

This project is created as an eductional piece and the 3DS hacking community to make full use of the RAM Dumping feature in Gateway 3DS. RAM Dumps are created in batches of Memory Regions which can be viewed by the in-game Gateway menu. The gaps between the Memory Regions are not dumped and so the files cannot be used with convntional RAM exploring software.

The tool will allow you to view the Memory Regions which have been dumped and where within the .bin file these are found. You can also use this tool to expand the .bin file (creating zero padding) in order to fix the offsets.

Features

  • Detect/Validate a Gateway RAM Dump.
  • View Memory Region offsets and their relative in-file offsets.
  • Translate In-Game offsets into In-File offsets for use with a hex editor.
  • Expand a Gateway RAM dump into a full-size RAW dump by zero-padding the missing data.
  • Batch-expand Gateway RAM Dumps for multiple files.
  • Export a header segment.
  • Fixed Address Search: (8/16/32bit Fixed Values).
  • Hex Viewer (found inside the Partition Table).
  • Pointer Address Search.

Installation

Requirements:

  • Nintendo 3DS with the latest Gateway 3DS set-up and free space for RAM Dumps.
  • Windows PC (XP and upwards).
  • Dot Net Installed with a minimum version of 4 -or-
  • A PC with Windows Compatibility installed (Mono/Wine etc).

User guide

Pointer Searching

For anyone who has used a cheat tool in the past, whether it's a Gameshark, Action Replay or PC RAM Editor, you'll know there are 2 types of cheats.

  • Fixed Addresses mean that no matter when you boot the game, or which level you are on, the value you want to edit is always at the same memory address.
  • Dynamic Addresses are where things get sticky, because the value you are searching for always moves around the games RAM and can't be pinned down by a single address.

Dynamic addresses are where you need a pointer. Essentially this is the part of the code which tells the game where to find the data, and this is where pointer searching becomes essential.

RAM Dumping

What you will need to do is start your game of choice, get to a stage where you can see the value you want to edit, and use Gateway's in-game search tools to pin down the first address you are looking for. For example:

  • Start a new game level and note the number of lives you have.
  • Use the in-game menu to search for that number and then lose 1 life.
  • Perform another search for the new number of lives and keep repeating this until you know the address this value is saved at.
  • As soon as you are confident, make a note of the address and perform a RAM Dump, also make a note of the file name Gateway shows while it's dumping.
  • Now, exit to the home screen, reboot the game and do steps 1-4 again.
  • If the address is different, you know you're dealing with Dynamic Addresses, so make a note of this new address and perform a second RAM Dump.

The more times you can do this, the more likely you are to find a valid pointer.

Using Gateway RAM Tools

  • Put your microSD from the Gateway RED Card into your PC and copy the RAM Dumps (named 00000000.bin, 00000001.bin etc) into a new folder.
  • Open Gateway RAM Tools and click Add Files...
  • Select all of these files and click Open.
  • Once they have loaded into Gateway RAM Tools, tick each one and go to Tools > Pointer Address Search.
  • In the Pointer Address Search Window, start with the default Search Settings
  • Leave the Memory Regions ticked.
  • In the Known Addresses box start typing the addresses to the values you noted down earlier, make sure they correspond to the same RAM Dumps files created.
  • Click Begin Search and Gateway RAM Tools will search each of the files and only display results for confirmed pointers (ones which are the same in all files).

Creating Cheats

  • For each of the pointers you wish to test out, right click it and select Create Cheat.
  • A window will pop up with a text box containing the code for the cheat, if you wish you can edit the New Value to represent the number you want in-game (e.g. put 99 to have 99 lives in-game).
  • Each of these cheats will need to go in a single text file, with the game's Title ID as the file name.
  • The text file will then need to be copied to the Gateway's RED Card, inside the cheats folder.
  • You can then launch the game, activate the in-game menu and choose the Cheat Manager to try out each one of the cheats created.

FAQ

Q. There are a lot of Pointers Found, what do i do?

You can either start at the top of the list and try each one out, or you can perform another search/RAM Dump and add in the new file to help to eliminate false positives.

Q. All of my pointer results didn't work, what do i do?

You can try changing the default search settings to gain more results and try those.

Screenshots

gatewayramtools3.png

Credits

Thanks to the following people for their input into the project so far:

  • Gateway 3DS Team.
  • Maxconsole.com Forums.
  • msparky76.
  • makikatze.
  • storm75x (Fort42).

External links

Advertising: