Android-Disassembler
CodeFactor

Анализируйте вредоносные приложения прямо на телефоне
Статус поддержки
Поддержка возобновлена, но проект всё ещё находится в фазе восстановления и модернизации.
- Базовая конфигурация теперь требует инициализированных git-подмодулей перед сборкой.
- Стандартные потоки открытия/импорта/экспорта по умолчанию используют SAF-контракты на современных Android.
- «Расширенный импорт» — это отдельный путь для опытных пользователей, предоставляющий доступ к root, сырой файловой системе и установленным приложениям.
QUERY_ALL_PACKAGES оставлен для источника установленных приложений для опытных пользователей, а не для стандартного SAF-потока.
- Документация по обработке проблем и сопровождению находится в
docs/maintenance/.
Модель хранения
- «Выбрать файл» использует SAF-документ-пикер Android.
- «Экспорт проекта» и «Сохранить детали в файл» используют SAF-потоки создания документов.
- «Расширенный импорт» — опциональная функция, предназначенная для опытных пользователей, которым нужен доступ к сырой файловой системе, root или установленным приложениям.
- Просмотр установленных приложений считается функцией для опытных пользователей, поэтому видимость пакетов изолирована от стандартного SAF-потока.
Предварительные сборки
- Каждый запуск CI выгружает артефакт отладочного APK в GitHub Actions.
- Отдельный workflow предварительного просмотра может публиковать скользящую предварительную версию «Preview latest» с отладочным APK для тех, кто хочет попробовать новейшую сборку из ветки до официального релиза.
- Официальные релизные артефакты остаются в обычном потоке GitHub Releases.
Android Disassembler — это приложение, способное анализировать несколько типов файлов, таких как APK-файлы, dex-файлы, разделяемые библиотеки (также известные как .so файлы) (NDK, JNI), Windows PE-файлы (EXE, DLL, SYS и т. д.), исполняемые файлы Linux, объектные файлы и многое другое. Эти возможности приложения основаны на библиотеке capstone, парсере elf парсере, парсере PE, backsmali и facile reflector.

Версия 2.1.5 релиз!
Что нового: Исправлено несколько незначительных ошибок (вылеты)
Возможности
- Показывает детали ELF-файлов.
- Отображает таблицу символов (имена функций, объектов и т. д.) ELF-файлов.
- Дизассемблирует секции кода.
- Имеет различные опции экспорта дизассемблированного кода (перезагружаемый сырой файл, компилируемый текстовый файл, аналитические текстовые файлы, JSON и перезагружаемая база данных).
- Поддерживает проекты.
- Поддерживает запуск непосредственно из файловых менеджеров.
- Поддерживает множество ABI (arm, x86, x64, MIPS, PowerPC, ...)
- Переход к адресу по именам символов или по шестнадцатеричному адресу.
- Цветовая подсветка синтаксиса.
- Поддержка PE и других двоичных форматов.
- Сортировка символов при необходимости.
- Цветовая подсветка инструкций PUSH/POP.
- Улучшенная цветовая подсветка инструкций архитектуры ARM.
- Добавлено меню Перейти по переходу для инструкций перехода (с BackStack).
- Возможность переопределить автоматическую настройку парсинга.
- Можно скопировать инструкцию в буфер обмена.
- Теперь парсит IAT, EAT заголовков PE.
- Возможность выбора отображаемых столбцов.
- Поддерживает анализ системных файлов (которые недоступны без root-прав) на рутированных телефонах.
- Более дружественное сообщение для неподдающихся парсингу файлов.
- Выбор хранилища теперь сохраняет сессию, чтобы запоминать последнюю просмотренную папку.
- Добавлен Hex-просмотр и утилита-калькулятор.
- Установка темы автоматизирована.
- Возможность выбора, какой двоичный файл анализировать, если в zip/apk несколько двоичных файлов.
- Выбор APK из установленных.
- Поиск строк в двоичном файле (К сожалению, только для ASCII-символов)
- Побайтовый анализ (среднее, хеши, энтропия, G-тест, хи-тест, автокорреляция) для помощи в определении, зашифрован ли файл.
- Поддержка .NET-сборок.
- Поддержка dex-файлов.
- Разрешён анализ нескольких файлов в одном проекте.
Видео с пояснениями

Материалы по сборкам
Обработка ошибок
-
Приложение вылетает!
Приносим извинения за неудобства. Пожалуйста, отправьте отчёт об ошибке в виде issue. Если вы не можете ждать следующей стабильной версии, проверьте / предоставьте приложению разрешение на чтение/запись.
-
NotThisFormatException
Это известный исполняемый файл? (ELF: .so, .o, .lib, .a, и т.д., PE: .exe, .dll, .sys, ...) Тогда, пожалуйста, сообщите мне с файлом, который вы пытались дизассемблировать.
Если нет, нажмите ОК и настройте вручную.
Запросы функций приветствуются!
Сборка и Pull request
- Сначала инициализируйте подмодули:
git submodule update --init --recursive
- Используйте Android Studio или Gradle с настроенными Android SDK/NDK.
- Любые улучшения приветствуются!
Open Source
В этом приложении использованы
TODO
- Показывать прототипы NDK/C стандартных API на вкладке символов.
- Более изощрённая цветовая подсветка.
- Генерировать более полезные комментарии.
- Предоставить учебные пособия по ассемблеру.
- Добавить псевдо-виртуальную машину для отладки.
- Разрешить пользователям анализировать активные процессы.
- Добавить стрелку рядом с дизассемблированным кодом.
- Выбор строки.
- Лучшая поддержка Thumb-сборок.
- Добавить совместимость с файлами .udd/.bak от OllyDbg.
- Добавить совместимость с продуктами IDA.
- Скоро будут добавлены другие утилиты.
- Добавить анализатор ресурсов Android.
- Дать возможность пользователю выбирать файл из Google Drive.
- Дать возможность пользователю выбирать образцы из сети по хешам.
Благодарности
https://reverseengineering.stackexchange.com/a/20124/23870
Перекрёстные ссылки
https://reverseengineering.stackexchange.com/a/18203/23870
Политика конфиденциальности
Думаю, я должен уведомить вас:
- Когда отправляется отчёт о сбое с такими типами, как
FileCorruptedException, анализируемый вами файл может быть прикреплён к письму с отчётом об ошибке и загружен в репозиторий на github.com.
История звёзд
