AFL介绍
Americanfuzzylop(AFL)是由lcamtuf开发的一款模糊测试工具,它采用了编译时插桩和遗传算法来自动发现能引起目标二进制文件新的内部状态的干净有趣的测试用例。它的工作流程大致如下:
将用户提供的初始测试用例加载到队列中从队列中获取下一个输入文件尝试将测试用例调整到不会影响程序行为的最小大小使用均衡的经过充分研究过的各种传统模糊测试策略反复的变异文件如果任何生成的突变导致记录了一个新的状态转换,将变异的输出作为新的加入到队列中回到步骤2开始重复操作发现的测试用例也会定期选出部分消除,用更新的更高覆盖率的用例所取代,并执行几个其他插桩驱动的工作量最小化步骤。
插桩
当源代码已知时,AFL可以在重新编译源代码时对相关代码进行插桩。
AFL的安装与使用
首先从