Por
Dekuwa
ps4-payload-sdk es un SDK para desarrollar payloads destinados a consolas PS4 con exploits. Los cargadores ELF (ELF loaders) que funcionan incluyen: PS Remote Lua Loader y ps4-palyload-elfldr.
Requisitos previos
En sistemas operativos basados en Debian, puedes ejecutar el siguiente comando para instalar las dependencias utilizadas por el SDK:
john@localhost:ps4-payload-dev/sdk$ sudo apt-get update && sudo apt-get upgrade # opcional
john@localhost:ps4-payload-dev/sdk$ sudo apt-get install bash clang-18 lld-18 # obligatorio
john@localhost:ps4-payload-dev/sdk$ sudo apt-get install socat cmake meson pkg-config # opcional
Si utilizas Fedora, puedes instalar las dependencias de la siguiente manera (probado con la versión 41):
john@localhost:ps4-payload-dev/sdk$ sudo dnf install bash llvm-devel clang lld # obligatorio
john@localhost:ps4-payload-dev/sdk$ sudo dnf install socat cmake meson pkg-config # opcional
Si utilizas macOS, puedes instalarlas mediante el gestor de paquetes Homebrew (probado con macOS Sequoia):
john@localhost:ps4-payload-dev/sdk$ brew install llvm@18 # obligatorio
john@localhost:ps4-payload-dev/sdk$ export LLVM_CONFIG=/opt/homebrew/opt/llvm@18/bin/llvm-config # obligatorio
john@localhost:ps4-payload-dev/sdk$ brew install socat cmake meson # opcional
Inicio rápido
Puedes descargar una distribución binaria del SDK desde aquí mismo, y luego instalarla en tu almacenamiento local, por ejemplo:
john@localhost:tmp$ wget https://github.com/ps4-payload-dev/sdk/releases/latest/download/ps4-payload-sdk.zip
john@localhost:tmp$ sudo unzip -d /opt ps4-payload-sdk.zip
Asumiendo que cumples con todos los requisitos previos y estás en un sistema POSIX, la distribución binaria debería funcionar independientemente de la arquitectura de la CPU (ej. x86_64, aarch64).
Uso
john@localhost:ps4-payload-dev/sdk$ export PS4_PAYLOAD_SDK=/opt/ps4-payload-sdk
john@localhost:ps4-payload-dev/sdk$ make -C samples/hello_stdio
john@localhost:ps4-payload-dev/sdk$ export PS4_HOST=ps4; export PS4_PORT=9021
john@localhost:ps4-payload-dev/sdk$ make -C samples/hello_stdio test
Compilación del SDK
john@localhost:ps4-payload-dev/sdk$ make DESTDIR=/opt/ps4-payload-sdk install
Añadir nuevas librerías SCE (SCE Libs)
Si tienes archivos .sprx descifrados con los que te gustaría interactuar, puedes generar stubs para ellos de la siguiente manera:
john@localhost:ps4-payload-dev/sdk$ sudo apt-get install wget python3 python3-pyelftools
john@localhost:ps4-payload-dev/sdk$ ln -s /path/to/sprx/libSceXYZ.sprx sce_stubs/libSceXYZ.sprx
john@localhost:ps4-payload-dev/sdk$ make -C sce_stubs stubs
john@localhost:ps4-payload-dev/sdk$ make DESTDIR=/opt/ps4-payload-sdk install
Firmwares compatibles
El SDK depende de un par de offsets del kernel que suelen ser únicos para cada versión de firmware. Actualmente, se incluyen los offsets para las siguientes versiones (las marcadas con un tick están confirmadas como funcionales):
3.50
3.55
3.70
4.00 y 4.01
4.05
4.06
4.07
4.50 y 4.55
4.70
4.71 a 4.74
5.00 y 5.01
5.03 a 5.07
5.50
5.53
5.55 y 5.56
6.00 y 6.02
6.20
6.50 y 6.51
6.70 a 6.72
7.00
7.01
7.02
7.50, 7.51, y 7.55
8.00 a 8.03
8.50 y 8.52
9.00
9.03 y 9.04
9.50, 9.51, y 9.60
10.00 y 10.01
10.50, 10.70 y 10.71
11.00
11.02
11.50 y 11.52
12.00 y 12.02
12.50 y 12.52
13.00
13.02 y 13.04
Por favor, ayuda a confirmar las versiones no probadas enviando un pull request que actualice el archivo README.md convenientemente.
Licencia
Los archivos en la carpeta include/freebsd-9.0 están bajo licencias BSD. A menos que se indique explícitamente lo contrario dentro de un archivo, el resto está bajo la licencia GPLv3+.
ps4-payload-sdk es un proyecto encabezado por ps4-payload-dev.