EDIT: Con la llegada de la Beta 3 del XBR podemos, definitivamente, dar por clausurado este hilo
A disfrutar!Buen@s a todos los amig@s JTAG-erianos,
como bien sabreis, ayer apareció un versión alternativa del rebooter, la cual es capaz de rebootar en el Kernel 8955 y cargar XEX's sin firmar utilizando 1 sola NAND.
La única "pega" de este rebooter es que, en principio, solo es compatible con placas Xenon.
Pues bien, os informo de que he sido capaz de cargarlo en placas Falcon, efectuando ciertas modificaciones que publicaré en breve.
Queria dar las gracias especialmente a
Keihanzo, ya que sin sus testeos (y sustos
), esto no habría sido posible.
En principio, estas modificaciones son aplicables al resto de placas, por lo que la idea es hacer un tutorial genérico y que los poseedores de los distintos tipos de placa vayan "testeando" y aportando resultados.
Por si aún no ha quedado claro:
esto SOLO es válido para la gente con consolas exploiteables con fecha de fabricación anterior a Julio de 2009, Kernel 7371 como máximo y NAND de 16 MB.EDITO: El tutorial es igualmente válido para la Beta 1 del Rebooter (XBR_Xenon_8955_1.bin)EDITO 2: Tenemos
CONFIRMACIÓN de que funciona en:
- Zephyr
- Falcon
- Jasper (16 MB)
- Xenon (CB/CD 1921)
EDITO 3: Que quede muy claro que cualquier
MP, hoygan, duda que esté resuelta en el primer post del hilo ó pregunta acerca de los Pre-requisitos (que están más que explicados en otros tutoriales del foro),
SERÁ IGNORADO por mi parte.
Este tutorial
SOLO intenta explicar como modificar el XBRebooter para hacerlo funcionar en el resto de placas, todo lo que no se centre en ello
SOBRA en este hilo.
EDITO 4: A petición popular, se añade al hilo la reconstruccción del XBR para placas
Xenon con
CB 1921 (la imagen original de la Beta 1 del XBR tiene CB 1920).
TUTORIAL* Pre-requisitos:- Haber extraído un backup correcto de nuestra nand:
backup.bin- Disponer de nuestra
CPU Key- Disponer de algún
método de escritura en la NAND de la consola (JTAG, Infectus, Cygnos, …)
- Haber instalado correctamente
cygwin junto con
python y
python crypto (esto se encuentra perfectamente explicado en otros tutoriales del foro, así que no entraremos en detalles de cómo hacerlo)
* Lo que necesitamos:-
Modificación imgbuild free60-
Bincrypt-
XBR_Xenon_8955_1.bin (xbins)
-
cd-cb_package.tar (xbins)
- La
imagen del hack correspondiente a nuestro tipo de placa (xbins):
falcon_opus_hack.rar
zephyr_hack_updxell.rar
jasper_6723_hack.rar
xenon_1921_hack-20090911.rar
Una vez lo tengamos todo....El primer paso, será descomprimir el imgbuild modificado dentro de una carpeta que se encuentre en una ruta SIN ESPACIOS en el disco duro (para evitar problemas). Por ejemplo:
C:\Users\User\Desktop\free60_imgbuild_XbrEl siguiente paso, será descomprimir el contenido de
cd-cb_package.tar dentro de la subcarpeta
input.
Asimismo, meteremos en dicha subcarpeta la imagen del hack correspondiente a nuestro tipo de placa (
falcon_hack_updxell.bin, zephyr_hack_updxell.bin, jasper_6723_hack.bin ó xenon_1921hack.bin), y la del backup de nuestra nand (
backup.bin).
Llegados a este punto, lanzamos cygwin y entramos en la carpeta donde hemos descomprimido el imgbuild. Una vez allí, ejecutamos el siguiente comando:
Falcon/Opus: python decrypt_build.py input/falcon_hack_updxell.bin input/xboxupd.bin
Zephyr: python decrypt_build.py input/zephyr_hack_updxell.bin input/xboxupd.bin
Jasper: python decrypt_build.py input/jasper_6723_hack.bin input/xboxupd.bin
Xenon: python decrypt_build.py input/xenon_1921hack.bin input/xboxupd.bin
Una vez nos hemos asegurado de que el script de python no nos lanza ningún error, continuamos.
Ahora, entramos en la subcarpeta
output y copiamos el archivo
SMC generado dentro de
input. Una vez lo tengamos dentro de input, lo renombramos a
smc_hacked.bin.
**Jasper: Además del
SMC, necesitamos los archivos
CB y
CD correctos creados en la carpeta
output. Si todo ha ido bien, copiaremos estos dos archivos dentro de
input, y una vez allí, los renombraremos a
CB.6723 y
CD.6723.
Seguidamente, abriremos el archivo
build.py con un editor de textos cualquiera y buscamos la siguiente línea:
def decrypt_CD(CD, CB, cpukey = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"):
En ella, iremos substituyendo las F’s por los valores de nuestra CPU key, en orden. Hasta que nos quede algo del estilo (CPU Key ficticia):
"\xA8\xC5\xG6\xDH\xB9\... "
Perfecto, ya tenemos todo lo necesario para lanzar el script de python con el siguiente comando:
Falcon/Opus: python build.py input/backup.bin input/CB.5770 input/CD.5770 input/xboxupd.bin input/xell-1f.bin input/smc_hacked.bin
Zephyr: python build.py input/backup.bin input/CB.4558 input/CD.4558 input/xboxupd.bin input/xell-1f.bin input/smc_hacked.bin
Jasper: python build.py input/backup.bin input/CB.6723 input/CD.6723 input/xboxupd.bin input/xell-1f.bin input/smc_hacked.bin
Xenon: python build.py input/backup.bin input/CB.1921 input/CD.1921 input/xboxupd.bin input/xell-1f.bin input/smc_hacked.bin
**RESOLUCIÓN A POSIBLES PROBLEMASSi nos encontramos con que el script nos lanza el siguiente error:
assert not (z0 or z1 or z2 or z3 or z5 or z6), "zeros are not zero."
AssertionError: zeros are not zero.
Probaremos a modificar el script del
build.py en la siguiente línea:
assert not (z0 or z1 or z2 or z3 or z5 or z6), "zeros are not zero."
Cambiandola por la siguiente:
assert not (z0 or z1 or z2 or z3 or z6), "zeros are not zero."
Una vez el script haya acabado correctamente, copiamos el archivo
XBR_Xenon_8955_1.bin en la subcarpeta output, y lo renombramos a
XBR.bin para más comodidad.
Ahora accederemos a output por medio de cygwin (ya sabéis, cd output) y ejecutaremos el comando:
dd if=image_00000000.ecc of=XBR.bin conv=notrunc
Con esto, ya casi tenemos lista la imagen del rebooter (ánimo que ya queda poco
)
El siguiente paso, es
IMPORTANTÍSIMO que no os lo saltéis, si no queréis tener un disgusto.
Si por cualquier casual no conseguís ejecutarlo, pedid ayuda en el hilo, pero
BAJO NINGÚN CONCEPTO flasheéis la imagen resultante del paso anterior en la NAND de la consola.
Bien, descomprimimos Bincrypt en cualquier carpeta, lo ejecutamos e insertamos nuestra CPU Key en el apartado correspondiente.
Seguidamente, marcamos las opciones:
- Source: “Raw Flash Bin” --> “Extract”
- Operation: “Nothing”
- Supported Files: “Config Blocks”
y le damos a Process: Seleccionamos el backup de nuestra nand y elegimos una carpeta destino donde guardar el archivo
config.binEs momento de insertar nuestros config blocks en la imagen del rebooter, para ello elegiremos:
- Source: “Raw Flash Bin” --> “Replace”
- Operation: “Nothing”
- Supported Files: “Config Blocks”
y le damos a Process: Seleccionamos el
XBR.bin de la subcarpeta output y elegimos nuestro
config.bin que habiamos extraido anteriormente.
Si has conseguido llegar hasta aquí:
¡FELICIDADES! Ya dispones de una imagen del rebooter perfectamente funcional llamada
XBR.bin, que puedes flashear en la NAND de tu consola.
Salu2 y espero vuestras experiencias