'Instantiates an object which try to automating exploit the vulnerable process
Arguments:
execute_fmt(function): function to call for communicate with the vulnerable process
offset(int): the first formatter\'s offset you control
padlen(int): size of the pad you want to add before the payload
numbwritten(int): number of already written bytes'

def __init__(self, execute_fmt, offset=None, padlen=0, numbwritten=0):

    self.execute_fmt = execute_fmt
    self.offset = offset
    self.padlen = padlen
    self.numbwritten = numbwritten
    if (self.offset == None):
        (self.offset, self.padlen) = self.find_offset()
        log.info('Found    format    string    offset:    %d', self.offset)
    self.writes = {}
    self.leaker = MemLeak(self._leaker)
