From 20dad07b1d9b666a0b86d11204e195af7be9d212 Mon Sep 17 00:00:00 2001 From: Malfurious Date: Wed, 6 Jul 2022 23:42:57 -0400 Subject: 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 Signed-off-by: dusoleil --- sploit/payload.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sploit/payload.py') 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 -- cgit v1.2.3