Tag: code injection

使用dlsym的Ansi C补丁在linux下编译好但在Mac Os X上失败

我已经构建了一个小补丁来附加到某个应用程序并跟踪某些函数的调用。 其中,malloc()和open()。 我使用dlsym存储指向原始符号的指针,并用我自己的名称替换函数名称。 它可以在linux下完美编译和工作。 这是代码: #define _GNU_SOURCE #include #include #include #include #include /** * Interponemos nuestra funcion open * * @param char* filename * @param int flags **/ int open(char * filename, int flags) { static int (*real_open)(char*, int) = NULL; if (!real_open) real_open = dlsym(RTLD_NEXT, “open”); // Entero int p = real_open(filename, flags); fprintf(stderr, […]