工具

frida-trace(NowSecure 声明式跟踪库)

供 Frida 代理脚本使用的 JavaScript 库,按声明式描述跟踪原生函数:每个函数都列出返回类型及输入、输出参数,参数类型包括指针、UTF-8 与 UTF-16 字符串,以及长度绑定到其他参数或返回值的字节数组,还可设置条件,例如仅在调用成功时读取输出指针。它从模块导出表或虚函数表解析函数,挂接 Frida 的 Interceptor,并为每次调用向回调传递一个事件。同一仓库中的辅助脚本可借助 libclang 从 C 头文件生成跟踪样板代码。

目标
应用 · 二进制
类别
调试与动态分析
关联
基础工具
来源复核于

使用条件与局限

  • 它不是 Frida 自带的同名命令行工具 frida-trace。npm 上最新版本为 4.0.1,发布于 2025-06-16,与所审阅的 main 分支提交 9b92c17 一致,将该库移植到 Frida 17;2024 年 1 月发布的 4.0.0 改为 ES 模块。
  • 它运行在用户自行编写、编译(例如使用 frida-compile)并加载到 Frida 可附加进程中的代理脚本里,本身没有命令行界面。支持的类型包括 bool、byte、short、int、指针、字节数组、UTF-8、UTF-16 和 C 字符串;捕获到的值是否准确,取决于用户声明的函数签名是否正确。
  • 头文件工具位于 frida-trace-tools,仓库中的版本为 3.3.0,未发布到 npm;需要 Node.js 和 frida-libclang,而 README 仍按旧的 ./bin 路径调用它们。仓库附带的示例宿主程序与代理仍依赖 frida 16 和 frida-trace ^3.0.0。仓库没有测试或持续集成。
  • 采用 MIT 许可。插桩所需的目标进程须是用户有权检查的进程;未提及使用 REA,本次审阅未运行任何内容。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · nowsecure/frida-trace · 修订 9b92c17
  2. index.js GitHub · nowsecure/frida-trace · 修订 9b92c17
  3. package.json GitHub · nowsecure/frida-trace · 修订 9b92c17
  4. frida-trace-tools/package.json GitHub · nowsecure/frida-trace · 修订 9b92c17
  5. example/package.json GitHub · nowsecure/frida-trace · 修订 9b92c17
  6. LICENSE.md GitHub · nowsecure/frida-trace · 修订 9b92c17
  7. https://github.com/nowsecure/frida-trace/pull/40
  8. https://www.npmjs.com/package/frida-trace/v/4.0.1

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

原生二进制分区全部 158 项资源