The developer John T?rnblom, also driven by the latest developments at SpecterDev, is back on the scene with an update to PS5 Payload SDK, an open source software used to develop ELF payloads for PlayStation 5 consoles.
PS5 Payload SDK includes several artifacts from the PS5SDK project, providing developers with up-to-date tools to create and test payloads on exploited PS5 consoles.
The SDK provides a development environment optimized for creating applications and features that are customized for PlayStation 5 consoles, enabling developers to take full advantage of the platform’s potential.
The example ELF file included in the SDK prints on the screen the words “Hello World”. This file was provided as an example to illustrate how the SDK works and demonstrate how to run a basic payload on the PlayStation 5 console.
This new update adds kernel offsets for firmware versions 2.00, 2.20, 2.25, 2.26 and 2.50, as well as several new functions in the libc library such as ctime_r
, ffs
, fls
, getmntinfo
, localtime_r
, times
, strcasecmp
, mkstemp
, arc4random
, dlopen
, dlsym
, dlclose
and some network functions.
Empty stubs were also included for functions getpwnam_r
and and getpwuid_r
. . In addition, the update introduces two new tools: prosperous-fetchkg, to download official PS4 and PS5 packages, and prosperous-nid, to encode symbols in NID.
Improvements have been made to the predefined environment variables of the toolchain, simplifying cross-platform compilation for homebrew. Compatibility has also been resolved with the JavaScript WebKit ELF charger.
In version 0.16.1 released, kernel offsets for firmware versions 1.05, 1.10, 1.11, 1.12, 1.13 and 1.14 have been added.
Requirements
On Debian operating systems, you can run the following command to install dependencies used by the SDK: john@localhost:ps5-payload-sdk$ sudo apt-get install bash socat cmake pkg-config clang-15 lld-15
Building
john@localhost:ps5-payload-sdk$ make
Installation
john@localhost:ps5-payload-sdk$ make DESTDIR=/opt/ps5-payload-sdk install
Use
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-9021 john-localhost:ps5-payload-sdk$ make -C samples/hello-world test
Addition of new SCE libraries
If you have deciphered sprx files that you want to interact with, you can create stubs for them in the following way:
john-localhost:ps5-payload-sdk $ sudo apt-get install wget python3 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
Bug report
If you encounter problems with ps5-payload-sdk, you should open a report on GitHub. If you expect to send pull requests that affect more than a few lines of code, it is preferable to open a report before you start working on the changes.
This will allow you to properly discuss the solution before committing time and energy.
Changelog
- kernel: Offset Added for firmware versions 2.00, 2.20, 2.25, 2.26 and 2.50.
- libc: Added functions
ctime_r
,ffs
,fls
,getmntinfo
,localtime_r
,times
,strcasecmp
,mkstemp
,arc4random
,dlopen
,dlsym
,dlclose
and some network functions. - libc: Empty stub added for functions
getpwnam_r
and andgetpwuid_r
- prosperous-fetchpkg: First commit of a host tool to download official PS4 or PS5 packages.
- prosperous-nid: First commit of a host tool that encodes symbols in NID.
- Improved the predefined values of the toolchain’s environment variables, simplifying cross-compile for homebrew.
- Fixed compatibility with the JavaScript ELF WebKit charger.
- kernel: Adding offset for firmware versions 1.05, 1.10, 1.11, 1.12, 1.13 and 1.14. v0.16.1
Download: PS5 Payload SDK v0.16.1
Download: Source code PS5 Payload SDK v0.16.1
Source: github.com