winafl 工具的编译

至于 winafl 是啥,上网找,有的是说法

 

这里只说明编译方法。

 

1:先去github,拿 winafl 代码

GITHUB 地址:https://github.com/googleprojectzero/winafl

git命令:git clone --recursive https://github.com/googleprojectzero/winafl

需要注意的是,一定要把相关的引用项目一起给下载下来

 

2:编译 winafl 的支持库 DynamoRIO。

具体编译方法,去看这里

https://www.cnblogs.com/suanguade/p/13388818.html

注意:这里其实不编译它也没问题,因为这个插桩库不是必须的,

但是如果要做fuzz,那么就必须,因为fuzz的关键模块 winafl.dll 是需要这个库的

 

3:打开cmake 配置项目

设置好目录之后,先configure

configure之后,在generate 之前,需要补一个环境变量,就是红框里面的。

路径里面必须要求带有如下文件:DynamoRIOConfig.cmake

之后就可以正常生成项目了。

 

4:可以用vs2017打开了,开始编译

 

 

一共就十来个项目,还算上测试项目,轻松编译完。

 

至此,就都编译完了。

最主要的工具有两个,

1:afl-fuzz.exe

2:winafl.dll

 

 

测试方法:

1:先使用IDA查询 test_gdiplus.exe 程序中main 函数的偏移

 

 

偏移是 0x1680

 

2:使用如下命令对 test_gdiplus.exe 做fuzz

1
afl-fuzz.exe -i in -o out -D D:\vs2017\dynamorio-master\dynamorio-master\Project\bin32 -t 20000 -- -coverage_module gdiplus.dll -coverage_module WindowsCodecs.dll -fuzz_iterations 5000 -target_module test_gdiplus.exe -target_offset 0x1680 -nargs 2 -- test_gdiplus.exe @@

  

3:程序开始运行了,挺难看的,说明编译没问题

 

 

 

 

至于怎么用,随便去找找较成吧

 

posted @   穷到底  阅读(573)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示