WhatsApp was driving me nuts the other day! Why? Because it would not restore my message backup without a reason.
When I take the time and read the following will it help me?
Well, maybe. That depends on what you did. I wanted to restore my WhatsApp encrypted backup file (FILE! not Google backup) and it worked out.
When will the following maybe help me?
- you have a WhatsApp backup file (encrypted, e.g. crypt12 -> msgstore.db.crypt12)
- you wiped your phone’s data
- you have a backup of your phone (TWRP or similar) or already have the WhatsApp key
What happened to you?
I changed from stock ROM to custom ROM (CyanogeMod in my case). Because I did a clean flash I made some preparations in advance. I backed up my WhatsApp messages and copied the whole folder to my SD card. I wiped my phone using TWRP (system, data, cache...). After the custom ROM flash I installed WhatsApp and wanted to restore my messages. Didn’t worked out.
I did a little bit of research and little did I know the message file was encrypted. Because WhatsApp is super smart it stores the key for the decryption not in the WhatsApp folder (okay, this would really be stupid). As soon as you wipe your data the key will be erased. Good bye key! So, I am not an expert and it could be that there is a way easier method to restore you messages but I didn’t found one. I just want to share my experience so hopefully someone can save a lot of time. I would have been happy if I found something like this earlier or if I would have at least known about the key. Now I know.
Without a backup of your phone, to be more specific, of your phone’s data or the WhatsApp key the following will be useless!
Your phone can get broken! I am not responsible for that. Everything you do is on your own risk! Also, I’ll try to help but I am not a 24/7 support technician.
Read everything first before you start! Maybe I messed something up. So, take a look first!
So, what to do?
1) Retrieve the key from your phone’s data backup.
a) Because we are all smart we do a full backup before we flash crazy stuff on our phone, right?! I did that with TWRP. Any other backup might work as well. You’ll have to find out on your own. The TWRP backup file is something like “data.ext3.win000”, “data.ext3.win001”. Copy it to your computer. Add the extension .tar or .tar.gz (“data.ext3.win000.tar”, “data.ext3.win001.tar”). In my case both worked. If you can already browse your backup file continue with e).
b) Download and Install 7-Zip.
c) With the 7-Zip file manager you can open and search inside the renamed TWRP files.
d) 7-Zip doesn’t recognize if your data is stored in more than one file. I guess if you pick the right file extensions it would. But, like I said, I am not an expert. So, in this case the win000-file has other files in it than the win001-file. If you don’t find the key in the first one, open up the next one.
e) Open the first file. There will be some kind of blank folder. Open it and you’ll see your phones data. Navigate to \data\data\com.whatsapp\files\.
f) There you should see a file named key. If so, start yell “hurray!”. In my case I saw two key files. I don’t know why but every file was doubled (maybe someone can explain that to me).
g) One of the files was about 158 Bytes. That should be it. To be sure extract the first key file. Open it with the windows editor. If there are letters in it that you can read it’s the wrong file.
h) Extract the other one and open it, too. You see some gibberish? Congratulations, this should be your key! Copy the file to your phones SD card or something similar.
2) Restore your backup
a) Install WhatsApp if not already happened. If you already activated the app go to settings, apps, select WhatsApp and erase all data (NOTE! Your own risk! All data will be gone!). This is necessary because WhatsApp will only ask once after the activation if the backup should be restored. Maybe there is another way but I don’t know it.
b) Copy the whole WhatsApp folder to your phone (the backed up one from the SD, see above). Or just put the backup file into \WhatsApp\Databases\. If you have an older backup file like msgstore.db-2016-01-01.crypt12 rename it into msgstore.db.crypt12. As far as I know only the last named file will be restored.
c) Start WhatsApp and activate it.
d) STOP! WhatsApp will ask you if it should restore the backup. Don’t do it! If you did it and it failed start again from a). Just leave the screen like that, don’t do anything. Turn off your phone! Yep, you heard right. WhatsApp will remember the state it’s in.
e) Boot into TWRP. If you have a file manager that can access your phones data you could use that one, too. I think root will be required for that. I just had the limited stock file manager. The latest TWRP has a file manager integrated without restrictions (check for yourself first!). I used that one (complicated maybe, I know!).
f) Open the file manager (Advanced - File Manager) and navigate to your key-file. Tap on it and select copy.
g) Navigate to \data\data\com.whatsapp\files and copy the key-file into this folder (just tap the blue folder at the right bottom of the screen).
h) Reboot you phone. Start WhatsApp. It should open up and directly ask you if you want to restore your backup. Try to restore it. If you’re lucky it’ll work. For me it did! Congratulations.
- I didn’t know about the key when I erased my phone’s data. Next time that one will be backed up, too. So I can save a lot of time.
- This whole thing here might be very complicated and I guess there is a lot better way to do it. But I didn’t found it. So, I just want to at least share my experience. Maybe someone will profit.