La consola de juegos Sega Saturn hackeó la protección DRM después de 20 años

Los juegos ahora se cargan sin pasar por la unidad de CD-ROM




Los jugadores experimentados seguramente recordarán a Sega Saturn, una consola de juegos de 32 bits de Sega. Comenzó a venderse el 22 de noviembre de 1994, dos semanas antes que su principal competidor, el primer modelo de Sony Playstation. Fue una verdadera bomba. El primer día, los fanáticos compraron 170,000 copias de la nueva Sega. En 1995, el prefijo apareció a la venta en Europa y EE. UU., Donde también esperaba el éxito: Quake, C&C, Tomb Raider, Duke Nukem 3D y otros juegos portados a él.

En el momento del lanzamiento, la arquitectura Sega Saturn era mucho más avanzada que cualquier otra consola de juegos. Saturno era un sistema muy poderoso para su época: dos procesadores RISC centrales (Hitachi SuperH-2 7604), dos procesadores de video (de su propio diseño), sonido de 32 bits (procesador DSP de sonido Yamaha FH1) y una unidad de CD de doble velocidad.

Sin embargo, bastante rápido Sega Saturn dio paso a Sony Playstation.

Es curioso que la arquitectura de Saturno fuera, en muchos sentidos, más avanzada que su competidor. A diferencia de la Playstation, que opera con triángulos como primitivas geométricas básicas, Saturno representa cuadrángulos. Cuando se usa correctamente, este renderizado produce menos distorsión de textura que en los juegos de Playstation. El hardware orientado a los cuádruples y el 50% más de memoria de video también le dieron a Saturno una ventaja en los juegos 2D. Pero al final, la arquitectura más "avanzada" de Saturno se convirtió en un obstáculo para portar muchos juegos, porque las principales herramientas de desarrollo se basaban en triángulos, así como en juegos multiplataforma. Por eso ganó la Playstation.


Placa base Sega Saturn

Hasta la fecha, estas dos consolas, y Sega Saturn, y la primera Playstation de Sony, solo se pueden encontrar en los estantes de los coleccionistas. Pero lo más interesante es que la protección DRM de los juegos para Saturno no logró piratear. El problema es que era difícil crear un entorno normal para la ingeniería inversa. Por ejemplo, los cartuchos flash se usaron en consolas de juegos antiguas, mientras que las consolas posteriores tienen la opción de flashear la memoria flash directamente en el tablero. En el caso de Sega Saturn, el problema es que es casi imposible encontrar un decodificador antiguo con una unidad de CD que funcione. El sistema operativo está cosido en el circuito mundial del controlador de la unidad de CD en la placa base, y la protección contra copias se realiza en forma de marcas físicas en el borde del CD; fue muy difícil hacer copias de discos con esa protección.


Protección contra la copia de CD

¿Cómo hacer ingeniería inversa y crackear los discos en un sistema tan súper cerrado?

Había una salida. El entusiasta jhl (Dr. Abrasive) de la comunidad de hackers de Assembler Games ha hecho algo casi increíble: ¡ el emulador de unidad óptica Sega Saturn ! Le llevó cerca de dos años hacer este trabajo.


Dr Abrasive en su laboratorio, donde en dos años logró desarrollar un emulador de unidad óptica Sega Saturn. Hay una consola desmontada sobre la mesa.

Según Jhl , la consola de juegos japonesa está muy intrincadamente diseñada. Él lo llama "sobre-ingeniería", hablando de tantos procesadores, entre ellos dos centrales, dos gráficos, un sonido, etc.

La unidad de CD está controlada por un controlador separado: el procesador RISC de 32 bits SH-1. El hacker tuvo que trabajar duro para descifrar el chip de este controlador.



Microcircuito en el controlador de la unidad de CD

La consola de juegos tiene un puerto de expansión interno donde se inserta la tarjeta de decodificación MPEG para ver los CD de video.




Puerto de extensión interno de Saturno

Este puerto de expansión se conecta al controlador de CD y pasa datos a través de él mediante el cifrado.

Para empezar, el hacker encontró una manera de llegar al firmware del controlador. Retiró la placa del controlador de la consola de juegos y la conectó al cartucho de Game Boy renovado. En este cartucho, la ROM se actualizó de tal manera que se leía la ROM desde el controlador a través de NVRAM y luego a través de USB. Por lo tanto, jhl logró volcar la ROM del controlador.



La placa con el controlador de la consola de Saturno está conectada al cartucho Game Boy re-flasheado.64

kilobytes de memoria de este procesador están repletos de instrucciones que tomaron mucho tiempo en comprender. El Dr. Abrasive dice que el estudio de este código revela mucha información sobre el historial de desarrollo de Sega Saturn, pero en general estaba muy impresionado con la imagen que se abrió.



Después de examinar el contenido de la ROM, fue posible entender cómo se carga el código para SH-1 desde la tarjeta decodificadora MPEG. El Dr. Abrasive dice que encontró una especie de "puerta trasera" en el sistema operativo integrado, que le permite cargar discos sin protección contra copia.



Dio la casualidad de hacer una interfaz USB para cargar el contenido del chip YGR022 (a través de la ranura para tarjetas MPEG). Este fue el primer y más importante paso hacia la creación de un emulador de unidad óptica Saturn completo.

Como resultado de este trabajo, el Dr. Abrasive logró hacer un adaptador a través del cual los datos se cargan en la consola sin pasar por la unidad de CD estándar, es decir, a través del puerto de expansión interno . Es decir, los juegos en la consola ahora se pueden descargar incluso desde una unidad flash USB normal, no se necesitan los CD originales.

La titánica cantidad de trabajo que hizo el Dr. Abrasivo durante dos años, no puede sino causar respeto. El autor habla en detalle sobre todo el proceso de ingeniería inversa en un documental amateur. Esta es una película realmente genial.



El código para hackear Saturno y la unidad de emulador en un futuro próximo, el autor publicará en el dominio público.

Primero, el emulador es necesario para los entusiastas que se dedican a copiar discos para Saturno y portar juegos a esta consola. En segundo lugar, los propietarios de consolas de juegos ahora pueden usarlas nuevamente, incluso si la unidad de CD normal está fuera de servicio, y esta es la falla más común de Saturno. Además, la presencia de un emulador permitirá hacer copias de numerosos discos para Saturno y guardarlos para el historial.

Source: https://habr.com/ru/post/es395891/


All Articles