
Ein Tool zur mobilen Informationserfassung und -analyse, das für Szenarien von HW-Aktionen, Red Teams und Penetrationstest-Teams konzipiert ist. Es unterstützt mobile Plattformen (Android, iOS, WEB, H5, statische Websites) und hilft Penetrationstestern, Angriffsteammitgliedern und Red Teams, schnell wichtige Asset-Informationen von mobilen oder statischen Webseiten zu sammeln und grundlegende Ausgaben wie Titel, Domain, CDN, Fingerabdruckdaten und Statusinformationen zu liefern.
Dieses Projekt ist derzeit nur die Spitze des Eisbergs der geplanten Funktionen. Wenn Sie an diesem Projekt interessiert sind oder an der weiteren Entwicklung oder Übersetzung mitwirken möchten, senden Sie bitte eine E-Mail an [email protected] mit Ihren Fähigkeiten und Anliegen.
Ein Information-Scanning-Tool für mobile Endgeräte (Android, iOS, WEB, H5, statische Websites), das speziell für Szenarien wie HW-Aktionen/Red Teams/Penetrationstestteams entwickelt wurde. Es hilft Penetrationstestern, Angriffsteammitgliedern und Red-Team-Mitgliedern, schnell wichtige Asset-Informationen aus mobilen Apps oder statischen Webseiten zu sammeln und grundlegende Informationen wie Titel, Domain, CDN, Fingerabdruck und Status auszugeben.
Verwenden Sie die Technologie oder den Code dieses Projekts nicht für illegale Zwecke wie die Erstellung von Schadsoftware, Diebstahl von Urheberrechten/geistigem Eigentum oder unlautere Gewinnerzielung. Die Durchführung der oben genannten Handlungen oder die Verwendung dieses Projekts zur Datenausspähung von Programmen, die nicht Ihr eigenes Urheberrecht sind, könnte gegen die Artikel 217 und 286 des Strafgesetzbuchs der Volksrepublik China, das Cybersicherheitsgesetz der Volksrepublik China und das Urheberrechtsgesetz für Computersoftware der Volksrepublik China verstoßen. Die in diesem Projekt erwähnten Techniken dürfen nur in legalen Szenarien wie privaten Lern- und Testzwecken verwendet werden. Für zivil- oder strafrechtliche Verantwortlichkeiten, die aus einer missbräuchlichen Nutzung dieser Technik entstehen, übernimmt der Autor dieses Projekts keine Haftung.

AppInfoScanner
|-- libs Kerncode des Programms
|-- core
|-- __init__.py Globale Konfigurationsinformationen
|-- parses.py Zum Parsen statischer Informationen in Dateien
|-- download.py Zum automatischen Herunterladen von Apps oder H5-Seiten
|-- net.py Für Netzwerksniffing und Sammlung grundlegender Informationen
|-- task
|-- __init__.py Verzeichnisinitialisierungsdatei
|-- base_task.py Einheitliche Aufgabenplanung
|-- android_task.py Zum Verarbeiten von Android-bezogenen Aufgaben
|-- download_task.py Zum Verarbeiten von Aufgaben zum automatischen Herunterladen von Apps oder H5
|-- ios_task.py Zum Verarbeiten von iOS-bezogenen Aufgaben
|-- net_task.py Zum Verarbeiten von Netzwerksniffing-Aufgaben
|-- web_task.py Zum Verarbeiten von Web-bezogenen Aufgaben, z. B. Quellcode der Seite (Rechtsklick), statische H5-Informationen
|-- tools Abhängige Tools des Programms
|-- apktool.jar Zum Dekompilieren von APK-Dateien; kann je nach Plattform ausgetauscht werden müssen
|-- baksmali.jar Zum Dekompilieren von DEX-Dateien; kann je nach Plattform ausgetauscht werden müssen
|-- strings.exe Zum Abrufen von IPA-String-Informationen unter Windows 32
|-- strings64.exe Zum Abrufen von IPA-String-Informationen unter Windows 64
|-- __init__.py Verzeichnisinitialisierungsdatei
|-- app.py Hauptprogramm
|-- config.py Konfigurationsdatei des gesamten Programms
|-- README.md Programmbeschreibung
|-- requirements.txt Abhängigkeitspakete, die installiert werden müssen
|-- update.md Versionshistorie des Programms
git clone https://github.com/kelvinBen/AppInfoScanner.git
Oder kopieren Sie den folgenden Link in Ihren Browser, um die neueste stabile Version herunterzuladen:
https://github.com/kelvinBen/AppInfoScanner/releases/latest
Schneller Download-Kanal in China:
git clone https://gitee.com/kelvin_ben/AppInfoScanner.git
cd AppInfoScanner
python -m pip install -r requirements.txt
python app.py android -i <Your APK File or DEX File or APK Download Url or Save File Dir>
python app.py ios -i <Your IPA file or Mach-o File or IPA Download Url or Save File Dir>
python app.py web -i <Your Web file or Save Web Dir or Web Cache Url>
python app.py [TYPE] [OPTIONS] <The URL or directory to scan>
<> Stellt die zu scannende Datei, das Verzeichnis oder die URL dar
| Oder-Verknüpfung, nur eines auswählbar
[] Stellt die einzugebenden Parameter dar
Dieser Parametertyp entspricht [TYPE] im grundlegenden Befehl. Derzeit werden nur die drei Typen [android/ios/web] unterstützt. Einer der drei Typen muss angegeben werden.
android: Zum Scannen von Inhalten aus Android-Anwendungsdateien
ios: Zum Scannen von Inhalten aus iOS-Anwendungsdateien
web: Zum Scannen von Inhalten aus Webseiten oder H5-Dateien
Es wird unterstützt, den Typ automatisch anhand der Dateiendung anzupassen. Selbst wenn Sie ios angeben, aber die Datei -i den Namen XXX.apk hat, wird der Android-Scan ausgeführt.
Dieser Parametertyp entspricht [OPTIONS] im grundlegenden Befehl. Mehrere Parameter können gemeinsam verwendet werden.
-i oder --inputs: Die zu scannende Datei, das Verzeichnis oder die URL zum automatischen Herunterladen. Bei langen Pfaden bitte in Anführungszeichen setzen. Dies ist ein Pflichtfeld.
-r oder --rules: Temporäre Scanregeln für den Dateiinhalt.
-s oder --sniffer: Netzwerksniffing-Funktion aktivieren (standardmäßig aktiviert).
-n oder --no-resource: Alle Ressourcendateien ignorieren (einschließlich Ressourcendateien aus dem Netzwerksniffing; vorher `sniffer_filter`-Regeln in `config.py` einrichten). Standardmäßig werden Ressourcen nicht ignoriert.
-a oder --all: Alle Ergebnisse ausgeben, die den Scanregeln entsprechen (standardmäßig aktiviert).
-t oder --threads: Anzahl der gleichzeitigen Threads festlegen (Standard: 10).
-o oder --output: Ausgabeverzeichnis für Scanergebnisse und temporäre Dateien festlegen (Standard: Skriptverzeichnis).
-p oder --package: Java-Paketnamen für APK- oder DEX-Dateien unter Android angeben. Dieser Parameter kann nur mit dem Typ `android` verwendet werden.
python app.py android -i <Your apk file>
Beispiel:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk
python app.py android -i <Your DEX file>
Beispiel:
python app.py android -i C:\Users\Administrator\Desktop\Demo.dex
python app.py android -i <APK Download Url>
Beispiel:
python app.py android -i "https://127.0.0.1/Demo.apk"
Hinweis: Wenn die URL zu lang ist, muss sie in doppelte Anführungszeichen (" ") gesetzt werden.
python app.py ios -i <Your ipa file>
Beispiel:
python app.py ios -i "C:\Users\Administrator\Desktop\Demo.ipa"
python app.py ios -i <Your Mach-o file>
Beispiel:
python app.py ios -i "C:\Users\Administrator\Desktop\Demo\Payload\Demo.app\Demo"
python app.py ios -i <IPA Download Url>
Beispiel:
python app.py ios -i "https://127.0.0.1/Demo.ipa"
Hinweis: Wenn die URL zu lang ist, muss sie in doppelte Anführungszeichen (") gesetzt werden. Das Scannen von IPA-Dateien aus dem Apple Store wird vorübergehend nicht unterstützt.
python app.py web -i <Your web file>
Beispiel:
python app.py web -i "C:\Users\Administrator\Desktop\Demo.html"
python app.py web -i <Web Download Url>
Beispiel:
python app.py web -i "https://127.0.0.1/Demo.html"
Die folgenden Beispiele verwenden den Typ android:
python app.py android -i <Your Dir>
Beispiel:
python app.py android -i C:\Users\Administrator\Desktop\Demo
python app.py android -i <Your apk> -r <the keyword | the rules>
Beispiel:
Scan nach Baidu-Domains hinzufügen:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk -r ".*baidu.com.*"
python app.py android -i <Your apk> -s
Beispiel:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk -s
python app.py android -i <Your apk> -n
Beispiel:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk -n
python app.py android -i <Your apk> -a
Beispiel:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk -a
python app.py android -i <Your apk> -t 20
Beispiel:
20 gleichzeitige Threads festlegen:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk -t 20
python app.py android -i <Your apk> -o <output path>
Beispiel:
Ausgabe in das Verzeichnis `Temp` auf dem Desktop:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk -o C:\Users\Administrator\Desktop\Temp
python app.py android -i <Your apk> -p <Java package name>
Beispiel:
Filter nach Inhalten unter `com.baidu`:
python app.py android -i C:\Users\Administrator\Desktop\Demo.apk -p "com.baidu"
Das Programm dient nur als grundlegendes Gerüst und enthält einige grundlegende Regeln. Nicht jede Eingabe kann erfolgreich gescannt werden. Daher können Sie die Regeln nach Ihren Bedürfnissen anpassen. Gute Konfigurationen können die Effektivität erheblich verbessern.
config.py im Hauptverzeichnis (gleiche Ebene wie README.md).filter_components: Konfiguration relevanter Komponenten (z. B. JSON- oder XML-Komponenten)
filter_strs: Zu scannende Dateiinhalte, z. B. Portnummern: "r'.*://([\d{1,3}\.]{3}\d{1,3}).*'"
filter_no: Zu ignorierende Inhalte in den gescannten Dateien
shell_list: Konfiguration der Android-Schalenmerkmale
web_file_suffix: Dateiendungen für Web-Scans
sniffer_filter: Dateiendungen, die beim Netzwerksniffing ignoriert werden sollen
headers: Header-Informationen für automatische Downloads
data: Anfragebody für automatische Downloads
method: Anfragemethode für automatische Downloads
Methode 1: Passen Sie die Regeln in `config.py` an Ihre Situation an.
Methode 2: Ignorieren Sie Ressourcendateien.
Die zu scannende Anwendung ist gepackt/geschützt. Sie muss vor dem Scannen entschält werden. Hierfür können folgende Tools verwendet werden:
Android:
xposed-Modul: dexdump
frida-Modul: FRIDA-DEXDump
Ohne Root: blackdex
iOS:
frida-Modul:
Windows: frida-ipa-dump
macOS: frida-ios-dump
Datei-Download fehlgeschlagen.
1. Überprüfen Sie, ob die eingegebene URL korrekt ist.
2. Überprüfen Sie die Netzwerkverbindung oder konfigurieren Sie in der Konfigurationsdatei `config.py` die Header (`headers`), den Body (`data`) und die Methode (`method`) und führen Sie den Befehl erneut aus.
Dekompilierung der Datei fehlgeschlagen.
Bitte reichen Sie einen Screenshot des Fehlers sowie die entsprechende APK-Datei unter https://github.com/kelvinBen/AppInfoScanner/issues ein. Der Autor wird sich darum kümmern, sobald er es sieht.
Pfad zum Einreichen benutzerdefinierter Regeln:
Klicken Sie hier, um benutzerdefinierte Regeln hinzuzufügen
Einreichungsformat:
1. Hinzufügen einer App-Komponente
Beispiel: Regel für fastjson:
App-Komponente: fastjson com.alibaba.fastjson
2. Zu suchende Zeichenfolge
Beispiel: Regel für Alibaba AK:
Zeichenfolge:
Alibaba AK .*accessKeyId.*".*"
3. Zu suchende Web-Dateiendungen
Beispiel: Regel für JSP-Dateien:
Website: Java-Sprache jsp
4. Android-Schalenregel
Beispiel: Schale einer bestimmten Digitalfirma:
Schale: Firma X com.stub.StubApp
WeChat: bromomo (Bei Freundschaftsanfrage bitte „GitHub“ angeben)
WeChat-Gruppe:

Falls kein Beitritt möglich, fügen Sie den Autor als WeChat-Kontakt hinzu, um in die Gruppe aufgenommen zu werden.
E-Mail: [email protected]
Vorschläge, Fehlerbehebungen, technischer Austausch, geschäftliche Kooperation – alle Anfragen können an den Autor gerichtet werden.

AppInfoScanner ist Teil des StarLink 2.0-Projekts von 404Team. Bei Fragen zu AppInfoScanner oder wenn Sie andere Mitwirkende suchen, finden Sie Informationen zum Beitritt zur Community unter dem StarLink-Projekt.