lea*_*erX 6 linux compile reverse-engineer libraries
背景:我们的 Linux 发行版有一个第三方供应商软件,我们目前正在测试该软件lubuntu。我们有安装文件和install.shshell 脚本,用于在正确的目录中安装该软件所需的二进制文件。
我们想确定该软件在内部使用哪些静态库(这样我们就可以判断它们是否已过时并在我们的环境中引入漏洞)。
到目前为止我们所做的:我们查看了ldd但它只列出了共享库或动态库。与 相同objdump。我们过去常常strings查看隐藏在其中一些二进制文件中的字符串,以查看库版本号等的标志。但对于大型二进制文件来说,这是一个非常耗时且低效的过程。
问题:在Linux环境下如何发现并列出软件中使用的静态库?
ldd <exe filename>显示动态链接库
nm <exe filename>显示文件中的符号。要查看哪些符号来自静态库,需要
nm针对这些库运行以获取其中的符号(函数等)列表,然后将它们与nm <exe filename>.您可以将列表与
comm命令进行比较。man comm详情请参阅。这是从这个论坛这里截取的。