summaryrefslogtreecommitdiffstats
path: root/sploit/payload.py
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2022-07-06 23:42:57 -0400
committerMalfurious <m@lfurio.us>2022-09-12 20:19:03 -0400
commit20dad07b1d9b666a0b86d11204e195af7be9d212 (patch)
treeb4305efeab61f34989b74beb5145d04b18bcf266 /sploit/payload.py
parent98c491856cb4dcbbee2af41194aa22e1ce0515a3 (diff)
downloadnsploit-20dad07b1d9b666a0b86d11204e195af7be9d212.tar.gz
nsploit-20dad07b1d9b666a0b86d11204e195af7be9d212.zip
sploit: Fix bugs involving Symtbl base value
Some code previously assumed a Symtbl's base value to always be zero. This was often the case, however the assumption would break (for example) when attempting to rebase() a mapped Symtbl. As of the previous patch enabling freer modification of base, the potentiality of these bugs will be higher. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
Diffstat (limited to '')
-rw-r--r--sploit/payload.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/sploit/payload.py b/sploit/payload.py
index 9fab65e..a7721e0 100644
--- a/sploit/payload.py
+++ b/sploit/payload.py
@@ -28,13 +28,13 @@ class Payload(Symtbl):
return f'{kind}_{ctr}'
def __append(self, value, sym):
- setattr(self, sym, len(self))
+ setattr(self, sym, self.base + len(self))
self._namesp.payload += value
return self
def __prepend(self, value, sym):
self.adjust(len(value))
- setattr(self, sym, 0)
+ setattr(self, sym, self.base)
self._namesp.payload = value + self._namesp.payload
return self