
Inoffizielle Frida-Erweiterung für VSCode
Repository | Issues | Installieren
Dies ist ein von der Community beigesteuertes Projekt, das nicht mit dem offiziellen Frida-Team verbunden ist. Es wird von @CodeColorist als Open-Source-Erweiterung für Visual Studio Code entwickelt und gepflegt, um die Frida-Skripterfahrung zu verbessern.
inetcat, um eine SSH-Shell zu starten)Wenn Sie Windows verwenden, müssen Sie iTunes geöffnet lassen, um über USB mit iOS-Geräten zu interagieren.
Aufgrund von PEP0668 kann beim globalen Ausführen von pip3 install frida-tools ein Fehler auftreten.
Der empfohlene Weg ist, einen Ordner (Workspace) in VSCode zu öffnen und dann mit der Python-Erweiterung eine virtuelle Umgebung zu erstellen und zu aktivieren. In diesem Fall verwendet die Erweiterung Ihre aktuell aktive Python-venv, um Frida-Befehle zu laden.
Alternativ können Sie einen Paketmanager wie pipx oder UV verwenden, um es in $PATH zu installieren und dabei isoliert zu halten.

Listet Apps und Prozesse auf verbundenen Geräten in einem Seitenleisten-Panel auf. Rechtsklick zum Anhängen, Anhängen mit erhöhten Rechten für lokale Ziele, Starten, Starten im suspendierten Modus, Beenden von Prozessen oder Kopieren von Geräte-/Prozessinformationen in die Zwischenablage. Unterstützt lokale Geräte, Apple Simulator, USB und Remote-Geräte. Lokale Prozesseinträge enthalten nach bestem Bemühen Metadaten wie ausführbaren Pfad, Eigentümer, übergeordnete PID und Argumente, sofern verfügbar.
Durchsuchen Sie geladene native Module und ihre exportierten Funktionen für jeden angehängten Prozess. Filtern Sie Module nach Namen, prüfen Sie Basisadresse, Größe und Pfad und wählen Sie dann Exporte für die Hook-Generierung aus.
Erkunden Sie Laufzeitklassen und -methoden sowohl für Java als auch für Objective-C. Filtern Sie Klassen, wechseln Sie zwischen eigenen und geerbten Methoden und wählen Sie Methoden stapelweise für die Hook-Generierung aus. Enthält außerdem Objective-C-Protokollinspektion zum Durchsuchen und Analysieren von Protokollen.
Klassen-Header für Reverse Engineering ausgeben:
Frida-Hook-Code aus den Modul- und Klassen-Panels generieren:
Interceptor.attach() mit onEnter / onLeave-Callbacks für exportierte FunktionenJava.perform() / Java.use()-Hooks mit Unterstützung für MethodenüberladungenKontextbezogene Vervollständigungen für Frida-Skripte in JavaScript / TypeScript:
ObjC.classes.<ClassName> — vervollständigt Objective-C-KlassennamenObjC.classes.Foo['<method>'] — vervollständigt MethodenselektorenObjC.classes.Foo.method — vervollständigt KlassemethodenselektorenJava.use('<ClassName>') — vervollständigt Java-KlassennamenProcess.getModuleByName('<name>') — vervollständigt Namen geladener ModuleDer Language Server ist von einem Zielprozesskontext abhängig. Sie müssen eine Konfigurationsdatei .vscode/frida.json in Ihrem Workspace erstellen. Der einfachste Weg ist, mit der rechten Maustaste auf einen Prozess oder eine App in der Seitenleiste zu klicken und Set LSP Target auszuwählen, wodurch die Datei automatisch generiert wird.
.vscode/frida.json-KonfigurationDie Datei gibt an, an welches Gerät und Ziel der LSP sich anhängen soll. Sie erfordert ein device-Feld und genau eines von app, pid oder process.
Anhängen über App-Identifier (empfohlen — startet oder hängt sich an die App an):
{
"device": "local",
"app": "com.example.myapp"
}
Anhängen über Prozessnamen:
{
"device": "local",
"process": "myprocess"
}
Anhängen über PID (nützlich, wenn mehrere Prozesse denselben Namen teilen):
{
"device": "local",
"pid": 1234
}
Der device-Wert entspricht der Frida-Geräte-ID — local für den Host-Rechner, eine Simulator- oder USB-Geräte-ID oder ein host:port-String für Remote-Geräte.
Der LSP überwacht diese Datei auf Änderungen. Das Bearbeiten oder Neuerstellen startet den Language Server automatisch mit dem neuen Ziel neu.
Streamen Sie Echtzeit-Anwendungsprotokolle von angehängten Prozessen.
Generieren Sie VSCode launch.json und tasks.json zum Debuggen von Frida-Skripten mit Breakpoints.
Für Android-Geräte ist Open Shell ein Wrapper für adb shell.
Für iOS bietet es eine SSH-Shell auf jailbroken Geräten. Möglicherweise müssen Anmeldedaten konfiguriert werden.
Verbinden Sie sich direkt über die Seitenleiste über host:port mit Remote-Frida-Geräten.