first experiment cmplog

This commit is contained in:
Andrea Fioraldi
2020-01-17 16:39:05 +01:00
parent bd58094dbc
commit 55e9297202
12 changed files with 1197 additions and 7 deletions

View File

@ -100,6 +100,7 @@ static void usage(u8* argv0) {
" -f file - location read by the fuzzed program (stdin)\n"
" -t msec - timeout for each run (auto-scaled, 50-%d ms)\n"
" -m megs - memory limit for child process (%d MB)\n"
" -c program - enable CmpLog specifying a binary compiled for it\n"
" -Q - use binary-only instrumentation (QEMU mode)\n"
" -U - use unicorn-based instrumentation (Unicorn mode)\n"
" -W - use qemu-based instrumentation with Wine (Wine "
@ -193,12 +194,21 @@ int main(int argc, char** argv) {
init_seed = tv.tv_sec ^ tv.tv_usec ^ getpid();
while ((opt = getopt(argc, argv,
"+i:I:o:f:m:t:T:dnCB:S:M:x:QNUWe:p:s:V:E:L:hR")) > 0)
"+i:I:o:f:m:t:T:dnCB:S:M:x:QNUWe:p:s:V:E:L:hRP:")) > 0)
switch (opt) {
case 'I': infoexec = optarg; break;
case 'c': {
cmplog_mode = 1;
cmplog_binary = ck_strdup(optarg);
// TODO check cmplog_binary validity
break;
}
case 's': {
init_seed = strtoul(optarg, 0L, 10);