GithubHelp home page GithubHelp logo

ghidra-port-mods-guide's Introduction

This guide is mainly focused on how to update mods or cheats for Yuzu or Ryujinx emulators. It also includes some tutorials that you can use to start making your first mods in exefs (IPSwitch) format.

What we usually need:

  • Ghidra or IDA Pro
  • SwitchLoader Extension if you're using Ghidra or nxo64.py if you're using IDA Pro
  • Java JDK. I suggest you the latest version: Java JDK 20
  • Ryujinx to extract the ExeFS files. You can do it using Yuzu too but IMO Ryujinx does a better job and it’s more faster
  • HxD or any other Hex Editor like this one (online version)
  • NSCBuilder to obtain our BID in a simpler way + your own prod.keys
  • NotePad++ It's not really necessary but IMO it's more convenient compared to Windows Notepad
  • Previous game update (I suggest you at least 2 previous updates). This suggestion is just for starters. As son as you gain experience using Ghidra/IDA Pro you will only need the previous version and the new version you want to update/port. So in my example it would be: TOTK 1.1.1 + 1.1.2 + 1.2.0. However for the guide I will only use TOTK 1.1.2 + TOTK 1.2.0
  • Latest game update (In this case TOTK 1.2.0).
  • Second Monitor/Ultrawide Monitor (Optional): This is just a suggestion. It's not really necessary but it makes your job easier. You will be searching and getting data from one version that you will then need to search and locate in the new version. So in case that you only have 1 monitor, you will have to split your screen: On the left one version and on the right the other version.
  • Time + a lot of patience: Some games take less time to analyze using Ghidra (depending on the size of the original game and the update, the changes incorporated etc etc). Others, however, may take hours. In my case I prefer to use IDA Pro and save a lot of time (IDA is able to reduce Ghidra times by half or even less).

If you don't have much time I would recommend starting with a game like ... ToZ: Link's Awakening. You can find the mods here (Press Control F on your keyboard and search for Awakening).

CLICK HERE TO START the Ghidra guide

Other guides:

Special Thanks to:

If you want to say thanks for the guide and support me, here's my Ko-Fi

ghidra-port-mods-guide's People

Contributors

stevensnd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

xpreatorianx

ghidra-port-mods-guide's Issues

Alternative Faster Method

It's great that you found my Ghidra guide useful and you've made a great guide on how to convert mods. Some people on Discord have informed me of another method to update .ips mods and it's a generally a more straightforward process and doesn't require Ghidra or the long time analyzing. This simpler method may also fail with some games I've heard but requires less technical ability.

  1. Dump the main of the game for the update/base game the mod is for and the update of the game you want to update it for
  2. Convert the .ips over into a cheat using the python script here: https://github.com/ChanseyIsTheBest/NX-60FPS-RES-GFX-Cheats/blob/main/ips%2Bpchtxt2cheat.py
  3. Use Interactive-ASM-Cheat-Updater here https://github.com/zzpong/Interactive-ASM-Cheats-Updater put the old and new main and the converted cheat into it
  4. Follow this guide in reverse to convert the cheat into an .pchtxt https://gbatemp.net/threads/how-to-convert-ips-or-pchtxt-into-cheat.626182/
  5. Convert the .pchtxt into .ips using IPSwitch https://github.com/3096/ipswitch

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.