首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
广告
V2EX
›
程序员
请教在 Linux 下使用 LD_PRELOAD 注入代码
zungmou
·
2014-06-05 09:52:48 +08:00
· 4300 次点击
这是一个创建于 3649 天前的主题,其中的信息可能已经有所发展或是发生改变。
LD_PRELOAD={共享库路径} {可执行程序路径}
问题发生在,共享库路径包含空格,已经用 \ 符号在空格前面进行转义,但 LD_PRELOAD 仍然不识别包含空格的路径,一遇到空格就认为路径到此结束了。
尝试过使用 ' 或 " 对路径进行包含,也无效。
但是后面的可执行程序路径是支持 \ 符号进行空格转义的。
求教...
空格
转义
路径
2 条回复
•
2014-06-05 11:42:00 +08:00
1
Chewbacca
2014-06-05 10:50:32 +08:00
加引号啊, LD_PRELOAD="/usr/A B C/
libd.so
" exefile
2
zungmou
OP
2014-06-05 11:42:00 +08:00
@
Chewbacca
你好,引号是没有用的。
我找到了这篇帖子(
http://ubuntuforums.org/showthread.php?t=1142062)
LD_PRELOAD 这个环境变量不支持空格分隔,为了与旧系统兼容,系统使用空格分隔 LD_PRELOAD 的参数,所以如果路径中包含有空格,就会被当作另一个 LD_PRELOAD 来使用。
解决方法是在 LD_LIBRARY_PATH 环境变量中添加路径,或者使用没有空格的符号链接。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
1087 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms ·
UTC 18:54
·
PVG 02:54
·
LAX 11:54
·
JFK 14:54
Developed with
CodeLauncher
♥ Do have faith in what you're doing.