Fix endianness of coverage data on big endian systems
MODIFY
frida_mode/README.md
frida_mode/README.md
@@ -151,6 +151,7 @@ instances run CMPLOG mode and instrumentation of the binary is less frequent
* `AFL_FRIDA_INST_DEBUG_FILE` - File to write raw assembly of original blocks
and their instrumented counterparts during block compilation.
+```
Creating block for 0x7ffff7953313:
0x7ffff7953313 mov qword ptr [rax], 0
0x7ffff795331a add rsp, 8

MODIFY
frida_mode/src/instrument/instrument_coverage.c
frida_mode/src/instrument/instrument_coverage.c
@@ -317,6 +317,12 @@ static void coverage_write_events(void *key, void *value, void *user_data) {
};
+#if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+ evt.offset = __builtin_bswap32(evt.offset);
+ evt.length = __builtin_bswap16(evt.length);
+ evt.module = __builtin_bswap16(evt.module);
+#endif
+
coverage_write(fd, &evt, sizeof(coverage_event_t));
}

Fix endianness of coverage data on big endian systems