Destripando una instrucción en lenguaje ensamblador X86
La función más importante en un desensamblador es la conversión o recomposición de las instrucciones en lenguaje ensamblador a partir de los códigos de operacion (OP / operation code).
En la arquitectura X86, a diferencia de otras, la longitud en bytes de una instrucción, varía dependiendo de la instrucción en sí y de los operandos sobre las que ésta actúa.
Últimamente, gracias en entre otros a proyectos como Capstone hemos visto el lanzamiento de desensambladores de todo tipo, así como la migración o adaptación de desensambladores previamente existentes a este motor.
Ni que decir tiene, que si quieres escribir tu propio desensamblador debes tener un buen conocimiento de cómo se componen (ensamblan) o descomponen (desensamblan) las instrucciones, pero estos conceptos también son muy importantes a la hora de por ejemplo explotar una vulnerabilidad, o más bien, a la hora de escribir tu propio exploit.
Möbius Strip Reverse Engineering, sacado de su curso SMT-Based binary program analysis from the ground up, ha liberado el contenido de la sección X86 Assembly/Disassembly del mismo. Dicho contenido explica los detalles del ensamblado y desensamblado de una instrucción en lenguaje ensamblador de arquitectura X86. El contenido viene en forma de archivo .zip y contiene tres PDFs: teoría sobre dicho tema (114 páginas), ejercicios y una introducción a python enfocada al tema. Además, dicho archivo también contiene un framework ya implementado en python listo para ser usado.
La información tiene muy buena pinta y si te interesa este tema, seguro que te aportará bastante.
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