googleprojectzero / winafl

A fork of AFL for fuzzing Windows binaries
Apache License 2.0
2.35k stars 534 forks source link

winafl-cmin.py dry-run failure #272

Open TakahiroHaruyama opened 4 years ago

TakahiroHaruyama commented 4 years ago

I'm using winafl-cmin.py to reduce the input files but the execution often fails in dry-run (not always).

python winafl-cmin.py -D C:\work\DynamoRIO-Windows-8.0.0-1\bin64 -t 100000 -i ..\in -o ..\corpus -target_module localscan_fuzz.exe -target_method fuzzit -nargs 2 -coverage_module libavcore.dll -call_convention ms64 -- localscan_fuzz.exe @@ ... [*] Testing the target binary... [!] Dry-run failed, 2 executions resulted differently: Tuples matching? False Return codes matching? True

I guessed the cause was a thread context switching and added -thread_coverage option in the winafl-cmin.py but it didn't work. I'm using the same input files. And I checked the harness worked well by using the "drrun.exe -c winafl.dll -debug" command.

Could you advise to resolve the issue?

hardik05 commented 4 years ago

add flag: --skip-dry-run.

TakahiroHaruyama commented 4 years ago

Thanks but I got the result already because sometimes the dry-run was passed in the case. I want to know normally we have to identify the cause then fix it or we can just ignore. I'm new in AFL fuzzing.