我是毛茸茸地区的新手,我看了AFL的实现。
AFL似乎将stdin文件描述符替换为input file描述符。每当目标程序遇到标准输入时,目标程序从input file而不是stdin接收输入。
所以,我的问题由此而来。
假设我们创建了一个库,我们希望使用fuzzer进行单元测试以找到一些实现错误。在本例中,我们不接受任何standard input,只接受来自使用我们库的开发人员的函数参数。因此,在这种情况下,AFL不起作用。
在这种情况下,Libfuzzer似乎是合适的解决方案,因为生成的输入可以输入到我们特定的感兴趣的函数中。
明白了吗?或者AFL也可以作为单元测试的libfuzzer工作?
谢谢
发布于 2021-08-23 18:15:37
Afl支持通过文件提供输入,而不仅仅是stdin。要测试通过参数接收输入的库,可以编写一个简单的可执行文件,它将打开输入文件、读取其内容、使用从该文件读取的参数值调用所需的库函数并关闭该文件。
https://stackoverflow.com/questions/68890003
复制相似问题