parent
b067435862
commit
7202e2a26e
@ -7,5 +7,5 @@ It runs on a single core until an input is discovered which both inputs accept.
|
|||||||
|
|
||||||
The tested programs are provided in `first.c` and `second.c`.
|
The tested programs are provided in `first.c` and `second.c`.
|
||||||
|
|
||||||
You may execute this fuzzer with `cargo make run`. If you prefer to do so manually, you may also simply use
|
You may execute this fuzzer with `just run`. If you prefer to do so manually, you may also simply use
|
||||||
`cargo build --release --bin libafl_cc` followed by `cargo run --release --bin fuzzer_sd`
|
`cargo build --release --bin libafl_cc` followed by `cargo run --release --bin fuzzer_sd`
|
@ -12,7 +12,7 @@ Then, it will build (the C++ harness)[./harness.cc] and the instrumented `libpng
|
|||||||
Then, it will create frida fuzzer shared library in `./target/release/libfrida_fuzzer.so`.
|
Then, it will create frida fuzzer shared library in `./target/release/libfrida_fuzzer.so`.
|
||||||
On unix platforms, you'll need [libc++](https://libcxx.llvm.org/) to build it.
|
On unix platforms, you'll need [libc++](https://libcxx.llvm.org/) to build it.
|
||||||
|
|
||||||
Alternatively you can run `cargo make run` and this command will automatically build and run the fuzzer
|
Alternatively you can run `just run` and this command will automatically build and run the fuzzer
|
||||||
|
|
||||||
### Build For Android
|
### Build For Android
|
||||||
When building for android using a cross-compiler, make sure you have a [_standalone toolchain_](https://developer.android.com/ndk/guides/other_build_systems), and then add the following:
|
When building for android using a cross-compiler, make sure you have a [_standalone toolchain_](https://developer.android.com/ndk/guides/other_build_systems), and then add the following:
|
||||||
|
@ -12,7 +12,7 @@ Then, it will link (the fuzzer)[./src/fuzzer.rs] against (the C++ harness)[./har
|
|||||||
Afterwards, the fuzzer will be ready to run, from `target/frida_libpng`.
|
Afterwards, the fuzzer will be ready to run, from `target/frida_libpng`.
|
||||||
On unix platforms, you'll need [libc++](https://libcxx.llvm.org/) to build it.
|
On unix platforms, you'll need [libc++](https://libcxx.llvm.org/) to build it.
|
||||||
|
|
||||||
Alternatively you can run `cargo make run` and this command will automatically build and run the fuzzer
|
Alternatively you can run `just run` and this command will automatically build and run the fuzzer
|
||||||
|
|
||||||
### Build For Android
|
### Build For Android
|
||||||
When building for android using a cross-compiler, make sure you have a [_standalone toolchain_](https://developer.android.com/ndk/guides/other_build_systems), and then add the following:
|
When building for android using a cross-compiler, make sure you have a [_standalone toolchain_](https://developer.android.com/ndk/guides/other_build_systems), and then add the following:
|
||||||
|
@ -12,6 +12,6 @@ After building this example with `cargo build`, you need to give to the executab
|
|||||||
You can run this example using `cargo run`, and you can enable the TUI feature by building and running with
|
You can run this example using `cargo run`, and you can enable the TUI feature by building and running with
|
||||||
`--features tui`.
|
`--features tui`.
|
||||||
|
|
||||||
As an alternative, simply run `cargo make` to build and run the fuzzer (requires `cargo-make`).
|
As an alternative, simply run `just` to build and run the fuzzer (requires `just`).
|
||||||
|
|
||||||
This fuzzer is compatible with Linux hosts only having an Intel PT compatible CPU.
|
This fuzzer is compatible with Linux hosts only having an Intel PT compatible CPU.
|
||||||
|
@ -6,14 +6,14 @@ Processor Trace (PT) to compute code coverage.
|
|||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- A Linux host with an Intel Processor Trace (PT) compatible CPU
|
- A Linux host with an Intel Processor Trace (PT) compatible CPU
|
||||||
- `cargo-make` installed
|
- `just` installed
|
||||||
- Sudo access to grant necessary capabilities to the fuzzer
|
- Sudo access to grant necessary capabilities to the fuzzer
|
||||||
|
|
||||||
## How to Run the Fuzzer
|
## How to Run the Fuzzer
|
||||||
|
|
||||||
To compile and run the fuzzer (and the target program) execute the following command:
|
To compile and run the fuzzer (and the target program) execute the following command:
|
||||||
```sh
|
```sh
|
||||||
cargo make
|
just
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Note**: This command may prompt you for your password to assign capabilities required for Intel PT. If you'd prefer
|
> **Note**: This command may prompt you for your password to assign capabilities required for Intel PT. If you'd prefer
|
||||||
|
@ -30,9 +30,9 @@ sudo apt install \
|
|||||||
|
|
||||||
Defaults to `x86_64` architecture
|
Defaults to `x86_64` architecture
|
||||||
```bash
|
```bash
|
||||||
cargo make run
|
just run
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cargo make <arch>
|
just <arch>
|
||||||
```
|
```
|
||||||
|
@ -31,9 +31,9 @@ sudo apt install \
|
|||||||
|
|
||||||
Defaults to `x86_64` architecture
|
Defaults to `x86_64` architecture
|
||||||
```bash
|
```bash
|
||||||
cargo make run
|
just run
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cargo make <arch>
|
just <arch>
|
||||||
```
|
```
|
||||||
|
@ -39,9 +39,9 @@ sudo apt install \
|
|||||||
Defaults to `x86_64` architecture. Change the architecture by
|
Defaults to `x86_64` architecture. Change the architecture by
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cargo make run
|
just run
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cargo make <arch>
|
just <arch>
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@ This is a fuzzer example to show how libafl_tinyinst works.
|
|||||||
2. Build the harness with `cl test\test.cpp -o test.exe`
|
2. Build the harness with `cl test\test.cpp -o test.exe`
|
||||||
3. Build the fuzzer with `cargo build --release`. The fuzzer is `target\release\tinyinst_simple.exe`
|
3. Build the fuzzer with `cargo build --release`. The fuzzer is `target\release\tinyinst_simple.exe`
|
||||||
|
|
||||||
## Run with cargo-make
|
## Run with just
|
||||||
Or, you can simply run it using cargo-make
|
Or, you can simply run it using just
|
||||||
1. If on Windows, open up a developer powershell so that you have access to cl (Windows Default Compiler)
|
1. If on Windows, open up a developer powershell so that you have access to cl (Windows Default Compiler)
|
||||||
2. Run `cargo make run` to run the fuzzer
|
2. Run `just run` to run the fuzzer
|
||||||
|
@ -4,10 +4,10 @@ This is a simple example fuzzer to fuzz an executable instrumented by libafl_cc.
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
You can build this example by running `cargo make fuzzer`.
|
You can build this example by running `just fuzzer`.
|
||||||
This compiles, libafl_cc, the fuzzer and the example harness program in
|
This compiles, libafl_cc, the fuzzer and the example harness program in
|
||||||
`src/program.c` with libafl_cc.
|
`src/program.c` with libafl_cc.
|
||||||
|
|
||||||
## Run
|
## Run
|
||||||
|
|
||||||
You can run this example by running `cargo make run`.
|
You can run this example by running `just run`.
|
||||||
|
@ -12,4 +12,4 @@ the following command will:
|
|||||||
```
|
```
|
||||||
|
|
||||||
# run the fuzzer
|
# run the fuzzer
|
||||||
use `cargo make run` to run the fuzzer. If you have setup all environment, you can use `cargo run` directly.
|
use `just run` to run the fuzzer. If you have setup all environment, you can use `cargo run` directly.
|
||||||
|
@ -12,4 +12,4 @@ the following command will:
|
|||||||
```
|
```
|
||||||
|
|
||||||
# run the fuzzer
|
# run the fuzzer
|
||||||
use `cargo make run` to run the fuzzer. If you have setup all environment, you can use `cargo run` directly.
|
use `just run` to run the fuzzer. If you have setup all environment, you can use `cargo run` directly.
|
||||||
|
@ -16,24 +16,24 @@ TODO
|
|||||||
|
|
||||||
To build the target:
|
To build the target:
|
||||||
```bash
|
```bash
|
||||||
cargo make target
|
just target
|
||||||
```
|
```
|
||||||
|
|
||||||
To build the fuzzer:
|
To build the fuzzer:
|
||||||
```bash
|
```bash
|
||||||
cargo make build
|
just build
|
||||||
```
|
```
|
||||||
|
|
||||||
It is also possible to update the target if it only changes "runtime" files.
|
It is also possible to update the target if it only changes "runtime" files.
|
||||||
This is equivalent to rebuilding the target, it is only faster since it does not need to rebuild the image from scratch.
|
This is equivalent to rebuilding the target, it is only faster since it does not need to rebuild the image from scratch.
|
||||||
Check [The linux builder repository](https://github.com/AFLplusplus/linux-qemu-image-builder.git) for more details on the specifics.
|
Check [The linux builder repository](https://github.com/AFLplusplus/linux-qemu-image-builder.git) for more details on the specifics.
|
||||||
```bash
|
```bash
|
||||||
cargo make target_update
|
just target_update
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run
|
## Run
|
||||||
|
|
||||||
To run the fuzzer:
|
To run the fuzzer:
|
||||||
```bash
|
```bash
|
||||||
cargo make run
|
just run
|
||||||
```
|
```
|
@ -17,24 +17,24 @@ TODO
|
|||||||
|
|
||||||
To build the target:
|
To build the target:
|
||||||
```bash
|
```bash
|
||||||
cargo make target
|
just target
|
||||||
```
|
```
|
||||||
|
|
||||||
To build the fuzzer:
|
To build the fuzzer:
|
||||||
```bash
|
```bash
|
||||||
cargo make build
|
just build
|
||||||
```
|
```
|
||||||
|
|
||||||
It is also possible to update the target if it only changes "runtime" files.
|
It is also possible to update the target if it only changes "runtime" files.
|
||||||
This is equivalent to rebuilding the target, it is only faster since it does not need to rebuild the image from scratch.
|
This is equivalent to rebuilding the target, it is only faster since it does not need to rebuild the image from scratch.
|
||||||
Check [The linux builder repository](https://github.com/AFLplusplus/linux-qemu-image-builder.git) for more details on the specifics.
|
Check [The linux builder repository](https://github.com/AFLplusplus/linux-qemu-image-builder.git) for more details on the specifics.
|
||||||
```bash
|
```bash
|
||||||
cargo make target_update
|
just target_update
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run
|
## Run
|
||||||
|
|
||||||
To run the fuzzer:
|
To run the fuzzer:
|
||||||
```bash
|
```bash
|
||||||
cargo make run
|
just run
|
||||||
```
|
```
|
@ -3,7 +3,7 @@
|
|||||||
A brief demo demonstrating libafl's compatibility with WASM, and how to do it.
|
A brief demo demonstrating libafl's compatibility with WASM, and how to do it.
|
||||||
|
|
||||||
In this example, the entire LibAFL harness and target are present in a WASM binary, which is then loaded by [the example
|
In this example, the entire LibAFL harness and target are present in a WASM binary, which is then loaded by [the example
|
||||||
webpage](pkg/index.html). To run this example, do `cargo make build`, then open [the example webpage](pkg/index.html) in
|
webpage](pkg/index.html). To run this example, do `just build`, then open [the example webpage](pkg/index.html) in
|
||||||
your browser (via something like `python3 -m http.server`). The fuzzer will execute until finding a solution and will
|
your browser (via something like `python3 -m http.server`). The fuzzer will execute until finding a solution and will
|
||||||
write the fuzzer log to your console.
|
write the fuzzer log to your console.
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ After that clang should be available in the PATH.
|
|||||||
To build the fuzzer and link against the `harness.cpp` in this example run:
|
To build the fuzzer and link against the `harness.cpp` in this example run:
|
||||||
|
|
||||||
```
|
```
|
||||||
cargo make fuzzer
|
just fuzzer
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running
|
## Running
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# Test
|
# Test
|
||||||
```
|
```
|
||||||
rustup target add powerpc-unknown-linux-gnu
|
rustup target add powerpc-unknown-linux-gnu
|
||||||
$ cargo make gdb
|
$ just gdb
|
||||||
```
|
```
|
||||||
|
|
||||||
# Example
|
# Example
|
||||||
|
@ -13,12 +13,12 @@ time it is run.
|
|||||||
# Test
|
# Test
|
||||||
## App
|
## App
|
||||||
```
|
```
|
||||||
$ cargo make run
|
$ just run
|
||||||
```
|
```
|
||||||
## Library
|
## Library
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cargo make runlib
|
$ just runlib
|
||||||
```
|
```
|
||||||
|
|
||||||
# Example
|
# Example
|
||||||
|
Loading…
x
Reference in New Issue
Block a user