summaryrefslogblamecommitdiffstats
path: root/sploitutil.py
blob: 00d2151441ca98a737fe26699dd9ce66d9c11357 (plain) (tree)

































                                                          
#!/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