Eh'Trace - 无需修改二进制文件的Windows动态跟踪工具
去发现同类优质开源项目:https://gitcode.com/
EhTrace 是一个专为Windows设计的高级二进制追踪工具,以C语言实现,能够在不修改目标程序的情况下提供深度洞察代码执行流、覆盖率和寄存器状态等信息,而无需任何先验知识。
项目简介
EhTrace的独特之处在于其无侵入性:它不需要目标二进制文件进行任何修改,即可捕获与钩子技术类似的详细信息。在DEFCON24即将发布的更新中,EhTrace将引入 RANSOM WARRIOR 功能,用于防御或中和勒索软件,并计划实施 RoP Defender,以检查并确保调用/返回语义的平衡。
此外,EhTrace强调高性能,在不影响系统性能的同时,通过分支步进而非单步执行来跟踪基本块,从而避免了多路径评估和复杂的静态分析。所有这些都在进程内部完成,减少了上下文切换带来的影响。
高性能秘诀
EhTrace利用已知的高效率追踪方法,并且不依赖调试器或启用调试/跟踪MSR功能。通过分支步进而非单步执行,我们可以自然地维护时间上的状态,并轻松获取基础块头信息。在短短10秒内,EhTrace能够处理高达4亿2千8百多万个32位事件!
测试示例:CSW16演示中的记事本生成了以下轨迹图:
相关项目
EhTrace还包括一系列配套项目,如用于清理共享内存日志的 Acleanout
,以及集成了反汇编功能的GUI库 WPFx
等,它们共同构成了一个强大的动态分析生态系统。
必要的依赖项
请注意,使用EhTrace时需要 DBGHELP.DLL
和 SYMSRV.DLL
,我们会尽快将其加入仓库,确认其可再分发性。
深度应用
EhTrace适用于安全研究人员、逆向工程师以及任何需要深入了解代码执行流程的开发者。例如:
- 安全检测:识别恶意软件行为,防止勒索软件。
- 性能优化:通过详细的执行轨迹分析,找出性能瓶颈。
- 软件调试:了解无源代码的程序执行路径。
项目特点
- 无侵入性: 不修改原始二进制文件。
- 高性能: 利用分支步进技术,避免复杂静态分析,保持高效执行。
- 全面跟踪: 收集代码覆盖率、执行流和寄存器状态等信息。
- **扩展性`: 提供了一系列配套项目,构建了一套完整的分析工具链。
如果你对深入理解二进制文件的运行机制感兴趣,或者你需要一个强大而灵活的动态追踪工具,那么EhTrace无疑是你的理想选择。立即尝试并加入我们的社区,一起探索更多的可能性!
去发现同类优质开源项目:https://gitcode.com/