Advertisement
Guest User

pwncrypt5

a guest
Apr 21st, 2014
1,466
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. #!/usr/bin/python              
  2. """
  3. 48bits presents:
  4. 8===============================================D~~~
  5. WhatsApp msgstore crypt5 decryptor by grbnz0 and nullsub
  6. 8===============================================D~~~
  7.  
  8. """
  9.                                                                                                                                                                                    
  10. import sys
  11. import hashlib
  12. import StringIO
  13. from M2Crypto import EVP
  14.  
  15. key = bytearray([141, 75, 21, 92, 201, 255, 129, 229, 203, 246, 250,
  16.    120, 25, 54, 106, 62, 198, 33, 166, 86, 65, 108, 215, 147])
  17. iv = bytearray([0x1E,0x39,0xF3,0x69,0xE9,0xD,0xB3,0x3A,0xA7,0x3B,0x44,
  18.    0x2B,0xBB,0xB6,0xB0,0xB9])
  19.  
  20. def decrypt(db,acc):
  21.   fh = file(db,'rb')
  22.   edb = fh.read()
  23.   fh.close()
  24.   m = hashlib.md5()
  25.   m.update(acc)
  26.   md5 = bytearray(m.digest())
  27.   for i in xrange(24): key[i] ^= md5[i&0xF]
  28.   cipher = EVP.Cipher('aes_192_cbc', key=key, iv=iv, op=0)
  29.   sys.stdout.write(cipher.update(edb))
  30.   sys.stdout.write(cipher.final())
  31.  
  32. if __name__ == '__main__':
  33.   if len(sys.argv) != 3:
  34.     print 'usage %s <db> <accountname> > decrypted.db' % sys.argv[0]
  35.   else:
  36.     decrypt(sys.argv[1],sys.argv[2])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement