Changes to automatically disable optimization when AFL_FRIDA_INST_TRACE is set
MODIFY
frida_mode/README.md
frida_mode/README.md
@@ -160,7 +160,7 @@ instrumentation (the default where available). Required to use
report instrumented blocks back to the parent so that it can also instrument
them and they be inherited by the next child on fork.
* `AFL_FRIDA_INST_TRACE` - Log to stdout the address of executed blocks,
-requires `AFL_FRIDA_INST_NO_OPTIMIZE`.
+implies `AFL_FRIDA_INST_NO_OPTIMIZE`.
* `AFL_FRIDA_INST_TRACE_UNIQUE` - As per `AFL_FRIDA_INST_TRACE`, but each edge
is logged only once, requires `AFL_FRIDA_INST_NO_OPTIMIZE`.
* `AFL_FRIDA_OUTPUT_STDOUT` - Redirect the standard output of the target

MODIFY
frida_mode/src/instrument/instrument.c
frida_mode/src/instrument/instrument.c
@@ -214,13 +214,15 @@ void instrument_init(void) {
if (instrument_tracing && instrument_optimize) {
- FATAL("AFL_FRIDA_INST_TRACE requires AFL_FRIDA_INST_NO_OPTIMIZE");
+ WARNF("AFL_FRIDA_INST_TRACE implies AFL_FRIDA_INST_NO_OPTIMIZE");
+ instrument_optimize = FALSE;
}
if (instrument_unique && instrument_optimize) {
- FATAL("AFL_FRIDA_INST_TRACE_UNIQUE requires AFL_FRIDA_INST_NO_OPTIMIZE");
+ WARNF("AFL_FRIDA_INST_TRACE_UNIQUE implies AFL_FRIDA_INST_NO_OPTIMIZE");
+ instrument_optimize = FALSE;
}

Changes to automatically disable optimization when AFL_FRIDA_INST_TRACE is set (#1003)

Co-authored-by: Your Name <you@example.com>