Как обнаружить и перечислить статические библиотеки, используемые программным обеспечением в Linux?

Предыстория: у нас есть стороннее программное обеспечение для нашего дистрибутива Linux, на котором мы сейчас тестируем lubuntu, У нас есть установочные файлы и install.sh сценарий оболочки, который устанавливает необходимые двоичные файлы для программного обеспечения в правильных каталогах.

Мы хотели бы определить, какие статические библиотеки используются этим программным обеспечением для внутреннего использования (чтобы мы могли определить, устарели ли они, и не представляют ли уязвимости в нашей среде).

Что мы сделали до сих пор: мы смотрели на ldd но в нем перечислены только общие или динамические библиотеки. То же самое с objdump, Мы использовали strings чтобы посмотреть на строки, скрытые в некоторых из этих двоичных файлов, чтобы увидеть знаки номеров версий библиотеки и тому подобное. Но это очень трудоемкий и неэффективный процесс для больших двоичных файлов.

Вопрос: Как мы можем обнаружить и перечислить статические библиотеки, используемые в программном обеспечении в среде Linux?

1 ответ

Как мы можем обнаружить и перечислить статические библиотеки, используемые в программе Linux?

ldd <exe filename> показывает динамически связанные библиотеки

nm <exe filename> показывает символы в файле.

Чтобы увидеть, какие символы взяты из статических библиотек, необходимо запустить nm с этими библиотеками, чтобы получить список символов (функций и т. д.) в них, а затем сравнить их с тем, что ваш список символов от nm <exe filename>,

Вы сравниваете списки с comm команда. Увидеть man comm для деталей.

Это было взято с этого форума здесь.

Источник Получить список статических библиотек, используемых в исполняемом файле, ответ marlon brando

Другие вопросы по тегам