'Call this if you want to run the entire process with a ELF binary.'

def run_this(self):

    self.bin_file = open(self.FILE, 'r+b')
    if (self.FIND_CAVES is True):
        self.support_check()
        self.gather_file_info()
        if (self.supported is False):
            print self.FILE, 'is    not    supported.'
            return False
        print ('Looking    for    caves    with    a    size    of    %s    bytes    (measured    as    an    integer)' % self.SHELL_LEN)
        self.find_all_caves()
        return True
    if (self.SUPPORT_CHECK is True):
        if (not self.FILE):
            print 'You    must    provide    a    file    to    see    if    it    is    supported    (-f)'
            return False
        try:
            self.support_check()
        except Exception as e:
            self.supported = False
            print 'Exception:', str(e), ('%s' % self.FILE)
        if (self.supported is False):
            print ('%s    is    not    supported.' % self.FILE)
            self.print_supported_types()
            return False
        else:
            print ('%s    is    supported.' % self.FILE)
            return True
    return self.patch_elf()
