Convertir rápidamente cadenas de código hexadecimal (opcodes) con cstool

 

https://www.onlinetis.com

Convertir rápidamente cadenas de código hexadecimal (opcodes) con cstool

cstool es una herramienta de línea de comandos incluida en el framework de desensamblado Capstone Engine. Su función principal es convertir rápidamente cadenas de código hexadecimal (opcodes) en instrucciones de ensamblador de forma interactiva y ligera.

1. Instalación en Kali Linux

En Kali Linux, la herramienta forma parte del paquete capstone-tool:

Bash
sudo apt update
sudo apt install capstone-tool

2. Sintaxis Básica

La estructura básica del comando es:

Bash
cstool [opciones] <arquitectura+modo> <cadena-hexadecimal> [dirección-inicial]

Opciones principales

OpciónDescripción
-dMuestra detalles avanzados de la instrucción (registros leídos/escritos, tamaño de operandos, etc.).
-sMuestra el modo de sintaxis alternativo (por ejemplo, sintaxis AT&T en x86).
-vImprime la versión actual de la librería Capstone.

3. Arquitecturas y Modos Comunes

cstool admite una amplia variedad de arquitecturas y modos:

  • x86 / x64: x16, x32, x64, x16att, x32att, x64att

  • ARM: arm, armbe, thumb, thumbbe, arm64

  • MIPS: mips, mipsbe, mips64, mips64be

  • RISC-V: riscv32, riscv64

  • PowerPC: ppc32, ppc64

4. Ejemplos Prácticos de Uso

Ejemplo 1: Desensamblar instrucciones x32/x64

Puedes ingresar los bytes hexadecimales en varios formatos (separados por espacios, comas, prefijos 0x o \x):

Bash
# Desensamblar NOP y XCHG EAX, ECX en x86 de 32 bits
cstool x32 "90 91"

Salida:

Plaintext
 0  90  nop
 1  91  xchg eax, ecx

Ejemplo 2: Especificar una dirección de memoria inicial

Si deseas que el offset comience en una dirección de memoria específica (por ejemplo, 0x1000):

Bash
cstool x64 "48 89 pt 24 08" 0x1000

Ejemplo 3: Ver detalles detallados de instrucción (-d)

La opción -d desglosa los operandos y registros involucrados:

Bash
cstool -d x32 "01 d8"

Salida:

Plaintext
 0  01d8  add eax, ebx
	Prefix:0x00 0x00 0x00 0x00
	Opcode:0x01 0x00 0x00 0x00
	modrm: 0xd8
	op_count: 2
		operands[0].type: REG = eax
		operands[0].access: READ | WRITE
		operands[1].type: REG = ebx
		operands[1].access: READ

Tip: cstool es especialmente útil durante tareas de análisis de shellcode o depuración rápida cuando necesitas verificar el significado de una secuencia de bytes sin necesidad de abrir un entorno más pesado como Ghidra o IDA Pro.

 https://www.onlinetis.com

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Como utilizar Fierce en kali linux

Hacking y ciberseguridad en kali linux con atk6-thcping6