File: COMPILE.md

package info (click to toggle)
aflplusplus 4.33c-0.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 14,740 kB
  • sloc: ansic: 111,574; cpp: 16,019; sh: 4,766; python: 4,546; makefile: 1,000; javascript: 521; java: 43; sql: 3; xml: 1
file content (28 lines) | stat: -rw-r--r-- 886 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# C Sample

This shows a simple persistent harness for unicornafl in C.
In contrast to the normal c harness, this harness manually resets the unicorn
state on each new input.
Thanks to this, you can rerun the test case in unicorn multiple times, without
the need to fork again.

## Compiling sample.c

The target can be built using the `make` command.
Just make sure you have built unicorn support first:

```bash
cd /path/to/afl/unicorn_mode
./build_unicorn_support.sh
```

## Compiling persistent_target.c

You don't need to compile persistent_target.c since a X86_64 binary version is
pre-built and shipped in this sample folder. This file documents how the binary
was built in case you want to rebuild it or recompile it for any reason.

The pre-built binary (persistent_target_x86_64.bin) was built using -g -O0 in
gcc.

Then load the binary and execute the main function directly.