源码仓库 | GitHub Issues | 安装到 VSCode
本项目为社区贡献项目,与 Frida 官方团队无关。由 @CodeColorist 开发和维护,是一个开源的 Visual Studio Code 扩展,旨在提升 Frida 脚本开发体验。
inetcat 命令启动 SSH shell)如果你在 Windows 上,需要保持 iTunes 打开才能通过 USB 与 iOS 设备交互。
由于 PEP0668,全局运行 pip3 install frida-tools 可能会遇到错误。
推荐的方式是在 VSCode 中打开一个文件夹(工作区),然后使用 Python 扩展创建并激活虚拟环境。在这种情况下,扩展将使用当前激活的 Python venv 来加载 frida 命令。
或者,你可以使用包管理器如 pipx 或 UV 将其安装到 $PATH,同时保持隔离。

在侧边栏面板中列出已连接设备上的应用和进程。右键点击可附加、对本地目标以提升权限附加、启动、以挂起模式启动、终止进程,或将设备/进程信息复制到剪贴板。支持本地、USB 和远程设备。本地进程条目会尽可能显示可执行文件路径、用户、父进程 PID 和参数。
浏览任何已附加进程的已加载原生模块及其导出函数。按名称筛选模块,检查基地址、大小和路径,然后选择导出函数用于 Hook 生成。
探索 Java 和 Objective-C 的运行时类和方法。筛选类,在自有方法和继承方法之间切换,批量选择方法用于 Hook 生成。
导出类头文件用于逆向工程:
从模块和类面板生成 Frida Hook 代码:
onEnter / onLeave 回调的 Interceptor.attach() 用于导出函数Java.perform() / Java.use() Hook,支持方法重载Frida 脚本的上下文感知补全,支持 JavaScript / TypeScript:
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 三者之一。
通过应用标识符附加(推荐 — 启动或附加到应用):
{
"device": "local",
"app": "com.example.myapp"
}
通过进程名附加:
{
"device": "local",
"process": "myprocess"
}
通过 PID 附加(当多个进程同名时使用):
{
"device": "local",
"pid": 1234
}
device 值对应 Frida 设备 ID — local 表示本机,usb 表示 USB 连接的设备,或使用 host:port 字符串连接远程设备。
LSP 会监听此文件的变化。编辑或重新创建该文件会自动使用新目标重启语言服务器。
从已附加进程流式传输实时应用日志。
生成 VSCode launch.json 和 tasks.json,用于带断点调试 Frida 脚本。
对于 Android 设备,打开 Shell 是 adb shell 的封装。
对于越狱 iOS,一键打开 SSH shell。可能需要配置凭据。
直接从侧边栏通过 host:port 连接到远程 Frida 设备。