
el descompilador de Android más rápido y potente (herramienta nativa que funciona sin máquina virtual Java) para archivos APK, DEX, ODEX, OAT, JAR, AAR y CLASS. que admite detección de comportamiento malicioso, detección de fugas de privacidad, detección de vulnerabilidades, resolución de rutas, identificación de empaquetadores, seguimiento de variables, desofuscación, scripts de Python y Java, extracción de memoria de dispositivos, descifrado de datos y cifrado, etc.

GDA, un potente descompilador de bytecode Dalvik implementado en C++, que tiene las ventajas de un análisis rápido y un bajo consumo de memoria y disco, y una mayor capacidad para descompilar archivos apk, dex, odex, oat, jar, class, aar.
GDA es un software completamente nativo y funciona sin ninguna configuración ni Java VM; funciona bien en cualquier sistema Windows nuevo y en sistemas de máquinas virtuales sin configuración adicional. El proyecto GDA Decompiler comenzó en 2013 y su primera versión 1.0 fue lanzada en 2015 en sitio web de GDA.
GDA es también una potente y rápida plataforma de análisis inverso. No solo soporta operaciones básicas de descompilación, sino también muchas excelentes características como detección de comportamiento malicioso, detección de fugas de privacidad, detección de vulnerabilidades, resolución de rutas, identificación de empaquetadores, análisis de seguimiento de variables, desofuscación, scripts de Python y Java, extracción de memoria de dispositivos, descifrado y cifrado de datos, etc.
Todas las características son las siguientes:
𝕬 Interactive Operation:
1. Cross-references for strings, classes, methods and fields;
2. Searching for strings, classes methods and fields;
3. Comments for java code;
4. Rename methods,fields and classes;
5. Save the analysis results in gda db file.
...
𝕭 Utilities for Assisted Analysis:
1. Extracting DEX from ODEX;
2. Extracting DEX from OAT;
3. XML Decoder (Component filter);
4. Algorithm tool(Support rolling encryption and almost all popular encryption algorithms);
5. Device memory dump(Dump so, odex, dex, oat file);
6. Path solving;
7. Static vulnerability scanner;
...
𝕮 Good Features:
1. Brand new dalvik decompiler in c++ with friendly GUI.
2. Packers Recognition.
3. Multi-DEX supporting.
4. De-obfuscate.
5. Malicious Behavior Scanning by API chains.
6. Static vulnerability scanner based on stack state machine and dynamic rule interpreter.
7. Taint analysis to preview the behavior of variables.
8. Taint analysis to source the variables.
9. APIs view with x-reference
10. Deep URL extraction.
11. Association of permissions with modules.
12. Apk Forensics Analysis.
13. Dual decompiler mode.
14. Smart Rename.
15. Device memory data dump, DEX file dump by memory searching.
16. Support Frida to hook and call the selected method or class.
17. Privacy leaking scanning.
18. Sensitive Infomation extraction.
19. Multi-DEX Merge.
20. Path solving based on low-level intermediate representation(LIR).
21. Junk instruction clearing.
22. Support call-graph view.
23. Smali instruction patch, apk repack and install.
24. Support subclass and parentclass view.
25. Support translation of the strings.
...
𝕲𝕯𝕬 tecla de acceso rápido
No requiere instalación, solo haga doble clic en el bin y podrá disfrutarlo. NOTA: Este no es un proyecto de código abierto, al menos a corto plazo. Puede usar las herramientas gratuitas y algunos scripts de código abierto publicados aquí.
Para la protección de derechos de autor, GDA está protegido por un VMP autorizado, lo que puede provocar falsos positivos en algunos programas antivirus. Ignórelo o agregue GDA a la lista blanca. GDA no tiene ningún comportamiento malicioso.
GDA incluye ADB y gdump (usado para volcar datos de memoria del dispositivo), así como reglas de vulnerabilidad, reglas de taint source, huellas de API, etc. Por lo tanto, verá algunos archivos en el directorio %APPDATA%/GDA. Este comportamiento también hace que algunos antivirus identifiquen los archivos ejecutables liberados como un virus.
Solo para Windows
Simplemente arrastre un archivo a GDA, eso es todo.
Si sus archivos son .jar/.class/.aar, necesita que Java soporte la herramienta dx. Asegúrese de que Java funcione correctamente.
Cuando el tamaño del archivo jar analizado es demasiado grande, puede llevar mucho tiempo analizarlo, tenga paciencia.
>gda.exe
-sh src_file --> start a Shell
-sv src_file port --> start a Server
-h --> help
------------------------------------------------------------
>gda.exe -h
Usage:gda.exe [option] [apk_file] [-o output_file]
option:
-h help
-x show AndroidManifest.xml
-p app package name
-P permission
-i apk base info
-a attack surface
-k packer
-s all the strings
-S referenced strings
-c cert information
-d decompile all code
------------------------------------------------------------
>gda.exe -sv text.apk 12345
File Loading...
GDA Server listening on port 12345...
>client_gda.py help
------------------------------------------------------------
>gda -sh test.apk
>
>
GDA Shell >help
subcmd [-args]... [-t filter_string]
help --> shell command help
set -o file--> set output file
exit/q --> to exit
axml --> content of androidmainfest.xml
binfo --> apk base info
pname --> apk package name
permission --> permissions of APP
header n --> header of the n-st dex file
attsf --> attacksurface
packer --> packer
cert --> certifacate
appstr --> strings referenced by methods
malscan --> malcious behavior
sensinf --> sensitive infos
interface --> list interface classes
uri --> url,path etc.
native --> list native methods
api --> list api methods
listm cname--> list the methods of class(dot)
sclass cidx--> list subclasses by class index(hex)
pclass cidx--> list parent class by class index(hex)
dasm option--> disasembly a method
option: @type(e.g., dasm method@0045F0)
-n name(signature name,e.g.,"Lcom/base/Binary;->add(Lcom/base/Binary;)V")
dec option--> decompile a method or class,
option: @type (class/method type), e.g., dec method@21f
-c[-m] name(class/method signature name, e.g. , "Lcom/base/Binary;")
-a filepath(decompile the all classes)
find option--> search object by name(match partial/regex)
option: -c[-m][-M][-d][-s][-i][-a] name, e.g., find -C Frame (regex:~"Frame.*")
|-c(match class name) |-C(match class name with package)
|-m(match method name) |-M(match method name with package)
|-d(match field name) |-i(match api method name)
|-s(match string) |-a(match all[classes,methods,field and strings]
xref option --> search cross-reference of object
option(1): @type (method/class/field/string type), e.g. ,xref string@22e
option(2): -c[-m][-M][-d][-s][-i][-a] name(match partial), e.g. ,xref -m send
|-c(xref of class name) |-s(xref of string)
|-m(xref of method name) |-r(xref of resource name)
|-f(xref of field name) |-a(xref of all[classes,methods,field and strings]
Un ejemplo de skill:
Un ejemplo de skill para análisis de malware:
skill example for malware analyzing
Resumen de preguntas frecuentes
Análisis forense de APK en GDA
Análisis estático de taint en GDA
Descifrado por lotes de cadenas de aplicaciones
Escáner de vulnerabilidades de GDA
GDA: Capturar la bandera en CTF
GDA: Tecnología de parche estático DEX basada en compilación Just-in-time de Smali
Solo compatible con GDA3.75+, otras versiones no usan este archivo de tema. Uso: haga clic en el menú Archivo -> Importar configuración de color, seleccione un archivo de tema y reinicie GDA.

| tecla de acceso rápido | descripción |
|---|
| F5 | Cambiar de Java a Smali; presionar nuevamente para volver a Java |
| F | Trazar los argumentos y el valor de retorno mediante análisis de flujo de datos |
| X | Referencia cruzada, localizar llamantes (de cadenas, clases, métodos, campos) |
| Esc/◄/Retroceso | Volver a la última visita |
| ► | Avanzar a la siguiente visita |
| G | Saltar a un lugar ingresando un desplazamiento |
| N | Renombrar el nombre de variable/método/clase |
| S | Buscar todos los elementos por la cadena dada |
| C | Comentarios. Solo compatible con código Java |
| Doble clic | El cursor se coloca en el método/cadena/campo/clase y se hace doble clic para acceder a los objetos |
| M | El cursor se coloca en la línea Smali y se presiona la tecla 'M' para editar la instrucción |
| ▲ Arriba | Presionar la tecla 'arriba' para acceder al método anterior en el control de árbol |
| ▼ Abajo | Presionar la tecla 'abajo' para acceder al método siguiente en el control de árbol |
| D | Volcar los datos binarios de los métodos, solo compatible con la ventana Smali |
| Enter | Las modificaciones en los cuadros de edición surten efecto |
| H | Mostrar datos en hexadecimal |
| Ctr+H | Mostrar ventana de historial de búsqueda |
| Ctr+A | Seleccionar todo |
| Ctr+C | Copiar |
| Ctr+V | Pegar, solo para cuadros editables |
| Ctr+X | Cortar |
| Ctr+F | Buscar la cadena en el área de código |
| Ctr+S | Guardar las modificaciones en el archivo de base de datos de GDA |