A ver , con este hilo intento acabar con los malentendidos para el que se quiera informar y el que quiera colaborar que no se pierda por caminos cerrados y pierda el tiempo por culpa de un post desinformativo a nivel de scene.
Paso 1 , entender el sistema antiguo que conociamos todos con los cfw's 3.41 y 3.55 , su funcionamiento ( no hablo de dongles eso es un mundo a parte )
Mediante un fallo de criptografía se consiguió un algoritmo capaz de generar claves privadas de sony para firmar correctamente archivos según el fw del que se extrajeran las claves ( vulnerables a este bug de criptografía )
este bug lo solucionaron pronto como era de esperar , era un fallo muy tonto estilo al memcmp de xbox 360 ( timming attack )
con ese bug eramos dioses en esas versiones digamos , que eramos sony con esas claves , perfecto ..
ahora que pasó? sony cambió todas sus claves privadas desde 3.56+ para adelante y sus algoritmos y por si fuera esto poco , la manera que teníamos de crear y validar los pup's se fueron al carajo con un nuevo sistema que comprueba los headers y sha256 de todos los archivos a instalar con un sistema llamado "spkg" que es controlado por el nuevo modulo del coreOS llamado spu_pkg_rvk_verifier.self que se encuentra en los updates en el core_os_package.pkg , vale via de los cfw's de la antigua era cerrada ..
paso 2 , explicar proceso de boot de la antigua era y de la nueva
antiguo sistema de boot
bootldr -> lv0
metldr ->lv1ldr,lv1,lv2ldr
lv2->lv2_kernel->vsh
nuevo sistema de boot
bootldr->lv0-< se manda a un spu aislado y dentro se descifra y se envia a ram los archivos lv1ldr lv1 lv2ldr DESCIFRADOS y se cargan unos a otros lv1ldr->lv1->lv2ldr->lv2
lv2->lv2_kernel->vsh
NO SE USA METLDR de ahí a que no se saquen las claves publicas ( las que descifran ) de 3.60
peeero , existe un metodo
paso 3 :
como he comentado arriba el nuevo metodo almacena en ram los loaders descifrados , bién , ¿existe manera de sacarla logica? sí
con dual boot :-D es decir instalando 2 nor flashes o tener quadro nand's depende de la versión de consola que tengas con tu flash los dos boot's , y con un selector para elegir entre ellos , vale hasta aqui perfecto..
ahora con el selector en posición 1 cojemos la consola y la actualizamos a 3.61 , nos actualiza bien , perfecto..
apagamos la consola y volvemos a encender con nuestra flash 2 que teniamos en 3.55 , pero op's! sorpresa no arranca...
¿ por que ? , simple ...
en el syscon ay una eeprom que guarda el ultimo y funcional HASH del coreos instalado ( el ultimo fué 3.61 verdad? ) putadón ...
solución? factory mode , este modo en la consola ( si el del jig ) se salta las comprobaciónes de hash del syscon y nos permite arrancar cualquier coreos instalado , perfecto! , pues solo nos queda modificar nuestra nand 3.55 con un cambio drastico
sustituir lv1 por un pequeño codigo hecho nuestro para que dumpee toda la ram a un lugar predeterminado y obtener los loaders descifrados de 3.61 o 3.60 y de ahí sacar las keys publicas , perfecto...
otro problema , al reiniciar nuestra consola de forma normal la ps3 borra la ram , si al cambiar de 3.61 a 3.55 nos borra la ram por mucho lv1 modificado que tengamos no nos va a dumpear una leche , es decir lo hará , pero sin rastro de nada de 3.60 o 3.61 ¿ existe solución para esto ? sí
usar un puerto del procesador de la ps3 que se comunica con el syscon que se llama "cell reset be line"
un ejemplo de que ya se ha hablado :
http://www.ps3sos.com/showthread.php?14 ... de-la-3.60
si tenemos nuestra nand en posición 1 y el 3.60 cargado en el menú y le damos un pulso a esa linea de 60ns el procesador se reiniciará pero NO LA MEMORIA RAM rapidamente cambias el switch a posición 2 y voilá tu codigo te dumpeará todos los loaders y el resto de la ram de 3.60 0 3.61 segun tengas correctamente.
link's de referencia de todo lo que digo :
orden de boot
http://ps3devwiki.com/index.php?title=Boot_Orderla verificación de los pup's
http://ps3devwiki.com/index.php?title=P ... ckage_(PUP)
iré añadiendo segun se me vallan ocurriendo
porfavor si existe algun error o modificación hacedmela saber y rapido rectifico , gracias.
este hilo en mi opinión debería ir en scene ya que es sobre como sacar keys , no como hacerte un custom firmware , pero bueno
me obligan las normas a ponerlo aquí.