# Fermion Frida 脚本图形化开发环境

> Ruben Boonen 开发的 Electron 桌面应用，把 frida-node 和 Monaco 编辑器整合到同一个窗口中，用于编写、注入和反复调整 Frida 脚本。编辑器提供代码检查、IntelliSense 和 Frida API 类型定义；设备菜单可连接本地、USB 和远程 Frida 服务端，附加到进程或启动新进程；脚本可用快捷键在目标中重新加载，输出显示在代码旁边。原型阶段的 CALL 追踪器从选定的指针或模块符号开始，跟踪线程发出的每一次调用直至返回，并将结果渲染为 Graphviz SVG 图；应用还内置了 Frida JavaScript API 文档。

- 类型：工具
- 目标：应用 · 二进制
- 类别：调试与动态分析
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/FuzzySecurity/Fermion>
- 一手来源：<https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/fermion/>
- 记录 JSON：<https://awesomerea.org/resources/fermion/record.json>
- 英文版：[English](https://awesomerea.org/resources/fermion/index.md)

## 使用条件与局限

- 审阅时最新版本为 v1.9.3，由仓库 CI 于 2023-04-20 发布，附带 Windows、Linux 和 macOS 的压缩构建包，固定使用 Electron 21.0.0、Frida 16.0.17 和 frida-gum 类型定义 18.3.1。此后直到所审阅的 2025-03-20 master 提交，所有提交都是自动生成的保活提交；发布工作流只在软件包版本号变化时才构建，因此应用未跟进 Frida 17 系列（审阅时为 17.24.3）。
- 从源码运行需要 Node.js 和 npm：在 Fermion 目录中设置 npm_config_runtime=electron 和 npm_config_target=21.0.0，然后运行 npm install 和 npm start；发行包用 electron-packager 构建，CI 使用 Node 16。远程和移动目标需要可访问的 Frida 服务端；README 称通过 USB 或在 Genymotion 等模拟器中通常可自动发现，也可手动填写 IP 地址和端口。
- 在 Windows 上附加 SYSTEM 进程，需要以管理员身份并具备 SeDebugPrivilege 运行 Fermion，因为 README 指出自 Electron 8 起以 SYSTEM 身份运行会导致程序卡死；在 Linux 上附加进程可能需要 root 权限或放宽 kernel.yama.ptrace_scope。README 称追踪器仍是原型功能，图很大时窗口可能卡顿，还可能导致被追踪进程不稳定。
- 仓库提交了 22 个 Frida 示例脚本（大多是对 Windows API 的 Hook）、一个编译为 WebAssembly 的 Graphviz 库（Fermion/pages/graphvizlib.wasm，用于渲染追踪结果），以及随附的 jQuery、Semantic UI（含 Lato 字体）、Split.js 和 Tailwind CSS 资源。设备、进程和应用均需用户自备。
- 采用 BSD-3-Clause 许可（Copyright 2019 Ruben Boonen）；随附的框架和字体保留各自许可。

## 一手来源

1. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/README.md>
2. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/CHANGELOG.txt>
3. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/Fermion/package.json>
4. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/.github/workflows/auto-update.yml>
5. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/.github/workflows/populate_variables.py>
6. <https://github.com/FuzzySecurity/Fermion/tree/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/Examples>
7. <https://github.com/FuzzySecurity/Fermion/tree/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/Fermion/pages>
8. <https://github.com/FuzzySecurity/Fermion/blob/79b26434f85a9f4d5e812553ec8e2c08d2ab82c5/LICENSE>
9. <https://github.com/FuzzySecurity/Fermion/releases/tag/v1.9.3>
10. <https://github.com/frida/frida/releases/tag/17.24.3>

## 同分区更多条目：原生二进制

- [Ghidrathon Ghidra Python 3 脚本扩展](https://awesomerea.org/zh/resources/ghidrathon/index.md) · 工具
- [diStorm3 x86/AMD64 反汇编库](https://awesomerea.org/zh/resources/distorm/index.md) · 工具
- [ProbeDroid Android 动态插桩工具包](https://awesomerea.org/zh/resources/probedroid/index.md) · 工具
- [Fridump 基于 Frida 的进程内存转储工具](https://awesomerea.org/zh/resources/fridump/index.md) · 工具
- [Redress Go 二进制分析工具](https://awesomerea.org/zh/resources/redress/index.md) · 工具
- [ghidra-nanomips nanoMIPS 处理器模块](https://awesomerea.org/zh/resources/ghidra-nanomips/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
