Dependencies

查找二進製文件依賴的所有文件(包括庫)

  • February 25, 2016

我想查找二進製文件所依賴的所有文件(包括庫、配置文件,基本上是二進製文件中引用的所有文件)。

我知道,您可以使用 找到共享庫objdump, ldd, readelf,但是動態載入的庫 ( dlopen) 和其他文件 ( /etc/some/config) 呢?

到目前為止,我有一個半生不熟的解決方案,它在二進製文件中搜尋字元串(文件名)($ strings /path/to/binary | grep lib),但我認為正確的解決方案是搜尋系統呼叫二進製文件(read, write, dlopen, etc)。

不幸的是,我對反彙編器沒有任何經驗或對其他方法的想法。

此外,我不能使用依賴於執行二進製文件(strace 和擺弄等)的解決方案,因為我需要對大量二進製文件執行此操作。

找到二進製文件引用的所有文件的大約 90% 的解決方案就足夠了。

要檢查的二進製文件是標準 (Arch) Linux (multilib) 二進製文件。我假設它們中的大多數是由 gcc (-O2) 編譯的。

你可以試試:

strace -fe open cmd 2>&1 >/dev/null | grep -v '= -1' | cut -d\" -f2

查看它在執行時打開的內容。

引用自:https://unix.stackexchange.com/questions/265839