Dynamische Analyse mit Frida
Frida und Hooking
Dynamische Analyse mit Frida ist eine kostenlose Ethical Hacking Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.
Was ist Frida?
Frida ist ein Toolkit für dynamische Instrumentierung. Es injiziert eine JavaScript-Engine in eine laufende App und ermöglicht Ihnen, deren Verhalten zur Laufzeit zu untersuchen und zu verändern, ohne sie neu zu kompilieren.
Frida ist das wichtigste Tool für dynamische mobile Penetrationstests.
So funktioniert Frida
Frida führt einen kleinen Agenten aus (den frida-server auf dem Gerät) und einen Client auf Ihrem Rechner. Sie schreiben JavaScript, das sich in Funktionen des Zielprozesses einklinkt.
Ihre Skripte können Argumente lesen, Rückgabewerte ändern und Methoden direkt aufrufen.
Einrichtung
Sie übertragen die passende Binärdatei von frida-server auf ein Gerät mit Root-Zugriff (oder verwenden auf Geräten ohne Root-Zugriff eine gepatchte APK mit frida-gadget) und starten sie.
Die Desktop-Tools verbinden sich anschließend über USB.
adb push frida-server /data/local/tmp/
adb shell /data/local/tmp/frida-server &Apps aufzählen
Bestätigen Sie die Verbindung, indem Sie mit den Frida-CLI-Tools installierte Apps und laufende Prozesse auflisten.
Damit überprüfen Sie, ob frida-server erreichbar ist, und erhalten den Paketnamen des Zielobjekts.
frida-ps -UaiWas bedeutet Hooking?
Hooking bedeutet, eine Funktion abzufangen, sodass Ihr Code davor, danach oder an ihrer Stelle ausgeführt wird. Sie können Eingaben protokollieren, Ausgaben untersuchen oder das Verhalten vollständig ersetzen.
Unter Android setzen Sie Hooks auf Java-Methoden (und native Funktionen) innerhalb der laufenden App.
Ein einfacher Java-Hook
Innerhalb von Java.perform wählen Sie eine Klasse und eine Methode aus und überschreiben deren implementation. Sie können Argumente protokollieren und anschließend das Original aufrufen.
Beachten Sie, dass das Beispiel einfache Anführungszeichen und niemals Backticks verwendet, damit es JSON-sicher bleibt.
Java.perform(function(){
var Login = Java.use('com.app.Login');
Login.check.implementation = function(pw){
console.log('pw=' + pw);
return this.check(pw);
};
});Eine Prüfung umgehen
Um eine Logik zu umgehen, überschreiben Sie eine Methode so, dass sie einen beliebigen Wert zurückgibt. Sie können beispielsweise eine Root- oder Lizenzprüfung zwingen, false (nicht erkannt) oder true (autorisiert) zurückzugeben.
Damit wird clientseitige Sicherheit ausgehebelt, die dem Gerät vertraut.
RootCheck.isRooted.implementation = function(){ return false; };SSL-Pinning umgehen
Apps verwenden SSL-Pinning, um Proxys zurückzuweisen. Frida-Skripte (etwa das verbreitete Objection oder universelle Skripte zum Umgehen des Pinnings) setzen Hooks auf die Pinning-Logik, sodass Sie HTTPS-Datenverkehr abfangen können.
Das ist unerlässlich, um die API-Aufrufe einer App über einen Proxy zu untersuchen.
frida -U -f com.app -l ssl-bypass.jsObjection
Objection basiert auf Frida und bietet fertige Befehle: SSL-Pinning umgehen, den Keystore auslesen, Aktivitäten auflisten und den App-Speicher auslesen – und das alles ohne eigene Skripte zu schreiben.
Das beschleunigt häufige Aufgaben während einer Sicherheitsprüfung.
objection -g com.app exploreStarten gegenüber Anhängen
Frida kann sich an einen laufenden Prozess anhängen oder die App mit Ihrem von Anfang an geladenen Skript frisch starten (-f).
Das Starten ist erforderlich, wenn Sie Code hooken müssen, der früh ausgeführt wird, etwa Manipulationsschutzprüfungen während des Starts.
frida -U -f com.app -l hook.js --no-pauseTracing mit frida-trace
frida-trace erzeugt und bindet automatisch Hooks für Funktionen ein, die einem Muster entsprechen, und protokolliert jeden Aufruf. Damit lässt sich hervorragend herausfinden, welche Methoden eine App tatsächlich verwendet.
Sie können Java-Methoden oder native Funktionen anvisieren und anschließend die erzeugten Handler zur Untersuchung bestimmter Argumente verfeinern.
frida-trace -U -f com.app -j '*Crypto*!*'Kurzer Check
Rufen Sie sich Fridas zentrale Funktion ins Gedächtnis.
Zusammenfassung
Sie verstehen nun die dynamische Analyse mit Frida:
- Frida injiziert eine JS-Engine, um Funktionen in einer laufenden App zu hooken.
- Richten Sie frida-server ein, zählen Sie Apps mit
frida-psauf und setzen Sie Hooks auf Java-Methoden. - Überschreiben Sie Methoden, um Prüfungen und SSL-Pinning zu umgehen; Objection automatisiert dies.
- Verwenden Sie den Startmodus, um früh ausgeführten Startcode abzufangen.
Als Nächstes untersuchen Sie unsichere Speicherung und Kommunikation.
Häufig gestellte Fragen
Ist die Lektion „Dynamische Analyse mit Frida“ kostenlos?
Ja — der vollständige Text von „Dynamische Analyse mit Frida“ 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 „Dynamische Analyse mit Frida“?
Frida und Hooking 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 3 von 4.
Wie lange dauert die Lektion „Dynamische Analyse mit Frida“?
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