我有一个来自供应商的动态库(没有可用的源代码)。该库与 uCLibC 链接。
如果我将我的应用程序链接到这个库,我可以拦截这个库可能对 uclibc/libc 执行的一些调用(例如 malloc、printf、...)吗?例如,我想修改这个库正在使用的 printf。
谢谢。
您可以使用 LD_PRELOAD 加载您在 libc 之前编写的库。这样就可以拦截 printf、malloc 等。
这是一个简单的教程/示例: http: //www.catonmat.net/blog/simple-ld-preload-tutorial/