Como descobrir e listar bibliotecas estáticas usadas por um software no Linux?

3

Plano de fundo : temos um software de fornecedor de terceiros para nossa distribuição Linux que estamos testando no momento em lubuntu . Temos os arquivos de instalação e um script shell install.sh que instala os binários necessários para o software nos diretórios corretos.

Gostaríamos de determinar quais bibliotecas estáticas estão sendo usadas internamente por esse software (para que possamos saber se estão desatualizadas e apresentam vulnerabilidades em nosso ambiente).

O que fizemos até agora : analisamos ldd , mas lista apenas bibliotecas compartilhadas ou dinâmicas. Mesmo com objdump . Usamos strings para examinar as cadeias ocultas em alguns desses binários para ver sinais de números de versão da biblioteca e outros. Mas este é um processo muito demorado e ineficiente para grandes binários.

Pergunta : Como podemos descobrir e listar bibliotecas estáticas usadas em um software no ambiente Linux?

    
por learnerX 06.07.2018 / 21:42

1 resposta

0

Como podemos descobrir e listar bibliotecas estáticas usadas em um programa Linux?

ldd <exe filename> shows dynamically linked libraries

nm <exe filename> shows the symbols in the file.

To see which symbols come from static libraries requires running nm against those libraries to get a list of the symbols (functions, etc.) in them, then comparing them to what your list of symbols from nm <exe filename>.

You compare lists with the comm command. See man comm for details.

This was taken from this forum here.

Fonte Obtenha uma lista de bibliotecas estáticas usadas em um executável , responda por DrAl

    
por 06.07.2018 / 22:07