LD_PRELOAD 未使用正确的库

LD_PRELOAD 未使用正确的库

我正在尝试覆盖可执行文件中的动态链接。

我有一个可执行的“程序”

命令:

ldd program 

输出:libstdc++.so.6 => /lib64/libstdc++.so.6

我有一个图书馆a.so:

ldd a.so

输出:libstdc++.so.6 => /mydir/libstdc++.so.6

我尝试通过执行以下操作来覆盖可执行程序中的链接:

setenv LD_PRELOAD a.so

现在,当我运行我的可执行文件时,我得到:

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

为什么它要尝试阅读libstdc++.so.6/lib64/libstdc++.so.6并不是/mydir/libstdc++.so.6

相关内容