Update your Nintendo Switch cheats with one click, or a bit more~

Overview

Interactive-ASM-Cheats-Updater

DeviceTag LanguageTag BuildTag LicenseTag

This updater unlocks your ability of updating most of the ASM cheats for Nintendo Switch.

image

Table of Contents

Functions

image

Now supports (same logic with cheats makers updating their codes like AOB):

  • Update game cheats to other locales (if they don't rewrite the game code, then yes)
  • Search the whole main file for code features
  • Update normal ASM codes
  • Update code cave codes
  • Skip page/pageoff codes
  • Recognize branch codes and modify their pointer
  • Auto fill cheat bids when saving .txt file

TODO:

  • Save modified .NSO file base on cheats
  • Updating codes in .rodata or somewhere else (aka. high probability breaking the new game 😰 )

Quick Start Guide

If you need a Chinese version introduction, please refer here. 中文版请参考此帖

Pre-Requisites

  • Windows 10 ( ✔️ ), Windows 7 (), Mac/Linux ()
  • No python environment required

Downloading

Visit out releases page or download the latest version.

Usage

Dump main file from xci/nsp/nsz game/updates

There are lots of excellent works for you to dump the main file, like hactool and NSC_Builder. Please choose anyone you familiar with to dump two main files:

  • Old Main File: dump from the game which old cheat runs on
  • New main File: dump from the game which you want to update the old cheat to

Load main file and copy cheat codes

Build ID of the old main file will be shown after loading. Please make sure it is the same with the old cheat.

Interactively updating the cheat codes

Logs window has everything you need when updating cheat codes.

  • Generate: Generate one code or title
  • Skip: Skip one code or title, especially for pointer cheats.
  • Undo: Undo the last operation.
  • Restart: Restart the whole process.
  • Wing Length: Decide how many asm code lines are extracted as code features before and after the target address. Supported input type like array [left_side, right_side] and integer "single_input" are listed below:
Type Left Side Right Side Support Single Input
Normal ASM code feature lines before ASM address feature lines after ASM address ✔️
Branch to code cave feature lines before bl address feature lines after bl address ✔️
Branch with target address wing length for bl address wing length for bl target address
  • Regenerate: Useful when logs window show "address not found". Please change wing length and regenerate until single hit, or maybe double.
  • Debug: Generate a debug folder with procedure files to show you what happend during the whole progress.

Save cheat codes with "SaveCHT" button

Building from Source

Pre-Requisites For Build

  • Python 3.9
  • Packages in requirements.txt
  • upx (if bundling to one file need)
  • Spec file for pyinstaller (refer here for more info)

Hints For Pre-Requisites

  • Choose any python version lower than 3.9 will unleash the support of Windows 7, but not tested. Please use at your own risk.
  • There is a main.spec template in project root directory, please change demanded parameters before use.

Usage For Build

Install Python and upx

  • Don't forget to add environment variables.

Download source code

Use any command shell you familar with to install support packages

cd your_source_code_root_dir
py -3.9 -m pip install -r requirements.txt

Run the project

py -3.9 __main__.py

OR build the project

pyinstaller -F -w your_spec_name.spec --upx-dir your_upx_dir

Trouble Shooting

  1. Why my new codes doesn't work?

    A: On most cases, they are pointer cheat codes that can be recognized from the logs window. Please update these cheats with EdiZon SE or SE tools.

  2. Why my new codes break the game?

    A: Game developer will make a huge change for some specific version of games, like adding new function or improving code efficiency. In these cases, the ASM cheat codes need to be refind.

  3. Why this application repeating same title over and over again?

    A: It happened when the application failed to get main file bytes. Here are some major reasons: zero gap in bytes file fail to work in capstone (fixed), nsnsotool command failed (fixed), application folder structure destroyed. Please re-download this application or create an issue.

Contributing

Feel free to dive in! Open an issue or submit PRs.

Credits

Interactive ASM Cheats Updater is based on

a.) Keystone Engine and Capstone Engine: Without their brilliant work, Interactive ASM Cheats Updater will never be born.

b.) nsnsotool: This tiny program helps a lot on transforming nso files, made by 0CBH0.

Also thanks to:

Eiffel2018, donghui2199, 怪盗B and Geminize for their testing.

All cheat makers that sparing no effort in writing and updating cheat codes, you ARE the true heros!

All the helpers for bringing this project to life!

License

This project is licensed under GNU General Public License v3.0.

Refer the LICENSE file for more details.

You might also like...
A script to automatically update bot status at GitHub as well as in Telegram channel.

A simple & short repository to show your bot's status in your GitHub README.md file as well as in you channel.

program to store and update pokemons using SQL and Flask

Pokemon SQL and Flask Pokemons api in python. Technologies flask pymysql Description PokeCorp is a company that tracks pokemon and their trainers arou

Online-update est un programme python permettant de mettre a jour des dossier et de fichier depuis une adresse web.

Démarrage rapide Online-update est un programme python permettant de mettre a jour des dossier et de fichier depuis une adresse web. Mode préconfiguré

Appointment Tracker that allows user to input client information and update if needed.

Appointment-Tracker Appointment Tracker allows an assigned admin to input client information regarding their appointment and their appointment time. T

Tesla App Update Differences Extractor

Tesla App Update Differences Extractor Python program that finds the differences between two versions of the Tesla App. When Tesla updates the app a l

A python script for osu!lazer rulesets auto update.

osu-lazer-rulesets-autoupdater A python script for osu!lazer rulesets auto update. How to use: 如何使用: You can refer to the python script. The begining

This code can help you with auto update for-TV-advertisements in the store.

Auto-update-files-for-TV-advertisements-in-the-store This code can help you with auto update for-TV-advertisements in the store. It was write for Rasp

The update manager for the ERA App (era.sh)

ERA Update Manager This is the official update manager used in the ERA app (see era.sh) How it works Once a new version of ERA is available, the app l

A project to work with databases in 4 worksheets, insert, update, select, delete using Python and MySqI
A project to work with databases in 4 worksheets, insert, update, select, delete using Python and MySqI

A project to work with databases in 4 worksheets, insert, update, select, delete using Python and MySqI As a small project for school or college hope it is useful

Releases(latest)
Owner
zzpong
Talk is cheap, here's the code.
zzpong
Code repo for the book "Feature Engineering for Machine Learning," by Alice Zheng and Amanda Casari, O'Reilly 2018

feature-engineering-book This repo accompanies "Feature Engineering for Machine Learning," by Alice Zheng and Amanda Casari. O'Reilly, 2018. The repo

Alice Zheng 1.3k Dec 30, 2022
A python package to manage the stored receiver-side Strain Green's Tensor (SGT) database of 3D background models and able to generate Green's function and synthetic waveform

A python package to manage the stored receiver-side Strain Green's Tensor (SGT) database of 3D background models and able to generate Green's function and synthetic waveform

Liang Ding 7 Dec 14, 2022
The purpose of this tool is to check RDP capabilities of a user on specific targets.

RDPChecker The purpose of this tool is to check RDP capabilities of a user on specific targets. Programming concept was taken from RDPassSpray and thu

Hypnoze57 57 Aug 04, 2022
Packages of Example Data for The Effect

causaldata This repository will contain R, Stata, and Python packages, all called causaldata, which contain data sets that can be used to implement th

103 Dec 24, 2022
Research on how Gboard Stickers work.

Google-Sticker-Mashup-Research Research on how Gboard Stickers work. Contribute Contributing is nice, and you will be listed below for contributing. C

Jeremiah 45 Oct 28, 2022
Application to list countries in order of travel from the United States.

Application to list countries in order of travel from the United States.

Broden Wanner 1 Nov 03, 2021
PyDy, short for Python Dynamics, is a tool kit written in the Python

PyDy, short for Python Dynamics, is a tool kit written in the Python programming language that utilizes an array of scientific programs to enable the study of multibody dynamics. The goal is to have

PyDy 307 Jan 01, 2023
An example using debezium and mysql with docker-compose

debezium-mysql An example using debezium and mysql with docker-compose The docker compose starts the Zookeeper, Kafka, Mysql and Debezium Connect. Aft

Horácio Dias Baptista Neto 4 May 21, 2022
A code base for python programs the goal is to integrate all the useful and essential functions

Base Dev EN This GitHub will be available in French and English FR Ce GitHub sera disponible en français et en anglais Author License Screen EN 🇬🇧 D

Pikatsuto 1 Mar 07, 2022
poetry2nix turns Poetry projects into Nix derivations without the need to actually write Nix expressions

poetry2nix poetry2nix turns Poetry projects into Nix derivations without the need to actually write Nix expressions. It does so by parsing pyproject.t

Nix community projects 405 Dec 29, 2022
Visual Python and C++ nanosecond profiler, logger, tests enabler

Look into Palanteer and get an omniscient view of your program Palanteer is a set of lean and efficient tools to improve the quality of software, for

Damien Feneyrou 1.9k Dec 26, 2022
simple password manager.

simple password manager.

1 Nov 18, 2021
Python screenshot library, replacement for the Pillow ImageGrab module on Linux.

tldr: Use Pillow The pyscreenshot module is obsolete in most cases. It was created because PIL ImageGrab module worked on Windows only, but now Linux

455 Dec 24, 2022
Яндекс тренировки по алгоритмам. Июнь 2021

Young&&Yandex Тренировки по алгоритмам Если вы хотите попасть на летнюю стажировку в Яндекс, но пока не уверены в своих силах, приходите на наши трени

Podlevskiy Viktor 6 Sep 03, 2021
SimCSE在中文任务上的简单实验

SimCSE 中文测试 SimCSE在常见中文数据集上的测试,包含ATEC、BQ、LCQMC、PAWSX、STS-B共5个任务。 介绍 博客:https://kexue.fm/archives/8348 论文:《SimCSE: Simple Contrastive Learning of Sente

苏剑林(Jianlin Su) 504 Jan 04, 2023
Pardus-flatpak-gui - A Flatpak GUI for Pardus

Pardus Flatpak GUI A GUI for Flatpak. You can run, install (from FlatHub and fro

Erdem Ersoy 2 Feb 17, 2022
Utility to play with ADCS, allows to request tickets and collect information about related objects

certi Utility to play with ADCS, allows to request tickets and collect information about related objects. Basically, it's the impacket copy of Certify

Eloy 185 Dec 29, 2022
Liquid Rocket Engine Cooling Simulation

Liquid Rocket Engine Cooling Simulation NASA CEA The implemented class calls NASA CEA via RocketCEA. INSTALL GUIDE In progress install instructions fo

John Salib 1 Jan 30, 2022
An easy FASTA object handler, reader, writer and translator for small to medium size projects without dependencies.

miniFASTA An easy FASTA object handler, reader, writer and translator for small to medium size projects without dependencies. Installation Using pip /

Jules Kreuer 3 Jun 30, 2022
Using Python to parse through email logs received through several backup systems.

outlook-automated-backup-control Backup monitoring on a mailbox: In this mailbox there will be backup logs. The identification will based on the follo

Connor 2 Sep 28, 2022