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

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

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

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

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

Категории

Все категории
Loading categories
APKiD — Идентификатор Android-приложений для упаковщиков, защитников, обфускаторов и странностей - PEiD for Android | Kitploit
Инструменты/GitHubGitHub/rednaga/apkid
Безопасность AndroidСтатический анализПентестинг мобильных приложенийОбратная инженерияАнализ вредоносных программМобильная безопасностьТоп в Безопасность Android №8Топ в Пентестинг мобильных приложений №9Топ в Мобильная безопасность №9
2.6k3428723 дней назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubrednaga/apkid

APKiD

Идентификатор Android-приложений для упаковщиков, защитников, обфускаторов и странностей - PEiD for Android

Репозиторий

APKiD

Build Status PyPI PyPI - Python Version PyPI - Format PyPI - License

APKiD предоставляет информацию о том, как был создан APK. Он определяет множество компиляторов, упаковщиков, обфускаторов и прочих странных вещей. Это PEiD для Android.

Screen Shot 2019-05-07 at 10 55 00 AM

Дополнительную информацию о том, для чего можно использовать этот инструмент, смотрите:

  • Android Compiler Fingerprinting
  • Detecting Pirated and Malicious Android Apps with APKiD
  • APKiD: PEiD for Android Apps (BlackHat EU/UK Arsenal 2018)
  • APKiD: Fast Identification of AppShielding Products
  • APKiD: Fast Identification of Mobile RASP SDKs (BlackHat USA Arsenal 2023)

Установка

pip install apkid

Docker

Вы также можете запустить APKiD с помощью Docker! Конечно, для этого требуется, чтобы у вас были установлены git и Docker.

Вот как использовать Docker:

git clone https://github.com/rednaga/APKiD
cd APKiD/
docker build . -t rednaga:apkid
docker/apkid.sh ~/reverse/targets/android/example/example.apk
[+] APKiD 3.1.0 :: from RedNaga :: rednaga.io
[*] example.apk!classes.dex
 |-> compiler : dx

Использование

usage: apkid [-h] [-v] [-t TIMEOUT] [-r] [--scan-depth SCAN_DEPTH]
             [--entry-max-scan-size ENTRY_MAX_SCAN_SIZE] [--typing {magic,filename,none}] [-st] [-j]
             [-o DIR] [-m] [--print-filter RULES] [--include-types]
             [FILE ...]

APKiD - Android Application Identifier v3.2.0

positional arguments:
  FILE                                       apk, dex, or directory (default: None)

options:
  -h, --help                                 show this help message and exit
  -v, --verbose                              log debug messages (default: False)

scanning:
  -t TIMEOUT, --timeout TIMEOUT              Yara scan timeout (in seconds) (default: 30)
  -r, --recursive                            recurse into subdirectories (default: False)
  --scan-depth SCAN_DEPTH                    how deep to go when scanning nested zips (default: 2)
  --entry-max-scan-size ENTRY_MAX_SCAN_SIZE  max zip entry size to scan in bytes, 0 = no limit
                                             (default: 104857600)
  --typing {magic,filename,none}             method to decide which files to scan (default: magic)
  -st, --scan-trackers                       scans for embedded trackers (default: False)

output:
  -j, --json                                 output scan results in JSON format (default: False)
  -o DIR, --output-dir DIR                   write individual results here (implies --json)
                                             (default: None)
  -m, --print-matches                        print matched rules and strings to stdout (default:
                                             False)
  --print-filter RULES                       filter printed matches: comma-separated rule names to
                                             include ('+' or no prefix) or exclude ('-' prefix).
                                             Implies --print-matches. Use '=' when the value starts
                                             with '-', e.g. --print-filter=-is_apk,-is_signed_apk
                                             (default: )
  --include-types                            include file type info for matched files (default:
                                             False)

Отправка новых упаковщиков / компиляторов / обфускаторов

Если вы встретите APK или DEX, который APKiD не распознаёт, пожалуйста, создайте issue на GitHub и сообщите нам:

  • что это, по вашему мнению, — обфусцированный, упакованный и т. д.
  • хеш файла (MD5, SHA1 или SHA256)

Мы открыты для любых идей о том, «что-то интересное» можно детектировать, поэтому не ограничивайтесь только упаковщиками, компиляторами или обфускаторами. Если есть интересный приём anti-disassembler, anti-vm, anti-* — пожалуйста, создайте issue.

Pull requests приветствуются. Если вы отправляете новое правило, обязательно укажите хеш файла APK / DEX, чтобы мы могли проверить правило.

Лицензия

Этот инструмент доступен по двойной лицензии: коммерческой, подходящей для проектов с закрытым исходным кодом, и лицензии GPL, которую можно использовать в программном обеспечении с открытым исходным кодом.

В зависимости от ваших потребностей вы должны выбрать одну из них и следовать её условиям. Подробности условий и соглашений для каждого типа лицензии доступны в файлах LICENSE.COMMERCIAL и LICENSE.GPL.

Разработка

Если вы хотите установить последнюю версию, чтобы вносить изменения, разрабатывать собственные правила и т. д., просто клонируйте этот репозиторий, скомпилируйте правила и установите пакет в режиме редактирования:

git clone https://github.com/rednaga/APKiD
cd APKiD
python prep-release.py
pip install -e .[dev,test]

Команда python prep-release.py, приведённая выше, требует, чтобы пакеты yara-python и yara-python-dex уже были установлены.

Если вышеописанное не работает из-за ошибок разрешений, зависящих от вашей локальной машины и места установки Python, попробуйте указать флаг --user. Это, вероятно, потребуется, если вы не используете виртуальное окружение:

pip install -e .[dev,test] --user

Если вы обновляете какие-либо правила, обязательно запустите prep-release.py, чтобы перекомпилировать их.

Если вы используете Windows, перед компиляцией удалите все предыдущие версии Yara и установите Yara 3.11.0 и yara-python-dex.

pip uninstall -y yara-python yara-python-dex
pip install yara-python==3.11.0 wheel
pip wheel --wheel-dir=yara-python-dex git+https://github.com/MobSF/yara-python-dex.git
pip install --no-index --find-links=yara-python-dex yara-python-dex

Для сопровождающих пакета

При выпуске новой версии убедитесь, что версия обновлена в apkid/init.py.

Что касается запуска тестов, ознакомьтесь с .travis.yml, чтобы увидеть, как настроены среды разработки и тестирования и как запускаются тесты.

Обновите скомпилированные правила и readme, соберите пакет и загрузите его в PyPI:

./prep-release.py readme
rm -f dist/*
python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*

Дополнительную информацию см. в разделе Packaging Projects.

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