-
-
[原创]使用libfuzzer对msvc编译的程序进行白盒fuzz
-
发表于: 2023-9-6 17:57 4271
-
一、介绍
libfuzzer是llvm提供的工具之一,用于白盒fuzz,原理是编译插桩,写测试用例很方便,然而由于是llvm里的工具所以无法直接对msvc编译的程序使用。
经过反复踩坑,找到了使用libfuzzer对msvc编译的程序进行白盒fuzz的办法。
二、原理
添加一些编译选项,链接一些vs2019自带的asan、sancov、libfuzzer相关的链接库,其中我对libfuzzer库进行了一些修改,使其更好用一些。
三、使用限制
由于msvc和llvm的一些东西不兼容,所以目前限制还是很多的,首先由于asan更改了一些基础库的实现,所以项目必须用/MT进行编译,接着编译配置必须是RelWithDebInfo,最后编译选项LTCG必须关闭。
三、项目
https://github.com/TechForBad/WinMsvcLibfuzzer
里面包含一些fuzz示例。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2023-9-11 11:14
被TechForBad编辑
,原因: 完善补充
赞赏
他的文章
- [下载] visual assist 2522 3289
- [原创]使用libfuzzer对msvc编译的程序进行白盒fuzz 4272
- [原创]利用CE的DBK驱动获取R0权限 23226
- [原创]某神的驱动进程保护 13056
- [原创]使用winafl对迅雷的torrent解析逻辑进行fuzz 24376
看原图
赞赏
雪币:
留言: