Iniciar sesión

Ver la versión completa : [Noticia] JTAG para todas las 360, inclusive SLIM



nintiendo1
28/08/2011, 18:28
El título lo dice todo, más info en español aquí: http://www.elotrolado.net/hilo_xbox-360-reset-glitch-hack-unsigned-code-on-current-kernels-incl-x360-slim_1664512

Para mí, mientras no sea fácil de hacer, sin abrir consola, no me sale rentable, pero supongo que a muchos de aquí sí.

Saludos.

jduranmaster
28/08/2011, 18:36
gracias por la info.

Lee-san
28/08/2011, 18:40
Y los materiales son dificiles de conseguir?

tanuquillo
28/08/2011, 18:44
reportado por poner enlaces a otro foro

kennyspirit
28/08/2011, 20:31
me conecto desde un páramo a gp32spain y descubro que mi xenon se ha devaluado y que los tutoriales que tengo que seguir serán tapados en google por tutoriales del nuevo jtag ... joer xDDDD

qué va, lo bueno es que si mucha gente tiene jtag aumentará dramáticamente la scene. Y eso es más que bueno :D

pablomalaga
28/08/2011, 20:45
Pues al precio que están las slim 4gb es como para pensarse pillar una segunda Xbox.

tanuquillo
28/08/2011, 21:39
alguien me esplica que es el jtaj?

cjv99
28/08/2011, 21:46
alguien me esplica que es el jtaj?
Para cargar emuladores, homebrew, navegadores, isos de xbox 360, xbox1, todo desde disco duro usb o peliculas, hay un monton de material homebrew muy interesante.

traducción del google text:
**********************************
* La Xbox 360 falla restablecer hackear *
**********************************

Introducción / algunos datos importantes
===================================

tmbinc mismo lo dijo, los enfoques basados ​​en software de ejecutar código sin firmar en el 360 en su mayoría no funcionan, fue diseñado para ser seguro desde el punto de vista del software.

El procesador comienza a ejecutar el código de la ROM (1BL), que luego empieza a cargar una firma RSA y encriptado RC4 parte del código de la NAND (CB).

CB entonces inicializa el motor de procesador de seguridad, su tarea será hacer encriptación en tiempo real y comprobar hash de la memoria DRAM física. Por lo que hemos encontrado, es el uso de cifrado AES128 y fuerte hashing (Toeplitz?). La criptografía es diferente cada vez que arranque, ya que se siembra por lo menos de:
- Un hash de la fuseset todo.
- El valor del contador de base de tiempo.
- Un valor realmente aleatorio que viene desde el generador de números aleatorios de hardware del procesador incorpora. en grasas, que podrían ser RNG electrónicamente desactivado, pero no hay un cheque de "aleatoriedad aparente" (sólo una cuenta de 1 bits) en el CB, que sólo espera a que un número aparentemente aleatorio apropiado.

CB continuación, puede ejecutar algún tipo de motor de software simple bytecode basado en cuya tarea será principalmente para inicializar DRAM, CB se puede cargar el gestor de arranque siguiente (CD) de la NAND en él, y ejecutarlo.

Básicamente, el CD se carga un kernel base de NAND, el parche y ejecutarlo.

Que el núcleo contiene una pequeña porción privilegiada de código (hipervisor), cuando la consola se ejecuta, este es el único código que tiene los derechos suficientes para ejecutar código sin firmar.
En 4532/4548 versiones del núcleo, una falla crítica en lo que parecía, y todos los conocidos 360 hacks necesarios para ejecutar uno de los núcleos y explotación de esa falla para ejecutar código no firmado.
En 360 válidos, el CD contiene un valor hash de los dos núcleos y se detendrá el proceso de arranque si intenta cargarlas.
El hipervisor es una pieza relativamente pequeña de código para comprobar los defectos y, aparentemente, no los más nuevos tiene alguna falla que podría permitir ejecutar código sin firmar.

Por otro lado, tmbinc dijo que el 360 no fue diseñado para resistir los ataques de ciertos equipos como el ataque del tiempo y "glitching".

Glitching aquí es básicamente el proceso de la activación de los fallos de procesadores de medios electrónicos.

Esta es la forma en que solía ser capaz de ejecutar código sin firmar.

El fallo restablece en pocas palabras
===============================

Hemos encontrado que mediante el envío de un pulso de reset pequeño al procesador, mientras que es más lento no se restablece sino que cambia la forma en que el código se ejecuta, parece que es muy eficiente en la toma de gestores de arranque funciones memcmp siempre vuelven "no hay diferencias". memcmp a menudo se utiliza para comprobar el hash SHA gestor de arranque que viene contra uno que se almacena, lo que permite que se ejecute si son los mismos. Por lo tanto, se puede poner un gestor de arranque que no Verificación del hash en NAND, falla el anterior gestor de arranque y que se ejecute, lo que permite casi cualquier código se ejecute.

Detalles para el hack de grasa
========================

Las grasas, el gestor de arranque que falla es el banco central, por lo que se puede ejecutar el CD que queremos.

cjak encontró que al afirmar la señal CPU_PLL_BYPASS, el reloj de la CPU se ralentiza mucho, hay un punto de prueba en la placa base que es una fracción de la velocidad de la CPU, que es 200Mhz cuando el guión funciona, 66.6Mhz cuando se inicia la consola, y 520Khz al que la señal se afirma.

Por lo tanto, va así:
- Afirmamos CPU_PLL_BYPASS alrededor de códigos POST 36 (hex).
- Los esperamos para POST 39 inicio (POST 39 es la memcmp entre hash almacenado y el hash de la imagen), y comienza un contador.
- Al contrario que ha llegado a un valor exacto (a menudo alrededor del 62% de la POST toda la longitud 39), se envía un pulso de 100 ns en CPU_RESET.
- Esperamos un tiempo y luego nos deassert CPU_PLL_BYPASS.
- La velocidad de la CPU vuelve a la normalidad, y con un poco de suerte, en vez de AD error de la POST, el proceso de arranque continúa y CB funciona nuestro CD personalizado.

La NAND contiene un cero pares CB, nuestra capacidad de carga de un CD personalizado, y una imagen modificada SMC.
Una falla poco confiable por su naturaleza, se utiliza una versión modificada de la imagen que se reinicia infinitamente SMC (es decir, imágenes de archivo reiniciar 5 veces y luego RROD) hasta que la consola ha arrancado correctamente.
En la mayoría de los casos, el fallo tiene éxito en menos de 30 segundos desde el encendido de esa manera.

Los detalles de la corte delgado
=========================

El gestor de arranque que falla es CB_A, por lo que se puede ejecutar el CB_B que queremos.

En adelgaza, no fueron capaces de encontrar una pista de la placa base para CPU_PLL_BYPASS.
Nuestra primera idea era quitar el cristal de 27Mhz maestro 360 y generar nuestro propio reloj lugar, pero fue una modificación difícil, y no dió buenos resultados.
Luego buscamos otras maneras de disminuir el reloj de la CPU hacia abajo y se encontró que el chip HANA había configurable registros PLL para el reloj de 100Mhz que se alimenta de la CPU y la GPU pares diferenciales.
Al parecer, los registros son escritos por el SMC a través de un bus I2C.
Bus I2C puede ser visitado libremente, es aún disponibles en la cabecera (J2C3).
Así que el chip HANA ahora se convertirá en nuestra arma de elección para disminuir la CPU hacia abajo (tmbinc sentimos, no siempre se puede estar en lo cierto, no es aburrido y que se sienta en un autobús de interés

Por lo tanto, va así:
- Nosotros enviaremos un comando i2c a la HANA para frenar la CPU en el código POST D8.
- Los esperamos para POST DA inicio (POST DA es el memcmp entre hash almacenado y el hash de la imagen), y comienza un contador.
- Al contrario que ha llegado a un valor preciso, enviamos un pulso de 20ns en CPU_RESET.
- Esperamos un tiempo y luego enviar un comando i2c a la HANA para restaurar el reloj de la CPU regular.
- La velocidad de la CPU vuelve a la normalidad, y con un poco de suerte, en vez de error de la POST F2, el proceso de arranque continúa y CB_A corre nuestra CB_B personalizado.

Cuando se inicia CB_B, DRAM no es inicializado por lo que decidimos sólo se aplican unos parches para lo que se puede ejecutar cualquier CD, los parches son:
- Siempre activar el modo de cero pares, de modo que se puede utilizar una imagen modificada SMC.
- No descifrar CD, en lugar de esperar que un CD de texto en NAND.
- No se detenga el proceso de arranque si hash de CD no es bueno.

CB_B es encriptado RC4, la clave viene de la llave de la CPU, así que ¿cómo parche CB_B sin conocer la clave de la CPU?
RC4 es básicamente:
encriptado = xor texto pseudo-aleatorios keystream
Por lo que si sabemos y texto encriptado, se puede obtener el flujo de clave, y con el flujo de clave, podemos cifrar nuestro propio código. Se va así:
adivinado-pseudo-aleatorios keystream = encriptado xor texto
nuevo-encriptado = adivinado-pseudo-aleatorio-xor keystream texto-patch
Usted podría pensar que hay un problema de la gallina y el huevo, ¿cómo hemos llegado texto en el primer lugar?
Fácil: teníamos texto CBS de las consolas de grasa, y pensamos que los primeros bytes del código sería el mismo que el CB_B nuevo, así que podríamos cifrar una pequeña pieza de código para descargar la clave de la CPU y CB_B descifrar!

La NAND contiene CB_A, un CB_B parcheado, nuestra capacidad de carga de una costumbre CD texto y una imagen modificada SMC.
La imagen de SMC se ha modificado para que reinicie infinito, y para evitar que periódicamente el envío de comandos I2C, mientras que nuestro envío.

Ahora, tal vez no se han dado cuenta todavía, pero CB_A no contiene el control de fusibles de la revocación, por lo que es un hack unpatchable!

Advertencias
=======

Nada es perfecto, así que hay algunas advertencias de que el hack:
- Incluso en la falla que encontramos es bastante fiable (25% tasa de éxito por intento de media), puede tomar hasta unos pocos minutos para que arranque con código sin firmar.
- Que la tasa de éxito parece depender de algo así como el hash de la versión modificada del bootloader que queremos ejecutar (CD para las grasas y CB_B para adelgaza).
- Se requiere un hardware preciso y rápido para poder enviar el pulso de reset.

Nuestra implementación actual
==========================

Se utilizó un Xilinx CoolRunner CPLD II (xc2c64a) junta, porque es rápido, preciso, actualizable, barata y puede trabajar con dos niveles de tensión diferentes al mismo tiempo.
Usamos el reloj 48Mhz de espera desde el 360 para el contador de saltos. Para el corte delgado, incluso el contador funciona a 96MHz (incrementado en los bordes de subida y bajada del reloj)
El código CPLD está escrito en VHDL.
Lo necesitamos para ser conscientes de los códigos POST del corriente, nuestras implementaciones utilizó por primera vez el conjunto de 8 puertos DESPUÉS bits para esto, pero ahora estamos en condiciones de detectar los cambios de poco POST sólo uno, lo que hace más fácil el cableado.

Conclusión
==========

Tratamos de no incluir ningún código de derechos de autor de MS en las herramientas de corte en libertad.
El objetivo de este truco es ejecutar Xell y otros programas libres, I (gligli) no lo hizo para promover la piratería o cualquier cosa relacionada, yo sólo quiero ser capaz de hacer lo que quiera con el hardware que he comprado, incluyendo la ejecución de mi propio código nativo en él.

Créditos
=======

Gligli, Tiros: la ingeniería inversa y el desarrollo de hackear.
coz: ingeniería inversa, las pruebas beta.
Razkar, tuxuser: las pruebas beta.
cjak, Redline99, SeventhSon, tmbinc, alguien me olvidé ... : Antes de la ingeniería inversa y / o trabajo hacking en el 360.

Parece ser que el proceso consiste en enviar masivamente impulsos eléctricos hasta que el código no firmado llegué a ser validado por eso tiene conectado una placa adicional para enviar estos y flashear la nand e instalar el xell loader, es algo parecido al hack que intento geohot con ps3 y que siguio psmaniaco con impulsos eléctrico cada 40 nanosegundos creo que era.

Un cordial saludo.

cjv99.

FFantasy6
28/08/2011, 21:54
Ya no me da tiempo a vender mi xbox exploiteable fat :(

cjv99
28/08/2011, 22:04
Ya no me da tiempo a vender mi xbox exploiteable fat :(
Harás bien en no venderla, puesto que no tardarán mucho en sacar el proceso completo y poder hacerlo por tú cuenta.

Un cordial saludo.

cjv99.

FFantasy6
28/08/2011, 22:54
Harás bien en no venderla, puesto que no tardarán mucho en sacar el proceso completo y poder hacerlo por tú cuenta.

Un cordial saludo.

cjv99.
Pero si para la mia ya hay un proceso completo.

Aiken
28/08/2011, 23:06
cuando acabe de jugarme los 4-5 juegos originales que tengo empezados, y los otros 4-5 que aun tengo precintados, me lo miro y me lo pienso, anque para mi que no me da tiempo a mas, y mas si pienso que los emus ya los juego en las portatiles.

Aiken

cjv99
28/08/2011, 23:09
Pero si para la mia ya hay un proceso completo.
Vale, creía lo contrario, te pido disculpas.

En mi caso tengo dos también que le hice el jtag, pero como tengo otras cinco xbox 360 que no, pues me interesa mucho el tema.

Disculpas.

Un cordial saludo.

cjv99.

galaad
28/08/2011, 23:15
Siento molestar,pero mi curiosidad es grande cuando leo que alguien tiene siete 360...digamos que no se me ocurre el motivo.Podrias saciar esta absurda a la vez que molesta curiosidad?

Un saludo.

A600
28/08/2011, 23:30
El mod tiene bastante tela así que novatos, abstenerse:

Link! (http://www.logic-sunrise.com/forums/topic/35481-en-reset-glitch-hack-on-slim-tutorial/)

jduranmaster
28/08/2011, 23:32
sino fuese porque en la mia ya lo tengo hecho lo montaria sin dudar.

cjv99
28/08/2011, 23:43
Siento molestar,pero mi curiosidad es grande cuando leo que alguien tiene siete 360...digamos que no se me ocurre el motivo.Podrias saciar esta absurda a la vez que molesta curiosidad?

Un saludo.
Quizás estes en lo cierto y sea desde luego algo muy poco usual, sin embargo debo decirte que cinco de las cuatro de las siete serán distribuidas como premios para algunos concursos de programación que se realizarán dentro de relativamente poco tiempo, añadiendo a la lista alguna dreamcast y ps3.

Unicamente constituyen a mejora de premios para incentivar en cierta forma la participación, como hizo en su momento gamemaster con el bennu plataformero.

Y para futuros concursos que se hagan aquí en gp32spain también aportaré premios cuando los hagan.

Un cordial saludo.

cjv99.

< - >

El mod tiene bastante tela así que novatos, abstenerse:

Link! (http://www.logic-sunrise.com/forums/topic/35481-en-reset-glitch-hack-on-slim-tutorial/)
Pues si es complicadillo, pero tengo la suerte de que dispongo de todo el material que hace falta.
Si quereís, como en muy pocos días lo haré en una xbox 360, porque tengo los materiales, os cuento como va la cosa y algunas fotos para ver si acaba bien o antes explota la xbox 360.

Nota: Foto de la xbox 360 explotada incluida, si sucede.

Un cordial saludo.

cjv99.

galaad
28/08/2011, 23:45
Gracias por tomarte la molestia de responder y disculpa mi curiosidad.

Un saludo!

A600
28/08/2011, 23:47
La "ventaja" que tiene este nuevo método es que (probablemente) Microsoft no pueda hacer nada para evitarlo.


It's unpatchable, in fact the CB is involved so early in the console boot process that it can't be revoked

nintiendo1
29/08/2011, 00:38
La "ventaja" que tiene este nuevo método es que (probablemente) Microsoft no pueda hacer nada para evitarlo.

Como sea como en la PS3... ya me acuerdo cuando GeoHot y compañia decían que el bug de las keys de la PS3 no se podía arreglar y que tendrían que sacar una PS4... a los días actualización y a j0derse.

Yo no voy a hacer el JTAG, sin embargo, quizás sirva para encontrar algún bug al estilo de la Wii y se pueda cargar cosas sin firmar sin abrir la 360, aunque lo dudo, aunque es mi esperanza.

Saludos.

FlipFlopX
29/08/2011, 03:53
La gente le tiene ganas a M$, con que el parque de 360 JTAG aumente, más desarrolladores. Yo me lo pensaré por una cosa, la dificultad que parece que tiene la cosa, el precio..(Por cuánto puede salir todo? Se puede uno fabricar el programador del cpld y demás¿?). Y si el xlink-kai para las jtag tiene vida, que en la época de la xbox1 la verdad que para halos y demás era una gozada. Aunque supongo que ahora el Live le ha quitado muchísimo terreno.

MoReNiLLo
29/08/2011, 04:14
pues a mi me mola la noticia, que voy a usar aun juegos originales pero me molaria emus y jugar online con emus y demás .... a ver que sale...

SplinterGU
29/08/2011, 19:13
a mi si me interesa, podria hacer un port de bennugd a xbox360, ya que la 360 la tengo...

cjv99
29/08/2011, 19:53
a mi si me interesa, podria hacer un port de bennugd a xbox360, ya que la 360 la tengo...
De momento no queda otra más que esperar, porque falta el rebooter para que pueda usar un xmb alternativo que pueda ejecutar homebrew.

Aun con todo sabiendo que está en fase muy temprana, yo voy hacerlo en una xbox 360 dentro de muy pocos días.

Por cierto que ya espero impaciente un port de bennu para xbox 360.

Un cordial saludo.

cjv99.

princemegahit
29/08/2011, 20:47
Yo me espero a que se me acabe la garantia y las slim bajen estrepitosamente de precio por si se casca la mia al hacerlo, porque no quiero una FAT ni de coña, entre el ruido de los ventiladores y las posibilidades de fallo por 3LR, creo que ni regalada.

SplinterGU
29/08/2011, 21:00
cjv99, no he podido leer aun el articulo, estoy con bastante trabajo... resumelo, se puede hacer el jtag del articulo ya mismo? es hard o software?

cjv99
29/08/2011, 21:45
cjv99, no he podido leer aun el articulo, estoy con bastante trabajo... resumelo, se puede hacer el jtag del articulo ya mismo? es hard o software?
Asi de forma resumida:

Para el jtag es todo por medio de hardware, me explico:

Hardware:

- Un programador USB SPI para dumpear/ flashear la nand de xbox 360
- XC2C64A Coolrunner-II CPLD (Diligent C-mod)
- Un socket para el cpld
- 1 condensador de 220 picofaradio (pf)
- Y ganas de soldar un poco

Se necesita tener instalado xilinx lab tools.

A parte software necesario: Python an Pyton crypto, Impact ( de Xilinx Lab tools) y NandPro ( versión mayor o igual a v2.0e).

Según veo no es nada difícil construir y encontrar los materiales, pero en mi intento de constuirmelo me frené enseguida al ver que lo único que instalaba era el xell reloaded( rectificación a mi mismo se puede ejecutar homebrew, teniendolo que compilar previamente), pero a cambio te quedas sin dashboard hasta que salga un rebooter y te queda la consola sin xmb y sin nada.

También pone que tarda en arrancar, puede ser 30 segundos o más, dependiendo del código de encriptación que se genera en cada booteo de la consola.

Te pongo en subrayado en lo que me he equivocado, lo siento

Te quedarás con la consola sin nada solo con él xell reloaded, que eso si podrás ejecutar código no firmado.

Tutorial más detallado:

http://libxenon.org/index.php?action=dlattach;topic=146.0;attach=61

Tutorial para slim con todas las herramientas incluidas al final:

http://www.logic-sunrise.com/forums/topic/35481-en-reset-glitch-hack-on-slim-tutorial/

Un cordial saludo.

cjv99.

SplinterGU
29/08/2011, 22:52
si, luego de escribir el post, me hice tiempo y me puse a leerlo... y vi eso mismo, que te arruina la consola, solo sirve para ejecutar homebrew... y esperar hasta que salga un reloader... igual mejor esperar algo mas avanzado que este en un chip todo integrado y sea soldar y nada mas.