diff --git a/Makefile b/Makefile index b4466de..814346d 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ PXCHAINS = proxychains4 ALL_TOOLS = $(PXCHAINS) -CFLAGS+=$(USER_CFLAGS) $(MAC_CFLAGS) +CCFLAGS+=$(USER_CFLAGS) $(MAC_CFLAGS) CFLAGS_MAIN=-DLIB_DIR=\"$(libdir)\" -DINSTALL_PREFIX=\"$(prefix)\" -DDLL_NAME=\"$(LDSO_PATHNAME)\" diff --git a/configure b/configure index 6ce9341..35d2148 100755 --- a/configure +++ b/configure @@ -60,7 +60,7 @@ echo libdir=$libdir>>config.mak echo includedir=$includedir>>config.mak if ismac ; then echo LDSO_SUFFIX=dylib>>config.mak - echo MAC_CFLAGS+=-DIS_MAC=1>>config.mak + echo MAC_CFLAGS+=-DIS_MAC=1 -arch x86_64 -arch i386 >>config.mak echo LD_SET_SONAME=-Wl,-install_name,>>config.mak echo INSTALL_FLAGS=-m>>config.mak fi diff --git a/src/main.c b/src/main.c index 122f92f..f2f9cd1 100644 --- a/src/main.c +++ b/src/main.c @@ -174,12 +174,12 @@ int main(int argc, char *argv[]) { fprintf(stderr, LOG_PREFIX "preloading %s/%s\n", prefix, dll_name); #ifndef IS_MAC - snprintf(buf, sizeof(buf), "LD_PRELOAD=%s/%s", prefix, dll_name); - putenv(buf); + snprintf(buf, sizeof(buf), "%s/%s", prefix, dll_name); + setenv("LD_PRELOAD", buf, 1); #else - snprintf(buf, sizeof(buf), "DYLD_INSERT_LIBRARIES=%s/%s", prefix, dll_name); - putenv(buf); - putenv("DYLD_FORCE_FLAT_NAMESPACE=1"); + snprintf(buf, sizeof(buf), "%s/%s", prefix, dll_name); + setenv("DYLD_INSERT_LIBRARIES", buf, 1); + setenv("DYLD_FORCE_FLAT_NAMESPACE", "1", 1); #endif execvp(argv[start_argv], &argv[start_argv]); perror("proxychains can't load process...."); diff --git a/src/proxychains b/src/proxychains index 1c47b97..9c7667f 100755 --- a/src/proxychains +++ b/src/proxychains @@ -1,5 +1,5 @@ #!/bin/sh -echo "ProxyChains-3.1 (http://proxychains.sf.net)" +echo "ProxyChains-4.0 (http://proxychains.sf.net)" usage() { @@ -22,5 +22,10 @@ if [ "$1" = "-f" ]; then shift; fi -export LD_PRELOAD=libproxychains.so.3 +if [ $(uname) = "Darwin" ]; then + export DYLD_FORCE_FLAT_NAMESPACE= + export DYLD_INSERT_LIBRARIES=libproxychains4.dylib +else + export LD_PRELOAD=libproxychains.so.4 +fi exec "$@"