ChiChou/vscode-frida

GitHub: ChiChou/vscode-frida

一款为 VSCode 打造的 Frida 集成扩展,为移动应用动态分析和 Hook 脚本开发提供图形化工作环境。

Stars: 543 | Forks: 53

# VSCode Frida Workbench [**仓库**](https://github.com/chichou/vscode-frida) | [**问题**](https://github.com/ChiChou/vscode-frida/issues) | [**安装**](https://marketplace.visualstudio.com/items?itemName=CodeColorist.vscode-frida) 由 [@CodeColorist](https://infosec.exchange/@codecolorist) 开发的 Visual Studio Code **非官方** frida 扩展 [中文说明](README.cn.md) ## 前置条件 * Python >= 3.7 * [frida-tools](https://pypi.org/project/frida-tools/) python 包 ### 可选依赖 * [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice) (用于 `inetcat` 命令启动 SSH shell) * Windows 上的 iTunes (用于 iOS USB 连接) 如果你在 Windows 上,你需要保持 iTunes 打开以便通过 USB 与 iOS 设备交互。 ### 安装 frida-tools 由于 [PEP0668](https://peps.python.org/pep-0668/),在全局运行 `pip3 install frida-tools` 时可能会遇到错误。 推荐的方法是在 VSCode 中打开一个文件夹(工作区),然后使用 Python 扩展创建并激活一个虚拟环境。在这种情况下,扩展将使用你当前激活的 Python venv 来加载 frida 命令。 或者,你可以使用像 [pipx](https://github.com/pypa/pipx) 或 [UV](https://docs.astral.sh/uv/guides/tools/) 这样的包管理器将其安装到 $PATH,同时保持隔离。 ## 功能 ![demo](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8c575ca1d1165143.gif) ### 应用和进程列表 在侧边栏面板中列出已连接设备上的应用和进程。右键单击以附加、启动、以挂起模式启动、终止进程,或将设备/进程信息复制到剪贴板。支持本地、USB 和远程设备。 ### 交互式 Runtime 面板 #### 模块与导出浏览器 浏览任何已附加进程的已加载原生模块及其导出函数。按名称过滤模块,检查基地址、大小和路径,然后选择导出函数以生成 hook。 #### 类与方法浏览器 探索 Java 和 Objective-C 的运行时类和方法。过滤类,在自有方法和继承方法之间切换,并批量选择方法以生成 hook。 #### Objective-C 层级视图 (iOS) 通过展开/折叠控件和类过滤可视化完整的 Objective-C 类继承树。 #### Java 包树 (Android) 以分层树状视图浏览按包命名空间组织的 Java 类。 ### Hook 生成 从 Modules 和 Classes 面板生成 Frida hook 代码: * **Native hooks** — 针对导出函数的带有 `onEnter` / `onLeave` 回调的 `Interceptor.attach()` * **Objective-C hooks** — 基于类和选择器的 hook,并正确使用 ObjC bridge * **Java hooks** — 带有方法重载支持的 `Java.perform()` / `Java.use()` hook * **AI-powered hooks** — 使用 GitHub Copilot 推断原生函数签名(参数类型、返回类型)并生成类型感知的参数日志记录 ### 智能自动补全 (LSP) 针对 JavaScript / TypeScript 中的 Frida 脚本提供上下文感知的补全: * `ObjC.classes.` — 补全 Objective-C 类名 * `ObjC.classes.Foo['']` — 补全方法选择器 * `ObjC.classes.Foo.method` — 补全类方法选择器 * `Java.use('')` — 补全 Java 类名 * `Process.getModuleByName('')` — 补全已加载的模块名称 由于语言服务器依赖于目标进程上下文,你需要在工作区中创建一个 Frida 目标配置文件:`.vscode/frida.json`。你可以使用 **Set LSP Target** 命令通过选定的进程或应用来生成它。 ### JavaScript REPL 在底部打开并激活一个 REPL。使用任何活动 `js` / `typescript` 文档顶部的 "frida" 按钮将代码发送到活动 REPL。 ### Syslog 从已附加的进程流式传输实时应用程序日志。 ### 项目脚手架 * **New Agent** — 创建一个支持 TypeScript 的新 Frida Agent 项目 * **New C Module** — 创建一个新的 Frida C Module 项目 * **Download Typings** — 下载 Frida TypeScript 类型定义以用于自动补全 ### 调试配置 生成用于调试带断点的 Frida 脚本的 VSCode `launch.json` 和 `tasks.json`。 ### Android 工具 * 在 Android 设备上 **Download and start frida-server**(自动架构检测) * 从设备上 **Pull APK**(右键单击 Android 应用以拉取) ### 外部工具集成 * [Objection](https://github.com/sensepost/objection) — 运行时移动端探索 ### Shell 对于 Android 设备,**Open Shell** 是 `adb shell` 的封装。 对于 iOS,它在越狱设备上提供一个 SSH shell。可能需要配置凭据。 ### 远程设备支持 直接从侧边栏通过 `host:port` 连接到远程 Frida 设备。 ## [更新日志](CHANGELOG.md) ## 贡献者 ![](https://contrib.rocks/image?repo=chichou/vscode-frida)
标签:Android 安全, DAST, Docker支持, Frida, Hook 技术, iOS 安全, Python, Runtime Hook, VSCode 扩展, Web路径扫描, 云资产清单, 合规性检查, 恶意软件分析, 数据可视化, 无后门, 目录枚举, 移动安全, 自动化攻击, 自动化攻击, 越狱检测, 进程调试, 逆向工具, 逆向工程