项目介绍:bncov — 动态二进制分析的利器

项目介绍:bncov — 动态二进制分析的利器

去发现同类优质开源项目:https://gitcode.com/

bncov 是一个可脚本化的Binary Ninja插件,专为覆盖率分析和可视化设计。它不仅仅是简单的图形化展示,而是提供了用于程序化推理关于覆盖率的抽象接口。无论是在GUI交互式环境中还是作为大型分析任务的一部分,甚至在独立脚本中,bncov都能发挥出色的作用。

Demo Overview

这个插件是回馈给社区的一个开源项目,并不是Mayhem产品的一部分。如果你对结合符号执行和模糊测试的Mayhem系统感兴趣,可以访问forallsecure.com了解更多详情。

项目技术分析

bncov支持DynamoRIO的drcov格式版本3,通过提供一个名为ctx的对象,可以基于Binary View进行多文件场景下的使用。其API设计简洁且灵活,包括:

  • 通过bncov.get_ctxbncov.get_covdb获取与视图关联的上下文对象。
  • 将旧的辅助函数bncov.get_bv/bncov.get_covdb更改为bncov.make_bv/bncov.make_covdb,以从目标文件和覆盖率目录创建Binary View和覆盖率数据库。
  • 函数相关的covdb成员函数默认基于函数起始地址,这提高了独特性和可用性。
  • 支持Python 3,放弃了Python 2的支持。

此外,还有download_dynamorio.py工具帮助懒人快速安装DynamoRIO。

应用场景

  1. 覆盖率可视化:利用导入的覆盖率信息,可以直接在Binary Ninja界面中以热力图形式高亮显示已覆盖的块。
  2. 实时更新:监视覆盖目录,当有新的覆盖率文件出现时,会自动更新并高亮显示。
  3. 差异分析:直观地查看哪些块仅被少数或大量跟踪覆盖。
  4. 前沿发现:突出显示那些有未被覆盖的向外边界的块。
  5. 功能报告:为特定函数生成覆盖报告,发现未被触及的功能部分。

项目特点

  • 灵活性:bncov不仅可用于GUI操作,还支持直接编程进行复杂的覆盖率分析。
  • 直观可视化:颜色编码的代码块使覆盖率一目了然,有助于快速识别稀有功能和前沿块。
  • 脚本友好:内建的CoverageDB类提供了丰富的函数,方便用户编写自定义脚本来扩展分析。
  • 自动化集成:可以监控目录,自动处理新产生的覆盖率文件,提高了工作效率。
  • 兼容性:支持DynamoRIO的drcov格式,附带示例脚本生成覆盖率文件。

要开始使用bncov,只需将插件复制到Binary Ninja的插件目录,然后按照教程一步步操作即可。

总的来说,bncov是一个强大且实用的工具,对于任何涉及二进制分析、漏洞发现或软件测试的开发者来说,都是不可或缺的资源。无论是初学者还是高级用户,都能从中获益良多。立即试用bncov,开启你的动态二进制分析之旅!

去发现同类优质开源项目:https://gitcode.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姬如雅Brina

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值