summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/sploit/sploit/mem.py4
-rw-r--r--tools/sploit/sploit/rev/elf.py4
-rw-r--r--tools/sploit/sploit/util.py6
3 files changed, 11 insertions, 3 deletions
diff --git a/tools/sploit/sploit/mem.py b/tools/sploit/sploit/mem.py
index c953fce..ac2bbb1 100644
--- a/tools/sploit/sploit/mem.py
+++ b/tools/sploit/sploit/mem.py
@@ -1,3 +1,5 @@
+from sploit.util import __attr_filter__
+
class Symtbl:
__subs__ = {}
def __init__(self, **kwargs):
@@ -84,5 +86,3 @@ def __str__(self,tbl):
else:
s += __tbl_format__.format(hex(addr),sym)
return s
-
-__attr_filter__ = ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
diff --git a/tools/sploit/sploit/rev/elf.py b/tools/sploit/sploit/rev/elf.py
index acfe73b..7bfd31f 100644
--- a/tools/sploit/sploit/rev/elf.py
+++ b/tools/sploit/sploit/rev/elf.py
@@ -1,4 +1,5 @@
from sploit.rev import ldd, r2
+from sploit.util import __attr_filter__
class ELF:
def __init__(self, path):
@@ -38,7 +39,8 @@ class ELF:
def __init__(self, elf):
self.elf = elf
def __getattribute__(self, sym):
- if(sym=='elf'):return object.__getattribute__(self,sym)
+ if(sym in (['elf'] + __attr_filter__)):
+ return object.__getattribute__(self,sym)
return r2.get_locals(self.elf.path, getattr(self.elf.sym, sym))
def retaddr(self, caller, callee):
diff --git a/tools/sploit/sploit/util.py b/tools/sploit/sploit/util.py
index 610ab31..8a259c4 100644
--- a/tools/sploit/sploit/util.py
+++ b/tools/sploit/sploit/util.py
@@ -13,4 +13,10 @@ def run_cmd_cached(cmd):
__RUN_CACHE__[key] = result
return result
+__attr_filter__ = ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__',
+ '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__',
+ '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__',
+ '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
+ '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
+ '__weakref__']