Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- """
- 48bits presents:
- 8===============================================D~~~
- WhatsApp msgstore crypt5 decryptor by grbnz0 and nullsub
- 8===============================================D~~~
- """
- import sys
- import hashlib
- import StringIO
- from M2Crypto import EVP
- key = bytearray([141, 75, 21, 92, 201, 255, 129, 229, 203, 246, 250,
- 120, 25, 54, 106, 62, 198, 33, 166, 86, 65, 108, 215, 147])
- iv = bytearray([0x1E,0x39,0xF3,0x69,0xE9,0xD,0xB3,0x3A,0xA7,0x3B,0x44,
- 0x2B,0xBB,0xB6,0xB0,0xB9])
- def decrypt(db,acc):
- fh = file(db,'rb')
- edb = fh.read()
- fh.close()
- m = hashlib.md5()
- m.update(acc)
- md5 = bytearray(m.digest())
- for i in xrange(24): key[i] ^= md5[i&0xF]
- cipher = EVP.Cipher('aes_192_cbc', key=key, iv=iv, op=0)
- sys.stdout.write(cipher.update(edb))
- sys.stdout.write(cipher.final())
- if __name__ == '__main__':
- if len(sys.argv) != 3:
- print 'usage %s <db> <accountname> > decrypted.db' % sys.argv[0]
- else:
- decrypt(sys.argv[1],sys.argv[2])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement