diff options
author | dusoleil <howcansocksbereal@gmail.com> | 2022-03-13 23:34:23 -0400 |
---|---|---|
committer | dusoleil <howcansocksbereal@gmail.com> | 2022-03-13 23:34:23 -0400 |
commit | c493a8f8073702bcdccdbc40bf09931e201c9013 (patch) | |
tree | cfd391448ba19b5bf6fc41f500c7443ea9c26d08 | |
parent | 5b84c859396574795f4f5beb296e23f4f6458059 (diff) | |
download | sploit-c493a8f8073702bcdccdbc40bf09931e201c9013.tar.gz sploit-c493a8f8073702bcdccdbc40bf09931e201c9013.zip |
sploit: Move __attr_filter__ to a general place in util
Found a spot to use __attr_filter__ in the rev module, so moving it out
of mem and into a shared place (util).
Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
-rw-r--r-- | sploit/mem.py | 4 | ||||
-rw-r--r-- | sploit/rev/elf.py | 4 | ||||
-rw-r--r-- | sploit/util.py | 6 |
3 files changed, 11 insertions, 3 deletions
diff --git a/sploit/mem.py b/sploit/mem.py index c953fce..ac2bbb1 100644 --- a/sploit/mem.py +++ b/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/sploit/rev/elf.py b/sploit/rev/elf.py index acfe73b..7bfd31f 100644 --- a/sploit/rev/elf.py +++ b/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/sploit/util.py b/sploit/util.py index 610ab31..8a259c4 100644 --- a/sploit/util.py +++ b/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__'] |