Skip to content

Security and stability fixes for Wii U multiplayer games (Aroma)

License

Notifications You must be signed in to change notification settings

PretendoNetwork/rce_patches

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

rce_patches

This Aroma plugin provides fixes for games that have security and crashing issues that can be triggered in a multiplayer game. These patches are known to work on Nintendo Network as well as Pretendo Network. Anyone playing multiplayer in affected games should have these patches installed.

The following fixes are provided:

  • Mario Kart 8 (All regions, v64)

    • ENLBufferPwn fix
    • Identification token parsing RCE fix (exploit found by Kinnay)
    • ENL nullptr deref fix + OOB read
  • Splatoon (All regions, v272)

Usage

Go to the latest release and download the .wps file. On your Wii U's SD card, place that file in wiiu/environments/aroma/plugins. Then reboot your console.

You can press L+Down+Minus on Aroma to view a config menu - if the installation worked, you should see "rce_patches" listed in that menu. You're now safe to play online.

If you need help with the installation, you can ask in the Pretendo discord, Nintendo Homebrew, or advanced users in the Aroma discord.

Building

Build options

Building via make only logs errors (via OSReport). To enable logging via the LoggingModule set DEBUG to 1 or VERBOSE.

make Logs errors only (via OSReport).
make DEBUG=1 Enables information and error logging via LoggingModule.
make DEBUG=VERBOSE Enables verbose information and error logging via LoggingModule.

If the LoggingModule is not present, it'll fallback to UDP (Port 4405) and CafeOS logging.

Building using Docker

It's possible to use a docker image for building. This way you don't need anything installed on your host system.

# Build docker image (only needed once)
docker build . -t rcepatches-builder

# make 
docker run -it --rm -v ${PWD}:/project rcepatches-builder make

# make clean
docker run -it --rm -v ${PWD}:/project rcepatches-builder make clean

Formatting code using Docker

docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source -i

Licensing

To ensure everyone has access to every fix, these patches are under GPLv2. Unless you're a programmer at Nintendo, then you can have the patches for free ;)