summaryrefslogblamecommitdiffstats
path: root/sploit/rev/ldd.py
blob: 1a28c7ce6b09dc91899ac36fb58608e4759650f4 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                      
                           
 
         


                                        
                                                             
                                     



                                                                                                    
from sploit.util import run_cmd_cached
from sploit.log import ilog

import re
from collections import namedtuple as nt

def get_libraries(elf):
    ilog(f'Retrieving linked libraries of {elf} with ldd...')
    out = run_cmd_cached(['ldd',elf])
    out = [re.split(r'\s+',lib)[1:] for lib in out]
    Lib = nt("Lib", "name path addr")
    out = {l[0]:Lib(l[0],l[0] if l[0][0]=='/' else l[2] if l[1]=='=>' else None,l[-1]) for l in out}
    return out