adapt to afl-cmin with forkserver_mode (and stdin)

This commit is contained in:
hexcoder-
2020-02-05 22:08:57 +01:00
parent 1edc392194
commit 4bcea7b31f
2 changed files with 5 additions and 10 deletions

View File

@ -390,20 +390,15 @@ BEGIN {
cur = 0; cur = 0;
if (!stdin_file) { if (!stdin_file) {
while (cur < in_count) { printf " Processing "in_count" files (forkserver mode)..."
fn = infilesSmallToBig[cur] system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"\" -Z "extra_par" -i \""in_dir"\" -- \""target_bin"\" "prog_args_string)
++cur;
printf "\r Processing file "cur"/"in_count
system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"/"fn"\" -Z "extra_par" -- \""target_bin"\" "prog_args_string" <\""in_dir"/"fn"\"")
}
} else { } else {
printf " Processing "in_count" files (forkserver mode)...\n" printf " Processing "in_count" files (forkserver mode)..."
system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"\" -Z "extra_par" -i \""in_dir"\" -- \""target_bin"\" "prog_args_string" </dev/null") system( "AFL_CMIN_ALLOW_ANY=1 \""showmap"\" -m "mem_limit" -t "timeout" -o \""trace_dir"\" -Z "extra_par" -i \""in_dir"\" -- \""target_bin"\" "prog_args_string" </dev/null")
} }
print "" print ""
####################################################### #######################################################
# STEP 2: register smallest input file for each tuple # # STEP 2: register smallest input file for each tuple #
# STEP 3: copy that file (at most once) # # STEP 3: copy that file (at most once) #

View File

@ -150,7 +150,7 @@ test "$SYS" = "i686" -o "$SYS" = "x86_64" -o "$SYS" = "amd64" && {
} }
echo 000000000000000000000000 > in/in2 echo 000000000000000000000000 > in/in2
mkdir -p in2 mkdir -p in2
../afl-cmin -i in -o in2 -- ./test-instr.plain @@ >/dev/null ../afl-cmin -i in -o in2 -- ./test-instr.plain >/dev/null
CNT=`ls in2/ | wc -l` CNT=`ls in2/ | wc -l`
case "$CNT" in case "$CNT" in
*1) $ECHO "$GREEN[+] afl-cmin correctly minimized the number of testcases" ;; *1) $ECHO "$GREEN[+] afl-cmin correctly minimized the number of testcases" ;;
@ -256,7 +256,7 @@ test -e ../afl-clang-fast -a -e ../split-switches-pass.so && {
test "$SYS" = "i686" -o "$SYS" = "x86_64" -o "$SYS" = "amd64" || { test "$SYS" = "i686" -o "$SYS" = "x86_64" -o "$SYS" = "amd64" || {
echo 000000000000000000000000 > in/in2 echo 000000000000000000000000 > in/in2
mkdir -p in2 mkdir -p in2
../afl-cmin -i in -o in2 -- ./test-instr.plain @@ >/dev/null ../afl-cmin -i in -o in2 -- ./test-instr.plain >/dev/null
CNT=`ls in2/ | wc -l` CNT=`ls in2/ | wc -l`
case "$CNT" in case "$CNT" in
*1) $ECHO "$GREEN[+] afl-cmin correctly minimized the number of testcases" ;; *1) $ECHO "$GREEN[+] afl-cmin correctly minimized the number of testcases" ;;