Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Python by m ( 14 years ago )
Key:xf4xb2xd3x8cxf5x75x1bx9bxf6xf1x5bx76xa7x95x57xaaxd8x48x74x88x9cx2x2xf3xf8xd1x2axe1x15xcexffx9c
IV:x29xaex80x79xa9x6axd8xa2xebxc8x48x5xfex65x6exeb

import idaapi, idautils, idc

def MutatedTrippleXor(key, keymask1, keymask2, iv, ivmask1, ivmask2):
    i = 0
    j = 0
    ctr1 = 0
    ctr = 0
    for i in xrange(0x12+1):
        for j in xrange(32):
            ctr1 = 31 - j
            key[j] ^= keymask2[ctr1]
            keymask1[j] ^= key[ctr1]
            keymask2[j] ^= keymask1[ctr1]
        for j in xrange(16):
            ctr2 = 15 - j
            ivmask1[j] ^= iv[ctr2]
            iv[j] ^= ivmask2[ctr2]
            ivmask2[j] ^= ivmask1[ctr2]
    return (key, iv)

def makebytes(address, leng):
    return [ord(x) for x in idaapi.get_many_bytes(address, leng)]
    
def dump():
    keymask1 = makebytes(0x11118, 32) # r4
    keymask2 = makebytes(0x11178, 32) # r5
    key = makebytes(0x11148, 32) # r6
    ivmask1 = makebytes(0x11108, 16) #r10
    ivmask2 = makebytes(0x11168, 16) #r7
    iv = makebytes(0x11138, 16) #r8
    keyf, ivf = MutatedTrippleXor(key, keymask1, keymask2, iv, ivmask1, ivmask2)
    print "Key:%s" % ("".join(["\x%x" % x for x in keyf]))
    print "IV:%s" % ("".join(["\x%x" % x for x in iv]))

dump()

 

Revise this Paste

Children: 48534
Your Name: Code Language: