【发布时间】:2020-02-11 19:33:13
【问题描述】:
我一直在尝试从文件中获取静态和动态依赖项。我有源代码和 unstipped bin 文件, 为了获得所有动态依赖项,我使用了这一行及其工作
readelf -d $1 | grep "NEEDED\|RPATH" | perl -pe 's/.*\[(.*)\]/$1/
当我使用命令时,我的问题在于静态库:
nm path/to/so
我得到的是函数的名称,而不是文件的名称。 有没有办法查看每个二进制文件的静态依赖关系?
【问题讨论】:
-
据我所知,答案是:不。静态库只是目标文件的存档。链接静态库与链接不同的目标文件相同。
-
也许找到了某种方式,我现在的脚本是:"readelf -d $1 | grep "NEEDED\|RPATH" | perl -pe 's/.*[(.*)]/$1/ '|sort -u | tee DynamicDep_$2\.txt " 用于动态和 " 字符串 -a $1 | grep -E '\.h' | sort -u | sed "s,\x1B[[0-9;]*[ a-zA-Z],,g" | tee StaticDep_$2\.txt" 用于静态