# funserialize
Scripts and auxiliary files for fuzzing PHP's unserialize function. See
https://sean.heelan.io/ for details.

# Dependencies

GNU screen

clang (optional)

# Usage

`get.sh` retrieves the source for PHP and afl.

`build.sh` builds both PHP and afl. If you have `clang` available then
`afl-clang-fast` will also be built.

`fuzz.sh` starts a master afl instance and multiple slaves inside a GNU screen
instance with the session name `fuzz`.

A normal session might look as follows:

```
./get.sh

<...>

./build.sh

<...>

./fuzz.sh output_dir 3
```

The final command will start a master afl instance and 3 slaves, with
`output_dir` used as the top level output directory for afl. You can run `screen
-r fuzz` to attach to the screen instance and view the progress of the fuzzing
session.

# funserialize
Scripts and auxiliary files for fuzzing PHP's unserialize function. See
https://sean.heelan.io/2017/08/12/fuzzing-phps-unserialize-function/ for
details.

# Dependencies

GNU screen

clang (optional)

# Usage

`get.sh` retrieves the source for PHP and afl.

`build.sh` builds both PHP and afl. If you have `clang` available then
`afl-clang-fast` will also be built.

`fuzz.sh` starts a master afl instance and multiple slaves inside a GNU screen
instance with the session name `fuzz`.

A normal session might look as follows:

```
./get.sh

<...>

./build.sh

<...>

./fuzz.sh output_dir 3
```

The final command will start a master afl instance and 3 slaves, with
`output_dir` used as the top level output directory for afl. You can run `screen
-r fuzz` to attach to the screen instance and view the progress of the fuzzing
session.

Add link to the blogpost
Add link to the blogpost
