用途:约束 Frida 17 下的 MCP 操作,要求按固定阶段顺序执行,禁止跳步,以降低误用与不可控 Hook 风险。
主要能力与阶段:
- Idea:定义目标(进程/应用标识、平台、会话类型)与需观察的信号/结果;每次使用非平凡 API 前调用 search_frida_docs 查文档;在写脚本前记录 2-5 条所用文档事实;仅按 Frida 17 语义假设。文档缺失或含糊时须收窄查询重试,不得继续脚本编写。
- Scripting:优先使用已保存文件而非内联脚本;内联仅限短的只读探测;Hook 脚本必须基于文件并通过 load_script 加载。需声明 script_id、用途和明确目标列表(模块/符号或类/方法),加入幂等保护防止重复安装,并定义拆卸路径(注销 RPC 导出等)。脚本超过 25 行或含写 Hook 时须存为文件;修改现有行为时须含回滚逻辑。
- Execution:加载/执行前做预检(会话存在且存活、列出已加载脚本、检查目标重叠);若重叠,先卸载/替换旧脚本再加载新脚本。除非有意,否则不要对同一目标附加多个脚本;建议一脚本一用途(探测、Hook、追踪)。失败处理:出现 Java is not defined 时停止重试并复查文档/运行时假设;附加或启动失败时先运行诊断再重试插桩;文档输出过大时缩小查询范围或分页,不得猜测。
- Notes:每次执行周期后将笔记持久化到文件,记录所用文档事实、脚本台账(已加载/已卸载/当前活动)、观察输出与验证状态、错误及根因、清理状态与下一步动作;结束工作时确认拆卸完成。
必需响应结构:每个任务按 Idea、Scripting、Execution、Notes 顺序输出四部分;在 Idea 与 Scripting 出现前不得在 Execution 中运行工具调用。
适用场景:通过 MCP 使用 Frida 17 进行附加/启动会话、脚本编写与加载、Java/原生 Hook 应用等。
限制:官方文档未提供更多安装或配置说明,具体命令与依赖暂未提供。