From aa9da0f6f27759f5f3201bafb0e52f41367f08ef Mon Sep 17 00:00:00 2001 From: dusoleil Date: Mon, 2 Aug 2021 00:36:28 -0400 Subject: Adding Initial Commit of the Sploit Tool Signed-off-by: dusoleil --- tools/sploit/sploitutil.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 tools/sploit/sploitutil.py (limited to 'tools/sploit/sploitutil.py') diff --git a/tools/sploit/sploitutil.py b/tools/sploit/sploitutil.py new file mode 100755 index 0000000..00d2151 --- /dev/null +++ b/tools/sploit/sploitutil.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 + +import sploitconfig as config +from sploitlog import sploitlog + +def btoi(b): + return int.from_bytes(b,'little') + +def itob(i): + return i.to_bytes(8,'little',signed=True) + +class Libc: + def __init__(self,libc_addr,libc_offset): + self.libc_base = btoi(libc_addr)-btoi(libc_offset) + def base(self): + return itob(self.libc_base) + def addr(self,offset): + return itob(self.libc_base + btoi(offset)) + +def log(s): + if config.use_popen: + sploitlog(s) + +class Communication: + def __init__(self,stdin,stdout): + self.stdin = stdin + self.stdout = stdout + def send(self,s): + self.stdout.write(s) + self.stdout.flush() + def recv(self): + out = self.stdin.readline() + log(out) + return out -- cgit v1.2.3