Skip to content

Commit 50f09eb

Browse files
committed
optimize the usage part
1 parent f8a07c7 commit 50f09eb

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

README.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ or you can compile the image yourself using the Dockerfile we provide.
6969
git clone --recursive https://github.com/waugustus/CarpetFuzz
7070
cd CarpetFuzz
7171
# Build image
72-
sudo docker build -t carpetfuzz:latest .
72+
sudo docker build -t 4ugustus/carpetfuzz:latest .
7373
```
7474

7575
And you can also build CarpetFuzz yourself:
@@ -105,22 +105,14 @@ wget -P models/ https://allennlp.s3.amazonaws.com/models/elmo-constituency-parse
105105

106106
## Usage (Minimal Working Example) ##
107107

108-
We take the program `tiffcp` used in the paper as an example,
108+
We take the program `tiffcp` used in the paper as an example,
109109

110110
```
111-
export CarpetFuzz=/path/to/CarpetFuzz
112-
113111
# Step 1
114-
# Download and build the tiffcp repo with CarpetFuzz-fuzzer
115-
git clone https://gitlab.com/libtiff/libtiff
116-
cd libtiff
117-
git reset --hard b51bb
118-
sh ./autogen.sh
119-
CC=${CarpetFuzz}/fuzzer/afl-clang-fast CXX=${CarpetFuzz}/fuzzer/afl-clang-fast++ ./configure --prefix=$PWD/build_carpetfuzz --disable-shared
120-
make -j;make install;make clean
121-
# Prepare the seed
122-
mkdir input
123-
cp ${CarpetFuzz}/fuzzer/testcases/images/tiff/* input/
112+
# Create container
113+
sudo docker run -it 4ugustus/carpetfuzz bash
114+
# Libtiff has already been built
115+
cd /root/programs/libtiff
124116
125117
# Step 2
126118
# Use CarpetFuzz to analyze the relationships from the manpage file
@@ -135,6 +127,24 @@ python3 ${CarpetFuzz}/scripts/rank_combination.py --combination ${CarpetFuzz}/ou
135127
${CarpetFuzz}/fuzzer/afl-fuzz -i input/ -o output/ -K ${CarpetFuzz}/output/stubs/ranked_stubs_tiffcp.txt -- $PWD/build_carpetfuzz/bin/tiffcp @@
136128
```
137129

130+
If you build CarpetFuzz yourself, you need to change Step 1 as following,
131+
132+
```
133+
# Step 1 (without docker)
134+
# Set the environment
135+
export CarpetFuzz=/path/to/CarpetFuzz
136+
# Download and build the tiffcp repo with CarpetFuzz-fuzzer
137+
git clone https://gitlab.com/libtiff/libtiff
138+
cd libtiff
139+
git reset --hard b51bb
140+
sh ./autogen.sh
141+
CC=${CarpetFuzz}/fuzzer/afl-clang-fast CXX=${CarpetFuzz}/fuzzer/afl-clang-fast++ ./configure --prefix=$PWD/build_carpetfuzz --disable-shared
142+
make -j;make install;make clean
143+
# Prepare the seed
144+
mkdir input
145+
cp ${CarpetFuzz}/fuzzer/testcases/images/tiff/* input/
146+
```
147+
138148
## FAQ ##
139149

140150
1. How to find the manpage file of a new program?

0 commit comments

Comments
 (0)