summaryrefslogtreecommitdiffstats
path: root/sploit/rev/ldd.py
diff options
context:
space:
mode:
Diffstat (limited to 'sploit/rev/ldd.py')
-rw-r--r--sploit/rev/ldd.py13
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