Pre
使用AFL先跑其自带的测试用例。
Start
安装好的AFL目录如下图所示:
其中的test-instr.c就是测试所用的示例。
需要将其再编译生成插桩后的二进制文件,新建一个test目录,再在里面新建test_in,test_out两个目录,将测试文件复制到该文件夹中,新建一个简单的makefile文件,如下:
然后make编译就能生成二进制插桩后的文件了,一般出现一个提示”core_pattern“的设置错误,这里的话需要设置一下状态:
1 | $ sudo su |
然后就可以正常跑了,一般执行命令afl-fuzz
,可以参阅上一篇文章。
我从中午一直跑到了晚上,也没有发现crash的情况出现,结果在freebuf的一篇文章看到如果“cycles done”的字段颜色为绿色就代表再跑下去也没什么结果了,afl运行的过程一直是个死循环,所以才会一直在跑。
然后我就强行停止了。
Again
很奇怪的是这是afl自带的测试用例,按道理不应该跑不出来的。于是我又去找了一下社区内前辈的文章来看,借用了其中的一个示例代码,结果就很快跑出该程序的crash情况了。
我特意把两次的输出目录都分开了,两次跑的结果都存在,至于如何分析输出的情况,接下来会继续。