GithubHelp home page GithubHelp logo

mikeisastar / szshaxx Goto Github PK

View Code? Open in Web Editor NEW
70.0 4.0 2.0 755 KB

Injects arbitrary code into Mario Kart Wii.

License: GNU General Public License v2.0

Python 35.57% Makefile 18.28% C++ 30.05% C 16.10%
arbitrary code execution kart mario wii

szshaxx's Introduction

szsHaxx banner

szsHaxx

Injects arbitrary code into Mario Kart Wii.

Explanation

In Mario Kart Wii, competition data is stored within the game's save data. The course data for competitions is compressed using a proprietary compression format (Yaz) that was developed by Nintendo. The decompression function can be exploited via meticulously crafted compressed data, resulting in an overflow of the output buffer. In this instance, the buffer overflow leads to an arbitrary write, which grants the ability to write a single word to any memory address. By writing a branch instruction to the game's exception handler, code execution can be diverted in the event of a game crash. Following the arbitrary write, a Data Storage Interrupt (DSI) exception is triggered, resulting in code execution being redirected to the payload.

Usage

  1. Obtain an SD card that has a capacity of 2 gigabytes or less
  2. Format the SD card to FAT16 or FAT32
  3. Create the filepath sd:/private/wii/title/RMC[E|P|J|K] on the SD card. The final character should match the version of Mario Kart Wii that will be used
  4. Transfer the data.bin file that corresponds to the version of Mario Kart Wii that will be used into the aforementioned folder
  5. Place the boot.elf file to be executed on the root of the SD card (sd:/)
  6. Enable WiiConnect24
  7. Delete the save data for the version of Mario Kart Wii that will be used
  8. Transfer the save data from the SD card to the Wii
  9. Launch Mario Kart Wii
  10. Start the competition

Prerequisites

  • Python 3.7
  • devkitPPC

Building

python ./build.py

Credits

Code

  • Many thanks to Team Twiizers for creating Savezelda
  • Many thanks segher for creating twintig

Images

  • Many thanks to jay for creating the banner
  • Many thanks to chillz for creating the icons

Translations

Many thanks to the individuals listed below for their help with translations.

French

  • JohnP55
  • pumpkintheproot

German

  • ItsNiceCraft

Italian

  • LNLenost

Japanese

  • custard
  • varemi

Korean

  • juno

Media

szsHaxx (NEW Wii Exploit) Tested on Real Hardware! szsHaxx Demonstration

szshaxx's People

Contributors

mikeisastar avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

szshaxx's Issues

works on vWii

Tested this on real hardware, just thought I'd let you know that you can execute this on a real vWii, however not tested to the fullest extent because no SD card larger than 2GB

However, since this requires modifications to allow Wiiconnect24 to be enabled, this is therefore useless

Can't tranzfer save to wii memory

Hello, if i came to the step to copy the exploit save to the wii memory i get the message to must play the game first time. But i have launched the game and all other things are enabled like internet and Wiiconnect. I using a game disc in eur on an 4.3E console. Anything i missed?

German translation

Following the instructions from issue #3, here is a German translation:

Berechtigung erteilen

Erstellt von: MikeIsAStar

Indem du auf den "Start"-Knopf drückst,
lässt du die Ausführung von
fremdem Code auf deiner Konsole zu.

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.