Archive of https://github.com/zecoxao/sdk — An SDK for PS5 payloads that uses dynamic linking https://github.com/zecoxao/sdk
  • C 97.8%
  • C++ 1%
  • RPC 0.9%
  • Shell 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2024-10-30 12:34:25 +00:00
.github/workflows ci: remove test target 2024-10-27 00:37:27 +02:00
crt Update kernel.c 2024-10-30 12:34:25 +00:00
host win: add libkernel_web when linking 2024-10-28 19:40:07 +01:00
include kernel: add constant KERNEL_ADDRESS_TEXT_BASE to hold .text base address 2024-10-27 11:59:06 +01:00
libc libc: add setlinebuf and setbuffer 2024-10-13 20:35:51 +02:00
samples samples: add c++ targets to cmake example 2024-10-28 18:57:41 +01:00
sce_stubs windows: explicitly link elf_x86_64 binaries 2024-10-09 23:47:07 +02:00
.gitignore win: add example on how to use the sdk with windows 2024-10-26 14:58:58 +02:00
bindist.sh add script to produce a binary distribution 2024-10-28 19:00:48 +01:00
ci.sh ci: use cmake with --build argument 2024-10-28 18:46:13 +01:00
libcxx.sh cosmetics 2024-08-14 14:21:41 +02:00
LICENSE add license 2024-04-10 00:08:43 +02:00
Makefile win: add example on how to use the sdk with windows 2024-10-26 14:58:58 +02:00
README.md version bump 2024-10-29 16:56:24 +01:00

ps5-payload-sdk

This is an SDK for developing payloads targeted at exploited PS5s running an ELF loader, e.g., ps5-payload-elfldr, the BD-J ps5-payload-loader, or the webkit approached from Specter. Several artifacts in this repository originate from the PS5SDK project.

Prerequisites

On Debian-flavored operating systems, you can invoke the following command to install dependencies used by the SDK.

john@localhost:ps5-payload-dev/sdk$ sudo apt-get install bash clang-15 lld-15 # required
john@localhost:ps5-payload-dev/sdk$ sudo apt-get install socat cmake meson pkg-config # optional

Quick-start

To download and install a binary distribution for GNU/Linux:

john@localhost:tmp$ wget https://github.com/ps5-payload-dev/sdk/releases/download/v0.21/ps5-payload-sdk.zip
john@localhost:tmp$ sudo unzip -d /opt ps5-payload-sdk.zip

Building

john@localhost:ps5-payload-dev/sdk$ make
john@localhost:ps5-payload-dev/sdk$ make DESTDIR=/opt/ps5-payload-sdk install
john@localhost:ps5-payload-dev/sdk$ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
john@localhost:ps5-payload-dev/sdk$ ./libcxx.sh # fetch, build, and install libcxx

Usage

john@localhost:ps5-payload-dev/sdk$ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
john@localhost:ps5-payload-dev/sdk$ make -C samples/hello_world
john@localhost:ps5-payload-dev/sdk$ export PS5_HOST=ps5; export PS5_PORT=9021
john@localhost:ps5-payload-dev/sdk$ make -C samples/hello_world test

Adding new SCE Libs

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-dev/sdk$ sudo apt-get install wget python3 python3-pyelftools
john@localhost:ps5-payload-dev/sdk$ ln -s /path/to/sprx/libSceXYZ.sprx sce_stubs/libSceXYZ.sprx
john@localhost:ps5-payload-dev/sdk$ make -C sce_stubs stubs
john@localhost:ps5-payload-dev/sdk$ make DESTDIR=/opt/ps5-payload-sdk install

Reporting Bugs

If you encounter problems with the 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.

License

Files in the include_bsd directory are licenced under BSD licences. Unless otherwhise explicitly stated inside a file, the rest are licensed under the GPLv3+.