Aplicar el análisis de cadenas, referencias y condiciones a binarios didácticos.
Notas de la práctica
Los IOLI son binarios didácticos de 32 bits. Puedes estudiarlos con análisis estático; para ejecutarlos necesitas el soporte de 32 bits que prepara el companion.
Trabaja sobre el mismo ejemplo
Selecciona este ejemplo en el companion. El número del comando corresponde al identificador original del laboratorio.
./coursectl chat 8-i --example crackme0x00Estoy siguiendo «Práctica con crackmes IOLI» del curso de Lobera. Aplicar el análisis de cadenas, referencias y condiciones a binarios didácticos. Dame primero una pista. Después contrasta la explicación con las instrucciones y guarda las evidencias que hayamos comprobado.
El agente y la consola comparten el estado de radare2. Preparación y funcionamiento.
Sin tutorial, solo crackmes.
Según Wikipedia: Un crackme es un programa pequeño diseñado para poner a prueba las habilidades de reversing de un programador. Los crackmes son estupendos para aprender reversing, porque leer tutoriales como estos está muy bien, pero hay que ensuciarse las manos con el reversing tanto como sea posible para aprender de verdad, y una de las mejores formas de hacerlo es sintetizando los conceptos uno mismo.
Con los conocimientos que deberías tener tras trabajar con esos primeros tutoriales, deberías ser capaz de crackear estos crackmes IOLI:
IOLI crackmes, https://github.com/radareorg/radare2book/tree/master/crackmes/ioli
Si buscas algo más avanzado, aquí tienes:
Estos crackmes IOLI son una especie de punto de control: si eres capaz de resolverlos significa que has asimilado bien los conceptos presentados en los tutoriales anteriores. Iré publicando nuevos crackmes propios a medida que avancemos.
Trabajo con el companion
El paquete conserva los IOLI como ejercicios de lectura y análisis. Puedes empezar por localizar cadenas, referencias y comparaciones, y registrar qué observación sostiene cada hipótesis. La comprobación personal de esta página sirve para revisar lo aprendido.
Vuelve al binario
Aplicar el análisis de cadenas, referencias y condiciones a binarios didácticos. Identifica al menos una instrucción y el dato que utiliza; conserva la compilación con la que lo has observado.
Puedes utilizar la consola del companion sin conversar con el agente, o abrir el ejecutable en tu desensamblador habitual.
./coursectl start 8-i --example crackme0x00
./coursectl consoleCierra la sesión anterior con ./coursectl stop antes de cambiar de laboratorio. Ver preparación.
Antes de continuar
Explica con tus palabras la operación estudiada y señala las instrucciones o capturas que la justifican. Distingue los datos observados de los nombres y tipos que has reconstruido.
El progreso se guarda en este navegador. Puedes recorrer las lecciones en cualquier orden.