ld-preload

    1热度

    0回答

    我可以在分发在一起: GPL的程序,其来源 一个非自由库没有源 一个init脚本LD_PRELOADS图书馆到GPL程序 的GPL程序工作正常,没有非自由库。这个非自由库提供了与程序二进制链接到的免费库相同的接口。 我可以将这些东西分配到一起,还是这会违反GPL?

    5热度

    1回答

    我试图通过LD_PRELOAD介入malloc/free/calloc/realloc等一些中介器。在我的小测试中,尽管free被检测到(见输出),但似乎只插入了malloc。 我期望输出包含一行“NANO:free(x)” - 但是这行不见了。 鉴于 // compile with: gcc test.cc #include <stdio.h> #include <stdlib.h> i

    1热度

    1回答

    运行Mac OS 10.7.2并试图运行libfaketime并且什么也没有发生。我按照指示安装和运行,只是时间和日期与系统中设置的完全一致?其他人能够在OSX上成功运行这个吗?在OSX $ date Mon Jan 30 21:05:09 CST 2012 $ LD_PRELOAD=./libfaketime.so.1 FAKETIME="-15d" date Mon Jan 30 21:

    7热度

    1回答

    我使用LD_PRELOAD挂钩库函数,并在Linux中它完美的作品。但我无法弄清楚如何在OSX中做同样的事情。 的设置我在Linux上,如下所示: 的代码是: #include <stdio.h> #include <dlfcn.h> #include <stdlib.h> #include <unistd.h> #include <ruby.h> void rb_raise(uns

    0热度

    2回答

    我有一个共享对象,它执行一些printf() s通过属性为init;很简单。它只是告诉我一些我设定的变量。 当我做LD_PRELOAD=mylib.so ./program.sh -flags的program.sh吐出的错误是由于用printfs: ./program_run: line 16: cd: mylib.so: Startup .: File name too long ./pro

    1热度

    2回答

    我试图用LD_PRELOAD拦截PyDict_New函数。我已经验证了this recipe在python解释器中使用了getpid,而我已经使用adapted it to use PyDict_New,但它并不像我期望的那样工作。虽然我明确分配字典,并且必须使用此函数,但我的覆盖不会被调用。 我在做什么错? 背景:我试图在一个非常大的系统中调试问题。我发现有一个引用计数不好的字典。我知道字典首先

    2热度

    2回答

    我想在动态共享库libexecHook.so中调试一些函数。这个库预装了LD_PRELOAD,用于拦截并重写一些对execve()和朋友的调用。出于调试目的,我已经用符号构建了gmake。从我读过的其他问题,这应该工作: gdb ~/tmp/make-dfsg-3.81/make set exec-wrapper env LD_PRELOAD=/home/marko/execHook.C027/

    1热度

    1回答

    我得到一些关于LD_PRELOAD的问题。 当我在HPUX和Solaris中使用LD_PRELOAD时,发现我无法在/ usr/bin/touch中附加open64/open/creat64/creat函数,但是我的unlink可以在/ usr/bin/rm中生效,为什么? 我做一个简单的测试: int open(int fd, int flag, mode_t mode) { ret

    1热度

    1回答

    我正在开发一个项目,以便在LD_PRELOAD程序中注入一个共享库。 我的注入库在注入程序时创建一个新线程。所有的逻辑都发生在这个线程中(如分析网络流量等)。 首先,您需要了解有关正在预加载的程序的情况。它是一个客户端应用程序,它将每个数据包加密写入静态缓冲区,并将其发送到服务器。我发现了在客户端加密和发送数据包的功能,我可以绕过它。所以现在我可以修改静态缓冲区,并让'send'函数加密缓冲区并将

    2热度

    2回答

    我在Linux上遇到LD_PRELOAD问题。我试图加载在现有名称中带有空格的目录库,也就是开始我的应用程序之前: > export LD_PRELOAD='/home/myuser/MyApp\ Test/lib/mylib.so' 然而,路径没有被采取正确。它会在空间存在的地方拆分,因此它会尝试预加载这些空间: ERROR: ...: object '/home/myuser/MyApp'