This is an SDK for developing ELF payloads targeted at exploited PS5s running the BD-J ELF loader. Several artifacts in this repository originate from the PS5SDK project.
On Debian-flavored operating systems, you can invoke the following command to install dependencies used by the SDK.
john@localhost:ps5-payload-sdk$ sudo apt-get install build-essential cmake clang clang-15 lld lld-15
john@localhost:ps5-payload-sdk$ make
john@localhost:ps5-payload-sdk$ make DESTDIR=/opt/ps5-payload-sdk install
john@localhost:ps5-payload-sdk$ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
john@localhost:ps5-payload-sdk$ make -C samples/hello_world
john@localhost:ps5-payload-sdk$ export PS5_HOST=ps5; export PS5_PORT=9020
john@localhost:ps5-payload-sdk$ make -C samples/hello_world test
If you have decrypted sprx files that you would like to interact with, you can build stubs for them as follows:
john@localhost:ps5-payload-sdk$ sudo apt-get install wget python3 python3-pyelftools
john@localhost:ps5-payload-sdk$ cp /path/to/sprx/libSceXYZ.sprx sce_stubs/
john@localhost:ps5-payload-sdk$ make -C sce_stubs stubs
john@localhost:ps5-payload-sdk$ make DESTDIR=/opt/ps5-payload-sdk install
If you encounter problems with ps5-payload-sdk, please file a github issue. If you plan on sending pull requests which affect more than a few lines of code, please file an issue before you start to work on you changes. This will allow us to discuss the solution properly before you commit time and effort.
Files in the include_bsd directory are licenced under BSD licences. Unless otherwhise explicitly stated inside a file, the rest are licensed under the GPLv2.