Fix typos and crates names formatting in crates.md (#1639)

* Fix typos and crates formatting in crates.md

* Fix header in crates.md
This commit is contained in:
Azim Muradov 2023-10-27 12:31:02 +03:00 committed by GitHub
parent c6c93b5785
commit ad33ea086b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -31,9 +31,9 @@ You can choose the features by using `features = ["feature1", "feature2", ...]`
Out of this list, by default, `std`, `derive`, and `rand_trait` are already set. Out of this list, by default, `std`, `derive`, and `rand_trait` are already set.
You can choose to disable them by setting `default-features = false` in your `Cargo.toml`. You can choose to disable them by setting `default-features = false` in your `Cargo.toml`.
## [`libafl_bolts](https://github.com/AFLplusplus/LibAFL/tree/main/libafl) ### [`libafl_bolts`](https://github.com/AFLplusplus/LibAFL/tree/main/libafl)
The `libafl_bolts` create is a minimal tool shed filled with useful low-level rust features, not necessarily related to fuzzers. The `libafl_bolts` crate is a minimal tool shed filled with useful low-level rust features, not necessarily related to fuzzers.
In it, you'll find highlights like: In it, you'll find highlights like:
- `core_affinity` to bind the current process to cores - `core_affinity` to bind the current process to cores
@ -46,20 +46,20 @@ In it, you'll find highlights like:
... and much more. ... and much more.
### libafl_sugar ### `libafl_sugar`
The sugar crate abstracts away most of the complexity of LibAFL's API. The sugar crate abstracts away most of the complexity of LibAFL's API.
Instead of high flexibility, it aims to be high-level and easy-to-use. Instead of high flexibility, it aims to be high-level and easy-to-use.
It is not as flexible as stitching your fuzzer together from each individual component, but allows you to build a fuzzer with minimal lines of code. It is not as flexible as stitching your fuzzer together from each individual component, but allows you to build a fuzzer with minimal lines of code.
To see it in action, take a look at the [`libfuzzer_stb_image_sugar` example fuzzer](https://github.com/AFLplusplus/LibAFL/tree/main/fuzzers/libfuzzer_stb_image_sugar). To see it in action, take a look at the [`libfuzzer_stb_image_sugar` example fuzzer](https://github.com/AFLplusplus/LibAFL/tree/main/fuzzers/libfuzzer_stb_image_sugar).
### libafl_derive ### `libafl_derive`
This a proc-macro crate paired with the `libafl` crate. This a proc-macro crate paired with the `libafl` crate.
At the moment, it just exposes the `derive(SerdeAny)` macro that can be used to define Metadata structs, see the section about [Metadata](../design/metadata.md) for details. At the moment, it just exposes the `derive(SerdeAny)` macro that can be used to define Metadata structs, see the section about [Metadata](../design/metadata.md) for details.
### libafl_targets ### `libafl_targets`
This crate exposes code to interact with, and to instrument, targets. This crate exposes code to interact with, and to instrument, targets.
To enable and disable features at compile-time, the features are enabled and disabled using feature flags. To enable and disable features at compile-time, the features are enabled and disabled using feature flags.
@ -71,32 +71,32 @@ Currently, the supported flags are:
- `libfuzzer` exposes a compatibility layer with libFuzzer style harnesses. - `libfuzzer` exposes a compatibility layer with libFuzzer style harnesses.
- `value_profile` defines the SanitizerCoverage trace-cmp hooks to track the matching bits of each comparison in a map. - `value_profile` defines the SanitizerCoverage trace-cmp hooks to track the matching bits of each comparison in a map.
### libafl_cc ### `libafl_cc`
This is a library that provides utils to wrap compilers and create source-level fuzzers. This is a library that provides utils to wrap compilers and create source-level fuzzers.
At the moment, only the Clang compiler is supported. At the moment, only the Clang compiler is supported.
To understand it deeper, look through the tutorials and examples. To understand it deeper, look through the tutorials and examples.
### libafl_frida ### `libafl_frida`
This library bridges LibAFL with Frida as instrumentation backend. This library bridges LibAFL with Frida as instrumentation backend.
With this crate, you can instrument targets on Linux/macOS/Windows/Android for coverage collection. With this crate, you can instrument targets on Linux/macOS/Windows/Android for coverage collection.
Additionally, it supports CmpLog, and AddressSanitizer instrumentation and runtimes for aarch64. Additionally, it supports CmpLog, and AddressSanitizer instrumentation and runtimes for aarch64.
See further information, as well as usage instructions, [later in the book](../advanced_features/frida.md). See further information, as well as usage instructions, [later in the book](../advanced_features/frida.md).
### libafl_qemu ### `libafl_qemu`
This library bridges LibAFL with QEMU user-mode to fuzz ELF cross-platform binaries. This library bridges LibAFL with QEMU user-mode to fuzz ELF cross-platform binaries.
It works on Linux and can collect edge coverage without collisions! It works on Linux and can collect edge coverage without collisions!
It also supports a wide range of hooks and instrumentation options. It also supports a wide range of hooks and instrumentation options.
### libafl_nyx ### `libafl_nyx`
[Nyx](https://nyx-fuzz.com/) is a KVM-based snapshot fuzzer. `libafl_nyx` adds these capabilities to LibAFL. There is a specific section explaining usage of libafl_nyx [later in the book](../advanced_features/nyx.md). [Nyx](https://nyx-fuzz.com/) is a KVM-based snapshot fuzzer. `libafl_nyx` adds these capabilities to LibAFL. There is a specific section explaining usage of libafl_nyx [later in the book](../advanced_features/nyx.md).
### libafl_concolic ### `libafl_concolic`
Concolic fuzzing is the combination of fuzzing and a symbolic execution engine. Concolic fuzzing is the combination of fuzzing and a symbolic execution engine.
This can reach greater depth than normal fuzzing, and is exposed in this crate. This can reach greater depth than normal fuzzing, and is exposed in this crate.