diff options
Diffstat (limited to 'sploit/rev/ldd.py')
-rw-r--r-- | sploit/rev/ldd.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sploit/rev/ldd.py b/sploit/rev/ldd.py new file mode 100644 index 0000000..1a28c7c --- /dev/null +++ b/sploit/rev/ldd.py @@ -0,0 +1,13 @@ +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 |