mirror of
https://github.com/wiiu-env/CustomRPXLoader.git
synced 2024-11-25 11:16:55 +01:00
36 lines
1.7 KiB
Markdown
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) |