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.
Leer más

Referencia rápida al conjunto de instrucciones x86

Aunque Intel provee de toda la documentación del conjunto de instrucciones de procesadores x86, 64 y 32 bits, los documentos pdfs son un poco grandes y quizás no la opción más versátil como fuente de consulta. HTML es sin duda un formato mucho más flexible y ligero que PDF, por lo que una versión en HTML del conjunto de de instrucciones de los procesadores x86 de Intel, puede ser mucho más conveniente de tener a mano.
Leer más

Simulador de ensamblador de 8 bits

Esta es otra pequeña joyita con la que me he topado y que a alguno le traerá buenos recuerdos del pasado. Simple 8-bit Assembler Simulator es pues eso, un simulador de ensamblador de 8 bits. Está basado en NASM, provee una sintaxis simplificada y emula el funcionamiento de un procesador x86. La CPU obviamente es de 8 bits y además disponemos de un mapa de memoria de 256 bytes, así como de 4 registros de propósito general.
Leer más

Repositorio de información técnica sobre x86 y x86-64

Tecnología también conocida como IA-32 (x86 - 32bits) y AA-64 (x86 - 64bits). La web está llena de documentos técnicos sobre dichas arquitecturas. No sólo incluye información técnica sobre microprocesadores Intel o AMD, sino también sobre Cytrix, Centaur, Transeta, etc. También puedes encontrar gran cantidad de documentos técnicos sobre plataformas como IBM, NEC, etc.
Leer más

Referencia de Instrucciones y Códigos de Operación (OPCodes) x86

En el siguiente enlace podemos encontrar una de las mejores referencias de instrucciones y códigos de operación para x86 que he visto. Casi toda la información está en los micros de Intel. Además a esta referencia también le han añadido instrucciones no documentadas. Ofrecen distintos formatos y versiones de la documentación. Ofrecen una versión coder, para uso más común y una versión geek, dónde la documentación es un poco más amplia y técnica.
Leer más

Chuleta de ingeniería inversa para x86/Win32

Pues como por aquí nos encantan las chuletas, desde aquí (formato PDF) os podéis descargar una para los que nos gusta jugar de vez en cuando con algún crackme.
Leer más

La evolución de los x86

Excelente artículo visto en MuyComputer (resumido en español) y fuente original de MaximumPC (más completo en inglés), donde reapasan los 31 años de historia de las CPUs basados en el Intel x86.
Leer más