pip install pyelftools
python
from elftools.elf.elffile import ELFFile
def extract_dynamic_link_info(filename):
with open(filename, 'rb') as f:
elf = ELFFile(f)
dynamic_section = elf.get_section_by_name('.dynamic')
if dynamic_section is None:
return None
dynamic_tags = dynamic_section.iter_tags()
dynamic_link_info = []
for tag in dynamic_tags:
if tag.entry.d_tag == 'DT_NEEDED':
library_name = tag.needed
dynamic_link_info.append(library_name)
return dynamic_link_info
dynamic_info = extract_dynamic_link_info('program.elf')
if dynamic_info is not None:
for library in dynamic_info:
print(library)
else:
print('Failed to extract dynamic link info.')