Git Product home page Git Product logo

codefuzzer's Introduction

[toc]

前言

开发codefuzzer的初衷,主要是想白盒fuzz工具拥有这样的能力

它可以随意融入原有测试框架,作为原有测试的增强,而不是一定要另起炉灶   
它的用例编写可以很友好,无论被测参数的类型、数量、形态,而不是伤脑筋从一个buf里去截取
有一种通用的方式,可以将复杂被测对象的语法输入给工具,因为这些场景盲变异差强人意
他的测试方式和场景可以非常灵活,根据你的需要去随意定制,扩展

希望我的工具可以帮助到你

由于作者本人对afl,libfuzzer,syzcaller,peach等fuzz工具非常熟悉,本工具编写不可避免的对这些工具有所借鉴

简介

工具多数场景,会被编译成libcodefuzzer.a,引用工具头文件codefuzzer.h,链接工具库文件libcodefuzzer.a,
就可以编写你的测试用例,针对函数接口进行fuzzing测试

如何编译工具

如何编译工具

如何移植工具

如何移植工具

如何编译被测代码

如何编译被测代码

简单使用举例

简单使用举例(main)
简单使用举例(cmd)
简单使用举例(passive)

用例编写

基础编写方法

典型情况举例
测试buf
测试结构体
测试链表
测试文件
发现逻辑问题

建模

场景适配

gtest下使用
运行libfuzzer用例
适配windows
测试驱动
利用hook测试
适配安卓

工具原理

变异算法
数据类型
内存hook
样本生成、调度、淘汰
速度调优

动态扩展

调整变异算法
调整变异频率
调整变异位置
调整样本权重

静态扩展

自定义字典
自定义变异算法
自定义数据类型
自定义样本进化方式

调试

算法调试
分支过关调试
普通测试

其他

bug复现
报告生成

作者

[email protected]
wanghao

历史版本

https://gitee.com/anner910/codefuzzer/tags

codefuzzer's People

Contributors

anner910 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.