首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在达到超时时使afl-fuzz不跳过测试用例

如何在达到超时时使afl-fuzz不跳过测试用例
EN

Stack Overflow用户
提问于 2018-11-29 20:11:54
回答 1查看 3.2K关注 0票数 2

我目前正试图用AFL模糊(美国模糊Lop)模糊化PDF查看器。

我的问题很简单,afl-fuzz期望应用程序接收一个输入,并在处理它之后关闭。但是,PDF查看器的目的是打开文档并一直打开直到关闭。结果是,afl-fuzz达到了所有初始输入的超时,并决定在这里停止。

代码语言:javascript
复制
...
[*] Validating target binary...
[*] Attempting dry run with 'id:000000,orig:myPDFsample00.pdf'...
[*] Spinning up the fork server...
[+] All right - fork server is up.
[!] WARNING: Test case results in a timeout (skipping)
[*] Attempting dry run with 'id:000001,orig:myPDFsample01.pdf'...
[!] WARNING: Test case results in a timeout (skipping)
[*] Attempting dry run with 'id:000002,orig:myPDFsample02.pdf'...

[-] PROGRAM ABORT : All test cases time out, giving up!
         Location : perform_dry_run(), afl-fuzz.c:2883

我想知道如何告诉AFL要考虑到达超时并终止程序是测试用例的“正常”行为。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-25 14:39:43

实际上,通常的方法似乎只是通过在解析之后添加一个exit(0)来测试您正在查看的软件的代码。

这看起来很基本,但我工作..。

另一种方法是改变AFL软件中超时的含义。但是,当您的软件可能进入一个永无止境的循环时,它将不会检测到“挂起”。

因此,最好的方法似乎是在解析完成后在目标软件中添加一个exit(0) (或者return 0,如果您在main()中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53546823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档