Liberando la XBox360: Reset Glitch Hack

Como la mayoría de las consolas de videojuegos actuales, la consola Xbox 360 no permite la ejecución de software no firmado, lo que impide por ejemplo ejecutar GNU/Linux en esa consola, en consecuencia el propietario de una de estas consolas no puede usarlas de la forma que quiera a pesar de haberla comprado (véase defectuoso por diseño). Pero hace unos días el proyecto Free60 («un proyecto avocado a portar GNU/Linux, BSD, Darwin y sistemas operativos de código abierto relacionados a la consola de juegos Microsoft Xbox 360») publicó las instrucciones de un método que les permite ejecutar código no firmado en cualquier Xbox 360.

El hack descubierto utiliza la técnica «glitching», según describen en la página de Free60 (muy didáctica por cierto) las técnicas de «glitching» consisten en disparar bugs de un procesador por medios electrónicos.

A grandes rasgos este hack consiste en enviar un pulso de reset al procesador mientras el mismo está ralentizado, en ese momento el procesador en lugar de reiniciar la consola cambia la forma en que se ejecuta el código, y hace que los memcmp de los gestores de arranque (función utilizada normalmente para verificar el hash que identifica el próximo gestor de arranque con un hash almacenado) retornen siempre el valor de que son iguales.

De esta manera al hacer fallar (por glitching) a uno de los gestores de arranque normales de la Xbox 360 se puede ejecutar otro gestor de arranque que normalmente fallaría la prueba de verificación. Así es posible ejecutar software no firmado.

Mediante esta técnica pudieron ejecutar su gestor de arranque Xell y con él cargar un sistema Linux en la Xbox 360.

En la página de Free60 se describen los detalles técnicos de la implementación este hack (los cuales superan por mucho mis conocimientos del tema) así que si saben inglés les recomiendo que lo lean, pero la implementación de esto por el momento es sólo para personas con un amplio conocimiento técnico.

Vía: Slashdot.org

Comentarios