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
Addons like multipages for streamlit webapp

streamlit_pages Installation $ pip install streamlit-pages Features Adding multiple pages to streamlit Sharing specific pages Usage import streamlit

36 Dec 25, 2022
dbt (data build tool) adapter for Oracle Autonomous Database

dbt-oracle version 1.0.0 dbt (data build tool) adapter for the Oracle database. dbt "adapters" are responsible for adapting dbt's functionality to a g

Oracle 22 Nov 15, 2022
The FLARE team's open-source library to disassemble Common Intermediate Language (CIL) instructions.

dncil is a Common Intermediate Language (CIL) disassembly library written in Python that supports parsing the header, instructions, and exception hand

MANDIANT 95 Jan 08, 2023
Google Fit Sensor Component

Google Fit Sensor Component

Ivan Vojtko 21 Dec 20, 2022
Grail(TM) is a web browser written in Python

Grail is distributed in source form. It requires that you have a Python interpreter and a Tcl/Tk installation, with the Python interpreter configured for Tcl/Tk support.

22 Oct 18, 2022
🤖🧭Creates google-like navigation menu using python-telegram-bot wrapper

python telegram bot menu pagination Makes a google style pagination line for a list of items. In other words it builds a menu for navigation if you ha

Sergey Smirnov 9 Nov 27, 2022
Multtable is a collection of multiplication table generators in various languages.

Multtable Multtable is a collection of multiplication table generators in various languages. This project was created as a joke based on one of my bro

pollen__ 7 Mar 05, 2022
Fork of pathlib aiming to support the full stdlib Python API.

pathlib2 Fork of pathlib aiming to support the full stdlib Python API. The old pathlib module on bitbucket is in bugfix-only mode. The goal of pathlib

Jazzband 73 Dec 23, 2022
A flexible free and unlimited python tool to translate between different languages in a simple way using multiple translators.

deep-translator Translation for humans A flexible FREE and UNLIMITED tool to translate between different languages in a simple way using multiple tran

Nidhal Baccouri 806 Jan 04, 2023
用于导出墨墨背单词的词库,并生成适用于 List 背单词,不背单词,欧陆词典等的自定义词库

maimemo-export 用于导出墨墨背单词的词库,并生成适用于 List 背单词,欧陆词典,不背单词等的自定义词库。 仓库内已经导出墨墨背单词所有自带词库(暂不包括云词库),多达 900 种词库,可以在仓库中选择需要的词库下载(下载单个文件的方法),也可以去 蓝奏云(密码:666) 下载打包好

ourongxing 293 Dec 29, 2022
AIST++ API This repo contains starter code for using the AIST++ dataset.

Explainability for Vision Transformers (in PyTorch) This repository implements methods for explainability in Vision Transformers

Google 260 Dec 30, 2022
It's an .exe file that can notify your chia profit and warning message every time automatically.

chia-Notify-with-Line 警示程式 It's an .exe file that can notify your chia profit and warning message every time automatically. 這是我自行設計的小程式,有轉成.exe檔了,可以在沒

You,Yu 1 Oct 28, 2021
InfiniPy has some neat features - like the endpoint for function

InfiniPy has some neat features - like the endpoint for function

ZeroTwo 7 Nov 20, 2022
Integer sets where all subsets have unique sums

Evil Sums Generation of sets of numbers where all constituents are recoverable from a partial sum.

Charlotte 5 Sep 24, 2022
Minos-python - A framework which helps you create reactive microservices in Python

minos-python Summary [TODO] Packages minos-microservice-aggregate minos-microser

Minos Framework 380 Jan 04, 2023
A passive recon suite designed for fetching the information about web application

FREAK Suite designed for passive recon Usage: python3 setup.py python3 freak.py warning This tool will throw error if you doesn't provide valid api ke

toxic v3nom 7 Feb 17, 2022
This synchronizes my appearances with my calendar

Josh's Schedule Synchronizer Here's the "problem:" I use a Google Sheets spreadsheet to maintain all my public appearances.

Developer Advocacy 2 Oct 18, 2021
Solutions to the language assignment for Internship in JALA Technologies.

Python Assignment Solutions (JALA Technologies) Solutions to the language assignment for Internship in JALA Technologies. Features Properly formatted

Samyak Jain 2 Jan 17, 2022
Completed task 1 and task 2 at LetsGrowMore as a data science intern.

LetsGrowMore-Internship Completed task 1 and task 2 at LetsGrowMore as a data science intern. Task 1- Task 2- Creating a Decision Tree classifier and

Sanjyot Panure 1 Jan 16, 2022
Web3 Solidity Connector

With this project, you can compile your sol files and create new transactions including creating contract and calling the state changer functions. You can integrate integrate your sol files with Pyth

Fethi Tekyaygil 3 Oct 09, 2022