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.
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:
- `core_affinity` to bind the current process to cores
@ -46,20 +46,20 @@ In it, you'll find highlights like:
... and much more.
### libafl_sugar
### `libafl_sugar`
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.
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).
### libafl_derive
### `libafl_derive`
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.
### libafl_targets
### `libafl_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.
@ -71,32 +71,32 @@ Currently, the supported flags are:
- `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.
### libafl_cc
### `libafl_cc`
This is a library that provides utils to wrap compilers and create source-level fuzzers.
At the moment, only the Clang compiler is supported.
To understand it deeper, look through the tutorials and examples.
### libafl_frida
### `libafl_frida`
This library bridges LibAFL with Frida as instrumentation backend.
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.
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.
It works on Linux and can collect edge coverage without collisions!
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).
### libafl_concolic
### `libafl_concolic`
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.