All Projects → WayneDevMaze → Chinese_noted_AFL

WayneDevMaze / Chinese_noted_AFL

Licence: other
记录自己在看 afl 源码时候的一些笔记和想法,还有一些自己觉得有意思的魔改。2020年12月2日update:添加混合模糊测试目录

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects

Labels

Projects that are alternatives of or similar to Chinese noted AFL

afl-dynamorio
run AFL with dynamorio
Stars: ✭ 32 (-60.98%)
Mutual labels:  afl-fuzz
afl-dyninst
American Fuzzy Lop + Dyninst == AFL Fuzzing blackbox binaries
Stars: ✭ 65 (-20.73%)
Mutual labels:  afl-fuzz
LibAFL
Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...
Stars: ✭ 1,348 (+1543.9%)
Mutual labels:  afl-fuzz
Aflplusplus
The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!
Stars: ✭ 2,319 (+2728.05%)
Mutual labels:  afl-fuzz
cpytraceafl
CPython bytecode instrumentation and forkserver tools for fuzzing pure python and mixed python/c code using AFL
Stars: ✭ 18 (-78.05%)
Mutual labels:  afl-fuzz
fuzzuf
Fuzzing Unification Framework
Stars: ✭ 263 (+220.73%)
Mutual labels:  afl-fuzz
aflnw
AFLNW: network wrapper for AFL
Stars: ✭ 21 (-74.39%)
Mutual labels:  afl-fuzz
Grammar-Mutator
A grammar-based custom mutator for AFL++
Stars: ✭ 133 (+62.2%)
Mutual labels:  afl-fuzz
e9afl
AFL binary instrumentation
Stars: ✭ 234 (+185.37%)
Mutual labels:  afl-fuzz
afl-pin
run AFL with pintool
Stars: ✭ 64 (-21.95%)
Mutual labels:  afl-fuzz
PersonalStuff
This is a repo is to upload files done during my research.
Stars: ✭ 94 (+14.63%)
Mutual labels:  afl-fuzz

Chinese_noted_AFL

源代码

afl-fuzz.c

  1. 对源文件添加注释,和自己的个人见解,并随着对其深入不断修正并在文件头记录了关于fuzz test的笔记和关于AFL的想法。
  2. 对out_dir文件夹的操作进行了小修改,当文件夹内有 valuable 的内容的时候,不是停止程序,而是做备份,然后让程序继续。afl-fuzz.c的out_dir修改 afl-tmin.c 在原来的基础上添加了文件夹操作命令 -d(判断是不是文件夹),-i 后面接文件夹路径(如果需要文件夹的话,需要 -d 模式为 1) 详细说明:afl-tmin魔改 afl-cmin 提高了鲁棒性,如果 -o 文件夹不是空的话,可以自动将其保存,然后重新生成,而不是被提示文件夹不为空233
    详细说明:afl-cmin魔改

源码笔记

afl-fuzz.c笔记文件记录了看源码时候记录的一些笔记,现在还不成系统,边看边写,在看雪上也有(上篇、下篇),欢迎点赞收藏。
AFL笔记上篇
AFL笔记下篇
总共分为五个部分:
Ⅰ、文件引用:主要是对所引用头文件的解释,包括自定义头文件和标准库的头文件。
Ⅱ、预备工作:从预处理、变量、结构体三个方面进行记录。
Ⅲ、fuzzing的整体结构:对fuzzing过程中的大过程进行划分,其中主要记录关于输入命令的while,文件变异方式(六种),fuzzing的策略,以及语料库的更新。
Ⅳ、关键函数实现原理:按照大的功能块的划分,记录一些关键函数的理解。
Ⅴ、main函数:对main函数的循环进行完整解释。
Ⅵ、附录,一些看过比较好的文章分享。

混合模糊测试

最近总结相关综述,顺便梳理了一遍相关的论文,从最早的hybrid testing到最流行的driller,基本都有。 可以在本项目文件夹下看混合模糊测试整理 hybrid fuzzing,要是想看fuzzing相关详细的可以去另外一个论文项目查看:fuzzing papers

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].