fix non instrumented mode, fix check_binary
MODIFY
qemu_mode/qemuafl
qemu_mode/qemuafl
-Subproject commit d66c9e2654efa8939f0fe6995d11a72b98a4da3e
+Subproject commit 21ff34383764a8c6f66509b3b8d5282468c721e1

MODIFY
src/afl-fuzz-init.c
src/afl-fuzz-init.c
@@ -2300,12 +2300,6 @@ void fix_up_sync(afl_state_t *afl) {
u8 *x = afl->sync_id;
- if (afl->non_instrumented_mode) {
-
- FATAL("-S / -M and -n are mutually exclusive");
-
- }
-
while (*x) {
if (!isalnum(*x) && *x != '_' && *x != '-') {

MODIFY
src/afl-fuzz.c
src/afl-fuzz.c
@@ -435,6 +435,7 @@ int main(int argc, char **argv_orig, char **envp) {
u8 *c;
+ if (afl->non_instrumented_mode) { FATAL("-M is not supported in non-instrumented mode "); }
if (afl->sync_id) { FATAL("Multiple -S or -M options not supported"); }
afl->sync_id = ck_strdup(optarg);
afl->skip_deterministic = 0; // force determinsitic fuzzing
@@ -464,6 +465,7 @@ int main(int argc, char **argv_orig, char **envp) {
case 'S': /* secondary sync id */
+ if (afl->non_instrumented_mode) { FATAL("-S is not supported in non-instrumented mode "); }
if (afl->sync_id) { FATAL("Multiple -S or -M options not supported"); }
afl->sync_id = ck_strdup(optarg);
afl->is_secondary_node = 1;
@@ -620,6 +622,12 @@ int main(int argc, char **argv_orig, char **envp) {
case 'n': /* dumb mode */
+ if (afl->is_main_node || afl->is_secondary_node) {
+
+ FATAL("Non instrumented mode is not supported with -M / -S");
+
+ }
+
if (afl->non_instrumented_mode) {
FATAL("Multiple -n options not supported");
@@ -1342,7 +1350,7 @@ int main(int argc, char **argv_orig, char **envp) {
}
- if (afl->non_instrumented_mode) check_binary(afl, argv[optind]);
+ if (!afl->non_instrumented_mode) check_binary(afl, argv[optind]);
if (afl->shmem_testcase_mode) { setup_testcase_shmem(afl); }

MODIFY
unicorn_mode/unicornafl
unicorn_mode/unicornafl
-Subproject commit c6d6647161a32bae88785a618fcd828d1711d9e6
+Subproject commit f44ec48f8d5929f243522c1152b5b3c0985a5548

fix non instrumented mode, fix check_binary