文章预览
libFuzzer类库模糊测试引擎调研 一 简介 项目地址 :llvm-project/compiler-rt/lib/fuzzer at main · llvm/llvm-project (github.com) libFuzzer 是由 LLVM 项目开发的覆盖率引导模糊测试引擎,广泛用于自动发现软件中的漏洞和错误。它通过不断生成和测试输入数据,提高代码覆盖率,找到潜在的缺陷。libFuzzer 尤其适合测试用 C 和 C++ 编写的代码。 二 libFuzzer 的模块结构 libFuzzer 是一个面向库的模糊测试引擎,广泛用于发现软件中的漏洞。了解其模块结构有助于深入理解其工作原理和扩展能力。以下是 libFuzzer 的主要模块结构: FuzzerDriver ◆ 功能 :这是 libFuzzer 的核心入口点,负责初始化模糊测试环境、读取输入文件、启动模糊测试循环。 ◆ 关键函数 : main : 入口函数,负责解析命令行参数并调用 FuzzerDriver 。 FuzzerDriver : 核心循环,包含模糊测试的主逻辑。 Mutation ◆ 功能 :
………………………………