Bajo el microscopio: Ecco the Dolphin — Defensor del futuro
- Ecco the Dolphin: Defender of the Future tiene una función de trucos oculta que se activa según el nombre del archivo de guardado
- Usando Ghidra y Python, se hizo ingeniería inversa del método de codificación para descubrir nombres especiales
- Algunos nombres ya se conocían desde hace mucho tiempo, pero al encontrar los restantes se desbloquearon funciones como "inmortalidad" y la visualización de depuración
Introducción
- Ecco the Dolphin: Defender of the Future fue oficialmente el último juego de Ecco lanzado, y los juegos posteriores fueron cancelados
- El truco conocido permite seleccionar New Game en la pantalla de la VMU, ingresar las iniciales
GYU, luego volver a ingresar GYU y añadir tres letras para desbloquear todas las etapas
Análisis con Ghidra
- Se analizó un volcado de memoria del emulador flycast para encontrar el búfer de entrada de iniciales
- Con Ghidra, se confirmó que una función de conversión leía el búfer y verificaba si el valor convertido coincidía con uno de seis valores especiales
GYU GYU XXX se convierte en 9388D627, que corresponde al primer valor especial
Fuerza bruta con Python
GYU GYU tiene seis letras, y hay 26^6=308,915,776 combinaciones posibles
- Las combinaciones de 7 letras llegan a 800 millones, y las de 8 letras a 208 mil millones, por lo que son difíciles de procesar en una laptop
- Se replicó en Python el código de procesamiento para revisar todas las combinaciones posibles
Efectos
- Al ingresar SOCCER+XXX, se desbloquea Bonus Game para jugar fútbol submarino
- EXBBERX+XXX muestra Immortality Enabled en la pantalla de opciones, y evita morir o ahogarse
- QQRIQ+XXX muestra la tasa de cuadros del juego y valores de depuración
- XYZZYX+XXX muestra el reloj actual
- POPELY+XXX no parece tener ningún efecto especial
Cierre
- Se puede consultar otro análisis sobre el método de codificación de los juegos de Appaloosa Interactive en un artículo sobre Three Dirty Dwarves
- Otros artículos que encontraron códigos de truco antes desconocidos pueden revisarse en el archivo
1 comentarios
Comentarios en Hacker News
Explicación del algoritmo de hash CRC32 y enlaces relacionados. Si conoces el polinomio de CRC32, puedes encontrar la respuesta en tiempo logarítmico.
Comparte una experiencia personal con el juego Ecco de Mega Drive. Era muy difícil, así que descifró el sistema de contraseñas para llegar al nivel final. Menciona sentirse culpable por haber terminado el juego en solo dos días.
"QQRIQ" es una abreviatura fonética de una palabra que representa el sonido del gallo en varios idiomas. Plantea curiosidad sobre el proceso de selección de la contraseña.
Menciona que Ed Annunziata, desarrollador de Ecco, no consumía LSD, pero sí leía mucho la obra de John C. Lilly. Lilly fue una figura pionera en los campos de la inteligencia animal, la psicoterapia con ketamina, los tanques de aislamiento y la exploración de la conciencia. Recomienda su autobiografía <i>The Center of the Cyclone</i>.
Solicita recursos sobre ingeniería inversa de juegos de Dreamcast. Está buscando técnicas sistemáticas relacionadas con Skies of Arcadia.
Reflexiona sobre por dónde empezar a aprender ingeniería inversa. La mayoría dice que primero hay que aprender Assembly, pero después de eso falta información concreta. Se pregunta si los patrones comunes de plataformas x86/arm/arcade se descubren mediante prueba y error.
Siente que los juegos antiguos tenían más alma, y los ha disfrutado más en los últimos años. Agradece la advertencia relacionada con autos.
Descubrió un blog sobre Sega Saturn. Encontró una Saturn en la casa de sus padres, junto con CDs de juegos. La consola funcionaba, pero no sabe cómo aprovecharla.
Opina que le gustaría ver un video de cómo funciona el truco del fútbol submarino.
Recomienda revisar la versión de PS2 del juego. El código para desbloquear niveles podría ser el mismo y la ingeniería inversa podría ser más fácil.