Skip to content

Latest commit

 

History

History
68 lines (39 loc) · 3.6 KB

README.md

File metadata and controls

68 lines (39 loc) · 3.6 KB

Mario Kart DS (EU) reverse-engineering

This repository contains my reverse-engineering work of the European version of Mario Kart DS (game code AMCP): ASM-hacking, better understanding of yet not fully documented DS/MKDS formats, additional tools (like a save editor) and hopefully more:

YouTube

YouTube video showcasing an ASM-hack injection of a custom scene with custom dialogs

drawing

drawing

Screenshots of the online save editor

Save editor

Reversing save-data formats and encryption/decryption allowed me to create an almost fully-featured online Mario Kart DS save editor:

drawing

drawing

drawing

drawing

drawing

drawing

ASM-hacking

Check out the ASM-hacking examples for more detailed information on how to inject custom code in MKDS, using generated headers and symbols of my reverse-engineering work on this game.

Command-line utility

For practical purposes (to make my life easier) I made a simple command-line tool, mkdsutil, in order to work with several MKDS formats in a more straightforward way (better than staring into a hex editor).

It currently has the following features:

  • Decrypt and/or encrypt save data

  • Print info/fields of decrypted save data

You will need CMake in order to compile it, without any external dependencies other than standard C++.

If you wish to make your own tools or extend these ones, you may be interested in the C++ code covering various MKDS formats and utils.

Credits