God Of War PS4
God Of War PS4
Far Cry 5 PS4
UFC 3 PS4
Fecha de lanzamiento: 27 de octubre de 2017 · Plataforma PC PS4 XOne
Descarga ya NBA 2K18! A que esperas

[RTM-RTE] Real Time Memory Editor en Linux (Retail PS4)

Tema en 'PlayStation 4' iniciado por CYB3R, Abr 1, 2017.

  1. CYB3R

    CYB3R
    Administrador
    Staff MundoMania Administrador Uploader Desarrollador
    • 336/449

    Registrado:
    Sep 6, 2016
    Mensajes:
    2,183
    likes Recibidos:
    2,490
    Puntos:
    336
    Profesión:
    Cheff
    Ubicación:
    Nürnberg
    Pais:
    Alemania
    [​IMG]

    Leer / Escribir en la memoria de los juegos para crear mods como PS3 con tmapi y ccapi.

    Descripción
    -----------

    El principal objetivo en PS4 era desarrollar un sistema que me permitiera editar la memoria de los juegos que se estan ejecutandose en la PS4 con el fin de poder crear modificaciones de los juegos y trampearlos.
    Este sistema es muy similar al que antiguamente se usaba en PS3 (ps3tmapi que es el metodo que usan las consolas debug o ccapi, desarrollado por Enstone y que permite editar la memoria de los juegos en consolas retail).
    El sistema que hoy os muestro esta basado en la llamada al sistema ptrace y que en la PS4 corresponde a la syscall 26.

    El sistema se ejecuta a través de el exploit de WebKit publicado por cTurt y que permite ejecucion aleatoria de codigo.
    Una vez que conseguimos ejecución de codigo en el sistema, se elevan privilegios con el exploit dlclose descubierto por cTurt y publicado por kR105. Cabe destacar que mientras se esta ejecutando el thread que eleva privilegios hay un momento en el que se activa la escritura directa en memoria que además de ser usada por el exploit también la uso para desactivar el ASLR (Address Space Layout Randomization) que es un metodo que implementan los sistemas operativos modernos para hacer "aleatoria" la zona de memoria donde comienza un proceso cuando se carga en memoria principal, los juegos normalmente se ejecutan a partir de 0x400000 tras desactivar el ASLR. En PS4 este sistema fue implementado a partir de la version 1.70. (Gracias a ZiL0G80).

    Tambien se modifica la version del sistema (Spoofing gracias a zecoxao) para evitar que cuando se inicie un juego se evite que este solicite una actualización.
    El codigo que se ejecuta en la PS4 se conecta mediante sockets con la direccion 192.168.1.38 por el puerto 4321. En el ordenador tenemos que tener nuestro servidor ejecutandose que será a través del cual enviaremos las ordenes de lectura y escritura de datos.

    Funcionamiento
    --------------

    Primero de todo ejecutamos el servidor en el ordenador (Si usais el servidor precompilado teneis que cambiar la direccion de vuestro ordenador a 192.168.1.38 ya que el servidor esta configurado para usar esa, si no podeís recompilar ambos binarios).
    Se pondrá a esperar a la solicitud que realizara la consola.
    En la PS4 teneis que ir a una web donde este el PS4 Playground y activais la ejecucion de codigo.
    Desde el terminal de vuestro Linux ejecutais "nc -w 3 PS4_IP 9023 < Debugger-Payload.bin" y vereís que en el servidor hemos obtenido una respuesta.
    Ahora hay que introducir el nombre del proceso (juego normalmente) que queremos modificar. Los procesos de casi todos los juegos se suelen llamar "eboot.bin" o como en Call of Duty Ghosts que se llama "default_mp.elf"
    Si habeis escrito el nombre de un proceso valido se activara la consola (>)
    Podeis escribir "help" para ver los comando posibles

    COMANDOS:
    Leer de memoria: r 0xOffset
    Escribir en memoria: w 0xOffset 0xValor Buscar en adelante: u 0xOffset 0xValor (Busca entre Offset y Offset+0x1000)
    Buscar antes: d 0xOffset 0xValor (Busca entre Offset y Offset-0x1000)
    Nuevo proceso: p Nombre_del_Proceso

    Aqui os dejo algunos Offsets de Call of Duty Ghosts version 1.00:
    Name changer: 0x1F0F29C
    Principal weapon: 0x1F0C26C
    Secondary weapon: 0x1F0C270
    Enable fps: 0x81B09A Enable: 80 78 10 01
    Primary Ammo: 0x1f0c454
    Primary FullAmmo: 0x1f0c3d4
    Primary Cammo: 0x1F0C26D
    Primary Accesory: 0x1F0C26E
    Secondary Ammo: 0x1f0c460
    Secondary FullAmmo: 0x1f0c3dc
    Tactical Granade Ammo: 0x1f0c43c
    Special Granade Ammo: 0x1f0c448

    [​IMG]
    Contenido Bloqueado:
    ** Lo Sentimos mucho pero debes estar registrado para poder ver los enlaces aqui ocultos.**

    IMPORTANTE
    ----------
    Dar las gracias a @TheoryWrong por responder todas esas dudas de principiante.
    Esto solamente es una pequeña demo y probablemente tenga bastantes fallos.
    Poco a poco quiero ir mejorando el sistema, hacer interfaz gráfica y portarlo a windows con algun programa y alguna libreria para que mas gente desarrolle Tools como las que se hacian para PS3.

    Sin privilegios para Descargar. Tienes que Registrarte o iniciar sesión para poder ver los links!

     

Compartir esta página