Statische APK-Analyse
Decompilieren
Statische APK-Analyse ist eine kostenlose Ethical Hacking Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ethical Hacking Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Statische APK-Analyse
Die statische Analyse einer APK bedeutet, ihren Code und ihre Ressourcen zu untersuchen, ohne sie auszuführen. Ziel ist es, aus dem kompilierten DEX lesbaren, quelltextähnlichen Code wiederherzustellen.
Dadurch werden fest codierte Geheimnisse, Logikfehler und das tatsächliche Verhalten der App sichtbar.
Dekodieren mit apktool
apktool dekodiert eine APK zurück in lesbare Ressourcen und smali, eine menschenlesbare Form des DEX-Bytecodes. Außerdem dekodiert es die binäre Datei AndroidManifest.xml.
Verwenden Sie es, um das Manifest zu lesen und geänderte Apps neu zu verpacken.
apktool d app.apk -o app_srcSmali-Code
Smali ist die assemblyähnliche Sprache für Dalvik-Bytecode. Sie ist ausführlich, ermöglicht aber präzise Änderungen, etwa das Umgehen einer Prüfung durch Ändern eines Vergleichs.
Sie können Smali patchen und die APK neu erstellen, um das Verhalten der App zu ändern.
const/4 v0, 0x1 # force a boolean to trueJava mit jadx erhalten
jadx dekompiliert DEX direkt in lesbaren Java-Code. Mit der GUI-Version jadx-gui können Sie Klassen durchsuchen, nach Zeichenketten suchen und Methodenaufrufe verfolgen.
Dies ist der schnellste Weg, die Logik einer App zu verstehen.
jadx-gui app.apkDer dex2jar-Weg
Eine alternative Verarbeitungskette konvertiert DEX mit dex2jar in eine JAR-Datei und öffnet sie anschließend in einem Java-Dekompilierer wie JD-GUI.
jadx erzeugt normalerweise eine sauberere Ausgabe, aber dex2jar ist hilfreich, wenn jadx Schwierigkeiten hat.
d2j-dex2jar app.apk -o app.jarNach Geheimnissen suchen
Dekompilierter Code enthält häufig fest codierte Geheimnisse: API-Schlüssel, Tokens, Verschlüsselungsschlüssel und Backend-URLs.
Durchsuchen Sie den Quellcode nach Schlüsselwörtern wie password, secret, apikey und http. Entwickler gehen fälschlicherweise davon aus, dass kompilierter Code diese Informationen verbirgt.
grep -ri "api_key\|secret\|password" app_src/Manifest überprüfen
Überprüfen Sie nach dem Dekodieren des Manifests Folgendes:
- Exportierte Komponenten.
android:debuggable="true".android:allowBackup="true"(Daten können über eine Sicherung extrahiert werden).- Gefährliche oder benutzerdefinierte Berechtigungen.
Netzwerksicherheitskonfiguration
Die Network Security Configuration steuert das TLS-Verhalten. Eine Konfiguration, die Klartextverkehr erlaubt oder benutzerseitig hinzugefügten CAs vertraut, schwächt die Transportsicherheit.
Solche Einstellungen erleichtern das Abfangen von Daten (ein späteres Thema) erheblich.
<application android:usesCleartextTraffic="true">Automatisierte Analyse mit MobSF
MobSF (Mobile Security Framework) automatisiert die statische Analyse. Laden Sie eine APK hoch, und das Werkzeug meldet Berechtigungen, fest codierte Geheimnisse, unsichere Einstellungen und eine Risikobewertung.
Für eine erste Einschätzung ist es hervorragend geeignet, doch bei einer manuellen Überprüfung werden weiterhin tiefgreifendere Probleme gefunden.
Neupacken und erneutes Signieren
Nach dem Patchen von Smali erstellen Sie die APK mit apktool neu und signieren sie erneut (Android verweigert die Installation unsignierter Apps). Tools wie apksigner oder uber-apk-signer übernehmen das Signieren.
Dieser Workflow bildet die Grundlage für Manipulationstests und Änderungen zur Laufzeit.
apktool b app_src -o patched.apk
uber-apk-signer -a patched.apkDeep Links und WebViews
Suchen Sie nach Intent-Filtern für Deep Links und nach der Verwendung von WebView. Fehlkonfigurierte Deep Links können interne Bildschirme mit von Angreifern kontrollierten Daten öffnen.
WebViews mit JavaScriptInterface oder WebViews, die nicht vertrauenswürdige Inhalte laden, können die App für Injektionen und Datendiebstahl anfällig machen. Beides sind häufige Befunde bei statischen Prüfungen.
Kurzer Check
Rufen Sie sich ins Gedächtnis, welches Tool direkt aus einer APK lesbaren Java-Code erzeugt.
Zusammenfassung
Sie verstehen nun die statische APK-Analyse:
- Verwenden Sie apktool für Smali und das dekodierte Manifest sowie jadx für lesbaren Java-Code.
- Suchen Sie nach fest codierten Geheimnissen und prüfen Sie das Manifest auf Export-, Debug- und Backup-Flags.
- Prüfen Sie die Network Security Config; verwenden Sie MobSF für eine automatisierte Ersteinschätzung.
- Patchen Sie Smali und führen Sie anschließend einen Neuaufbau und eine erneute Signierung durch, um Manipulationen zu testen.
Als Nächstes manipulieren Sie eine laufende App mit Frida.
Lerne Ethical Hacking Academy mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 31
- Lektionen
- 111
Häufig gestellte Fragen
Ist die Lektion „Statische APK-Analyse“ kostenlos?
Ja — der vollständige Text von „Statische APK-Analyse“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ethical Hacking Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Statische APK-Analyse“?
Decompilieren Du übst Ethical Hacking Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Ethical Hacking Academy zu starten?
Keine Vorkenntnisse erforderlich. Ethical Hacking Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Statische APK-Analyse“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Ethical Hacking Academy-Lektion Code schreiben und ausführen?
Ja. Jede Ethical Hacking Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Android-App-Struktur
- Statische APK-Analyse
- Dynamische Analyse mit Frida
- Unsichere Speicherung und Kommunikation