
самый быстрый и мощный декомпилятор Android (нативный инструмент, работающий без Java VM) для файлов APK, DEX, ODEX, OAT, JAR, AAR и CLASS. Поддерживает обнаружение вредоносного поведения, обнаружение утечек конфиденциальности, обнаружение уязвимостей, разрешение путей, идентификацию упаковщиков, отслеживание переменных, деобфускацию, скрипты на Python и Java, извлечение памяти устройства, расшифровку и шифрование данных и т.д.

GDA — мощный декомпилятор байт-кода Dalvik, реализованный на C++, обладающий преимуществами быстрого анализа, низкого потребления памяти и дискового пространства, а также высокой способностью декомпилировать файлы apk, dex, odex, oat, jar, class, aar.
GDA — полностью нативное программное обеспечение, не требующее установки и Java VM, отлично работает в любой новой системе Windows и в виртуальной машине без дополнительной настройки. Проект GDA Decompiler начался в 2013 году, а его первая версия 1.0 была выпущена в 2015 году на сайте GDA.
GDA также является мощной и быстрой платформой для реверс-инжиниринга. Она поддерживает не только базовые операции декомпиляции, но и множество отличных функций, таких как обнаружение вредоносного поведения, обнаружение утечки конфиденциальных данных, обнаружение уязвимостей, решение путей, идентификация упаковщиков, анализ отслеживания переменных, деобфускация, Python и Java скрипты, дамп памяти устройств, расшифровка и шифрование данных и т. д.
Все функции перечислены ниже:
𝕬 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.
...
𝕲𝕯𝕬 shortcut key
| shortcut | description |
|---|---|
| F5 | Переключение между Java и Smali, повторное нажатие возвращает к Java |
| F | Трассировка аргументов и возвращаемого значения с помощью анализа потока данных |
| X | Перекрестные ссылки, поиск вызывающих объектов (строк, классов, методов, полей) |
| Esc/◄/Backspace | Возврат к предыдущему посещению |
| ► | Переход к следующему посещению |
| G | Переход по введённому смещению |
| N | Переименование переменной/метода/класса |
| S | Поиск всех элементов по заданной строке |
| C | Комментарии. Работает только для Java-кода |
| DoubleClick | Курсор на методе/строке/поле/классе, двойной щелчок для перехода к объекту |
| M | Курсор на строке Smali, нажатие 'M' для редактирования инструкции |
| ▲ UP | Нажатие клавиши 'вверх' для перехода к предыдущему методу в дереве |
| ▼ Down | Нажатие клавиши 'вниз' для перехода к следующему методу в дереве |
| D | Дамп бинарных данных методов; работает только в окне Smali |
| Enter | Изменения в полях ввода вступают в силу |
| H | Отображение данных в шестнадцатеричном виде |
| Ctr+H | Отображение окна истории поиска |
| Ctr+A | Выделить всё |
| Ctr+C | Копировать |
| Ctr+V | Вставить, только для редактируемых полей |
| Ctr+X | Вырезать |
| Ctr+F | Поиск строки в области кода |
| Ctr+S | Сохранить изменения в файл базы данных GDA |
Установка не требуется, просто дважды щёлкните по бинарному файлу, и вы можете им пользоваться. ПРИМЕЧАНИЕ: Это не проект с открытым исходным кодом, по крайней мере, в ближайшей перспективе. Вы можете использовать бесплатные инструменты и некоторые скрипты с открытым исходным кодом, опубликованные здесь.
В целях защиты авторских прав GDA защищена с помощью авторизованного VMP, что может привести к ложным срабатываниям некоторых антивирусных программ. Пожалуйста, проигнорируйте это или добавьте GDA в белый список. GDA не содержит никакого вредоносного поведения.
GDA содержит встроенные ADB и gdump (используемый для дампа данных памяти устройств), а также правила уязвимостей, правила источников-распространителей, API-отпечатки и т. д., поэтому вы увидите некоторые файлы в каталоге %APPDATA%/GDA. Это поведение, связанное с извлечением других исполняемых файлов, также может быть определено некоторыми антивирусами как вирус.
Только для Windows
Просто перетащите файл в GDA, и всё готово.
Если ваши файлы имеют расширение .jar/.class/.aar, требуется Java с поддержкой инструмента dx. Убедитесь, что Java работает корректно.
Если размер анализируемого jar-файла слишком велик, анализ может занять много времени, пожалуйста, наберитесь терпения.
>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...