book intro

This commit is contained in:
Andrea Fioraldi 2021-03-27 00:36:13 +01:00
parent 1f7be63031
commit 4b77ea9975
13 changed files with 47 additions and 6 deletions

View File

@ -1,6 +1,6 @@
# LibAFL Documentation
# LibAFL Documentation Book
This project contains the out-of-source LibAFL documentation.
This project contains the out-of-source LibAFL documentation as a book.
Here you can find tutorials, examples and detailed explanations.

View File

@ -1,6 +1,6 @@
[book]
authors = ["Andrea Fioraldi"]
authors = ["Andrea Fioraldi", "Dominik Maier"]
language = "en"
multilingual = false
src = "src"
title = "LibAFL Documentation"
title = "The LibAFL Fuzzing Library"

View File

@ -1,3 +1,15 @@
# Summary
- [Chapter 1](./chapter_1.md)
[The LibAFL Fuzzing Library](./libafl.md)
[Introduction](./introduction.md)
- [Getting Started](./getting_started/getting_started.md)
- [Installation](./getting_started/installation.md)
- [Crates](./getting_started/crates.md)
- [Baby Fuzzer](./baby_fuzzer.md)
- [Core Concepts](./core_concepts/core_concepts.md)
- [Executor](./core_concepts/executor.md)
- [Observer](./core_concepts/observer.md)

1
docs/src/baby_fuzzer.md Normal file
View File

@ -0,0 +1 @@
# Baby Fuzzer

View File

@ -1 +0,0 @@
# Chapter 1

View File

@ -0,0 +1 @@
# Core Concepts

View File

@ -0,0 +1 @@
# Executor

View File

@ -0,0 +1 @@
# Observer

View File

@ -0,0 +1 @@
# Crates

View File

@ -0,0 +1 @@
# Getting Started

View File

@ -0,0 +1 @@
# Installation

14
docs/src/introduction.md Normal file
View File

@ -0,0 +1,14 @@
# Introduction
Fuzzers are important assets in the pockets of security researchers and even developers nowadays.
A wide range of cool state-of-the-art tools like [AFL++](https://github.com/AFLplusplus/AFLplusplus), [libFuzzer](https://llvm.org/docs/LibFuzzer.html) or [honggfuzz](https://github.com/google/honggfuzz) are avaiable to users and they do their job in a very effective way.
From the power user perspective, however, these tools are limited because not designed with the extensibility as first-class citizen.
Usually, a fuzzer developer has to choose if fork one of these existing tools with the result of having a tons of fuzzers derived from others which are in any case incompatible with each other, or creating a new fuzzer from scratch, reinventing the wheel and usually giving up on features that are complex to reimplement.
Here comes LibAFL, a library that IS NOT a fuzzer, but a collection of reusable pieces of fuzzers written in Rust.
LibAFL helps you writing your own custom fuzzer, tailored for a specific target or for a particular instrumentation backend, without reinventing the wheel or forking an existing fuzzer.
## Why you should use LibAFL
TODO list here killer features (no_std, multi platform, scalability, ...)

9
docs/src/libafl.md Normal file
View File

@ -0,0 +1,9 @@
# The LibAFL Fuzzing Library
*by Andrea Fioraldi and Dominik Maier*
This version of the LibAFL book is coupled with the release 1.0 beta of the library.
This document is still incomplete, and extremely work-in-progress. The structure and the concepts explained here will likely change a lot in the future, as the structure of LibAFL itself will change.
The HTML version of this book is available online at PLACEHOLDER and offline from the LibAFL repository in the docs/ folder.