Chris Pomeroy
2017-12-01 562346bb6189aef7634d76930d2979e68c2b3106
Adeed getaaxkey back correctly
13 files added
84 ■■■■■ changed files
getaaxkey/__init__.py patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_0_10000x789935_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_1_10000x791425_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_2_10000x790991_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_3_10000x792120_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_4_10000x790743_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_5_10000x790568_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_6_10000x791458_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_7_10000x791707_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_8_10000x790202_0.rtc patch | view | raw | blame | history
getaaxkey/audible_byte#4-4_9_10000x791022_0.rtc patch | view | raw | blame | history
getaaxkey/getaaxkey.py 84 ●●●●● patch | view | raw | blame | history
getaaxkey/rcrack patch | view | raw | blame | history
getaaxkey/__init__.py
getaaxkey/audible_byte#4-4_0_10000x789935_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_1_10000x791425_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_2_10000x790991_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_3_10000x792120_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_4_10000x790743_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_5_10000x790568_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_6_10000x791458_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_7_10000x791707_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_8_10000x790202_0.rtc
Binary files differ
getaaxkey/audible_byte#4-4_9_10000x791022_0.rtc
Binary files differ
getaaxkey/getaaxkey.py
New file
@@ -0,0 +1,84 @@
#!/usr/bin/python
import os
import subprocess
def filechecksum(aaxfile):
    ret = subprocess.Popen(["ffprobe", "-v", "info", "-hide_banner", os.path.abspath(aaxfile)], stderr=subprocess.PIPE)
    grep = subprocess.Popen(["grep", "checksum"], stdin=ret.stderr, stdout=subprocess.PIPE)
    awk = subprocess.Popen(["awk", " { print $8 } "], stdin=grep.stdout, stdout=subprocess.PIPE)
    hashsum,out = awk.communicate()
    hashsum = hashsum.strip('\n')
    return hashsum
def writeauthcode(hashsum):
    try:
        file = open(".authcode", "a")
        file.write(hashsum + os.linesep)
    except (IOError, OSError) as e:
        print "Can't write to .authcode"
        return 1
    finally:
        file.close()
        return 0
def readauthcode():
    try:
      if not os.path.isfile(".authcode"):
          open (".authcode", "w").close()
      with open(".authcode") as f:
          hashes = f.read().split()
    except (IOError, OSError) as e:
        print "Can't read in .authcode"
        return 1
    finally:
        f.close()
        return hashes
def newauthcode(checksum):
    rcwd = os.path.dirname(os.path.realpath(__file__))
    command = "./rcrack *.rtc -h "
    command += checksum
    cmd = subprocess.Popen(command, cwd=rcwd, stdout=subprocess.PIPE, shell=True)
    grep = subprocess.Popen(["grep","-a", "hex"], stdin=cmd.stdout,stdout=subprocess.PIPE)
    key,stderr = grep.communicate()
    key = key.split()
    return key[2].split(':')[1]
def checkagainstexisting(abytes,aaxfile):
    ret = subprocess.Popen(["ffprobe","-activation_bytes", abytes ,"-hide_banner" , os.path.abspath(aaxfile)], stderr=subprocess.PIPE)
    grep = subprocess.Popen(["grep", "mismatch", "-c"], stdin=ret.stderr, stdout=subprocess.PIPE)
    works,out = grep.communicate()
    return works.strip('\n')
def getcorrectkey(aaxfile):
    authcodes = readauthcode()
    abyte = ''
    for x in authcodes:
        if (checkagainstexisting(x,aaxfile) == '0'):
            abyte = x
            return abyte
    if (abyte == ''):
        csum = filechecksum(aaxfile)
        abyte = newauthcode(csum)
        writeauthcode(abyte)
        return abyte
if __name__ == "__main__":
    import sys
    if len(sys.argv) >= 2:
        args = sys.argv[1]
    else:
        print "I need an file name to lookup"
        sys.exit(1)
    checksum = filechecksum(args)
    out = newauthcode(checksum.strip())
    if out is not None:
        print sys.argv[1], "Auth code is:", out
    else:
        print sys.argv[1], "no Authcode found"
getaaxkey/rcrack
Binary files differ