{"id":26716534,"url":"https://github.com/chichou/vscode-frida","last_synced_at":"2026-03-18T01:14:32.823Z","repository":{"id":40697569,"uuid":"233831241","full_name":"ChiChou/vscode-frida","owner":"ChiChou","description":"Unofficial frida extension for VSCode","archived":false,"fork":false,"pushed_at":"2026-03-14T01:22:41.000Z","size":2681,"stargazers_count":556,"open_issues_count":0,"forks_count":53,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-03-14T12:54:02.866Z","etag":null,"topics":["android","ios","mobile-security","reverse-engineering","vscode"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=CodeColorist.vscode-frida","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChiChou.png","metadata":{"files":{"readme":"README.cn.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ChiChou"}},"created_at":"2020-01-14T11:58:22.000Z","updated_at":"2026-03-14T01:22:01.000Z","dependencies_parsed_at":"2023-11-10T11:17:24.667Z","dependency_job_id":"5123540d-239a-41ff-86ca-e8538f5bf282","html_url":"https://github.com/ChiChou/vscode-frida","commit_stats":null,"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/ChiChou/vscode-frida","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChiChou%2Fvscode-frida","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChiChou%2Fvscode-frida/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChiChou%2Fvscode-frida/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChiChou%2Fvscode-frida/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChiChou","download_url":"https://codeload.github.com/ChiChou/vscode-frida/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChiChou%2Fvscode-frida/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30639210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-18T00:09:27.587Z","status":"ssl_error","status_checked_at":"2026-03-18T00:09:26.123Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","ios","mobile-security","reverse-engineering","vscode"],"created_at":"2025-03-27T15:37:33.639Z","updated_at":"2026-03-18T01:14:32.780Z","avatar_url":"https://github.com/ChiChou.png","language":"TypeScript","funding_links":["https://github.com/sponsors/ChiChou"],"categories":[],"sub_categories":[],"readme":"# 将 Frida 集成到 VSCode\n\n[**源码仓库**](https://github.com/chichou/vscode-frida) | \n[**GitHub Issues**](https://github.com/ChiChou/vscode-frida/issues) | \n[**安装到 VSCode**](https://marketplace.visualstudio.com/items?itemName=CodeColorist.vscode-frida)\n\n本项目为社区贡献项目，与 Frida 官方团队无关。由 [@CodeColorist](https://infosec.exchange/@codecolorist) 开发和维护，是一个开源的 Visual Studio Code 扩展，旨在提升 Frida 脚本开发体验。\n\n## 前置要求\n\n* Python \u003e= 3.7\n* [frida-tools](https://pypi.org/project/frida-tools/) Python 包\n\n### 可选依赖\n\n* [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice)（用于 `inetcat` 命令启动 SSH shell）\n* Windows 上的 iTunes（用于 iOS USB 连接）\n\n如果你在 Windows 上，需要保持 iTunes 打开才能通过 USB 与 iOS 设备交互。\n\n### 安装 frida-tools\n\n由于 [PEP0668](https://peps.python.org/pep-0668/)，全局运行 `pip3 install frida-tools` 可能会遇到错误。\n\n推荐的方式是在 VSCode 中打开一个文件夹（工作区），然后使用 Python 扩展创建并激活虚拟环境。在这种情况下，扩展将使用当前激活的 Python venv 来加载 frida 命令。\n\n或者，你可以使用包管理器如 [pipx](https://github.com/pypa/pipx) 或 [UV](https://docs.astral.sh/uv/guides/tools/) 将其安装到 $PATH，同时保持隔离。\n\n## 功能特性\n\n![demo](resources/doc/demo.gif)\n\n### 应用和进程列表\n\n在侧边栏面板中列出已连接设备上的应用和进程。右键点击可附加、启动、以挂起模式启动、终止进程，或将设备/进程信息复制到剪贴板。支持本地、USB 和远程设备。\n\n### 交互式运行时面板\n\n#### 模块和导出浏览器\n\n浏览任何已附加进程的已加载原生模块及其导出函数。按名称筛选模块，检查基地址、大小和路径，然后选择导出函数用于 Hook 生成。\n\n#### 类和方法浏览器\n\n探索 Java 和 Objective-C 的运行时类和方法。筛选类，在自有方法和继承方法之间切换，批量选择方法用于 Hook 生成。\n\n#### 类导出\n\n导出类头文件用于逆向工程：\n* **Objective-C** — 从运行时类元数据生成头文件\n* **Java** — 生成反编译的类存根，包含包名和导入语句\n\n### Hook 生成\n\n从模块和类面板生成 Frida Hook 代码：\n\n* **原生 Hook** — 使用 `onEnter` / `onLeave` 回调的 `Interceptor.attach()` 用于导出函数\n* **Objective-C Hook** — 基于类和选择器的 Hook，正确使用 ObjC 桥接\n* **Java Hook** — `Java.perform()` / `Java.use()` Hook，支持方法重载\n* **AI 驱动 Hook** — 使用 GitHub Copilot 推断原生函数签名（参数类型、返回类型）并生成类型感知的参数日志\n\n### 智能自动补全（LSP）\n\nFrida 脚本的上下文感知补全，支持 JavaScript / TypeScript：\n\n* `ObjC.classes.\u003cClassName\u003e` — 补全 Objective-C 类名\n* `ObjC.classes.Foo['\u003cmethod\u003e']` — 补全方法选择器\n* `ObjC.classes.Foo.method` — 补全类方法选择器\n* `Java.use('\u003cClassName\u003e')` — 补全 Java 类名\n* `Process.getModuleByName('\u003cname\u003e')` — 补全已加载模块名\n\n由于语言服务器依赖于目标进程上下文，你需要在工作区中创建 Frida 目标配置文件：`.vscode/frida.json`。你可以使用 **Set LSP Target** 命令通过选定的进程或应用来生成它。\n\n### JavaScript REPL\n\n在底部打开并激活 REPL。使用任何活动的 `js` / `typescript` 文档顶部的 \"frida\" 按钮将代码发送到活动的 REPL。\n\n### 系统日志\n\n从已附加进程流式传输实时应用日志。\n\n### 项目脚手架\n\n* **新建 Agent** — 创建支持 TypeScript 的新 Frida Agent 项目\n* **新建 C 模块** — 创建新的 Frida C 模块项目\n* **下载类型定义** — 下载 Frida TypeScript 类型定义用于自动补全\n\n### 调试配置\n\n生成 VSCode `launch.json` 和 `tasks.json`，用于带断点调试 Frida 脚本。\n\n### Android 工具\n\n* **下载并启动 frida-server** 在 Android 设备上（自动架构检测）\n* **拉取 APK** 从设备（右键点击 Android 应用进行拉取）\n\n### 外部工具集成\n\n* [Objection](https://github.com/sensepost/objection) — 运行时移动探索\n\n### Shell\n\n对于 Android 设备，**打开 Shell** 是 `adb shell` 的封装。\n\n对于越狱 iOS，一键打开 SSH shell。可能需要配置凭据。\n\n### 远程设备支持\n\n直接从侧边栏通过 `host:port` 连接到远程 Frida 设备。\n\n## [更新日志](CHANGELOG.md)\n\n## 贡献者\n\n![](https://contrib.rocks/image?repo=chichou/vscode-frida)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchichou%2Fvscode-frida","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchichou%2Fvscode-frida","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchichou%2Fvscode-frida/lists"}