3

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

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

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

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

1 ответ1

0

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

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .