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

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

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

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

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

Категории

Все категории
Loading categories
apk-info — Полнофункциональный парсер APK | Kitploit
Инструменты/GitHubGitHub/delvinru/apk-info
Безопасность AndroidСтатический анализОбратная инженерияФорензикаАнализ вредоносных программАнализ Бинарных Файлов
GitHubdelvinru/apk-info

apk-info

Полнофункциональный парсер APK

Репозиторий
133173 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

apk-info

Crates.io Version docs.rs PyPI - Version

Полнофункциональный парсер apk.

Возможности

  • Дружественный к вредоносному ПО извлекатель zip. Отличная статья о технике BadPack;
  • Дружественный к вредоносному ПО извлекатель axml и arsc;
  • Полная реализация AXML (Android Binary XML);
  • Полная реализация ARSC (Android Resource);
  • Поддержка извлечения информации, содержащейся в APK Signature Block 42:
    • APK Signature scheme v1;
    • APK Signature scheme v2;
    • APK Signature scheme v3;
    • APK Signature scheme v3.1;
    • Stamp Block v1 & v2;
    • Apk Channel Block;
    • Packer NG v2;
    • Vasdolly v2
    • Google Play Frosting (есть планы, но информации о нём критически мало);
  • Корректное извлечение MainActivity на основе того, как ОС Android делает это;
  • Привязки для python 3.10+ с типизацией — больше не нужно # type: ignore;
  • И, конечно же, просто быстрый парсер — 🙃

Начало работы

cli

Установка

root@kitploit:~
cargo install apk-info-cli

Справка

root@kitploit:~
A command-line tool to inspect and extract APK files

Usage: apk-info [COMMAND]

Commands:
  show        Show basic information about apk file
  extract     Unpack apk files as zip archive [aliases: x]
  axml        Read and pretty-print binary AndroidManifest.xml
  completion  Generate shell completion
  help        Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Python

Установка

root@kitploit:~
uv pip install apk-info

Получение базовой информации об APK

root@kitploit:~
from apk_info import APK

apk = APK("./path-to-file.apk")
package_name = apk.get_package_name()
main_activities = apk.get_main_activities()
min_sdk = apk.get_min_sdk_version()

print(f"Package Name: {package_name}")
print(f"Minimal SDK: {min_sdk}")

if not main_activities:
    print("apk is not launchable!")
    exit()

print(f"Main Activity: {package_name}/{main_activities[0]}")

Получение информации о подписях

root@kitploit:~
import sys

from apk_info import APK, Signature

if len(sys.argv) < 2:
    print(f"usage: {sys.argv[0]} <apk>")
    sys.exit(1)

file = sys.argv[1]
apk = APK(file)

signatures = apk.get_signatures()
for signature in signatures:
    match signature:
        case Signature.V1() | Signature.V2() | Signature.V3() | Signature.V31():
            for cert in signature.certificates:
                print(f"{cert.subject=} {cert.issuer=} {cert.valid_from=} {cert.valid_until=}")
        case Signature.ApkChannelBlock():
            print(f"got apk channel block: {signature.value}")
        case _:
            print(f"oh, cool, library added some new feature - {signature}")

Анализ производительности

Окружение:

  • OS: macOS Tahoe 26.0.1 arm64
  • CPU: Apple M3 Pro (12) @ 4.06 GHz

Скрипт:

  1. Извлечь все доступные подписи из файла;
  2. Извлечь имя пакета;
  3. Извлечь минимальную версию SDK;
  4. Получить список всех Main Activity;
  5. Получить имя приложения;

Библиотека apk-info:

  • Сборка - release-lto;
  • Привязки Python (честное сравнение);

Тестовый пример (чистая коллекция):

  • 152 apk-файла;
  • Общий размер - 20 ГБ;
  • Режим журналирования - warning;
#apk-infoandroguard
1

Тестовый пример (коллекция вредоносного ПО):

  • 3084 apk-файла;
  • Общий размер - 23 ГБ;
  • Режим журналирования - warning;

[!IMPORTANT] В этом наборе много вредоносных образцов, которые androguard просто не может распарсить.

#apk-infoandroguard
1

В среднем прирост скорости составляет около x10.

Главное преимущество в том, что apk-info может парсить гораздо больше вредоносных файлов, чем androguard.

Часто задаваемые вопросы

  • Почему бы просто не использовать androguard?

Почти все мои проекты рождаются из того, что чем-то неудобно пользоваться. Androguard сам по себе отличный инструмент, но поддерживать его (на мой взгляд) просто невозможно, и он не подходит для production-ready кода. Он также не подходит для анализа большого количества файлов из-за того, что вся логика написана не самым оптимизированным способом.

  • Я хочу изменить apk, как это сделать с помощью этой библиотеки?

Библиотека спроектирована только для режима чтения, потому что мне нужен хороший инструмент, с помощью которого я могу легко и быстро извлекать информацию из apk. Существует множество других хороших инструментов.

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

  • androguard
  • apkInspector
Скачать инструмент
0.98s user 4.32s system 80% cpu 6.584 total
57.39s user 4.88s system 97% cpu 1:03.85 total
20.96s user 4.23s system 79% cpu 6.486 total57.98s user 5.04s system 97% cpu 1:04.80 total
30.95s user 4.15s system 79% cpu 6.422 total55.56s user 4.48s system 97% cpu 1:01.55 total
2.49s user 4.74s system 73% cpu 9.840 total
141.29s user 6.86s system 98% cpu 2:31.09 total
22.50s user 4.77s system 75% cpu 9.641 total138.04s user 6.32s system 97% cpu 2:27.33 total
32.49s user 4.78s system 75% cpu 9.650 total139.33s user 6.65s system 98% cpu 2:28.87 total