-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add mini CmpLog #324
Add mini CmpLog #324
Conversation
there is a performance loss, about 10% lower execution speed, that could be circumvented by compiling the target twice, once normally and once for minicmplog, and passing the binary of minicmplog via The performance loss in execution speed is overall less that the effectiveness gained by enabling this feature. |
What do these options do? |
Both do the same thing (-c0 is easier) - they tell afl-fuzz that cmplog data is available. Otherwise the data is ignored. |
I added an example in the |
isnt it possible to automatically pass -c 0 to afl-fuzz when doing |
Added in 4a60756 |
LGTM, can be merged in my opinion. |
I'm trying to test this, and I'm getting the following error for some projects:
It appears to have something to do with build scripts. For example, Does it work for you? Removing this line makes the problem go away: Line 377 in e1c2f2e
|
that is weird as this parameter is already present in ancient llvm 9... trace-div is not that important of an option, it has more value for a technique called value profiling which afl++ does not use (because better technique exists, but libfuzzer uses that). |
Does your comment imply you were able to reproduce the error, @vanhauser-thc? EDIT: That is not to insinuate that you must try. |
I was able to reproduce the bug, I've removed the trace-divs flag. Thanks! |
@louismerlin Thanks very much for this. And, @vanhauser-thc, thank you for the review, and for sharing your expertise. In the interest of caution, I am going to treat this as a breaking change. There is at least one other thing I wanted to include with the next breaking change (#276). So it will be a few days before I publish this. But I promise to try to push a new release soon. Thanks again. |
As suggested in #323, CmpLog could be added to afl.rs to improve effectiveness.
Testing this change on the following example will find the crash immediately instead of after a minute.
I can see no performance drop, some more benchmarking might be needed.
You need to specify the
-c 0
option (or-c path/to/your/binary
).I also tried adding the following flags but they resulted in compilation errors of the target.