Maybe this is not intended, but the provided binary prints "Access Granted" if the (incomplete) flag is partially correct:
```import subprocess, string
def check(flag):    try:        output = subprocess.check_output('echo "%s" | ./main' % flag, shell = True, stderr=subprocess.STDOUT)    except Exception, e:        output = str(e.output)    return 'Access Granted' in output
flag = ''for i in range(128):        for c in string.printable:        if check(flag + c):            flag += c            print flag            break```