本文样例为LibTIFF version 4.0.4,以CVE-2016-9297漏洞举例
Install
直接使用apt
安装包即可
1 | sudo apt install lcov |
Usage
整体流程大致如下
1 | cd ./tiff-4.0.4/ |
每个部分含义如下:
lcov --zerocounters --directory ./
,用于重置计数器lcov --capture --initial --directory ./ --output-file app.info
,创建一个”baseline”覆盖率数据文件,其中包含每个检测线的零覆盖率../install/bin/tiffinfo -D -j -c -r -s -w ../out/default/crashes/id:000000,sig:06,src:000000,time:11605,execs:6660,op:havoc,rep:4
,运行要分析的程序和输入,或是fuzz出的crash样本,这一步可以多次运行不同的输入用于测量覆盖率lcov --no-checksum --directory ./ --capture --output-file app2.info
,将上一步出现的覆盖状态保存在app2.info
最后,我们需要生成一个html文件方便我们查看覆盖率情况
1 | genhtml --highlight --legend -output-directory ./html-coverage/ ./app2.info |
如果正常的话,我们就可以打开./html-coverage/index.html
,查看覆盖率状况