Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ASC — Быстрый фронтенд для декомпиляции Android APK, который напрямую запрашивает скомпилированные артефакты DEX, извлекая классы и перекрёстные ссылки за миллисекунды без предварительной обработки. | Kitploit
Инструменты/GitHubGitHub/mg1937/asc
Безопасность AndroidСтатический анализАнализ КодаДинамический анализ кода (DAST)Пентестинг мобильных приложенийОбратная инженерияМобильная безопасностьУтилиты и фреймворкиАнализ Бинарных Файлов
GitHubmg1937/asc

ASC

Быстрый фронтенд для декомпиляции Android APK, который напрямую запрашивает скомпилированные артефакты DEX, извлекая классы и перекрёстные ссылки за миллисекунды без предварительной обработки.

2.1k28743 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

Droid ASC: оптимизация компилятора R8 как примитив декомпилятора

https://blackhat.com/europe/arsenal/schedule/index.html#droid-asc-r8-compiler-optimization-as-a-decompiler-primitive-54834

При декомпиляции огромных Android APK стандартная процедура — ждать. Мы ждём, пока инструменты съедят гигабайты оперативной памяти, полностью развернут артефакты и потратят десятки минут на построение тяжёлых глобальных индексов и перекрёстных ссылок... Всё это лишь для того, чтобы гарантировать быстрый поиск по коду в дальнейшем, но вот в чём противоречие. Скомпилированный артефакт уже высокоструктурирован, современные декомпиляторы никогда этим не пользуются, они тратят огромные объёмы времени и памяти на реконструкцию раздутой базы данных связей кода поверх уже структурированных данных. Этот инженерный подход противоречит здравому смыслу. Когда я могу напрямую извлечь любую связь кода из APK за миллисекунды, сохраняет ли эта предварительная обработка хоть какую-то ценность?

Вместо того чтобы заставлять декомпиляторы выполнять тяжёлую предварительную обработку, мы решили запрашивать скомпилированный артефакт напрямую как базу данных. Мы построили движок без сохранения состояния и с нулевыми накладными расходами, который извлекает и ищет код по требованию за миллисекунды. В этом докладе мы рассмотрим инженерные основы, необходимые для обхода традиционных узких мест. Мы продемонстрируем, как отказаться от полного развёртывания, зондируя непосредственно внутри битового потока Deflate и строя плотные таблицы поиска Хаффмана для извлечения ключевых метаданных без обращения к нерелевантным блокам данных. Кроме того, мы объясним детали оптимизации компилятора R8, особенно то, как детерминированное перемещение констант и дедупликация инструкций оставляют после себя высококонцентрированные физические макеты, — мы используем это поведение компилятора для выполнения молниеносно быстрых кросс-DEX поисков кода. Чтобы сопоставить эти необработанные смещения байткода с методами, мы разработали примитив локализации инструкций за O(1), достигая разрешения методов за константное время без построения тяжёлых таблиц сопоставления. Наконец, при попадании в цель Droid ASC извлекает только конкретные байткоды и их зависимости, динамически реконструируя минимальный и самосогласованный DEX полностью в памяти для мгновенной декомпиляции.

Мы продемонстрируем эту архитектуру вживую на коммерческом APK размером 352 МБ. Droid ASC выполняет глобальные поиски перекрёстных ссылок за 1,79 секунды и декомпилирует целевые классы за 177 миллисекунд, используя всего 141 МБ оперативной памяти. Рассматривая артефакт как базу данных только для чтения и работая с нулевой предварительной обработкой, мы возвращаем декомпилятор к его сути. Это больше не раздутый инструмент индексации, а молниеносно быстрый движок декомпиляции по требованию, который фундаментально переопределяет то, как мы анализируем скомпилированный код.

Бенчмарк

Benchmark

https://github.com/user-attachments/assets/4c4a6813-8561-490c-a573-ef113da861b6

Установка

# from PyPI
pip install droidasc

# or from source
pip install .

После установки команда CLI droidasc доступна глобально:

usage: droidasc [-h] {getclass,listclass,getmanifest,findrefs} ...

ASC tooling entry.

positional arguments:
  {getclass,listclass,getmanifest,findrefs}
    getclass            Locate the target class in APK, extract one DEX in memory, then decompile.
    listclass           List classes defined across all DEX entries in APK.
    getmanifest         Decode AndroidManifest.xml from APK and print it as XML.
    findrefs            Find code references for string/type/method/field across all DEX entries in APK.

options:
  -h, --help            show this help message and exit

examples:
  droidasc app.apk --gui
  droidasc getclass app.apk Lcom/poc/Main; -o Main.java
  droidasc getclass app.apk com.poc.Main --threads 16
  droidasc listclass app.apk -o classes.txt
  droidasc listclass app.apk --prefix com.poc
  droidasc getmanifest app.apk -o AndroidManifest.xml
  droidasc findrefs app.apk string token -o string_refs.txt
  droidasc findrefs app.apk type com.poc.Main
  droidasc findrefs app.apk method onCreate --class com.poc.Main
  droidasc findrefs app.apk method notify --class MainActivity --fuzzy-class -o method_refs.txt
  droidasc findrefs app.apk field apiKey -o field_refs.txt

listclass выводит дескрипторы классов Dalvik в порядке определения в APK/DEX, по одному на строку. С -o вывод записывается в указанный файл вместо stdout. --prefix com.poc фильтрует по Lcom/poc; уже нормализованный префикс, такой как Lcom/poc, остаётся без изменений.

Вы также можете использовать python main.py, как и раньше — он делегирует к той же точке входа.

Спонсоры

СпонсорСумма
HTTChina5000¥
c01ns11.9¥
gguowang AND cococount2¥
Ylarod50.11¥

Спасибо всем спонсорам за вашу поддержку!

ASC создан с надеждой, что он сможет по-настоящему помочь каждому улучшить свой рабочий процесс обратной разработки — от ускорения утомительных частей до превращения невозможного в рутину.

Благодарности

Спасибо проекту Androguard за предоставление основы для обратной разработки Android и анализа DEX, используемой Droid ASC.

Скачать инструмент