fridagadget 框架——经 frida-gadget 配置注入,注入路径与 gadget 绑定
和前两个的差异
fridagadget 的注入方式最特殊——它不是把 Frida JS 引擎直接塞进程里,也不是开 frida-server 端口,而是依赖目标应用里已经存在的 frida-gadget 配置。
简单说:目标应用的 APK 里已经有 frida-gadget 相关文件和配置,JsHook 负责把脚本路径告诉 gadget,由 gadget 加载并执行。
工作流程
目标应用 APK(已包含 frida-gadget 配置)
└─ frida-gadget.so
└─ 读取配置 → 加载 JsHook 指定的脚本
这条路线通常出现在:
- 目标应用是自己用 LSPatch / APKTool 手动 patch 过的,已经把 frida-gadget 塞进了 APK
- 免 root 路线下修补的 APK(见 免 root 路线)
- 某些特殊调试场景需要精细控制注入时机
端口
fridagadget 也会监听端口(端口号取决于 gadget 配置),电脑端连接方式和 fridainject 类似,只是端口号可能不同。
adb forward tcp:28042 tcp:28042
frida -H 127.0.0.1:28042 Gadget -l test.js
注意 attach 模式下进程名是 Gadget(不是应用的包名),因为 gadget 作为一个独立进程运行。
适用场景
| 场景 | 推荐框架 |
|---|---|
| 日常使用 | fridamod(跳过这页) |
| 电脑端联动 | fridainject |
| 自己 patch 了 APK 塞进 frida-gadget | fridagadget |
| 免 root 路线修补的 APK | fridagadget |
| 非标准注入需求 | fridagadget |
限制
和 fridainject 一样,fridagadget 不支持:
- 内核驱动模式
- ImGui 增强渲染
- 加密脚本
三个框架快速对比
| 特性 | fridamod | fridainject | fridagadget |
|---|---|---|---|
| 推荐度 | ⭐⭐⭐ 默认 | ⭐⭐ 电脑端 | ⭐ 特殊场景 |
| 内核驱动模式 | ✅ | ❌ | ❌ |
| 加密脚本 | ✅ | ❌ | ❌ |
| 增强渲染 | ✅ | ❌ | ❌ |
| 完整 jscore API | ✅ | ✅ | ✅ |
| 端口监听 | 无 | 28042/28043 | gadget 配置 |
| 电脑端直连 | ❌ | ✅ | ✅ |
| 依赖 | fridamod 组件 | frida-server | 目标 APK 已含 gadget |
框架不是全局的
三个框架的选择是按应用独立配置的。你可以给 A 应用配 fridamod,给 B 应用配 fridainject,互不影响。进入应用详情页 → 选择框架 → 开 Hook 服务即可。
更多脚本与框架匹配问题见 框架与脚本类型匹配。