diff --git a/src/afl-analyze.c b/src/afl-analyze.c index d3ecfbf0..ef4a0a7d 100644 --- a/src/afl-analyze.c +++ b/src/afl-analyze.c @@ -695,14 +695,17 @@ static void set_up_environment(char **argv) { ck_free(frida_binary); setenv("LD_PRELOAD", frida_afl_preload, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_afl_preload, 1); - +#endif } else { /* CoreSight mode uses the default behavior. */ setenv("LD_PRELOAD", getenv("AFL_PRELOAD"), 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", getenv("AFL_PRELOAD"), 1); +#endif } @@ -710,7 +713,9 @@ static void set_up_environment(char **argv) { u8 *frida_binary = find_afl_binary(argv[0], "afl-frida-trace.so"); setenv("LD_PRELOAD", frida_binary, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_binary, 1); +#endif ck_free(frida_binary); } diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 894464be..ab7e17aa 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -1965,8 +1965,9 @@ int main(int argc, char **argv_orig, char **envp) { ck_free(frida_binary); setenv("LD_PRELOAD", frida_afl_preload, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_afl_preload, 1); - +#endif } } else { @@ -1974,7 +1975,9 @@ int main(int argc, char **argv_orig, char **envp) { /* CoreSight mode uses the default behavior. */ setenv("LD_PRELOAD", getenv("AFL_PRELOAD"), 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", getenv("AFL_PRELOAD"), 1); +#endif } @@ -1992,7 +1995,9 @@ int main(int argc, char **argv_orig, char **envp) { u8 *frida_binary = find_afl_binary(argv[0], "afl-frida-trace.so"); OKF("Injecting %s ...", frida_binary); setenv("LD_PRELOAD", frida_binary, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_binary, 1); +#endif ck_free(frida_binary); } diff --git a/src/afl-showmap.c b/src/afl-showmap.c index 1712e634..97eb303e 100644 --- a/src/afl-showmap.c +++ b/src/afl-showmap.c @@ -740,14 +740,18 @@ static void set_up_environment(afl_forkserver_t *fsrv, char **argv) { ck_free(frida_binary); setenv("LD_PRELOAD", frida_afl_preload, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_afl_preload, 1); +#endif } else { /* CoreSight mode uses the default behavior. */ setenv("LD_PRELOAD", getenv("AFL_PRELOAD"), 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", getenv("AFL_PRELOAD"), 1); +#endif } @@ -755,7 +759,9 @@ static void set_up_environment(afl_forkserver_t *fsrv, char **argv) { u8 *frida_binary = find_afl_binary(argv[0], "afl-frida-trace.so"); setenv("LD_PRELOAD", frida_binary, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_binary, 1); +#endif ck_free(frida_binary); } diff --git a/src/afl-tmin.c b/src/afl-tmin.c index 23e0ff13..da924d6b 100644 --- a/src/afl-tmin.c +++ b/src/afl-tmin.c @@ -714,14 +714,18 @@ static void set_up_environment(afl_forkserver_t *fsrv, char **argv) { ck_free(frida_binary); setenv("LD_PRELOAD", frida_afl_preload, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_afl_preload, 1); +#endif } else { /* CoreSight mode uses the default behavior. */ setenv("LD_PRELOAD", getenv("AFL_PRELOAD"), 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", getenv("AFL_PRELOAD"), 1); +#endif } @@ -729,7 +733,9 @@ static void set_up_environment(afl_forkserver_t *fsrv, char **argv) { u8 *frida_binary = find_afl_binary(argv[0], "afl-frida-trace.so"); setenv("LD_PRELOAD", frida_binary, 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", frida_binary, 1); +#endif ck_free(frida_binary); } diff --git a/utils/afl_network_proxy/afl-network-server.c b/utils/afl_network_proxy/afl-network-server.c index c4a700f4..fe2792d9 100644 --- a/utils/afl_network_proxy/afl-network-server.c +++ b/utils/afl_network_proxy/afl-network-server.c @@ -233,8 +233,9 @@ static void set_up_environment(afl_forkserver_t *fsrv) { } else { setenv("LD_PRELOAD", getenv("AFL_PRELOAD"), 1); +#ifdef __APPLE__ setenv("DYLD_INSERT_LIBRARIES", getenv("AFL_PRELOAD"), 1); - +#endif } }