CustomRPXLoader/README.md

36 lines
1.7 KiB
Markdown

[![CI-Release](https://github.com/wiiu-env/CustomRPXLoader/actions/workflows/ci.yml/badge.svg)](https://github.com/wiiu-env/CustomRPXLoader/actions/workflows/ci.yml)
# CustomRPXLoader
This custom loader for `.rpx` files which can be used with any `payload.elf` loader. (For example [PayloadFromRPX](https://github.com/wiiu-env/PayloadFromRPX) or [JsTypeHax](https://github.com/wiiu-env/JsTypeHax))
## Usage
Place the `payload.elf` in the `sd:/wiiu` folder of your sd card and run a exploit which loads `payload.elf`, this will load the `sd:/wiiu/payload.rpx` into memory and execute it. The maximum size of the `payload.rpx` depends on the size of this loader, but should > 7Mib.
## Building
For building you just need [wut](https://github.com/devkitPro/wut/) and the ppc-portlibs (`(dkp-)pacman -Syu ppc-portlibs`) installed, then use the `make` command.
## Building using the Dockerfile
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 customrpxloader-builder
# make
docker run -it --rm -v ${PWD}:/project customrpxloader-builder make
# make clean
docker run -it --rm -v ${PWD}:/project customrpxloader-builder make clean
```
## Format the code via docker
`docker run --rm -v ${PWD}:/src ghcr.io/wiiu-env/clang-format:13.0.0-2 -r ./src --exclude ./src/elfio -i`
## Credits
- Maschell
- orboditilt
- Copy pasted the solution for using wut header in .elf files from [RetroArch](https://github.com/libretro/RetroArch)
- Copy pasted resolving the ElfRelocations from [decaf](https://github.com/decaf-emu/decaf-emu)
- Copy pasted SD mounting code + devoptabs from [libutils](https://github.com/Maschell/libutils)