From 30004f849d2cbb91432cb2700379e17765eccb03 Mon Sep 17 00:00:00 2001 From: dusoleil Date: Fri, 11 Mar 2022 09:04:32 -0500 Subject: sploit: add ldd ability to rev module add helper function to invoke ldd to get a list of libraries that will be linked to a given ELF Signed-off-by: dusoleil --- tools/sploit/sploit/rev/__init__.py | 4 ++++ tools/sploit/sploit/rev/ldd.py | 10 ++++++++++ 2 files changed, 14 insertions(+) create mode 100644 tools/sploit/sploit/rev/ldd.py (limited to 'tools/sploit') diff --git a/tools/sploit/sploit/rev/__init__.py b/tools/sploit/sploit/rev/__init__.py index e69de29..c489b98 100644 --- a/tools/sploit/sploit/rev/__init__.py +++ b/tools/sploit/sploit/rev/__init__.py @@ -0,0 +1,4 @@ +from . import ( + ldd +) + diff --git a/tools/sploit/sploit/rev/ldd.py b/tools/sploit/sploit/rev/ldd.py new file mode 100644 index 0000000..60306f1 --- /dev/null +++ b/tools/sploit/sploit/rev/ldd.py @@ -0,0 +1,10 @@ +import re +from subprocess import run +from collections import namedtuple as nt + +def get_libraries(elf): + out = run(['ldd',elf],capture_output=True).stdout.decode('utf-8').split('\n')[:-1] + 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 -- cgit v1.2.3