Tag archive for ‘desensamblador’

BlessR2, nueva interfaz para Radare2

by tuxotron - on Dic 25th 2015 - No Comments

blessr2

Ya hemos hablado anteriormente sobre alguna interfaz gráfica para radare2. En esta ocasión, hablaremos de una nueva interfaz, aunque no gráfica. Según su web, éÉsta está basada en node.js, r2pipe y módulos blessed, lo que provee una interacción muy amigable y dinámica con radare2, responsiva y asíncrona. Su nombre BlessR2.

Dicha interfaz está en versión beta y funciona bajo sistemas Linux, Mac OS y Windows.

Ésta también puede ser usada para depuraración de código, permite crear marcos, interactuar con estos usando el ratón y aplicar estilos de colores, entre otras cosas. Soporta hasta 256 colores y arte ASCII.

Su instalación es muy sencilla:

npm install blessr2

o

npm install -g blessr2

BlessR2 es libre y su código está disponible en Gihub.

Un detallazo de Navidad de parte de Pancake.

Entradas relacionadas:

Destripando una instrucción en lenguaje ensamblador X86

by tuxotron - on Ago 4th 2015 - No Comments


CheatSheet.png

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.

Entradas relacionadas: