Desensamblador de Android
CodeFactor

Analiza aplicaciones maliciosas en tu teléfono
Estado de mantenimiento
El mantenimiento se ha reanudado, pero el proyecto aún se encuentra en una fase de recuperación y modernización.
- La línea base ahora espera submódulos de git inicializados antes de compilar.
- Los flujos predeterminados de abrir/importar/exportar ahora usan contratos SAF-first en Android moderno.
Advanced import es una ruta separada para usuarios avanzados para root, sistema de archivos sin procesar y navegación de aplicaciones instaladas.
QUERY_ALL_PACKAGES se mantiene para la fuente de aplicaciones instaladas para usuarios avanzados, no para el flujo SAF predeterminado.
- Los documentos de clasificación de problemas y mantenimiento están en
docs/maintenance/.
Modelo de almacenamiento
Select file usa el selector de documentos SAF de Android.
Export project y Save Details to file usan flujos de creación de documentos SAF.
Advanced import es opcional y está destinado a usuarios avanzados que necesitan puntos de entrada al sistema de archivos sin procesar, root o aplicaciones instaladas.
- La navegación de aplicaciones instaladas se trata como una característica para usuarios avanzados, por lo que la visibilidad de paquetes permanece aislada del flujo SAF predeterminado.
Versiones de vista previa
- Cada ejecución de CI sube un artefacto APK de depuración en GitHub Actions.
- Un flujo de trabajo de vista previa separado puede publicar una pre- versión
Preview latest continua con un APK firmado en modo depuración para quienes quieran probar la compilación de la rama más reciente antes de un lanzamiento formal.
- Los activos de lanzamiento formales permanecen en el flujo normal de GitHub Releases.
Desensamblador de Android es una aplicación que puede analizar varios tipos de archivos como archivos APK, archivos dex, bibliotecas compartidas (también conocidos como archivos .so) (NDK, JNI), archivos PE de Windows (EXE, DLL, SYS, etc.), ejecutables de Linux, archivos objeto y mucho más. Estas características de la aplicación están basadas en capstone library, elf parser, PE parser, backsmali, y facile reflector.

Novedades: Corrige varios errores menores (cierre inesperado)
Características
- Muestra detalles de archivos elf.
- Muestra tabla de símbolos (funciones u objetos,... nombres) de archivos elf.
- Desensambla las secciones de código.
- Tiene varias opciones de exportación del desensamblado. (Archivo sin procesar recargable, archivo txt compilable, archivos de texto analíticos, json y base de datos recargable)
- Soporta proyectos.
- Soporta inicio directo desde exploradores de archivos.
- Soporta muchos ABI (arm, x86, x64, MIPS, PowerPC,...)
- Saltar a dirección por nombres de símbolos o una dirección hexadecimal.
- Coloreado de sintaxis.
- Soporta PE y otros formatos binarios.
- Ordenar símbolos si es necesario.
- Colorear instrucciones PUSH/POP.
- Colorear mejor instrucciones de arquitectura ARM.
- Añadido menú Seguir salto para instrucciones de salto. (Con pila de retroceso)
- Puede anular la configuración de análisis automático.
- Puedes copiar una instrucción al portapapeles.
- Ahora analiza IAT, EAT de los encabezados PE.
- Ahora puedes elegir las columnas a ver.
- Soporta análisis de archivos del sistema (que no son accesibles sin permisos root) para teléfonos rooteados.
- Mensaje más amigable para archivos no analizables.
- El selector de almacenamiento ahora retiene la sesión, para que recuerde la última carpeta visitada.
- Añadida vista hexadecimal y calculadora de utilidades.
- La instalación de temas está automatizada.
- Elegir qué binario analizar cuando el zip/apk tiene múltiples binarios.
- Elegir APK de las instaladas
- Buscar cadenas en el binario (Desafortunadamente solo para caracteres ascii)
- Análisis byte a byte (media, hashes, entropía, prueba g, prueba chi, autocorrelación) para ayudar a determinar si el archivo está cifrado
- Soporte para ensamblados .NET
- Soporte para archivos dex
- Se permite analizar múltiples archivos en un proyecto.
Video explicativo de uso

Materiales sobre ensamblajes
Manejo de errores
-
¡La aplicación falla!
Disculpa las molestias, por favor envía un informe de error como un issue. Si no puedes esperar a la siguiente versión estable, por favor verifica / concede el permiso de lectura/escritura a la aplicación.
-
NotThisFormatException
¿Es un archivo ejecutable conocido? (ELF:.so, .o, .lib, .a, etc.., PE:.exe, .dll, .sys, ...) Entonces por favor repórtame con el archivo que intentaste desensamblar. Si no, necesitas presionar OK y configurar manualmente.
¡Las solicitudes de funciones son bienvenidas!
Compilación y Pull request
- Inicializa los submódulos primero:
git submodule update --init --recursive
- Usa Android Studio o Gradle con un SDK/NDK de Android configurado.
- ¡Cualquier mejora es bienvenida!
Código abierto
Esta aplicación usó
Tareas pendientes
- Mostrar prototipos de las APIs estándar de NDK/C en la pestaña de símbolos.
- Coloreado más sofisticado
- Generar comentarios más útiles
- Proporcionar tutoriales de ensamblador.
- Añadir máquina pseudo-virtual para depurar.
- Permitir a los usuarios analizar procesos activos.
- Añadir flecha junto al desensamblado.
- Selección de filas
- Mejor soporte para ensamblados thumb
- Añadir compatibilidad para archivos
.udd/.bak de OllyDbg
- Añadir compatibilidad para archivos producidos por IDA.
- A punto de añadir otras utilidades.
- Añadir analizador de recursos de Android
- Permitir al usuario elegir archivo desde Google Drive
- Permitir al usuario elegir muestras de la web por hashes
Agradecimientos
https://reverseengineering.stackexchange.com/a/20124/23870
Referencias cruzadas
https://reverseengineering.stackexchange.com/a/18203/23870
Política de privacidad
Creo que debo informarte que:
- Cuando se envía el informe de fallo con tipos como
FileCorruptedException, el archivo que estás analizando puede adjuntarse al correo de informe de error y subirse al repositorio en github.com.
Historial de estrellas
