EdiZon
💡 A homebrew save management, editing tool and memory trainer for Horizon (Nintendo Switch)
Top Related Projects
Pokémon Save File Editor
Gen I to GenVIII save manager.
Fast and simple homebrew save manager for 3DS and Switch.
hekate - A GUI based Nintendo Switch Bootloader
Quick Overview
EdiZon is an open-source save editor and save management tool for the Nintendo Switch. It allows users to modify their game saves, backup and restore save data, and even cheat in games using memory editing features. EdiZon is designed to be user-friendly and extensible, supporting a wide range of games through custom scripts.
Pros
- Extensive game support through community-created scripts
- User-friendly interface for save editing and management
- Ability to backup and restore save data
- Memory editing features for cheating and game modification
Cons
- Requires a modded Nintendo Switch to use
- Potential for save corruption if used incorrectly
- May be considered cheating in online games
- Legality and ethical concerns regarding game modification
Getting Started
To use EdiZon, follow these steps:
- Ensure you have a modded Nintendo Switch with custom firmware installed.
- Download the latest release of EdiZon from the GitHub repository.
- Extract the contents of the ZIP file to the root of your Switch's SD card.
- Launch EdiZon from the Homebrew Menu on your Switch.
- Select a game and begin editing save data or using memory editing features.
Note: Always backup your save data before making any modifications to prevent potential data loss.
Competitor Comparisons
Pokémon Save File Editor
Pros of PKHeX
- Specialized for Pokémon game save editing with extensive features
- Supports a wide range of Pokémon games across multiple generations
- Active development with frequent updates and bug fixes
Cons of PKHeX
- Limited to Pokémon games, not a general-purpose save editor
- Requires more in-depth knowledge of Pokémon game mechanics
- Windows-focused application, less portable than EdiZon
Code Comparison
PKHeX (C#):
public static GameVersion GetIsland(SaveFile sav)
{
return sav.Version switch
{
GameVersion.BDSP or GameVersion.PLA => GameVersion.SWSH,
_ => sav.Version,
};
}
EdiZon (C++):
void MainApplication::initializeServices() {
Account::initialize();
Title::initialize();
Socket::initialize();
UpdaterThread::initialize();
}
While both projects deal with game data manipulation, PKHeX focuses specifically on Pokémon save editing, utilizing C# for its Windows-based application. EdiZon, on the other hand, is a more general-purpose save editor for Nintendo Switch games, written in C++ and designed to run on the Switch itself. The code snippets highlight their different approaches and target platforms.
Gen I to GenVIII save manager.
Pros of PKSM
- Specialized for Pokémon game save editing
- Supports a wide range of Pokémon games across multiple platforms
- Includes features like event distribution and legal checks
Cons of PKSM
- Limited to Pokémon games only
- May have a steeper learning curve for users unfamiliar with Pokémon mechanics
- Less frequent updates compared to EdiZon
Code Comparison
PKSM (C++):
void SavLGPE::updateParty(void)
{
u32 partyOffset = partyBoxOffset(maxPartyBoxSlot());
for (int i = 0; i < 6; i++)
{
auto pkm = pkm(partyOffset, i);
if (pkm->species() != 0)
{
pkm->refreshChecksum();
pkm->encrypt();
}
memcpy(data + partyOffset + i * pkSize, pkm->rawData(), pkSize);
}
}
EdiZon (Lua):
function getValueFromSaveFile()
local value = saveFileBuffer:readUInt32LE(addressOffset)
return value
end
function setValueInSaveFile(value)
saveFileBuffer:writeUInt32LE(addressOffset, value)
end
Both projects serve different purposes, with PKSM focusing on Pokémon save editing and EdiZon offering a more general-purpose save editor for various Nintendo Switch games. The code snippets reflect their specialized nature, with PKSM handling Pokémon-specific data structures and EdiZon providing more generic read/write functions.
Fast and simple homebrew save manager for 3DS and Switch.
Pros of Checkpoint
- More focused on save management and backup functionality
- Simpler user interface, potentially easier for beginners
- Supports a wider range of console systems beyond just Nintendo Switch
Cons of Checkpoint
- Less feature-rich compared to EdiZon's extensive editing capabilities
- Limited customization options for save file manipulation
- Lacks real-time memory editing features
Code Comparison
EdiZon (memory editing):
u64 MainApplication::getMainNsoBase() {
u64 nsoAddr = 0;
DmntCheatProcessMetadata metadata;
if (R_SUCCEEDED(dmntchtGetCheatProcessMetadata(&metadata)))
nsoAddr = metadata.main_nso_extents.base;
return nsoAddr;
}
Checkpoint (save backup):
Result Io::copyFile(const std::string& srcPath, const std::string& dstPath)
{
Result res = 0;
int ret = 0;
FILE *src = NULL, *dst = NULL;
u64 size = 0;
// ... (file operations)
}
EdiZon focuses on memory manipulation and cheat functionality, while Checkpoint emphasizes file operations for save management. EdiZon's code demonstrates low-level system interactions, whereas Checkpoint's code shows file handling capabilities.
hekate - A GUI based Nintendo Switch Bootloader
Pros of hekate
- More comprehensive bootloader and payload launcher
- Supports custom boot configurations and multiple payloads
- Offers advanced features like eMMC backup/restore and partition management
Cons of hekate
- Steeper learning curve for beginners
- Primarily focused on low-level system operations, less user-friendly for game modding
Code Comparison
hekate (bootloader code):
void bootloader_main(void)
{
// Initialize hardware.
hw_init();
// Initialize display.
display_init();
// Initialize SD card and mount it.
sd_mount();
}
EdiZon (save editor code):
void MainApplication::initializeServices()
{
Account::initialize();
FsHelper::initialize();
Config::initialize();
GuiFactory::initialize();
}
While both projects are related to Nintendo Switch customization, they serve different purposes. hekate is a bootloader and low-level system tool, whereas EdiZon focuses on game save editing and cheats. The code snippets reflect their different focuses, with hekate dealing with hardware initialization and EdiZon handling higher-level services for its user interface and functionality.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
EdiZon
A Homebrew save file dumper, injector and on-console editor for Horizon, the OS of the Nintendo Switch. Please note if you are using Atmosphere 0.10.0+, you must use the snapshot version of EdiZon. Older versions of EdiZon do not work on the latest Atmosphere.
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://anonfile.com.
- 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.
- Easy to use, scriptable and easily expandable on-console save editing.
- On-the-fly memory editing
- Cheat Engine like RAM editing.
- Freezing of values in RAM via Atmosphère's cheat module.
- Interface for loading, managing and updating Atmosphère cheats.
All packed into one easy to use and easy to install Homebrew.
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
- Download the latest release from the GitHub release page.
- Unpack the downloaded zip file, put the files on your Nintendo Switch's SD card and let the folders merge.
- Use a free open source CFW like Atmosphère to launch the hbmenu and start EdiZon from there.
- If you want to use the cheat manager you absolutely have to use Atmosphère as only their cheats are supported.
- For the best experience, open the
/atmosphere/system_settings.ini
file and changedmnt_cheats_enabled_by_default = u8!0x1
todmnt_cheats_enabled_by_default = u8!0x0
.
How to compile
- Clone the EdiZon repo to your computer using
git clone https://github.com/WerWolv/EdiZon
. - Download and install devkitA64. It comes bundled with the devkitPro toolchain.
- Use the pacman package manager that comes with devkitPro to download and install libNX, portlibs (
switch-portlibs
) and freetype2 (switch-freetype
). - The rest of the compilation works using the
make
command.
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 her massive help with the implementation of RAM editing and sys-netcheat which was used as inspiration.
- SciresM for the aarch64 hardware accelerated SHA256 code, his implementation of the Atmosphère cheat engine and his support during development.
- kardch for the beautiful current icon.
- bernv3 for the beautiful old 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.
Top Related Projects
Pokémon Save File Editor
Gen I to GenVIII save manager.
Fast and simple homebrew save manager for 3DS and Switch.
hekate - A GUI based Nintendo Switch Bootloader
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot