工具

Interruptor 系统调用跟踪库

源自 Dexcalibur 项目的 Frida 库,借助 Frida 的 Stalker 跟踪进程的系统调用,输出类似 strace 的记录,标明调用线程、模块与偏移,解码标志位取值,并根据文件描述符还原文件路径。跟踪范围可按名称或模式限定到指定模块和系统调用,可在某个库加载时启动,可附加 Interceptor 风格的逐系统调用回调,还能生成 drcov 基本块覆盖率文件。README 说明支持 AArch64 与 x64 上的 Linux 和 Android;源码中另有 AArch32 Linux 以及 macOS arm64、x64 的入口。

使用条件与局限

  • 审阅时 npm 上的最新版本为 @reversense/interruptor 1.0.12,发布于 2023-04-02;GitHub 上最新的发布版本为 v1.0.9(2023-03-29)。所审阅的 main 分支提交(2026-09-23)包含尚未发布的改动,例如重构 arm64 寄存器处理、修正 preadv2/pwritev2 参数,但没有更新版本号;README 仍称项目处于开发中。
  • 需在分析者自己的 Frida 代理中使用:安装 npm 包、用 npm 和 TypeScript 从源码构建,或加载按架构用 webpack 打包的脚本。README 指出,直接把 TypeScript 代理交给 frida 运行需要 Frida 16 或更高版本;package.json 依赖 @types/frida-gum ^17.3.0。Android 示例通过 frida -U 连接 USB 设备;README 提醒 CodeShare 快速上手方式无法配置,面对混淆或多线程应用时可能失败。
  • README 的支持列表只列出 AArch64(SVC,HVC 标为开发中)和 x64(SYSCALL)上的 Linux 系统调用 API;源码中的 AArch32 Linux 与 macOS 工厂没有说明支持状态。代理跟踪器无法跟随子进程或多个进程,主机端独立跟踪器标为待办。生成覆盖率需要目标进程可写的输出路径。CI 在 Node 16 上运行针对 Linux AArch32 与 arm64 工厂的 Mocha 测试;没有公开设备上的测试结果。仅用于分析者有权检查的软件。
  • package.json 与 npm 元数据声明 GPL-3.0-only,但 LICENSE 文件是 x64dbg 修改过的 GPL-3.0 文本,其中新增的例外条款针对 x64dbg 插件而非本项目,因此 GitHub 无法识别其许可证。README 还推广另行提供的商业版 Dexcalibur Pro。所审来源未确立与 REA 的关联;本次核查未安装或运行任何内容。

关于此条目

类型
工具
类别
调试与动态分析
关联
基础工具
目标
应用 · 二进制

来源复核于

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

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

一手来源

  1. README.md GitHub · FrenchYeti/interruptor · 修订 6faa9f6
  2. package.json GitHub · FrenchYeti/interruptor · 修订 6faa9f6
  3. LICENSE GitHub · FrenchYeti/interruptor · 修订 6faa9f6
  4. .github/workflows/ci.yml GitHub · FrenchYeti/interruptor · 修订 6faa9f6
  5. src/arch GitHub · FrenchYeti/interruptor · 修订 6faa9f6
  6. src/utilities/Coverage.ts GitHub · FrenchYeti/interruptor · 修订 6faa9f6
  7. https://github.com/FrenchYeti/interruptor/releases/tag/v1.0.9
  8. https://www.npmjs.com/package/@reversense/interruptor/v/1.0.12

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

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