
非公式のVSCode向けfrida拡張機能
これはコミュニティによって提供されたプロジェクトであり、公式の Frida チームとは提携していません。@CodeColorist によって、Frida スクリプトの開発体験を向上させるための Visual Studio Code 用オープンソース拡張機能として開発・保守されています。
inetcat コマンドで SSH シェルを起動する場合)Windows をお使いの場合、USB 経由で iOS デバイスとやり取りするには iTunes を開いたままにする必要があります。
PEP0668 のため、pip3 install frida-tools をグローバルに実行するとエラーが発生する場合があります。
推奨される方法は、VSCode でフォルダ(ワークスペース)を開き、Python 拡張機能を使って仮想環境を作成・有効化することです。この場合、拡張機能は現在アクティブな Python venv を使用して frida コマンドを読み込みます。
あるいは、pipx や UV などのパッケージマネージャーを使用して、分離した状態を保ちながら $PATH にインストールすることもできます。

接続されたデバイス上のアプリとプロセスをサイドバーパネルに一覧表示します。右クリックでアタッチ、ローカルターゲットへの昇格権限でのアタッチ、スポーン、サスペンドモードでのスポーン、プロセスの強制終了、デバイス/プロセス情報のクリップボードへのコピーが可能です。ローカル、Apple Simulator、USB、リモートデバイスをサポートします。ローカルプロセスのエントリには、利用可能な場合、実行ファイルのパス、所有者、親 PID、引数などのベストエフォートのメタデータが含まれます。
アタッチされたプロセスの読み込み済みネイティブモジュールとそのエクスポート関数を閲覧します。モジュールを名前でフィルタリングし、ベースアドレス、サイズ、パスを確認して、フック生成用のエクスポートを選択できます。
Java と Objective-C の両方のランタイムクラスとメソッドを探索します。クラスをフィルタリングし、自身のメソッドと継承されたメソッドを切り替え、フック生成用のメソッドを一括選択できます。Objective-C プロトコルの検査も含まれており、プロトコルを閲覧・分析できます。
リバースエンジニアリング用にクラスヘッダーをダンプします:
モジュールパネルとクラスパネルから Frida フックコードを生成します:
onEnter / onLeave コールバック付きの Interceptor.attach()Java.perform() / Java.use() フックJavaScript / TypeScript での Frida スクリプト向けのコンテキスト対応補完:
ObjC.classes.<ClassName> — Objective-C クラス名を補完ObjC.classes.Foo['<method>'] — メソッドセレクタを補完ObjC.classes.Foo.method — クラスメソッドセレクタを補完Java.use('<ClassName>') — Java クラス名を補完Process.getModuleByName('<name>') — 読み込み済みモジュール名を補完言語サーバーはターゲットプロセスのコンテキストに依存します。ワークスペースに設定ファイル .vscode/frida.json を作成する必要があります。最も簡単な方法は、サイドバーでプロセスまたはアプリを右クリックし、Set LSP Target を選択することです。これによりファイルが自動的に生成されます。
.vscode/frida.json の設定このファイルは、LSP がアタッチすべきデバイスとターゲットを指定します。device フィールドと、app、pid、process のいずれか 1 つが必須です。
アプリ識別子でアタッチ(推奨 — アプリをスポーンまたはアタッチ):
{
"device": "local",
"app": "com.example.myapp"
}
プロセス名でアタッチ:
{
"device": "local",
"process": "myprocess"
}
PID でアタッチ(複数のプロセスが同じ名前を共有している場合に便利):
{
"device": "local",
"pid": 1234
}
device の値は Frida のデバイス ID に対応します — ホストマシンなら local、Simulator または USB デバイスの ID、リモートデバイスなら host:port 形式の文字列です。
LSP はこのファイルの変更を監視します。編集または再作成すると、新しいターゲットで言語サーバーが自動的に再起動します。
アタッチされたプロセスからリアルタイムのアプリケーションログをストリーミングします。
ブレークポイントを使用して Frida スクリプトをデバッグするための VSCode launch.json と tasks.json を生成します。
Android デバイスの場合、Open Shell は adb shell のラッパーです。
iOS の場合、脱獄済みデバイスで SSH シェルを提供します。認証情報の設定が必要な場合があります。
サイドバーから直接 host:port 経由でリモート Frida デバイスに接続します。