Skip to content

RAM Editing & Item Injection

hp3721 edited this page Feb 26, 2022 · 30 revisions

Summary

By using sys-botbase, we can remotely read and modify the game's RAM from our PC.

  • Using this functionality requires the sys-botbase sysmodule running on the console.
  • Your console must be on the same network as the PC running this program.

NHSE provides two methods for RAM Manipulation:

  • Arbitrary RAM read/write via the Main Editor's RAM Edit (CTRL-H).

    • Connect and request RAM at a specific offset & length.
    • Update when finished, or close the window to cancel.
  • Pocket Item Injection

    • In the Player Items window, click the Injector button and connect.
    • Check the checkboxes to make the window sync with the game. Any changes will be copied to the game, and vice versa.
    • If you are having issues with FailValidate, you can turn off the validation checkbox.
  • Pocket Item Offsets: Use the corresponding offset for the version of the game you are playing.

    • V1.0: ???
    • V1.1: AC3B90C0
    • V1.2: AC4723D0
    • V1.3: ABA526A8
    • V1.4: ABADD888
    • V1.5: ABC25840
    • V1.6: AD3C7FD8
      • For an island which has multiple player profiles, use this formula (1.6.0 only):
        0xAD3C7FD8 + (0x133B78 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V1.7: ACDAD530
      • For an island which has multiple player profiles, use this formula (1.7.0 only):
        0xACDAD530 + (0x10E3A8 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V1.8: ACDB0530
      • For an island which has multiple player profiles, use this formula (1.8.0 only):
        0xACDB0530 + (0x10E3A8 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V1.9: 0xAE19C778
      • For an island which has multiple player profiles, use this formula (1.9.0 only):
        0xAE19C778 + (0x10E500 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V1.10: 0xAE61F840
      • For an island which has multiple player profiles, use this formula (1.10.0 only):
        0xAE61F840 + (0x10E500 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V1.11: 0xAED22840
      • For an island which has multiple player profiles, use this formula (1.11.0 only):
        0xAED22840 + (0x10E500 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V2.0: 0xAF70D6E0
      • For an island which has multiple player profiles, use this formula (2.0.0 only):
        0xAF70D6E0 + (0x11B968 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V2.0.4: 0xAF71E6E0
      • For an island which has multiple player profiles, use this formula (2.0.4 only):
        0xAF71E6E0 + (0x11B968 * (number of profiles on your island - 1)) and convert it to hexadecimal.
    • V2.0.5: 0xAFB1E6E0
      • For an island which has multiple player profiles, use this formula (2.0.5 only):
        0xAFB1E6E0 + (0x11B968 * (number of profiles on your island - 1)) and convert it to hexadecimal.

Accessing these features without a save file

  • You don't need to load a save file to access the RAM/Item injectors. From the main window (the small window, not the editor), press CTRL-H to bring up the hex editor, or CTRL-I to bring up the item editor.

Troubleshooting

At the time this wiki was written, the Release version of sys-botbase you should use is v1.6.

Q - My read/writes appear invalid?
A - You likely have cheats enabled. Disable them as they will cause issues. This is usually because of Edizon's cheat engine (even if no cheats are loaded), Tesla, Capturesight, or layeredFS / game mods. Once you have made changes to remove cheats, reboot your Switch and try again. If you still cannot fix the problem after removing the known offenders, you may need to delete everything except the Nintendo folder and reinstall CFW.

Q - How do I disable cheats temporarily?
A - To disable Atmosphere cheats temporarily for a specific title, hold L while launching the game.

Q - I'm getting error messages after connecting. How do I troubleshoot?
A - Double check your WiFi settings. Open Command Prompt and try to ping your IP to ensure that the ping is low and you are not dropping packets. If this fails, you have a problem with your connection setup. Ensure that:

  1. You have properly installed sys-botbase correctly (this includes putting the files in the right place and restarting your Switch).
  2. Your IP is correct (check Homebrew Menu and press Y).
  3. Your port is 6000 (DO NOT CHANGE THIS).
  4. Your PC is on the same network as your Switch.
  5. You are either online in-game (open your gates) or running ldn_mitm.
  6. Your Switch is close enough to your router to reduce Wi-Fi errors.