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 code makers updating their codes like AOB from Cheat Engine):

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

TODO:

  • ASM code display
  • Output address sync with ASM code display
  • 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 ( ❌ if ver < 0.2), Mac/Linux ( ❓ : rebuild required (thx to Amuyea))
  • 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 capstone in the application failed to recognize bytes features. Here are some major reasons: zero gap in bytes file fail to work in capstone (fixed), nsnsotool decompressing command failed (fixed), application folder structure destroyed, cheat codes BID different from old main file. 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, Geminize and Konia1234 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...

This python3 code will add intro + outro + logo to your video and then will upload your edited video to YouTube, including all video details by a single click.

Python3 Video Editor + YouTube API Uploader This Python3 code allows you to add intro + outro + logo + upload complete video, including all video deta

Sep 7, 2022

This one packs alot more punch and steals google chrome passwords, cookies, tokens, credit card, ip takes screenshot and more!

This one packs alot more punch and steals google chrome passwords, cookies, tokens, credit card, ip takes screenshot and more!

MRX Token Grabber V1 πŸ”° MRX-Token-Grabber-V2 was made by Love ❌ code βœ… NOTE: MRX was made for educational purposes, therefor all consequences caused b

Jul 19, 2022

This is a python programme to make student report card, display it, update it, delete it and many more.

Report_Card_Class_11_Python This is a python programme to make student report card, display it, update it, delete it and many more. First ask the user

Aug 11, 2022

Create wallpapers to your heart's content! The wave function collapse algorithm brings orderly chaos into the mix for a bit of added detail!

Create wallpapers to your heart's content! The wave function collapse algorithm brings orderly chaos into the mix for a bit of added detail!

WAVE-FUNCTION-COLLAPSE-GRADIENT-WALLPAPER-ENGINE Fully customiseable wallpaper generator, suited for both horizontal and vertical monitors at any reso

May 23, 2022

Script that checks all Meraki switch ports in an organization and returns the existence of errors.

MERAKI_ORG_PORT_CHECK Script that checks all Meraki switch ports in an organization and returns the existence of errors. HOW TO USE IT Open the file "

Mar 29, 2022

A very simple tool to swap connections between output and input variables in an ONNX graph. Simple Variable Switch for ONNX.

A very simple tool to swap connections between output and input variables in an ONNX graph. Simple Variable Switch for ONNX.

svs4onnx A very simple tool to swap connections between output and input variables in an ONNX graph. Simple Variable Switch for ONNX. https://github.c

Sep 17, 2022

Internet Speed test app. Open the application and click the start button to run the app, take a look at your upload, download and even ping results.

Internet Speed test app. Open the application and click the start button to run the app, take a look at your upload, download and even ping results. while the loading there are some funny quotes that have been written as the title with the process is going on, have fun looking at them.

Apr 27, 2022

It's just a simple script to add all contest from site to your Google Calendar and make two reminder for them one before the contest one day, and another before half an hour, the event on Google Calendar have the registration link of the contest.

CP-Calendar It's just a simple script to add all contest from site to your Google Calendar and make two reminder for them one before the contest one d

Sep 3, 2022

A python package that updates one or more of your Spotify playlists every day with a random selection of songs from any public playlists.

Spotnik A python package that updates one or more of your Spotify playlists every day with a random selection of songs from any public playlists. For

Sep 14, 2022
Releases(latest)
Owner
zzpong
Talk is cheap, here's the code.
zzpong
A decompilation of Splatoon 2 v1.0 on the Nintendo Switch

A decompilation of Splatoon 2 v1.0 on the Nintendo Switch. This project does not aim to decompile the entire game (as this isn't exactly reasonable), but rather give a better understanding of the game.

shibboleet 8 Mar 30, 2022
A python script to seamlessly switch your bluetooth device connection between your MacBook and your Phone.

Blukonnect A python script to seamlessly switch your bluetooth device connection between your MacBook and your phone. Requirments Smartphone with smar

Steve Augustine 1 Sep 6, 2022
DNS Auto Update Dynamic IP, It is possible to check the Public IP on the router, if the ISP provides a Private IP, this program will reconnect the PPOE until the ISP provides a Public IP, then update the DNS on your provider.

DNS Auto Update Dynamic IP It is possible to check the Public IP on the router, if the ISP provides a Private IP, this program will reconnect the PPOE

PT Intprism Computing Technology 1 Apr 9, 2022
πŸ“₯ Comepress - Convert and Optimize your Web Project's Image Files to Next-Gen WebP format in just one click!

?? Comepress Super trivial app to optimize your web project by converting all PNG, JPG and JPEG images to Next-Gen WebP format Just drag and drop your

null 17 Sep 6, 2022
Makes your Python code more readable, more gentle.. For short, more "Pythonic"

?? Pythonify (not yet) Python is a code formatter for Python scripting language. It checks every line in the Python file and owing to that, it determi

Furkan 8 Aug 30, 2022
Python script(s) to generate metadata from Nintendo 3DS titles to be added into the DAT-o-MATIC database

dat_cdnverify Python script(s) to generate metadata from Nintendo 3DS titles to be added into the DAT-o-MATIC database Does what it says it does. ~/.3

ZeroSkill 1 Feb 23, 2022
An all-in-one tool to update your Analogue Pocket firmware and openFPGA cores!

update_pocket update_pocket is cross-platform script to update your Analogue Pocket firmware, openFPGA cores, and any required dependencies. Requireme

River Gillis 22 Sep 20, 2022
Download Instagram Reels/Videos in one click.

Instagram_Reels_Downloader Download Instagram Reels/Videos in one click. Steps to download :- set your own username and password in user_pwd.py file s

Imran Shaikh 1 Aug 7, 2022
One click termux all pkg install A automotive tool inatall all basick ccommand in termux you don't need to be remembered or typing

One click termux all pkg install A automotive tool inatall all basick ccommand in termux you don't need to be remembered or typing

AkashBlackHat 11 Sep 21, 2022
Torcha is a poor python module to work with tor, torcha automatically switch to new to clean circuits while you are doing your job.

What is torcha ? torcha is a poor module that use stem controller in order to change tor IP. Stem is a Python controller library for Tor, with Stem yo

Papa Crouz 1 Mar 28, 2022