AngoraFuzzer / Angora

Angora is a mutation-based fuzzer. The main goal of Angora is to increase branch coverage by solving path constraints without symbolic execution.
Apache License 2.0
916 stars 166 forks source link

fuzz program arguments and parallel fuzzing #39

Open z1w opened 5 years ago

z1w commented 5 years ago

Hi,

I worked on an example using Angora, and everything looks fine. I am wondering whether Angora fuzz the program using all available cores by default? Multiple tables were displayed on terminal and angora has a bind_cpu function so I am wondering whether the parallel fuzzing is set by default.

A separate issue is that the command line configuration looks similar to AFL, in which "[argv]" contains the flags given to the executable. I am wondering whether Angora provided any running configuration that can solve these flags automatically. For example, if I have an executable "path/to/exe" which takes arguments "--flag file", is it possible that angora could recover "--flag" without providing this explicitly by the user (In this case, [argv] might look like "@@" rather than "--flag @@")?

Cheers,

spinpx commented 5 years ago

Thanks for your feedback.

I am wondering whether Angora fuzz the program using all available cores by default?

In default, Angora uses only one core. However, we provide a command line argument for setting how many cores will be used in fuzzing. Please see "--help".

I am wondering whether Angora provided any running configuration that can solve these flags automatically.

It seems clap-rs used by Angora solve it, please try.