我正在开发ldd-python
脚本。
据我所知, ELF二进制文件本身仅具有关于库SONAME
的信息。
如何通过此SONAME
获取库的完整路径?
我要像原始的ldd结果一样打印:
$ ldd test
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7d28000)
答案 0 :(得分:1)
ldd
通过在特殊模式(ld.so
)中运行LD_TRACE_LOADED_OBJECTS
来打印此信息。因此,您唯一的选择是在内部运行ldd
并解析其输出,或尝试对其在Python中的行为进行建模(但请注意,这种模型必须非常复杂,尤其是一旦进入setuid二进制文件)。