首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接调用动态链接器时确定实际可执行文件

直接调用动态链接器时确定实际可执行文件
EN

Stack Overflow用户
提问于 2014-12-07 20:56:01
回答 1查看 82关注 0票数 1

我直接通过动态链接器运行一个可执行文件,用动态链接器的路径调用execve()。但是,与直接执行二进制文件不同,/proc/self/exe是指向动态链接器的符号链接,而不是指向二进制文件的符号链接,这破坏了某些依赖于标准行为的应用程序(主要是OpenJDK)。是否有任何方法确定通过动态链接器执行的二进制文件的实际可执行路径?在/proc中是否还有我可以读取的文件来获取路径,然后对readlink()进行LD_PRELOAD重写,从而将对/proc/*/exe的访问转换为真正的路径?

为了了解一些背景情况,我正在尝试使用自定义ELF加载器参数来获取用于OpenJDK的fakechroot。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-16 21:29:50

这可能太简单了,您已经考虑过了,但是您不能简单地阅读/proc/*/cmdline并找到真正的可执行文件作为ld的一个参数吗?当然,只有当您检测到/proc/*/exe是指向ld的符号链接时,才会这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27347718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档