DrSancov:开源动态二进制检测工具的新星
在软件测试领域,动态二进制检测(DBI)工具一直是开发者和安全研究人员的重要工具。今天,我们要介绍的是一个新兴的开源项目——DrSancov,它基于DynamoRIO开发,旨在简化闭源软件的测试流程。
项目介绍
DrSancov是一个小型的DBI模块,它结合了AddressSanitizer和SanitizerCoverage的基本功能,同时与DrCov类似。该项目的主要目标是使闭源软件能够利用现有的模糊测试管道进行测试,这些管道通常期望目标程序编译时带有ASAN或SanitizerCoverage。DrSancov支持x86和x86-64架构的应用程序。
项目技术分析
DrSancov通过DynamoRIO运行时环境,对目标程序进行动态插桩,从而在程序崩溃时生成类似于AddressSanitizer的报告,并保存代码覆盖信息到.sancov
文件中。这些文件与SanitizerCoverage生成的文件兼容。值得注意的是,DrSancov并不改进内存错误检测,它仅对那些无论如何都会导致硬崩溃的情况生成ASAN兼容的报告。
项目及技术应用场景
DrSancov特别适用于以下场景:
- 闭源软件测试:对于那些无法重新编译的闭源软件,DrSancov提供了一种无需修改源码即可进行模糊测试的方法。
- 兼容性测试:在现有模糊测试管道中,确保闭源软件能够无缝集成并生成必要的测试报告。
- 代码覆盖分析:通过收集基本块粒度的代码覆盖信息,帮助开发者理解程序的执行路径,优化测试用例。
项目特点
- 兼容性:DrSancov生成的报告和覆盖文件与ASAN和SanitizerCoverage兼容,确保了与现有工具链的无缝集成。
- 易用性:通过简单的命令行操作,即可对目标程序进行插桩和测试,无需复杂的配置。
- 灵活性:支持通过环境变量控制插桩行为,如覆盖收集、退出代码和日志路径等。
- 跨平台:支持x86和x86-64架构,适用于多种操作系统和应用场景。
DrSancov的出现,为闭源软件的测试提供了一种新的可能性。无论你是软件开发者还是安全研究人员,DrSancov都值得你一试。立即访问DrSancov GitHub页面,开始你的测试之旅吧!