Security and stability fixes for Wii U multiplayer games (Aroma)
Go to file
2023-07-17 10:05:02 +10:00
.github/workflows ci: Update WUPS version and extend CI for normal pushes 2023-07-14 13:49:23 +10:00
source main: Bump version to v1.1, add DISTRO 2023-07-14 14:20:52 +10:00
.clang-format Format code 2023-01-08 11:43:20 +01:00
.gitignore Update .gitignore 2023-01-08 11:45:48 +01:00
Dockerfile ci: Update WUPS version and extend CI for normal pushes 2023-07-14 13:49:23 +10:00
LICENSE Add LICENSE (GPLv2) 2023-07-17 09:41:34 +10:00
Makefile main: Bump version to v1.1, add DISTRO 2023-07-14 14:20:52 +10:00
README.md README: Update with more info + usage instructions 2023-07-17 10:05:02 +10:00

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 ;)