Private AI Tools

Desensamblador gratis

El Desensamblador online convierte código máquina en ensamblador en el navegador con Capstone 5. Pega hex, escapes \x, arrays de bytes de C o Python o base64, o elige un rango de un archivo binario, y luego selecciona x86 (sintaxis Intel, AT&T o MASM), ARM, Thumb, ARM64, MIPS, PowerPC, RISC-V, WebAssembly, BPF u otras diez arquitecturas. Los bytes no válidos se muestran como líneas .byte.

Arquitecturas:
18, entre ellas x86, ARM64, RISC-V, WebAssembly
Entrada:
Hex, \x, arrays C/Python, base64, archivo
Límite:
256 KiB por vez; enlace compartido: 4 KiB máx.
Precio:
Gratis
Funciona:
En local, en tu navegador
Subidas:
Ninguna: los archivos no salen de tu dispositivo
Cuenta:
No hace falta

Respuestas rápidas

¿Se suben mis bytes a algún sitio?

No. Capstone funciona como WebAssembly en un worker en segundo plano en tu dispositivo. La única descarga es el propio motor, unos 3,6 MB desde este sitio, la primera vez que pulsas Disassemble o abres un enlace compartido. Los archivos se leen en local, y solo en el rango que eliges. Un enlace compartido guarda los bytes después del # de la dirección, una parte que los navegadores no envían a los servidores.

¿Qué arquitecturas admite?

Las 18 de Capstone 5: x86 (16, 32 y 64 bits), ARM y Thumb (Cortex-M incluido), ARM64, MIPS (32, 64, Release 6, microMIPS), PowerPC (32, 64, paired singles), SPARC, RISC-V (32 y 64 bits, con o sin instrucciones comprimidas), WebAssembly, eBPF y BPF clásico, Ethereum EVM, del 68000 al 68060, la familia 6800/6809, 6502 y 65816, SuperH, SystemZ, TriCore, TMS320C64x y XCore.

Por ahora la interfaz de la herramienta está en inglés.

Loading tool…

Se procesa en tu dispositivo: tus archivos nunca se suben. Cómo funciona

Cómo usar Desensamblador

  1. Pega los bytes en hexadecimal (55 48 89 e5, 0x55, 0x48, \x55\x48 o un array de C o Python) o en base64, o abre un archivo binario y fija Offset (desplazamiento) y Length (longitud) que se leerán.
  2. Elige Architecture (arquitectura), Mode (modo), Byte order (orden de bytes) y, para x86, la sintaxis Intel, AT&T o MASM. Fija Start address (dirección inicial) para que los destinos de saltos y llamadas muestren las direcciones reales.
  3. Pulsa Disassemble: el listado muestra dirección, bytes, mnemónico y operandos, y se actualiza mientras editas. Activa Instruction details para ver los registros leídos y escritos y los grupos de cada instrucción.
  4. Usa Copy listing o Download .txt, o Copy share link para enviar los bytes y los ajustes en un enlace.

Créditos y código abierto

Código propio más bibliotecas de código abierto. Gracias a las personas que hacen posibles estos proyectos.

  • Capstone.js (Capstone 5)© Alexandro Sanchez Bach (Capstone.js bindings); Capstone by Nguyen Anh Quynh and the Capstone contributors · BSD-3-Clause

API de la plataforma web utilizadas: WebAssembly, Web Workers, File API, Clipboard API, URL API.

Textos completos de las licencias: avisos de terceros · todos los créditos

Preguntas frecuentes

¿Qué significan las líneas .byte?

Contienen bytes que no son una instrucción válida para la arquitectura y el modo elegidos. El desensamblador los salta un paso de alineación cada vez (1 byte en x86, 4 en ARM64) y continúa. Muchas líneas .byte suelen indicar una arquitectura, un modo o un orden de bytes equivocados, o que esos bytes son datos y no código.

¿Cómo pego shellcode de msfvenom o pwntools?

Pega la salida tal cual: cadenas de C ("\x48\x31…"), líneas de Python (buf += b"\x48…"), cadenas de bytes de pwntools con caracteres imprimibles (b'jhH\xb8/bin') o arrays 0x. El código alrededor de los bytes se ignora, y todo lo que no es un byte se indica con su línea y columna.

¿Puede desensamblar un archivo EXE o ELF entero?

Decodifica los bytes en bruto desde el offset que elijas, hasta 256 KiB; no lee cabeceras, secciones ni símbolos. Busca primero el offset en el archivo de la sección de código (lo muestran readelf, objdump o un visor PE) y desensambla ese rango con la arquitectura y la dirección inicial correctas.

¿Sigue los saltos o descompila el código?

No. Es un barrido lineal: los bytes se decodifican en orden desde el principio, así que los datos mezclados con el código se convierten en instrucciones extrañas. No hay análisis del flujo de control, ni descompilador, ni ensamblador.

Recomendado

Patrocinado · podemos recibir una comisión · detalles

Más herramientas de desarrolladores