>>> map (ord, base64.decodestring("AzRdHXdb5Xu5PFK1FQhWlRjdDSM="))
[3, 52, 93, 29, 119, 91, 229, 123, 185, 60, 82, 181, 21, 8, 86, 149, 24, 221, 13, 35]
>>> password = map (ord, base64.decodestring("AzRdHXdb5Xu5PFK1FQhWlRjdDSM="))
>>>
>>> j = password[0]
>>> k = password[1]
>>>
>>> i1 = (password[3] ^ j) << 8 & 0xFF00 | (password[2] ^ k) & 0xFF
>>> i1 = i1 & 0xFFFF
>>> i1 = i1 - 7777
>>>
>>> unmangled_passwd = password[4:4+i1]
>>>
>>> for n in xrange(i1):
... if (n % 2 != 0):
... i = k
... else:
... i = j
... print unmangled_passwd[n], i, unmangled_passwd[n] ^ i
... unmangled_passwd[n] = unmangled_passwd[n] ^ i
... m = i & 0x1
... i = i >> 1
...
... if m != 0:
... i = i | 0x80
... else:
... i = i & 0x7F
...
... if n % 2 != 0:
... k = i
... else:
... j = i
...
119 3 116
91 52 111
229 129 100
123 26 97
185 192 121
60 13 49
82 96 50
181 134 51
>>> unmangled_passwd
[116, 111, 100, 97, 121, 49, 50, 51]
>>> map (chr, unmangled_passwd)
['t', 'o', 'd', 'a', 'y', '1', '2', '3']
>>>
No comments:
Post a Comment
Note: only a member of this blog may post a comment.