Это может выглядеть довольно близко к этому вопросу , но мои требования немного отличаются. Учитывая .apk
файл (например, приложение для Android, загруженное из стороннего источника, такого как F-Droid ), этот анализатор
aapt
двоичный файл, в порядке)Глубокий анализ кода, декомпиляция, анализ байт-кода и т. д. не нужны — достаточно просто перечислить библиотеки и модули (если он дополнительно может дать URL-адрес для более подробной информации, это считается бонусом). Графический интерфейс не требуется (но и не помешает), однако интерфейс командной строки обязателен.
Результаты должны быть структурированы для автоматической постобработки (предпочтительно JSON или XML). Моей мечтой было бы что-то, что я просто распаковываю в каталог, затем звоню оттуда, например, ./apkanalyzer com.foobar
— и он выплевывает какой-то JSON/XML в STDOUT
.
Я знаю, что такой инструмент может не обнаружить каждую библиотеку/рекламный модуль (тем более, что новые могут появляться каждый день), но чем больше он знает, тем лучше. Если он сообщает о «неизвестных библиотеках/модулях» как таковых и дает возможность сделать их известными (например, через файл конфигурации), это будет бонусом.
Программа должна быть бесплатной (как в "бесплатном пиве"), желательно также должна быть бесплатной (как в "свободе слова") и должна быть бесплатной (как в "беспроблемной установке" ;).
LibRadar , кажется, соответствует моим требованиям:
apktool
)Он может не распознавать последние вещи, но, кажется, показывает даже неизвестные ему библиотеки. Используя идентификаторы этих библиотек, можно искать информацию о них и «накладывать» эту информацию, что я считаю весьма полезным. Большим плюсом является даже список разрешений, добавляемых библиотекой в набор. Упрощенный пример (преобразованный в мою собственную структуру массива, чтобы его было легче увидеть):
[3] => Array
(
[name] => Parse.com
[pkgname] => com/parse/
[type] => Mobile Analytics
[perms] => Array
(
[0] => android.permission.ACCESS_NETWORK_STATE
[1] => android.permission.WAKE_LOCK
[2] => android.permission.INTERNET
)
[url] => https://parse.com/docs/cn/android/guide
)
Так что LibRadar будет тем, чем я сейчас буду пользоваться. Вполне соответствует моим требованиям и даже добавляет некоторый бонус к верхнему списку разрешений, используемых данной структурой.
Другим подходящим кандидатом может быть εxodus standalone :
dexdump
, который можно легко установить с помощью sudo apt-get install dexdump
.Это часть проекта Exodus Privacy , использующего тот же движок, что и их веб-сканер , поэтому он постоянно обновляется. Если цель состоит в том, чтобы просто поймать этих трекеров, это хороший кандидат. Пример вывода и инструкции по установке можно найти за первой (жирной) ссылкой этого ответа. Как и LibRadar, он бесплатный и с открытым исходным кодом, что также соответствует этому требованию.
Иззи
Иззи