Código:
openssl enc -d -aes-192-ecb -in msgstore-1.db.crypt -out msgstore.db.sqlite -K 346a23652a46392b4d73257c67317e352e3372482177652c
Fuente:
http://www.securitybydefault.com/2012/05/descifrando-el-fichero-msgstoredbcrypt.html
Código
# check if crypted and decrypt try: c1.execute("SELECT * FROM chat_list") except sqlite3.Error as msg: print ("trying to decrypt android database...") try: from Crypto.Cipher import AES c1.close() c2.close() code = "346a23652a46392b4d73257c67317e352e3372482177652c" if PYTHON_VERSION == 2: code = code.decode('hex') elif PYTHON_VERSION == 3: code = bytes.fromhex(code) cipher = AES.new(code,1) decoded = cipher.decrypt(open(options.infile,"rb").read()) decodedfile = options.infile.replace(".db.crypt","")+".plain.db" output = open(decodedfile,"wb") output.write(decoded) output.close() msgstore = sqlite3.connect(decodedfile) msgstore.row_factory = sqlite3.Row c1 = msgstore.cursor() c2 = msgstore.cursor() print ("decrypted database written to "+decodedfile) except msg: print('Error: {}'.format(msg)) sys.exit(1)
http://code.google.com/p/hotoloti/
http://blog.digital-forensics.it/2011/12/whatsapp-xtract.html
Si la base de datos no se puede abrir, repararla
Si aparece el error Error: file is encrypted or is not a database y ya está descifrada, intenta lo siguiente:
Abre el fichero de la base de datos con un editor y si empieza por "SQLite format 3"? La puedes reparar siguiendo los pasos:
- descarga sqlite3.exe de http://www.sqlite.org/download.html
- ejecuta whatsapp_xtract_console.bat y escribe lo siguiente:
- echo .dump | sqlite3.exe msgstore.db > Temp.sql
- echo .quit | sqlite3.exe -init Temp.sql msgstore_new.db
- python whatsapp_xtract.py -i msgstore_new.db
msgstore.db es el fichero de la base de datos que también podría ser msgstore.plain.db



