Proyecto Programa syscon PS4 (editado)

Edito el post original debido a que no se encontro solucion a la lectura de un arduino protegido.

Eneste post explicare a detalle toda la investigacion y material encontrado de forma publica.

Lo primero un poco de contexto sobre el proyecto que se desea desarrollar, este programa cumple la funcion de leer y escribir un IC de la ps4 llamado SYSCON que en realidad es un RENESAS RL78/G13, este IC tiene comunicacion directa con la memoria NAND(bios de la ps4), en algun punto ya sea por el uso de la consola una mala actualizacion etc etc, este IC corrompe la informacion y produce una falla llamada load bios 8 la cual deja la consola con una falla llamada luz azul de la muerte, con este programa se puede resolver dicho problema, dicho esto, acontinuacion empezare con la investigacion que he realizado para intentar replicar el programa.

Todo comienza partiendo de una investigacion de un desarrolador muy conocido en la industria de la ingieneria inversa de ps4, dicha investigacion la pueden ver en el siguiente enlace.

PS4 Aux Hax 2: Syscon

apartir de esa investigacion y despues de un tiempo este mismo desarrollador libera el codigo usado en su metodo para todo aquel que quisiera replicarlo y seguir investigando, dicho codigo se puede ver en el siguiente enlace.

RL78 debug protocol

Apartir de esta liberacion del codigo otro desarrollador enfocado en ps4 realiza el primer programa util para usuarios finales, que permite la lectura del SYSCON de la ps4, en el siguiente enlace podemos ver el programa.

SYSGLICHT

este primer programa fue desarrollado para usarse en programadores teensy, el inconveniente de este metodo es que era muy complicado para el usuario final poder hacer el proceso de manera entendible, para un usuario promeedio.

Lugo de ese primer programa se desarrolla un programa mas intuitivo y sencillo para el usuario final, este programa es adaptado del SYSGLICHT y convertido al entorno de arduino en concreto arduino nano, dicho programa pueden verlo aca.

syscon read.ino (3,2 KB)

con este codigo podemos hacer una lectura de las SYSCON de la ps4 utilizando el arduino nano como programador, el cual se arma de la siguiente manera.

el programa de pc que senecesita para hacer una lectura es el siguiente.

syscon lectura.txt (1,9 KB)

como pueden ver es un programa basado en python muy sencillo y junto con el arduino podemos hacer lecturas.

luego de esto todo quedo parado nadie mas siguio con el desarrolla hasta el año pasado, cuando se retoma el proyecto y logran hacer el siguiente paso, el cual es poder borrar y escribir el IC SYSCON burlando la proteccion contra escritura, y vuelven de pago todo el desarrollo el cual en principio es publico, aca el link del metodo de pago.

https://betterwayelectronics.com.au/sce_syscon.html

este metodo utiliza un programa para borrar escribir y liberar el SYSCON y es el siguiente.

syscon escritura.txt (10,2 KB)

este tambien es un programa desarrollado en python y este si es un poco mas complicado debido a que debe hacer varias funciones, pero muy seguro para los ojos expertos sera un codigo sencillo.

Para ser el metodo de escritura se usa otro codigo el cual solo se conoce una parte de el y es el siguiente.

sysconwrite.ino (1,8 KB)

el codigo como pueden apreciar esta incompleto y se necesitaria la instruccion de borrado y escriturta para poder completar el proceso, en este punto nos encontramos varados ya que para nosotros en muy avanzado en programacion de codigo, ya que no somos tan expertos en codigo.

los dos programas ino tienen algo en comun y es que deben llevar una instruccion, esta instruccion es un glicht en modo loop el cual permite la liberacion del SYSCON, tanto para leer como para escribir.

Despues de mucho investigar el codigo faltante de borrado y escritura esta sacado del codigo liberado por el primer desarrollador y lo podemos ver en el enlace del rl78 debug protocol, pero como dije anteriormente esto ya se escapa de nuestras manos y no podemos continuar con dicho proyecto, ya que el proyecto terminado es de pago y el cual usa el mmismo arduino nano pero en este caso usa uno solo tanto para lectura como para escritura usando el siguiente esuqema para usar el nano como programador.

en este programador se encuentran los dos codigos tanto de lectura como escritura y usando el arduino con el esquema que ven pueden usarla para leer y escribir.

pero nuestra intencion por el momento es tener los codigos por separado y usar dos arduinos uno para leer y otro para escribir, sabemos que no es lo mas logico pero seria un inicio para hacer pruebas y luego poder ver la forma de juntar los dos codigos y quizas hacer una mejor version del programador usandon el nano.

espero puedan ayudarnos en este tema y poder continuar con el proyecto, nuestra intencion es mantener el proyecto como codigo abierto una vez este terminado y funcionando de manera correcta.

Si el chip está protegido contra lectura, no hay forma de leer el firmware de él.

Además suena raro lo que pides.
Si es tu chip de Arduino como es que no tienes el código fuente?
De que trata el código, porque muchas veces es mas facil rehacerlo que lo que propones.

Explico un poco esto es un programa que hace tiempo era de codigo abierto pero fue abandonado alguien lo retomo pero lo volvio de pago, con eso no tengo problema porque entiendo que el trabajo es el trabajo y eso es dinero yo le compre el arduino nano que el vende con el programa y lo que queria hacer es hacerle una copia del hex para guardarlo y en caso de que se me dañe el arduino copiarlo nuevamente a otro nuevo ya que el desarrollador no proporciona el hex aparte como es obvio para que no se filtre y perder el negocio y la verdad yo tampoco estoy por las intenciones de filtrarlo es solo mi respaldo ya que con eso yo trabajo esa es mi intencion ya que si alguien quiere la herramienta que la compre y pague por el tiempo que le tomo a la persona hacerlo

Pero entiendes las controversia del tema y el por qué de mi pregunta?

El lo vende y tu lo quieres backupear para tu resguardo pero en realidad deberias comprarle otro.
Imagina un producto comercial. Dime como consigues el firmware de ese producto? No puedes, entonces si quieres otro que haces, vas y lo compras.

Ya @b707 te ha respondido.

Se puede leer cuando los fusibles de lectura no estan quemados o activos, en este caso dices que la protección contra lectura esta activa, asi que no puede leerse.

1 Like

Entiendo y tienes razon pero no perdia nada con preguntar y la verdad no creo que sea un problema sino piensas comercializarlo, yo le hago respaldo a todas las herramientas de soft que tengo y nunca las he filtrado todas son de respaldo y me ha servido de mucho porque hay algunas que se dañaron y pude recuperarlas pero cada quien tiene su opinion y es respetable en Suramérica es complicado gastar tanto dinero y tratamos de guardar lo mas posible nada mas que eso

Soy de Argentina. Inclúyeme.
También te entiendo.
Es mas fácil hacerlo.
De que trata el programa?

Este programa permite leer y escribir la syscon de un ps4 para reparar fallas de luz azul relacionada con la bios y la syscon la cosa es que la syscon original que lleva la ps4 tiene una proteccion de escritura y con este programa se salta esa proteccion y reescribe la syscon para meter la informacion parchada ya corrida del error y con eso quitas el error de luz azul cuando es falla de corrompimiento que sucede hay un metodo que puedes hacer esto mismo pero debes reemplazar la syscon con uno virgen que no tenga activa la proteccion el chip en cuestion es un rl78 de renases la cosa es que el hex que trae el arduino que el vende no necesitas de reemplazar el original, yo logre encontar el ino original y este solo hace lecturas mas no escribe entonces lo que hice fue descompilar el programa que el vende junto con el arduino para escribir y esta hecho en python asi que compare el ino de solo lectura con el programa descopilado de escritura y hay similitudes pero la verdad para mi es muy avanzado cabe decir que hay un programa de lectura y uno de escritura pero me imagino que el lo que hizo fue unir este ino de lectura y realizo la parte que faltaba de escritura y unio tod en un solo ino compilo el hex lo subio al arduino protegido y asi el arduino nano se comunica con los programas y podemos leer y escribir


Y eso es lo que vende para leer y escribir la syscon original

Vaya que si es complicado.
Pero lo tienes en Python? En Python modifica la syscom?

El programa que se comunica con arduino esta escrito entero en python, te voy a enviar por aca el codigo de solo lectura en .ino que tengo para que tengas una idea

la memoria de que tipo es?

aque memoria te refieres

este es el ino en cuestion solo hace lectura SYSGLITCH.ino - Google Drive

A este

R5F100LA Datasheet(PDF) - Renesas Technology Corp ese es data de ese IC

Comienzo a entender la idea general.
El Renesas no esta protegido, el protegido es el AVR que tu compraste que escribe un RENESAS virgen.

no el arduino nano que compre trae un hex el cual permite escribir y leer al rl original que trae la ps4 ese es el que esta protegido contra escritura y esto que compre permite saltar la proteccion de escritura y deja grabar en el original, existe un metodo gratuito el cual consta de cambiar el syscon original por uno virgen sin la proteccion no se si me estoy explicando bien

A ver, este es un foro de Arduino.
Lo que quieres backpear es el Arduino que compraste que hace todo el proceso, eso se entendió, de lo contrario que haces en este foro preguntando por un Renesas.
Ese Arduino esta protegido tmb contra lectura de firmware o no?

yo intente con el avrdudes hacer una lectura del arduino que compre pero a la hora de detectar el arduino el avrdudes me dice que no responde el arduino al poner otro arduino nano que tengo pero ese lo tengo para otras cosas ese si lo detecta y me deja leer su .hex pero no sabria decirte si tambien esta protegido el firmware pero por eso preguntaba la posibilidad de poder hacer la copia pero si es como dicen y protegieron el arduino ya no podria leerlo lo del ic renesas no importa solo era para poner en contexto lo que hace el arduino para que se entendiera la funcion del arduino

Claro que lo esta!! Yo lo hubiese hecho.