Dies könnte dieser Frage ziemlich nahe kommen , aber meine Anforderungen sind etwas anders. Ausgehend von einer .apk
Datei (z. B. von einer Drittanbieterquelle wie F-Droid heruntergeladene Android-App ) kann dieser Analysator
aapt
Binärdatei, sind erforderlich, ist in Ordnung)Tiefgreifende Code-Analyse, Dekompilierung, Byte-Code-Analyse usw. sind nicht erforderlich – nur das Auflisten von Bibliotheken und Modulen ist in Ordnung (wenn es zusätzlich eine URL für weitere Details geben kann, zählt das als Bonus). Eine GUI ist nicht erforderlich (schaden aber nicht) – eine Kommandozeilenschnittstelle ist jedoch ein Muss.
Die Ergebnisse sollten für die automatische Nachbearbeitung strukturiert sein (vorzugsweise JSON oder XML). Mein Traumfall wäre etwas, das ich einfach in ein Verzeichnis entpacke, dann von dort aufrufe wie ./apkanalyzer com.foobar
– und es spuckt etwas JSON/XML nach STDOUT
.
Mir ist bewusst, dass ein solches Tool möglicherweise nicht in der Lage ist, alle Bibliotheken/Werbemodule zu erkennen (insbesondere, da es möglicherweise jeden Tag neue gibt) – aber je mehr es weiß, desto besser. Wenn es "unbekannte Bibliotheken/Module" als solche meldet und die Möglichkeit gibt, sie bekannt zu machen (zB über eine Konfigurationsdatei), wäre das ein Bonus.
Das Programm muss frei sein (wie in „Free Beer“), sollte möglichst auch frei sein (wie in „Free Speech“) und sollte frei sein (wie in „Hazzle-Free Setup“ ;).
LibRadar scheint meinen Anforderungen zu entsprechen:
apktool
)Es erkennt möglicherweise nicht die neuesten Inhalte, aber es scheint sogar Bibliotheken anzuzeigen, die ihm selbst unbekannt sind. Unter Verwendung der IDs dieser Bibliotheken kann man nach Details über sie suchen und diese Informationen „überlagern“ – was ich sehr nützlich finde. Ein großes Plus ist, dass es sogar die Berechtigungen auflistet, die eine Bibliothek dem Set hinzufügt. Ein vereinfachtes Beispiel (konvertiert in meine eigene Array-Struktur, um es einfacher zu sehen):
[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 wird also das sein, was ich jetzt verwenden werde. Passt ganz gut zu meinen Anforderungen und fügt sogar einen Bonus hinzu, wenn man die Berechtigungen auflistet, die vom gegebenen Framework verwendet werden.
Ein weiterer passender Kandidat wäre εxodus standalone :
dexdump
, das einfach mit installiert werden kann sudo apt-get install dexdump
.Dies ist Teil des Exodus Privacy - Projekts und verwendet dieselbe Engine wie ihr Webscanner , sodass sie auf dem neuesten Stand gehalten wird. Wenn das Ziel nur darin besteht, diese Tracker zu fangen, ist dies ein guter Kandidat. Beispielausgaben und Installationsanweisungen finden Sie hinter dem ersten (fettgedruckten) Link dieser Antwort. Wie LibRadar ist es kostenlos und Open Source und erfüllt daher auch diese Anforderung.
Izzy
Izzy