Jump to content


PS5 Jar Loader 1.1

¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter, Mastodon o Threads!

Este proyecto utiliza vulnerabilidades descubiertas en la capa BD-J del firmware PS5 versión 7.61 y anteriores para desplegar un cargador capaz de escuchar archivos JAR y ejecutar su clase principal. Esto facilita grabar el disco BD-R con el cargador una sola vez y luego seguir ejecutando nuevas versiones del código experimental. Este repositorio proporciona toda la configuración necesaria para crear tanto el sistema de archivos del disco BD-R del cargador como el JAR para enviarlo a la PS5.

Requisitos previos

  • JDK 11 (PS5 utiliza Java 11 en tiempo de ejecución)
  • Apache Maven
  • IntelliJ IDEA Community Edition (opcional, pero recomendado)

Estructura

El proyecto consta de los siguientes componentes:

  • pom.xml raíz define las propiedades comunes y la configuración del plugin de Maven para todos los proyectos.
  • subproyecto de montaje crea el directorio que debe ser quemado en un disco BD-R. Recomiendo el software ImgBurn para hacer esto. Asegúrese de utilizar el sistema de archivos UDF 2.50, a continuación, sólo tiene que arrastrar el contenido del directorio assembly/target/assembly-[version] en el editor de diseño de disco.
  • El subproyecto bdj-tools no necesita ser tocado. Estas son las utilidades de HD Cookbook, adaptadas para ejecutarse en JDK 11 e integradas en el proceso de construcción del sistema de archivos del disco BD-R.
  • El subproyecto stubs contiene el script de construcción para descargar los archivos de clase BD-J de HD Cookbook y organizarlos para su uso con el JDK 11 local. También es un lugar donde los archivos stub específicos de PS5 deben ser declarados para que puedan ser utilizados en el Xlet y el JAR remoto.
  • El subproyecto sdk contiene clases helper que simplifican la invocación nativa en el código ejecutado. Las clases de este módulo se incrustan en el JAR final que se enviará a PS5 para su ejecución.
  • El subproyecto xlet contiene el código del Xlet que se inicia cuando se lanza el disco BD-R en PS5. Simplemente inicia el cargador JAR (por defecto en el puerto 9025).
  • El subproyecto xploit contiene el código que se enviará para su ejecución en PS5. El código puede hacer referencia a clases de xlet, como la clase Status para mostrar en pantalla. El proyecto produce un JAR que es capaz de enviarse a sí mismo para su ejecución.

Configuración

Las siguientes propiedades en pom.xml pueden ser ajustadas antes de compilar y grabar el cargador JAR en el disco:

  • loader.port - Puerto en el que el cargador JAR escuchará los datos.
  • loader.resolution.width, loader.resolution.height - Resolución de pantalla a establecer en varios archivos. No estoy seguro de cómo esto afecta a nada, no he experimentado con esto lo suficiente.
  • remote.logger.host - Dirección IP donde hacer eco de los mensajes mostrados en pantalla. Si está en blanco, no se utilizará el registro remoto. Este host también puede recibir datos binarios, ver RemoteLogger#sendBytes.
  • remote.logger.port - Puerto al que el registrador remoto enviará los mensajes de estado.
  • remote.logger.timeout - Número de milisegundos a esperar antes de abandonar los intentos de conexión con el host de registro remoto. Si el host está caído después de este tiempo de espera en el primer intento de envío, no se realizarán más intentos de registro remoto.
  • Puede modificar el POM directamente, o pasar los nuevos valores desde la línea de comandos, ejemplo: mvn ... -Dloader.port=9025 -Dremote.logger.host=192.168.1.100. Para escuchar los mensajes en la máquina remota cuando el registrador remoto está activado, utilice socat udp-recv:[remote.logger.port] stdout.

Uso

  • Asegúrese de que la variable de entorno JAVA_HOME apunta a la raíz de JDK 11. Añade el directorio ${JAVA_HOME}/bin a ${PATH}.
  • Asegúrate también de que MAVEN_HOME apunta a la raíz de la instalación de Apache Maven. Añade el directorio ${MAVEN_HOME}/bin a ${PATH}.
  • Cree una carga útil para ejecutar en PS5 añadiendo la implementación al submódulo xploit. No es necesario modificar ningún archivo existente (aunque eres bienvenido si quieres). Simplemente añade tu clase payload en el paquete org.ps5jb.client.payloads y especifica su nombre como parámetro al compilar el proyecto (ver el siguiente paso).
  • Ejecute mvn clean package -Dxploit.payload=[payload classname] desde la raíz del proyecto. Debería producir los siguientes artefactos:
    • Directorio assembly/target/assembly-[version] contiene todos los archivos que deben ser grabados en el BD-R.
    • El archivo xploit/target/xploit-[version].jar contiene el código que puede enviarse repetidamente al PS5 una vez desplegado el cargador. Para evitar tener que especificar la carga útil cada vez con un interruptor -D (en el paso 8 también), también puede cambiar la propiedad xploit.payload en pom.xml del proyecto xploit.
  • Graba el BD-R (mejor aún BD-RE), insértalo en el PS5 y ejecuta "PS5 JAR Loader" desde Media / Disc Player.
  • Un mensaje en pantalla debe informar sobre el cargador en espera de JAR.
  • Envíe el JAR utilizando el comando
java -jar xploit/target/xploit-[version].jar <dirección ip del PS5>`.
  • PS5 debería informar en pantalla del estado de la carga y de la ejecución.
  • Una vez finalizada la ejecución, el cargador esperará un nuevo JAR. Realiza las modificaciones necesarias en el proyecto xploit, recompila usando mvn package y vuelve a ejecutar el #7 para reintentarlo tantas veces como sea necesario.

PS5 Jar Loader ha sido creado por hammer-83.


Que novedades incluye la versión 1.1

Released

  • Compile el proyecto y grabe el contenido de assembly/target/assembly-1.0-SNAPSHOT en BD-RE. También se proporciona la ISO precompilada.
  • Envíe la carga útil del servidor FTP al cargador JAR: java -jar ftp-server-1.0-SNAPHSOT.jar <PS5 IP>
  • Inicie sesión en el servidor FTP con el nombre de usuario ps5jb y sin contraseña en el puerto 9225.

No te pierdas nada, síguenos en Twitter, Mastodon o Threads!
Preguntas, aportes y peticiones en el foro.

  • Contenido similar

    • Por Dekuwa
      PS Classics fPKG Builder es una aplicación que nos permite crear fácilmente PKG falsos de juegos de PS1, PS2 y PSP para PS4 y PS5 desde macOS y Windows.
      Características principales
      Admite archivos .BIN (PS1) e .ISO (PS2 y PSP) Detecta la protección de juegos de PS1 y puede aplicar el parche necesario Generación automática de TOC de juegos de PS1 para juegos que utilizan música CDDA Personaliza el icono y el fondo Configura el emulador utilizado Selecciona hasta 4 discos en PS1 y hasta 5 discos en PS2 Aplicación creada por SvenGDK.
    • Por Dekuwa
      PS5 Payload Websrv (ps5-payload-websrv) es un simple servidor web que se puede ejecutar en una PS5 con jailbreak a través de la BD-J o los puntos de entrada webkit.
      Se puede utilizar para lanzar homebrew a través del navegador Webkit integrado con la PS5, o de forma remota desde su PC, teléfono, etc.
      Inicio rápido
      Para desplegar ps5-payload-websrv, primero lance el ps5-payload-elfldr, luego cargue el payload como sigue:
      john@localhost:~$ export PS5_HOST=ps5 john@localhost:~$ wget -q -O - https://github.com/ps5-payload-dev/websrv/releases/download/v0.3/Payload.zip | gunzip -c -d | nc -q0 $PS5_HOST 9021 Para interactuar con ps5-payload-websrv, instale el Launcher PKG en su PS5, o apunte su navegador a uno de los servicios disponibles ejemplificados a continuación.
      Ejemplos
      http://ps5:8080/index.html - Lanzar Homebrew http://ps5:8080/fs/ - Explorar el sistema de archivos (html) http://ps5:8080/fs/?fmt=json - Explorar el sistema de archivos (json) http://ps5:8080/fs/system_ex/app/NPXS40028/redis.conf - Descargar el archivo Instalación de Homebrew
      El servidor web buscará homebrew en /data/homebrew, y hace un par de suposiciones sobre la estructura de archivos. Más concretamente, supongamos que tienes un homebrew llamado MyHomebrew, el cargador asume que existen los siguientes archivos:
      /data/homebrew/MyHomebrew/eboot.elf - Carga a ejecutar, compilada con ps5-payload-sdk. /data/homebrew/MyHomebrew/sce_sys/icon0.png - Un icono que se mostrará en /index.html. También puede añadir sus propias extensiones de interfaz de usuario personalizadas especificando un archivo javascript llamado:
      /data/homebrew/MyHomebrew/homebrew.js
    • Por Dekuwa
      Regdump es una herramienta que extrae valores del registro de las consolas PS5 a las que se les ha realizado jailbreak a través de BD-J o los puntos de entrada webkit.
      Compilación y funcionamiento
      Suponiendo que tenga ps5-payload-sdk instalado en un sistema operativo con formato Debian, la herramienta se puede compilar y ejecutar usando los siguientes comandos:
      john@localhost:ps5-payload-dev/regdump$ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk john@localhost:ps5-payload-dev/regdump$ make john@localhost:ps5-payload-dev/regdump$ make test Regdump ha sido creado por ps5-payload-dev.
    • Por Dekuwa
      Este es un SDK para desarrollar payloads ELF dirigidos a consolas PS5 modificadas que ejecutan ps5-payload-elfldr, BD-J o los puntos de entrada webkit.
      Prerrequisitos
      En sistemas operativos con formato Debian, puede invocar el siguiente comando para instalar las dependencias utilizadas por el SDK.
      john@localhost:ps5-payload-dev/sdk$ sudo apt-get install bash socat cmake pkg-config clang-15 lld-15 Inicio rápido
      Para descargar e instalar una distribución binaria para GNU/Linux:
      john@localhost:tmp$ wget https://github.com/ps5-payload-dev/sdk/releases/download/v0.15/ps5-payload-sdk.tar.gz john@localhost:tmp$ mkdir -p /opt/ps5-payload-sdk-0.15/ john@localhost:tmp$ tar xvf ps5-payload-sdk.tar.gz -C /opt/ps5-payload-sdk-0.15/ Compilación
      john@localhost:ps5-payload-dev/sdk$ make john@localhost:ps5-payload-dev/sdk$ make DESTDIR=/opt/ps5-payload-sdk install Uso
      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 Añadiendo nuevas bibliotecas SCE
      Si ha descifrado archivos sprx con los que desea interactuar, puede crear fragmentos para ellos de la siguiente manera:
      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 Varios artefactos de este repositorio proceden del proyecto PS5 SDK.
      ps5-payload-sdk ha sido creado por John Tornblom.
    • Por Dekuwa
      PS5 Offline Account Activation es una sencilla aplicación homebrew que nos permite activar cuentas en PS5 sin estar conectados a PSN.
      Limitaciones:
      No activa remote play (el juego remoto) No activa la exportación e importación de partidas guardadas No activa la posibilidad de jugar online vía PSN La aplicación ha sido creada por ps5-payload-dev.
×
×
  • Crear nuevo...