hasherezade/tiny_tracer

GitHub: hasherezade/tiny_tracer

一个基于 Intel Pin 的动态追踪工具,用于在恶意软件分析中记录 API 调用、系统调用、节区切换并规避反调试。

Stars: 1662 | Forks: 166

# tiny_tracer [![Codacy 徽章](https://app.codacy.com/project/badge/Grade/f988180bfb4d45ebbe4764bde1058c2f)](https://app.codacy.com/gh/hasherezade/tiny_tracer/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) [![提交活跃度](https://img.shields.io/github/commit-activity/m/hasherezade/tiny_tracer)](https://github.com/hasherezade/tiny_tracer/commits) [![最近提交](https://img.shields.io/github/last-commit/hasherezade/tiny_tracer/master)](https://github.com/hasherezade/tiny_tracer/commits) [![构建状态](https://ci.appveyor.com/api/projects/status/543ql60gxxuri9j2?svg=true)](https://ci.appveyor.com/project/hasherezade/tiny-tracer) [![GitHub 发布](https://img.shields.io/github/release/hasherezade/tiny_tracer.svg)](https://github.com/hasherezade/tiny_tracer/releases) [![GitHub 发布日期](https://img.shields.io/github/release-date/hasherezade/tiny_tracer?color=blue)](https://github.com/hasherezade/tiny_tracer/releases) 一个用于跟踪的 Pin 工具: + API 调用,包括所选函数的输入输出 + 定义的本地函数 + 选中的指令:RDTSC、CPUID、INT + 内联系统调用,包括所选系统调用的参数 + 被追踪模块各节之间的转换(有助于查找加壳模块的 OEP) + 定义代码片段中执行的指令 规避一些已知的反调试和反 VM 技术 生成一个 `.tag` 格式的报告(可以加载到其他分析工具中): ``` RVA;traced event ``` 即 ``` 345c2;section: .text 58069;called: C:\Windows\SysWOW64\kernel32.dll.IsProcessorFeaturePresent 3976d;called: C:\Windows\SysWOW64\kernel32.dll.LoadLibraryExW 3983c;called: C:\Windows\SysWOW64\kernel32.dll.GetProcAddress 3999d;called: C:\Windows\SysWOW64\KernelBase.dll.InitializeCriticalSectionEx 398ac;called: C:\Windows\SysWOW64\KernelBase.dll.FlsAlloc 3995d;called: C:\Windows\SysWOW64\KernelBase.dll.FlsSetValue 49275;called: C:\Windows\SysWOW64\kernel32.dll.LoadLibraryExW 4934b;called: C:\Windows\SysWOW64\kernel32.dll.GetProcAddress ... ``` ## 🚧 如何构建 已在 Intel Pin 4.2 上测试。 你可以在 Windows 或 Linux 上构建它。详细描述见此处。 *如果你在 Windows 上构建项目时遇到任何问题,可以使用来自 AppVeyor 服务器的测试构建。选择平台,然后选择 'Artifacts'。检查 'Console' 输出以查看使用它们所需的 Pin 版本。然后,按照安装说明进行操作。* ## ⚙ 用法 📖 使用详情请参阅项目的 Wiki。
## 🛠 辅助工具 要自动生成用于 API 参数追踪的 `params.txt`,请尝试 YoavLevi 开发的 IAT-Tracer ## 警告 + 为了使 Pin 正常工作,必须**禁用**内核调试。 + 在 `install32_64` 目录中,你可以找到一个用于检查内核调试器是否已禁用的实用工具(`kdb_check.exe`,源码),它被 Tiny Tracer 的 `.bat` 脚本使用。该实用工具有时会被 Windows Defender 标记为恶意软件(已知的误报)。如果遇到此问题,你可能需要将安装目录从 Windows Defender 扫描中排除。 + 自 3.20 版本起,Pin 已放弃对旧版 Windows 的支持。如果你需要在 Windows < 8 上使用该工具,请尝试使用 Pin 3.19 编译。 🤔 有问题?有想法?加入讨论!
标签:API追踪, Conpot, DAST, DOM解析, OEP查找, Pin Tool, Windows安全, 二进制分析, 云安全运维, 云资产清单, 代码分析, 凭证管理, 函数追踪, 动态二进制插桩, 反虚拟机, 反调试, 恶意软件分析, 指令追踪, 系统调用追踪, 脱壳辅助, 输入输出追踪, 运行追踪, 逆向工程