
* Adding qemu_arm_launcher crate * Trying to fix qemu arm usermode * Cargo fmt * Adding CROSS_CC env * Remove hardcoded arm-linux-gnueabi-gcc and replace by CROSS_CC * Adding arm-linux-gnueabi-gcc to github workflows for ubuntu * Fixing typo in apt install package * Resetting LR after each fuzzing emulation * Cargo fmt after merge conflict * Using GuestAddr * Compiling, running and running with artificial crash detection * Adding dependencies for github workflow to cross compile for arm * Fixing github workflow for ubuntu fuzzer * arm-linux-binutils for mac in github workflows * Qemu does not work for mac, no need to compile qemu_arm_launcher harness for it
25 lines
639 B
Markdown
25 lines
639 B
Markdown
# LibAFL with launcher for libpng with qemu arm32 in usermode
|
|
|
|
This folder contains an example fuzzer for libpng using the qemu emulator in arm32 usermode.
|
|
To show off crash detection, we added an optional undefined instruction to the harness.
|
|
Everything has been tested on Linux.
|
|
|
|
In contrast to the normal libfuzzer libpng example, this uses the `launcher` feature, that automatically spawns `n` child processes, and binds them to a free core.
|
|
|
|
## Prerequisites
|
|
```bash
|
|
sudo apt install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
|
|
```
|
|
|
|
## Run
|
|
|
|
```bash
|
|
cargo make run
|
|
```
|
|
|
|
## Run with artifical crash
|
|
|
|
```bash
|
|
cargo make run_crashing
|
|
```
|