Material para enseñar sobre el análisis de ficheros binarios con IDA Pro
- March 21, 2013
- tuxotron
- HLL Mapping 1 (NOT for training, only as reference!)
- HLL Mapping 2 (Start here and convert them to C)
- Manual Decompilation (Simple exercises)
- Algorithm Analysis 1 (Simple math exercises)
- Algorithm Analysis 2 (Simple math exercises)
- Crash Auditing (more complicated, why crashing?)
- File Understanding (Simple to hard Reversemes)
- Copy Protection Auditing (Simple to very hard)
- Unpacking (Simple exercises)
- Vulnerability Auditing (Simple to intermediate)
- Malware Auditing 1 (Simple old .com/.exe exercises)
- Malware Auditing 2 (Some fakes for analysis)
- Malware Auditing 3 (Simple win32 analysis)
- IDA Pro 5.0 Free
En binary-auditing.com han preparado un paquete con información sobre el análisis de binarios con IDA Pro Free. El paquete está compuesto por, además del propio IDA Pro 5 Free, por una serie de PDFs y de algunos binarios para hacer las prácticas.
Este paquete está ideado para ser usado como material de enseñanza, aunque por supuesto lo puedes usar para tu propio aprendizaje.
El paquete lo puedes bajar desde aquí. Es un archivo .zip protegido con la siguiente contraseña: fdcd2ff4c2180329053650f3075d39f4
El contenindo del archivo es el siguiente:
PD: para los que uséis Linux, después de extraer el contenido del archivo posiblemente tengáis que ajustar los permisos de estos.
Microhistorias: la pantalla de la muerte (killscreen) del Donkey Kong y como superarla
- March 19, 2013
- cybercaronte
Killscreen de Donkey Kong. Web donhodges.com
Donkey Kong también tiene su pantalla de la muerte ó killscreen, al igual que Pac-Man (del que hablamos en nuestro libro) y otros juegos de la época. Uno de los motivos por el cual estas pantallas existen es que el hardware en el cual se implementaba el juego (las máquinas recreativas) tenía bastantes limitaciones y estaban diseñadas para partidas, en teoría, "cortas". Si a esta limitación técnica le sumamos el hecho que los programadores de estos juegos míticos nunca imaginaron que los jugadores llevaran la máquina hasta esos límites (qué ilusos), aparecen errores de programación que dieron lugar a las famosas killscreen.
Pero vamos a hablar un poco de la pantalla de la muerte del Donkey Kong. No vamos a hablar del juego en sí, para eso mejor tienes que ver el documental "The King of Kong", donde además de saber todos los secretos del juego, en un momento dado mientras juega Steve Wiebe aparece la famosa killscreen.
Siempre que llegas al nivel 22 aparece la pantalla de la muerte. Como puedes ver en la cabecera de este post y en el vídeo anterior, es muy parecida a la pantalla del nivel 1. En esta pantalla el tiempo va mucho más rápido y además es imposible que el pobre Mario pase de la segunda viga, muere instantáneamente sin motivo aparente. Por lo tanto al llegar a este nivel es cuando el juego termina.
Aquí tienes la tabla de Twin Galaxies con todos los records actuales:
| Rank | Score | Player | Date |
| 1 | 1,138,600 | Hank S Chien | 11/1/2012 |
| 2 | 1,135,900 | Vincent Lemay | 1/11/2013 |
| 3 | 1,105,400 | Jeff Willms | 11/18/2012 |
| 4 | 1,079,400 | Dean Saglio | 11/18/2012 |
| 5 | 1,064,500 | Steve J Wiebe | 8/30/2010 |
| 6 | 1,062,800 | Billy L Mitchell | 7/31/2010 |
| 7 | 1,052,900 | Mark Kiehl | 8/7/2012 |
| 8 | 1,037,500 | Shaun Boyd | 5/21/2012 |
| 9 | 1,015,000 | Dave McCrary | 12/30/2011 |
| 10 | 1,012,800 | Kyle Goewert | 4/27/2012 |
Hay que destacar que Donkey Kong está considerado uno de los juegos arcade más difíciles de la historia y que pasar de los 30.000 puntos ya es un logro. Para poder llegar a estas puntuaciones tienes que romper el mayor número de barriles pero a la vez conseguir superar el nivel lo antes posible para conseguir el mayor bono ó "bonus" posible. Por que ya sabes que al llegar al nivel 22 aparece la dichosa pantalla de la muerte ... y aquí se acaba todo.
Pero nosotros, que somos muy geeks ;) queremos saber porqué hay una pantalla partida en el Donkey Kong.
Todo el problema se centra en la lógica aplicada al control de los "bonus" de cada nivel. Esta fórmula matemática indica que el nivel actual multiplicado por diez, más 40 indica los centenares de puntos de bonos que se verán en el marcador. Si el resultado de la operación es demasiado grande, se reduce. Pero cuando llega al nivel 22, de nuevo, igual que pasaba en Pac-Man, ocurre un error tipo "overflow" ó desbordamiento de buffer. Y este error ocurre porque al multiplicar y al sumar usando el nivel 22 como base aparece un número mayor de 256:
(22 * 10) + 40 = 260
Al parecer los programadores no pusieron ningún control de overflow para comprobar que la operación era menor de 256. Pero en cambio sí que crearon controles para comprobar que el valor resultante de bonos nunca fuera mayor de 8000.
Y ahora vamos a ver cómo podríamos superarla, para eso nada mejor que usar nuestro amigo MAME :)
En la web donhodges.com se explica paso a paso la forma de modificar el código fuente del juego en MAME e insertar uno nuevo para corregir este fallo de programación.
Además la solución es tan elegante que además de corregir el fallo ocupa el mismo espacio que la porción de código original. Resumiendo, el código fuente en ensamblador lo primero que hace es saltar la comprobación de si el resultado es mayor de 81 (lo que hemos comentado antes que era el único chequeo que hicieron los programadores) y luego fuerza que el cómputo global de bonus sea siempre de 8000 cuando se llega a esta pantalla.
Aquí tienes el código fuente del "parche":
Fantástico, no olvides echar un vistazo al artículo original aquí.
Y si quieres llegar a ser un maestro del Donkey Kong, echa un vistazo a esta guía que ya publicamos en su día.
Presentaciones de CanSecWest Vancouver 2013
- March 19, 2013
- tuxotron
- Keynote
- iOS6.1 - Exploitation 280 Days Later
- Evil Maid Just Got Angrier: Why Full-Disk Encryption With TPM is Insecure on Many Systems
- Sandbox Escapes: When the Broker is Broken
- Reflecting on Reflection - Exploiting Reflection Vulnerabilities in Managed Languages
- An Android Hacker's Journey: Challenges in Android Security Research
- DEP/ASLR bypass without ROP/JIT
- SMS to Meterpreter - Fuzzing USB Modems
- Cracking and Analyzing Apple iCloud backups, Find My iPhone, Document Storage.
- Desktop Insecurity
- Shining Some Light on the Evolution of BlackHole
- Project 53
- Smart TV Security
- Godel's Gourd - Fuzzing for Logic Issues
- MS SQL Post Exploitation Shenanigans: You're In, Now What?
- Analysis of a Windows Kernel Vulnerability; From Espionage to Criminal Use
- UPnP Vulnerabilities
Pues como dice el título, ya están disponibles para descarga las presentaciones (diapositivas) de CanSecWest Vancouver 2013:
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec




