Únete al equipo de Lobera

Consulta nuestra Política de Privacidad sobre el tratamiento de esta información.

Contacta con el equipo de Lobera

Consulta nuestra Política de Privacidad sobre el tratamiento de esta información.

Fundamentos de reversing / 10

Práctica con crackmes IOLI

LoberaFormación técnica10 / 33 · 4 min de lectura · Linux · x86 / x86-64
10 / 33

Aplicar el análisis de cadenas, referencias y condiciones a binarios didácticos.

Consultar conceptos ↗
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.

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:

crackmes.one

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.

Práctica manual

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.

TERMINAL / COMPANION
./coursectl start 8-i --example crackme0x00
./coursectl console

Cierra la sesión anterior con ./coursectl stop antes de cambiar de laboratorio. Ver preparación.

Comprobación personal

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.

Código original: AGPLv3. Textos y diagramas originales: CC BY-SA 4.0. Reutilización y alcance ↗.

Lobera

Conceptos de reversing

Consulta una definición y continúa donde estabas.