Как обнаружить и перечислить статические библиотеки, используемые программным обеспечением в 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