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
The calculator on Python.

Calculator Contributors: Delitanast An official website. Information Hello! I am Damir. It`s my first Python project. I think you want see this. I imp

3 Mar 13, 2022
Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources.

Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources. It provides the necessary user stream data and order book data for trading in a

litepresence 5 May 08, 2022
A maubot plugin to invite users to Matrix rooms according to LDAP groups

LDAP Inviter Bot This is a maubot plugin that invites users to Matrix rooms according to their membership in LDAP groups.

David Mehren 14 Dec 09, 2022
Shows VRML team stats of all players in your pubs

VRML Team Stat Searcher Displays Team Name, Team Rank (Worldwide), and tier of all the players in your pubs. GUI WIP: Only username search works (for

Hamish Burke 2 Dec 22, 2022
Contains a Jupyter Notebook for calculating remaining plants required based on field/lathhouse data.

Davis-Sunflowers-Su21 Project goals: Plants influence their reproduction and mating system in many ways. Various factors such as time of flowering, ab

1 Feb 10, 2022
Estimating the potential photovoltaic production of buildings (in Berlin)

The following people contributed equally to this repository (in alphabetical order): Daniel Bumke JJX Corstiaen Versteegh This repository is forked on

Daniel Bumke 6 Feb 18, 2022
To effectively detect the faulty wafers

wafer_fault_detection Aim of the project: In electronics, a wafer (also called a slice or substrate) is a thin slice of semiconductor, such as crystal

Arun Singh Babal 1 Nov 06, 2021
Backend Interview Challenge

Inspect HOA backend challenge This is a simple flask repository with some endpoints and requires a few more endpoints. It follows a simple MVP (model-

1 Jan 20, 2022
Un Assistente Vocale scritto in Python e altamente personalizzabile

Un Assistente Vocale scritto in Python e altamente personalizzabile

Marco 2 May 06, 2022
Old versions of Deadcord that are problematic or used as reference.

⚠️ Unmaintained and broken. We have decided to release the old version of Deadcord before our v1.0 rewrite. (which will be equiped with much more feat

Galaxzy 1 Feb 10, 2022
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

Max 2 Feb 20, 2022
Notes on the Deep Learning book from Ian Goodfellow, Yoshua Bengio and Aaron Courville (2016)

The Deep Learning Book - Goodfellow, I., Bengio, Y., and Courville, A. (2016) This content is part of a series following the chapter 2 on linear algeb

hadrienj 1.7k Jan 07, 2023
Structured, dependable legos for starknet development.

Structured, dependable legos for starknet development.

Alucard 127 Nov 23, 2022
Plugin to manage site, circuit and device diagrams and documents in Netbox

Netbox Documents Plugin A plugin designed to faciliate the storage of site, circuit and device specific documents within NetBox Note: Netbox v3.2+ is

Jason Yates 38 Dec 24, 2022
With the initiation of the COVID vaccination drive across India for all individuals above the age of 18, I wrote a python script which alerts the user regarding open slots in the vicinity!

cowin_notifier With the initiation of the COVID vaccination drive across India for all individuals above the age of 18, I wrote a python script which

13 Aug 01, 2021
dragmap-meth: Fast and accurate aligner for bisulfite sequencing reads using dragmap

dragmap_meth (dragmap_meth.py) Alignment of BS-Seq reads using dragmap. Intro This works for single-end reads and for paired-end reads from the direct

Shaojun Xie 3 Jul 14, 2022
Python for Microscopists and other image processing enthusiasts

The YouTube channel associated with this code walks you through the entire process of learning to code in Python; all the way from basics to advanced machine learning and deep learning.

Dr. Sreenivas Bhattiprolu 2.3k Jan 01, 2023
It is convenient to quickly import Python packages from the network.

It is convenient to quickly import Python packages from the network.

zmaplex 1 Jan 18, 2022
🎉 🎉 PyComp - Java Code compiler written in python.

🎉 🎉 PyComp Java Code compiler written in python. This is yet another compiler meant for babcock students project which was created using pure python

Alumona Benaiah 5 Nov 30, 2022
A country information finder module

A country information finder module

Fayas Noushad 3 Nov 28, 2021