Visor de bytecode DEX
Sube un archivo DEX (Dalvik Executable) para ver su estructura de bytecode, instrucciones Dalvik, opcodes, mnemónicos, uso de registros y definiciones de métodos. Analiza la estructura DEX completa, incluidas las cabeceras, tablas de cadenas, tablas de tipos/prototipos/campos/métodos, definiciones de clases y desensamblado completo a nivel de instrucción. Gratis, privado y sin registro.
Drop a DEX file here or click to browse
Supports .dex, .apk (extract classes.dex), and .odex files
Upload a DEX file to view its bytecode structure. The viewer parses the DEX header, string/type/proto/field/method tables, class definitions, and Dalvik bytecode instructions with full disassembly.
¿Por qué usar nuestro visor de bytecode DEX?
- Análisis completo de la estructura DEX: Analiza todo el formato de archivo DEX, incluidos la cabecera, los ID de cadenas, los ID de tipos, los ID de prototipos, los ID de campos, los ID de métodos, las definiciones de clases y los elementos de código. Ve cada elemento estructural de tu archivo DEX con desplazamientos y tamaños en bruto.
- Desensamblado completo del bytecode Dalvik: Desensambla las instrucciones Dalvik en mnemónicos legibles con operandos de registro, referencias a métodos, descriptores de tipo y constantes de cadena. Admite todos los formatos de instrucción principales, incluidos 35c (invoke) y 3rc (invoke/range).
- Explorador de árbol de clases y métodos: Navega por las clases y sus métodos en una vista de árbol desplegable. Ve los indicadores de acceso, la superclase, las interfaces, el archivo fuente, el uso de registros y el bytecode a nivel de instrucción de cada método. Expande cualquier clase o método para ver todos los detalles.
- 100 % local en el navegador y privado: Todo el análisis y desensamblado DEX se ejecuta íntegramente en tu navegador. Tu archivo DEX, las instrucciones de bytecode y la estructura analizada nunca salen de tu dispositivo. Sin subidas, sin servidores y sin seguimiento: totalmente seguro para analizar cualquier archivo DEX.
Casos de uso habituales del visor de bytecode DEX
- Análisis de malware e ingeniería inversa: Analiza archivos APK de Android en busca de comportamiento malicioso examinando las instrucciones de bytecode Dalvik. Identifica llamadas a API sospechosas, nombres de métodos ofuscados y patrones de flujo de control inusuales directamente en el bytecode, sin necesidad de descompilar a Java.
- Auditoría de seguridad de apps Android: Audita aplicaciones Android en busca de vulnerabilidades de seguridad examinando su bytecode. Busca uso inseguro de API, credenciales codificadas en la tabla de cadenas, comprobaciones de permisos incorrectas y exportaciones de componentes sin protección a nivel de bytecode DEX.
- Análisis de ofuscación y empaquetadores: Examina archivos DEX en busca de indicadores de ofuscación como nombres de clases/métodos inusuales, código con mucha reflexión, métodos invocados dinámicamente, patrones de cifrado de cadenas y uso de cargadores de clases. La vista de la tabla de cadenas ayuda a identificar cargas codificadas o cifradas.
- Desarrollo y depuración en Android: Los desarrolladores de Android pueden examinar la salida DEX compilada para verificar las optimizaciones de ProGuard/R8, comprobar la inclusión de métodos, entender cómo las funciones de Kotlin se compilan a bytecode y depurar problemas de compilación a nivel de instrucción.
- Análisis forense de apps Android: Los analistas forenses digitales pueden examinar archivos DEX de dispositivos Android para entender el comportamiento de las apps, recuperar constantes de cadena y estructuras de clases, y construir una imagen completa de lo que hace una aplicación a nivel de bytecode.
- Estudio educativo del bytecode Dalvik: Aprende cómo funciona la máquina virtual Dalvik explorando archivos DEX reales. Entiende los formatos de instrucción, la arquitectura basada en registros, el despacho de métodos y la resolución de tipos. Perfecto para estudiantes de internals de Android y diseño de compiladores.
¿Qué es un archivo DEX?
Un archivo DEX (Dalvik Executable) es el formato de bytecode compilado que usa la máquina virtual Dalvik de Android y su sucesora ART (Android Runtime). Toda aplicación Android (archivo .apk) contiene uno o más archivos classes.dex que guardan todo el código Java/Kotlin compilado. A diferencia de los archivos de clase JVM estándar, que usan una arquitectura basada en pila, los archivos DEX usan una arquitectura basada en registros en la que las instrucciones operan sobre registros virtuales con nombre (v0, v1, etc.). Este diseño basado en registros permite una interpretación del bytecode más eficiente y mejor rendimiento en dispositivos móviles. El formato DEX se introdujo con la plataforma Android en 2007 y ha evolucionado en varias versiones (035, 037, 038, 039), y cada versión añade nuevos opcodes y funciones de optimización.
Cómo funciona nuestro visor de bytecode DEX
El visor de bytecode DEX analiza el formato binario DEX completo y desensambla las instrucciones Dalvik en tres etapas, íntegramente en tu navegador:
- Carga y análisis binario: Sube un archivo .dex (o extrae classes.dex de un .apk). El visor lee la cabecera DEX para localizar todas las secciones de datos y analiza los ID de cadenas, ID de tipos, ID de prototipos, ID de campos, ID de métodos y definiciones de clases siguiendo la especificación estándar del formato binario DEX.
- Desensamblado del bytecode: Para cada método que contiene código, el visor lee la estructura del elemento de código (número de registros, número de argumentos, matriz de instrucciones) y desensambla cada palabra de instrucción de 16 bits. Cada opcode se asigna a su mnemónico Dalvik (move, add-int, invoke-virtual, etc.) y los operandos se decodifican según el formato de instrucción (12x, 35c, 3rc, etc.).
- Visualización estructurada: Los datos analizados se muestran en cuatro vistas: Clases (árbol desplegable con métodos y bytecode), Métodos (tabla plana de todos los métodos con prototipos), Cadenas (todas las constantes de cadena del archivo DEX) y Cabecera (todos los campos de la cabecera DEX). Cada instrucción muestra su desplazamiento, bytes en bruto, mnemónico y operandos decodificados.
Qué puedes ver en la estructura DEX
- Cabecera DEX: número mágico (dex 035\0), suma de verificación, firma SHA-1, tamaño del archivo, tamaños y desplazamientos de sección para todas las tablas de datos.
- Grupo de cadenas: todas las constantes de cadena usadas en el archivo DEX: nombres de clases, nombres de métodos, nombres de campos, cadenas de descriptor y valores literales de cadena usados en instrucciones const-string.
- Tablas de tipos y prototipos: descriptores de tipo (Ljava/lang/String;, I, [B, etc.) y definiciones de prototipos de métodos (tipo de retorno + tipos de parámetros) que definen las firmas de métodos.
- Definiciones de clases: cada clase del DEX con indicadores de acceso (public, abstract, interface, enum), superclase, interfaces, archivo fuente y listas de métodos directos y virtuales.
- Bytecode de métodos: listados completos de instrucciones Dalvik con número de registros, registros de argumentos, bloques try-catch y desensamblado por instrucción que muestra desplazamientos, opcodes, mnemónicos y operandos decodificados.
Privacidad y seguridad
Esta herramienta se ejecuta íntegramente en tu navegador con JavaScript del lado del cliente. El archivo DEX que subes, todo el bytecode analizado, las instrucciones desensambladas, las estructuras de clases, las tablas de cadenas y los resultados del análisis nunca se suben a ningún servidor, se almacenan en ninguna base de datos ni se transmiten por la red. Todo el análisis, desensamblado y visualización se ejecutan localmente en tu dispositivo. No hay llamadas a API, seguimiento analítico, cookies ni recogida de datos de ningún tipo. Esto lo hace totalmente seguro para analizar aplicaciones Android propietarias, muestras de malware o cualquier archivo DEX sensible.
Preguntas frecuentes
Un archivo DEX (Dalvik Executable) contiene el bytecode compilado de las aplicaciones Android. Ver el bytecode DEX permite entender exactamente qué hace una app a nivel de instrucción, algo útil para el análisis de malware, auditorías de seguridad, ingeniería inversa, depuración de problemas de compilación y aprendizaje de cómo funciona el bytecode de Android.
Sí. Todo APK de Android contiene un archivo classes.dex que el visor de bytecode DEX puede analizar. Extrae classes.dex de cualquier APK (con cualquier extractor ZIP) y súbelo. El visor también acepta archivos .odex (DEX optimizado).
El desensamblador admite todos los formatos principales de instrucciones Dalvik, incluidos 10x, 11n, 12x, 21c, 22c, 22t, 23x, 35c, 3rc, 31i y 51l. Se admiten más de 200 opcodes en todas las categorías de instrucciones.
No. El visor de bytecode DEX se ejecuta íntegramente en tu navegador. Tu archivo DEX, todos los datos analizados, las instrucciones desensambladas y los resultados del análisis nunca salen de tu dispositivo. Sin subidas a servidores, sin llamadas a API y sin recogida de datos.
El visor ayuda a identificar la ofuscación mostrando los nombres reales de clases/métodos, las constantes de cadena y los patrones de instrucciones. Los archivos DEX ofuscados suelen tener nombres cortos sin significado (a, b, c) visibles en las tablas de clases y métodos.
La tabla de cadenas muestra todas las constantes de cadena incrustadas en el archivo DEX, incluidos descriptores de clase, nombres de métodos y campos, descriptores de tipo, nombres de archivos fuente y valores literales de cadena usados en instrucciones const-string.
Sí. Los métodos con manejo de excepciones muestran información de bloques try-catch, incluida la dirección de inicio, el número de instrucciones y el tipo de manejador (clase de excepción capturada o catch-all).
El formato 35c codifica hasta 5 registros de argumentos de forma compacta. El formato 3rc usa codificación basada en rangos con un registro inicial y un recuento, y se usa cuando hay muchos argumentos o para rangos de registros específicos.
Sí: 100 % gratuito, sin registro, sin cuenta y sin límites de uso. Analiza tantos archivos DEX como necesites, tantas veces como quieras. Todo el análisis se ejecuta en tu navegador.