首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFL "(odd,检查语法!)“

AFL "(odd,检查语法!)“
EN

Stack Overflow用户
提问于 2020-12-25 02:08:36
回答 1查看 433关注 0票数 0

我正在尝试使用AFL模糊pngquant,并注意到我看到了odd, check syntax!警告。previous answer表示AFL可能没有读取我指定的输入文件。我可以通过提供png文件来调用pngquant,该文件位于我在使用AFL进行模糊处理时使用的同一个输入示例目录中。

我执行的AFL命令是:

代码语言:javascript
复制
afl-fuzz -i ./in-filtered -o ./out -x ./dictionary/png.dict -- pngquant @@

AFL documentation提到,当AFL无法找到新路径时,可能会弹出odd, check syntax!警告。

此外,我注意到,一旦AFL开始使用havoc模糊策略,就会弹出警告。下面的图像显示,一旦fuzzer开始使用havoc,周期计数就会开始递增。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 22:06:52

这是因为pngquant的用法不正确。

当使用pngquant时,它会生成一个带有结果的输出文件,当你执行两次时,你会遇到一个错误:

代码语言:javascript
复制
➜  pngquant git:(master) ✗ ./pngquant  ./test/img/metadata.png
➜  pngquant git:(master) ✗ ./pngquant  ./test/img/metadata.png
error: './test/img/metadata-fs8.png' exists; not overwriting

AFL没有机会探索目标,因为它每次都会被封锁。

快速查看后,最简单的修复方法如下:

代码语言:javascript
复制
afl-fuzz -i ./in -o ./out -- ./pngquant -f -- @@

这会强制pngquant覆盖结果文件,从而启用afl-fuzz。但是,请注意这会产生大量IO。因此,尝试使用/dev/null或类似的技巧来规避这一点。

毛发快乐!

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

https://stackoverflow.com/questions/65441830

复制
相关文章

相似问题

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