hasherezade/tiny_tracer
GitHub: hasherezade/tiny_tracer
一个基于 Intel Pin 的动态追踪工具,用于在恶意软件分析中记录 API 调用、系统调用、节区切换并规避反调试。
Stars: 1662 | Forks: 166
# tiny_tracer
[](https://app.codacy.com/gh/hasherezade/tiny_tracer/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[](https://github.com/hasherezade/tiny_tracer/commits)
[](https://github.com/hasherezade/tiny_tracer/commits)
[](https://ci.appveyor.com/project/hasherezade/tiny-tracer)
[](https://github.com/hasherezade/tiny_tracer/releases)
[](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 参数追踪的 `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安全, 二进制分析, 云安全运维, 云资产清单, 代码分析, 凭证管理, 函数追踪, 动态二进制插桩, 反虚拟机, 反调试, 恶意软件分析, 指令追踪, 系统调用追踪, 脱壳辅助, 输入输出追踪, 运行追踪, 逆向工程