我知道有可能使用'readelf -d | grep RPATH'来检查shell中给定的二进制文件,但是可以在进程中执行此操作吗?有没有办法检查Linux上当前的rpath?
喜欢的东西(我完全由系统调用):
/* get a copy of current rpath into buffer */
sys_get_current_rpath(&buffer);
我试图诊断某些犯罪嫌疑人因此链接的问题在我们的代码库,并想检查RPATH这样如果可能的话(我'而不必产生外部脚本)。
它很棒,但它不适用于$ ORIGIN。 $ ORIGIN不被解释,并按照函数返回。有没有办法添加$ ORIGIN的解释? – 2014-07-10 15:30:06
@Jérôme如果你正在安装'/ proc'的环境中执行,那么展开'$ ORIGIN'就像readlink(“/ proc/self/exe”,...)一样简单,那么NUL终止于最后的斜线。 – 2014-07-11 16:09:51