eurecom-s3 / symcc

SymCC: efficient compiler-based symbolic execution
http://www.s3.eurecom.fr/tools/symbolic_execution/symcc.html
GNU General Public License v3.0
773 stars 135 forks source link

Fixes #44 and #45, adds -Q, -W, -S option, afl++ support #46

Closed vanhauser-thc closed 1 year ago

vanhauser-thc commented 3 years ago

changes the error handling so that symcc_fuzzing_helper continues at all cost. because without the ability to resume it is pretty pointless to run it otherwise. It also adds the -Q option which forces afl-showmap qemu mode (so we can run symqemu although we fuzz an instrumented binary. for cases where symc++ fails for the target, and we do not want to waste an afl-fuzz-Q specifically for for symcc)

vanhauser-thc commented 3 years ago

thanks to @domenukk for online rust support :)

vanhauser-thc commented 3 years ago

PR is done now and everything working for me :)

sebastianpoeplau commented 3 years ago

Very reasonable additions, and thanks for the implementation! I'll apply a few style changes and merge - give me a moment...

vanhauser-thc commented 3 years ago

change as much as you want - I am a rust novice, that was my second rust code ever ;)

sebastianpoeplau commented 3 years ago

Not bad :grin:

sebastianpoeplau commented 3 years ago

As I said in #49, I'm not sure why you would want to disable the coverage map when not in QEMU mode. Apart from that, sorry for the long delays - I'm really busy at the moment and trying to take care of SymCC and SymQEMU in my free time...