Nuevo aporte de @KaKaRoToKS para devs de CFW

https://twitter.com/KaKaRoToKS/status/2 ... 6972798977

Hey ps3 devs... enjoy: http://pastie.org/private/3np6uj6md1occbctdeir6a

Since the LV0 keys have now been leaked, I believe I can now share this info with you, to help out those who are trying to build their own 4.x CFW :
The NPDRM ECDSA signature in the SELF footer is checked by lv2. It first asks appldr to tell it whether or not the signature is to be checked, and appldr will only set the flag if the SELF is a NPDRM with key revision from 3.56+ (the ones without private keys). This means that the SELF files signed with the new 3.56+ keys still don't have their ecdsa checked (probably to speed up file loading).
If appldr says the ecdsa signature must be checked, then lv2 will verify it itself, and return an error if it's not correct. There are many ways to patch this check out.
1 - Patch out the check for the key revision in appldr
2 - Patch out the "set flag to 1" in appldr if the key revision is < 0xB
3 - Patch out the code in lv2 that stores the result from appldr
4 - Patch out the actual sigcheck function from lv2.
5 - Ignore the result of the ecdsa from lv2.

Here is one of the patches (the 4th one, patching out the check function from lv2) :
In memory 0x800000000005A2A8, which corresponds to offset 0x6a2a8 in lv2_kernel.elf, replace :
e9 22 99 90 7c 08 02 a6
With :
38 60 00 00 4e 80 00 20

This is for the 4.21 kernel (that was the latest one when I investigated this), I will leave it as an exercise to the reader to find the right offsets for the 4.25 and upcoming 4.30 kernel files.
And here's another bit of info... in 4.21 lv2, at memory address 0x800000000005AA98 (you figure out the file offset yourself), that's where lv2 loads the 'check_signature_flag' result from appldr, so if you prefer implementing method 3 above, just replace the 'ld %r0, flag_result_from_appldr' by 'ld %r0, 0' and you got another method of patching it out. Either solutions should work just the same though.
Enjoy homebrew back on 4.x CFW....

p.s: Thanks to flatz and glu0n who helped reversed this bit of info.
chofo_260 está baneado por "Spammer"
otra noticia buena, haber si con estos datos ya crean el cfw para 4.25
Chavales, disfrutad de estas semanas porque van a ser épicas a nivel usuario... ya tocaba! :)
Además, pasito a pasito es más emocionante porque mucho que os joda a algunos! Aajaja
chofo_260 está baneado por "Spammer"
mariets escribió:Chavales, disfrutad de estas semanas porque van a ser épicas a nivel usuario... ya tocaba! :)
Además, pasito a pasito es más emocionante porque mucho que os joda a algunos! Aajaja

solo espero que salga ya algo para mi 4.25 oficinal de sony.. y poder cargar backups!
[babas] para los q no se nos da bien el ingles! !!! una traducción no estaría mal! ! no de Google claro!
legna82 escribió:[babas] para los q no se nos da bien el ingles! !!! una traducción no estaría mal! ! no de Google claro!


Yo con el inglés me apaño pero la parte técnica como que no :-(

"Dado que ya se han filtrado las claves LV0 creo que ahora puedo compartir esta información con vosotros, para ayudar a los que están intentando montar su propio CFW 4.x ....."

"... Esto es para el kernel 4.21 (que era el más reciente cuando investigué esto), dejaré como un ejercicio para el lector el encontrar los offsets correctos para los ficheros del kernel 4.25 y del inminente 4.30 ...."
Esto es lo importante de lo que ha publicado para el que no tiene ni idea de que hacer con lo que ha comentado (vease yo mismo)

"Enjoy homebrew back on 4.x CFW...."

Disfruta de homebrew en CFW 4.x
hola, cual es el aporte?
Para quien se pregunta cual es el aporte, no es archivos ni soluciones completas para el usuario final, sino información para darles un empujoncito y facilitarles la tarea a los desarrolladores que están intentando hacer los nuevos CFW.

Dejo mi traduccion hecha a mano, como está dirigida a desarrolladores no tiene sentido que traduzca los términos técnicos, si no sabes lo que es un flag o un offset, o si no estás familiarizado con la seguridad de PS3, entonces este info no es para tí :

Ya que las claves LV0 se han filtrado, creo que ahora podemos compartir con ustedes esta información, para ayudar a aquellos que estan intentando construir su propio Custom Firmware 4.x :

La firma NPDRM ECDSA al pié del SELF es comprobada por lv2. Primero pregunta al appldr para que le diga si la firma será comprobada o no, y appldr solo pondrá el flag si el SELF es un NPDRM de revisión 3.56+ (los sin claves privadas). Esto significa que los archivos SELF firmados con las nuevas claves 3.56+ aún no tienen su ECDSA comprobado (probablemente para agilizar la caga de archivos).

Si el appldr dice dice que la firma ECDSA debe ser comprobada, entonces el lv2 la verificará por si mismo, y devolverá un error si no es correcta. Hay muchas formas de parchar esta comprobación.

1 - Parchando la comprobación de la revisión de la clave en appldr.
2 - Parchando el "poner flag a 1" en appldr si la revisión de la clave es inferior a 0xB.
3 - Parchando en lv2 el código que almacena los resultados del appldr.
4 - Parchando la función actual que compruaba las firmas en lv2.
5 - Ignorando el resultado de ECDSA de lv2.

Aqui hay uno de los parches (el cuarto, parchar la funcion de comprobación desde lv2) :

En memoria 0x800000000005A2A8, la cual corresponde al offset 0x6a2a8 en lv2_kernel.elf, reemplazar :

E9 22 99 90 7C 08 02 a6
con :
38 60 00 00 4E 80 00 20

esto es para el kernel 4.21 (ese era el último cuando estaba investigando esto), dejaré esto como ejercicio para que el lector encuentre los offsets correctos para los archivos del kernel 4.25 y el próximo 4.30.

Y aquí hay una pequeña porción mas de información... en el lv2 del 4.21, en la dirección de memoria 0x800000000005AA98 (puedes imaginarte por ti mismo el offset del archivo), ahí es donde el lv2 carga el resultado "check_signature_flag" del appldr, así que si quieres implementar el método 3 de lo de arriba, solo reemplaza el "Id %r0, flag_resultante_de_appldr" por "Id %r0, 0" y tendrás otro método para parcharlo. Ambas soluciones deberían funcionar de igual manera.

Disfruta la vuelta del código casero en CFW 4.x

PS: Gracias a flatz y glu0n que ayudaron a reversear esta pequeña cantidad de información.
a dicho el parche para que podamos cargar nuestros eboots en 4.21 CFW y 4.25 o 4.30 o lo que sea!!!!!
Ahora si me quedo todo mas claro, gracias por la info....

Saludos...
pero partiendo de que la ps3 tenga el 3.55 o cualquier firm de fabrica......si es asi me froto las manos, para ver si algun messiahs me da la luz XD
algo bueno para las CECH3001 ???? :-?
12 respuestas