如何发现加载二进制文件的路径

时间:2016-04-29 19:03:53

标签: linux windows macos dll shared-libraries

我有一个问题,我需要知道当前二进制文件的文件系统路径,以及任何加载(而不是加载)二进制文件的文件系统路径。下面是一个示例(对于Windows):假设我们有一个可执行文件A.exe,它动态绑定到B.dll,后者又绑定到C.dll。如何在C.dll中执行代码获取C.dllB.dllA.exe的文件路径?

哦,我需要能够在Linux,Mac和Windows上完成它。

  • Linux 上,我发现的最接近的是dl_iterate_phdr,但是缺少了谁加载的信息。

  • Windows 上,Dynamic-Link功能没有相应的功能。

  • Mac 上,我所能找到的就是dlfcn.h中的内容,这对于此目的而言非常精辟。

感谢。

0 个答案:

没有答案