💡 A homebrew save management and editing tool for Horizon (Nintendo Switch)
Branch: master
Clone or download

README.md

EdiZon


Discord Server Build Status

A Homebrew save file dumper, injector and on-console editor for Horizon, the OS of the Nintendo Switch.

Overview

EdiZon consists of 3 different main functionalities.

  • Save file management
    • Extraction of game saves.
    • Injection of extracted game saves (Your own and your friends save files).
    • Uploading of savefiles directly to https://transfer.sh.
    • Batch extraction of all save files of all games on the system.
  • Save file editing
    • Easy to use, scriptable and easily expandable on-console save editing.
      • Lua and Python script support.
    • Built-in save editor updater.
  • On-the-fly memory editing
    • Cheat Engine like RAM editing.
    • Freezing of values in RAM. (WIP)
    • Scriptable background editing. (WIP)

All packed into one easy to use and easy to install Homebrew.

  • The code for the homebrew application can be found here.
  • The code for the sysmodule can be found here.

Images

Save editor Config and Script files

To download working Editor Config and Editor Script files, visit this repository

Check out our Wiki page for more information on how to build your own Editor Config and Editor Script files.

How to install

  1. Download the latest release from the GitHub release page.
  2. Unpack the downloaded zip file, put the files on your Nintendo Switch's SD card and let the folders merge.
  3. If you're using Hekate, make sure to add debugmode=1 to your current profile. Without that flag set RAM editing won't work.
  4. Use a free open source CFW like Atmosphère to launch the hbmenu and start EdiZon from there.

How to compile

  1. Clone the EdiZon repo to your computer using git clone https://github.com/WerWolv/EdiZon --recurse-submodules.
  2. Download and install devkitA64. It comes bundled with the devkitPro toolchain.
  3. Use the pacman package manager that comes with devkitPro to download and install libNX, portlibs (switch-portlibs) and freetype2 (switch-freetype).
  4. The rest of the compilation works using the make command. Type make homebrew to build EdiZon, make sysmodule to build the companion sysmodule used for RAM editing or make all to build both.

Discord

For support with the usage of EdiZon or the creation of save editor configs and scripts, feel free to join the EdiZon server on Discord: https://discord.gg/qyA38T8

Credits

Thanks to...

  • devkitPro for their amazing toolchain!
  • 3096 for save dumping/injecting
  • Bernardo Giordano for some code from Checkpoint.
  • SwitchBrew for the Homebrew Launcher GUI and shared font code.
  • thomasnet-mc for most of the save backup and restore code and the updater script.
  • trueicecold for batch backups and the editable-only mode.
  • onepiecefreak for the edizon debugger and LOTS of reviewing implementations.
  • Jojo for the Travis CI configuration and the config creator.
  • Ac_K for help with the server side update scripts and the EdiZon save website.
  • jakibaki for his massive help with the implementation of RAM editing and sys-netcheat which was used as inspiration.
  • SciresM for the aarch64 hardware accelerated SHA256 code and libstratosphere.
  • bernv3 for the beautiful icon.
  • All config creators for bringing this project to life!

  • nlohmann for his great json library.
  • Martin J. Fiedler for the nanojpeg JPEG decoding library.
  • Lua for their scripting language.
  • Python and nx-python for their scripting language respectively their python port to the switch.