首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

uniFuzzer:一款基于Unicorn和LibFuzzer的闭源模糊测试工具

uniFuzzer uniFuzzer是一款基于Unicorn和LibFuzzer的闭源模糊测试工具,该工具当前支持对ARM/MIPS架构的32位LSB ELF文件进行模糊测试,而这样的系统架构和平台一般常见于物联网设备上...LibFuzzer LibFuzzer应该许多人都不陌生,这是LLVM项目中内置的一款fuzzing工具,相比我们之前介绍过的AFL,LibFuzzer具有以下优点: 1....便捷:提供了API接口,便于定制化和集成 而且,和AFL一样,LibFuzzer也是基于代码覆盖率来引导变异输入的,因此fuzzing的效率很高。...接下来,在uniFuzzer的原理中,我们会介绍如何结合Unicorn和LibFuzzer的功能,对闭源程序进行代码覆盖率的跟踪反馈。

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

Bozz Nuster_Collectivum XXVIII

大家好,又见面了,我是你们的朋友全栈君 前言 这篇文章主要讲的是在Libprotobuf-mutator与LibFuzzer联合使用的基础上,加上custom mutator功能。...首先需要明确的是为什么要这么做,如果你看了上一篇【Custom Mutator Fuzz】Libprotobuf + LibFuzzer联合使用就可以发现,我们虽然构造了拥有a、b两个字段的结构,但是结构中的数据是由...LibFuzzer随机突变生成的。...那么假设b字段只有为”FUZZ”或”PWN”两个字符的时候才能进入下一个程序分支的情况,当然LibFuzzer也可以在代码覆盖率的加持下进入下一个程序分支,但如果你通过逆向的方式已经知道了这个关键点,难道还需要等...LibFuzzer跑出这两个字符串吗?

25310

基于qemu和unicorn的Fuzz技术分析

libFuzzer unicorn 模式 源码地址 https://github.com/PAGalaxyLab/uniFuzzer libfuzzer 支持从外部获取覆盖率信息 __attribute...__((section("__libfuzzer_extra_counters"))) uint8_t Counters[PCS_N]; 上面的定义表示 libfuzzer 从 Counters 里面取出覆盖率信息来引导变异...那么下面就简单了,首先通过 unicorn 的基本块 hook 事件来搜集执行的基本块信息,然后在回调函数里面更新Counters, 就可以把被 unicorn 模拟执行的程序的覆盖率信息反馈给 libfuzzer... 统计覆盖率的方式在 Counters 更新覆盖率信息并反馈给 libfuzzer....对于 libfuzzer 而言,它本身就支持从外部获取程序执行的覆盖率信息(通过全局变量来传递),所以如果要实现新的覆盖率搜集方式,按照 libfuzzer 的规范来实现即可。

76920

从研究者的视角看Fuzzing技术发展30年

比如OpenSSL网络协议Fuzzing,通过源码打Log的方式先收集网络数据为本地文件,再调用其API写个hareness用AFL或libfuzzer进行本地测试,就顺利地将网络协议Fuzzing转换为文件...随后,基于afl二次开发的fuzzer如雨后春笋般涌现出来,比如winafl、libfuzzer、AFLFast、Vuzzer等等,而且针对各种语言的版本出相继出现,比如go、python、js、ruby...2016年Google提出"结构感知型Fuzzing”(Structure-Aware Fuzzing ),并基于libfuzzer与protobuf实现了libprotobuf-mutator(https...://github.com/google/libprotobuf-mutator),其实现思路与syskaller相似,它弥补了peach的无覆盖引导的问题,也弥补了afl和libfuzzer对于复杂输入类型的低效变异问题...25000+台机器上,发现过16000+个Chrome bug,11000+开源项目bug,这个平台整合了OSS-Fuzz(https://github.com/google/oss-fuzz ),既支持libfuzzer

2.2K40
领券