• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE] Merge Multiple Whatsapp Backup File Into One (No Root Required)

Search This thread

jackgan

Member
Oct 25, 2011
35
19
I am not sure if I post at the right place but I would like to share this to everyone as I understand how hard it is to find a solution that works. With this guide, you will get to keep the original WhatsApp message information (such as thumbnail, link, emoticon, etc.) and work like it is a restore file that backup from itself.

There will be three main phase you need to perform. You can get all required file in the attachment. Make sure you backup your end result before jump into the next phase.

Phase A: Decrypt and obtain msgstore.db file
This is the easiest method I can find and NO ROOT is required to perform this. All you need is to follow the instruction below.

INSTRUCTIONS:
  1. Extract "WhatsAppKeyExtract.zip" (from attachment) on your computer maintaining the directory structure.
  2. Browse to the extracted folder and click on "WhatsAppKeyExtract.bat".
  3. Enable USB Debugging on your device.
  4. Connect your device via USB**, unlock your screen and wait for "Full backup" to appear.
  5. Leave the password field blank and tap on "Back up my data".
  6. The "extracted" folder will now contain your "whatsapp.key", "msgstore.db" and "wa.db".
**If you have never used USB Debugging before, you may also need to verify the fingerprint.

(Credited to TripCode for providing this application! Here is the link to original thread.)

For my case, I have three backup files that named msgstore.db.crypt, msgstore.db.crypt7 and msgstore.db.crypt8. Although I know there might be other easier method to achieve this, I choose to restore each file (by uninstall and install WhatsApp) and run the above method to get my decrypted file. Hence I can be sure that all decrypted file will come in the same structure (I will show you what this mean later) and prevent any error that may cause by that.

Phase B: Edit and prepare database for merge
This will be a bit tricky. But in general, you MUST make sure that you have no overlapping message history between your files.

INSTRUCTION:
  1. Download SQLite Database Browser and install on your computer.
  2. Open the database you want to edit.
  3. Click on [Browse Data] tab.
  4. In Table drop down menu, click on [messages] (You will see all your WhatsApp message here).
  5. Use it like you are using Excel, select any row that is overlapping (EXCEPT the row with many [-1] value) and click on [Delete Record], then click on [Write Changes] (this means you have save the change to the database).
  6. Keep doing this for your remaining file and close all windows of SQLite Database Browser when you are done.
(Thanks ztedd for posting his own method where I get inspired from. This is the link to his original post.)

For my case, the number of column of all my file when display in "messages" table is different (newer WhatsApp database file have more data type). This is the reason I restore and run backup again to make sure all my file have the same structure. Also, a quick tips to figure out which row is overlapping or duplicate is export the messages table to CSV file and open it with Excel. You will need to copy the first few column of each database and paste them together, then use the feature that come with Excel such as Filter and Remove Duplicate to identify which row number you need to remove from actual database file.

IMPORTANT - Never edit your database on excel and import it back to your original database. This will remove all thumbnail, link, emoticon and etc. and show you some weird message when you restore back to your device.

Phase C: Merge database file
This method only can merge two file at once. You may need to do this several time depending how many database you want to merge. I suggest you start from the oldest to newest.

INSTRUCTION:
  1. Rename the older file to old.db.
  2. Rename the newer file to new.db
  3. Create a new folder called Merge and copy the file old.db, new.db and merjapp.jar into it.
  4. Run Command Prompt on your computer (or click on Start Menu and search for cmd)
  5. In Command Prompt, type each of the following separately and press Enter:
    Code:
    cd desktop
    
    cd merge
  6. You now should see [C:\Users\<UserName>\Desktop\Merge>] in cmd window.
  7. Now type the following and press Enter:
    Code:
    java.exe -jar merjapp.jar -old old.db -new new.db
  8. You should see a "Done!" is displayed and a new file named output.db will be created in the Merge folder.
  9. If you have other database to merge, repeat the steps above by rename the output.db to old.db.
  10. Once you are done, rename the output.db to msgstore.db and it is ready to restore into WhatsApp.
(Credited to namnoops for this merge application! This is the link to original thread.)

For my case, I have to run this steps twice to merge 3 databases. I get error the first time I run this because some messages is overlapping and this is the reason for Phase B to edit my database. Once I got my merged database, I renamed it to msgstore.db (without encrypt again) and have no problem restore back to my device. I also copy and paste all my backed up WhatsApp folder to my device (except the file in Database folder) for the picture in WhatsApp to work.

Disclaimer: I do not know any coding behind all these so if you have any questions I will try to answer but the best bet is to go back to the original thread.

Below is some other method that I found online but can't figure out how to do it. You may try it at your own risk.

Additional Method:
sch3m4's wforensic Method
Alternate sch3m4's wforensic Method
 
Last edited:

ezhome2046

Senior Member
Dec 10, 2015
121
14
big fail after attemped retrieve msgstore.db

when tested edit under sqlitebrowser, save change then exit. copy backup the "msgstore.db" file to my device original place and set permission as before. run whatsapp then all my message on list has been gone. no idea wut happen. even though i copy back my original msgstore.db to same place. so **** and make me down becoz i forgot to backup the list b4 make this test.

i use whatsapp ver 2.12.367. and dun add or del row under sqlitebrowser, only retrieve some text on same row, but why i copy back the original msgstore.db also fail? lost all message
 

FrozenLord

Senior Member
Feb 17, 2009
351
162
While it might not be a lot of fun, it's quite easy to merge those databases using this method :)
I have used the Android WhatCrypt-app to decrypt my databases on the smartphone, copied both unencrypted ones to my PC and then trimmed the newer one down.
After merging, the only problem was getting Whatsapp to accept my database - the first attempt resulted in Whatsapp deleting all my messages.
My solution was to "Clear Data" on Whatsapp and simply drop the newly created database in Whatsapp's folder inside /data.
It accepted the new file and created the missing files by itself.

Now I have finally got all those messages in my Whatsapp :)

Thank you very much!
 

TigerStyleZ

Senior Member
Mar 19, 2012
232
33
Hey,
I have a problem : everytime I try to do the last step e.g. merge the old.db and new.db via cmd - i get the error message " -E- Database old.db cannot be found! " . I renamed the old database to "old.db" still it doesnt work? What I am doing wrong?

Is my old.db file corrupted? I can read it with Whatsapp Viewer tool.. So it seems to work.
And there shouldnt be any overlapping messages - I have an old database and a fresh new one without any old backups.
(my old phone broke and i just jused the new one for the incoming messages)
 

musmas

Senior Member
Apr 1, 2013
61
2
26
Karachi
Help

Hi,
I just wanted to ask, I have the msgsstore.db.crypt8 File from my old whatsapp back on older device but I am unable to copy it to the database folder in my new device.
 

-Raffa-

Senior Member
Sep 26, 2012
89
28
Rimini
Help Please

Guys I have 2 backups, 1 crypt9 and 1 crypt12. I decrypted and merged both succesfully but when I try to restore my messages through Whatsapp it tells me "Cannor restore your messagges......." . What can be the problem? Whatsappviewer open without problems outout.db, so I think it is not corrupted. There may be some overlapping msgs? How can I notice them? I whatched the table column received_timestamp and I didn't see any equal row. However the column timestamp has multiple equal column, can be this my problem?
Thank in advance
 

DLz88

Member
Feb 17, 2014
25
10
Now I'm on phase B, and with the DB Browser for SQLite, I opened (tab Browse Data) the msgstore file in the "extracted" folder and then selected messages In Table drop down menu.
I didn't not understand what to do next.
 

TripCode

Senior Member
Mar 13, 2014
171
158
Now I'm on phase B, and with the DB Browser for SQLite, I opened (tab Browse Data) the msgstore file in the "extracted" folder and then selected messages In Table drop down menu.
I didn't not understand what to do next.

You would need to delete the records you do not want and then save the changes. In any case, what is the end result you are trying to achieve? Do you wish to import the merged database back to WhatsApp? Are the databases from separate accounts? If you intend to write back msgstore.db to /data/data/com.whatsapp/databases? How are you going to do that without root? If you do intend to use your merged database with WhatsApp then you may run into difficulties. Things have changed a lot since this guide was written.
 
  • Like
Reactions: DLz88

DLz88

Member
Feb 17, 2014
25
10
I have previous crypted (crypt8) backup files from whatsapp database (same account) and I want to merge those old messages with others whatsapp messages I have on my LG G5. Basically my galaxy s4 died, I managed to rescue the whatsapp database and now I want those messages in my new LG G5 (no backup on whatsapp servers because it was setted off by mistake). The folder is inside the main storage/WhatsApp/Database Also, I want all the records and excel told me that there are not any duplicates values.
 
Last edited:

DLz88

Member
Feb 17, 2014
25
10
Guys, I have FINALLY found a way to merge two differten WhatsApp backup files. I'll post the guide asap (have to translate it). Is different from the one on the first page for the first two parts.

How to merge two different WhatsApp backup files:

We have two different WhatsApp backup file (doesn't matter if encrypted by different methods, for example, I had a crypt9 file and one crypt8) and we want to combine them into one so we can read them with WhatsApp.

Requirements: OS: Windows Vista, Windows 7 or Windows 8

Programs you need:

1) WhatsApp Xtract: http://forum.xda-developers.com/showthread.php?t=2770982

2) SQLite Database Browser: https://github.com/sqlitebrowser/sql....2.0-win32.exe

3) merjapp (merjapp.jar) https://github.com/namnoops/merjapp/releases

4) JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

5) Java: https://www.java.com/en/download/

6) ADB (Android Debug Bridge) Drivers - If not installed: http://developer.android.com/sdk/index.html

Enable USB Debugg: Settings \ Developer options \ USB debugging (to activate them go to Settings-> About phone-> Software Information-> click many times on the Build number).

Before proceeding further, I suggest to temporarily remove all security protocols such as pin, lock screen with a sequence or other method and scanning fingerprints. In order to avoid the forced backup password.
I also suggest to make the extension of the files, visible (on windows, go to Tools-> Folder Options-> View-> uncheck "Hide extensions for known files").


First phase: decrypt

Extract the "WhatsAppKeyExtract.zip" program in a PC folder, making sure to maintain the folder structure.

a) Start "WhatsAppKeyExtract.bat"

b) Once started, connect your phone via USB, unlock the screen.

c) Wait until the screen that tells you to back up your data appears.

d) Leave the password field blank and click "Back up my data".

e) When finished, inside the "extracted" folder (located inside the WhatsAppKeyExtractor folder) you will find the files "whatsapp.key", "msgstore.db" and "wa.db". (That's if the latest versions of whatsapp).

At this point I recommend to save these files in a folder, calling it "new backup."

Now we must do the same process with the old backup, then:

Uninstall Whatsapp.

Remove all backups from the folder Whatsapp\databases (inside the phone).

Put back in the old backup file ( "msgstore").

Reinstall whatsapp, and let it reopen old messages (restore backup). When done, remove the connection data from the phone (both wifi, and UMTS).

Redo the same procedure as before, from point a) to e).

Save these new files "msgstore.db" and "wa.db" in a folder, this time calling it "old backup."

The first part is finished.

Second phase: organizing the chat

Before you start, create backup copies of previously decrypted file (you never know).

Open SQLiteBrowsers, position yourself in BrowseData tab and select Open Database. Choose the old backup file msgstore.db (that previously we have decrypted).

Click the lower Tab, select "messages".

With the scroll menu, go down to the last message. Here, count the "_id" number of the last message, for example "65422"

Open the new backup file (the new msgstore.db we had decrypted) always with the SQLite Database Browser program. By the same process: open the inferior tab and select messages. Highlight entirely the first line that has the fields, for the most part, containing the value "-1", and delete the line with the Delete Record command.

Make a note now of the number of the first message, under "_id" for example "12"

Now go in the tab "Execute SQL" and write the following string: UPDATE messages Set_id = (65422 + 1 + _id - 12) (put the numbers that you had marked earlier, in this case 65422 and 12). Click ExecuteSQL ( "Play" button)

Close SQLiteBrowers.

End of the second phase.

Third phase: merge

Create a new folder on your desktop called "merge".

Rename the old backup file (the msgstore.db file that is inside the "old backup" folder) that we had decrypted, in old (so we have the file old.db).

Rename the new backup file (the msgstore.db file that is inside the "new backup" folder) that we had decrypted and on which we had executed the SQLiteBrowser string, in new (so we have the file new.db).

Copy and paste the two files in the directory "merge".

Copy merjapp (merjapp.jar) in the "merge" folder.

Now run the command prompt as an administrator.

Enter the following commands:

cd C: \ Users \ [username] (press "ENTER")

cd desktop (press "ENTER")

cd merge (press "ENTER")

java.exe -jar merjapp.jar-old old.db -new new.db (press "ENTER")

It must appear "Done!"

At this point in the "merge" folder there must be a file called output (output.db file)

Copy it in desktop and rename it msgstore (so we have the msgstore.db file).

Open the phone's internal memory, go into WhatsApp \ Database folder, and delete all the files that are in there.

Copy "msgstore" (the msgstore.db file that was named output) in the folder Whatsapp \ Database.

Uninstall and reinstall WhatsApp (obviously choosing to restore backups).

END
 
Last edited:

foxmolder1985

Senior Member
Jan 14, 2012
211
21
Dublin
Hi. With this tutorial can I merge 2 backups from different numbers? Basically I would like to move the conversations from my second number to the first number I have.
Thanks.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    I am not sure if I post at the right place but I would like to share this to everyone as I understand how hard it is to find a solution that works. With this guide, you will get to keep the original WhatsApp message information (such as thumbnail, link, emoticon, etc.) and work like it is a restore file that backup from itself.

    There will be three main phase you need to perform. You can get all required file in the attachment. Make sure you backup your end result before jump into the next phase.

    Phase A: Decrypt and obtain msgstore.db file
    This is the easiest method I can find and NO ROOT is required to perform this. All you need is to follow the instruction below.

    INSTRUCTIONS:
    1. Extract "WhatsAppKeyExtract.zip" (from attachment) on your computer maintaining the directory structure.
    2. Browse to the extracted folder and click on "WhatsAppKeyExtract.bat".
    3. Enable USB Debugging on your device.
    4. Connect your device via USB**, unlock your screen and wait for "Full backup" to appear.
    5. Leave the password field blank and tap on "Back up my data".
    6. The "extracted" folder will now contain your "whatsapp.key", "msgstore.db" and "wa.db".
    **If you have never used USB Debugging before, you may also need to verify the fingerprint.

    (Credited to TripCode for providing this application! Here is the link to original thread.)

    For my case, I have three backup files that named msgstore.db.crypt, msgstore.db.crypt7 and msgstore.db.crypt8. Although I know there might be other easier method to achieve this, I choose to restore each file (by uninstall and install WhatsApp) and run the above method to get my decrypted file. Hence I can be sure that all decrypted file will come in the same structure (I will show you what this mean later) and prevent any error that may cause by that.

    Phase B: Edit and prepare database for merge
    This will be a bit tricky. But in general, you MUST make sure that you have no overlapping message history between your files.

    INSTRUCTION:
    1. Download SQLite Database Browser and install on your computer.
    2. Open the database you want to edit.
    3. Click on [Browse Data] tab.
    4. In Table drop down menu, click on [messages] (You will see all your WhatsApp message here).
    5. Use it like you are using Excel, select any row that is overlapping (EXCEPT the row with many [-1] value) and click on [Delete Record], then click on [Write Changes] (this means you have save the change to the database).
    6. Keep doing this for your remaining file and close all windows of SQLite Database Browser when you are done.
    (Thanks ztedd for posting his own method where I get inspired from. This is the link to his original post.)

    For my case, the number of column of all my file when display in "messages" table is different (newer WhatsApp database file have more data type). This is the reason I restore and run backup again to make sure all my file have the same structure. Also, a quick tips to figure out which row is overlapping or duplicate is export the messages table to CSV file and open it with Excel. You will need to copy the first few column of each database and paste them together, then use the feature that come with Excel such as Filter and Remove Duplicate to identify which row number you need to remove from actual database file.

    IMPORTANT - Never edit your database on excel and import it back to your original database. This will remove all thumbnail, link, emoticon and etc. and show you some weird message when you restore back to your device.

    Phase C: Merge database file
    This method only can merge two file at once. You may need to do this several time depending how many database you want to merge. I suggest you start from the oldest to newest.

    INSTRUCTION:
    1. Rename the older file to old.db.
    2. Rename the newer file to new.db
    3. Create a new folder called Merge and copy the file old.db, new.db and merjapp.jar into it.
    4. Run Command Prompt on your computer (or click on Start Menu and search for cmd)
    5. In Command Prompt, type each of the following separately and press Enter:
      Code:
      cd desktop
      
      cd merge
    6. You now should see [C:\Users\<UserName>\Desktop\Merge>] in cmd window.
    7. Now type the following and press Enter:
      Code:
      java.exe -jar merjapp.jar -old old.db -new new.db
    8. You should see a "Done!" is displayed and a new file named output.db will be created in the Merge folder.
    9. If you have other database to merge, repeat the steps above by rename the output.db to old.db.
    10. Once you are done, rename the output.db to msgstore.db and it is ready to restore into WhatsApp.
    (Credited to namnoops for this merge application! This is the link to original thread.)

    For my case, I have to run this steps twice to merge 3 databases. I get error the first time I run this because some messages is overlapping and this is the reason for Phase B to edit my database. Once I got my merged database, I renamed it to msgstore.db (without encrypt again) and have no problem restore back to my device. I also copy and paste all my backed up WhatsApp folder to my device (except the file in Database folder) for the picture in WhatsApp to work.

    Disclaimer: I do not know any coding behind all these so if you have any questions I will try to answer but the best bet is to go back to the original thread.

    Below is some other method that I found online but can't figure out how to do it. You may try it at your own risk.

    Additional Method:
    sch3m4's wforensic Method
    Alternate sch3m4's wforensic Method
    3
    Guys, I have FINALLY found a way to merge two differten WhatsApp backup files. I'll post the guide asap (have to translate it). Is different from the one on the first page for the first two parts.

    How to merge two different WhatsApp backup files:

    We have two different WhatsApp backup file (doesn't matter if encrypted by different methods, for example, I had a crypt9 file and one crypt8) and we want to combine them into one so we can read them with WhatsApp.

    Requirements: OS: Windows Vista, Windows 7 or Windows 8

    Programs you need:

    1) WhatsApp Xtract: http://forum.xda-developers.com/showthread.php?t=2770982

    2) SQLite Database Browser: https://github.com/sqlitebrowser/sql....2.0-win32.exe

    3) merjapp (merjapp.jar) https://github.com/namnoops/merjapp/releases

    4) JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    5) Java: https://www.java.com/en/download/

    6) ADB (Android Debug Bridge) Drivers - If not installed: http://developer.android.com/sdk/index.html

    Enable USB Debugg: Settings \ Developer options \ USB debugging (to activate them go to Settings-> About phone-> Software Information-> click many times on the Build number).

    Before proceeding further, I suggest to temporarily remove all security protocols such as pin, lock screen with a sequence or other method and scanning fingerprints. In order to avoid the forced backup password.
    I also suggest to make the extension of the files, visible (on windows, go to Tools-> Folder Options-> View-> uncheck "Hide extensions for known files").


    First phase: decrypt

    Extract the "WhatsAppKeyExtract.zip" program in a PC folder, making sure to maintain the folder structure.

    a) Start "WhatsAppKeyExtract.bat"

    b) Once started, connect your phone via USB, unlock the screen.

    c) Wait until the screen that tells you to back up your data appears.

    d) Leave the password field blank and click "Back up my data".

    e) When finished, inside the "extracted" folder (located inside the WhatsAppKeyExtractor folder) you will find the files "whatsapp.key", "msgstore.db" and "wa.db". (That's if the latest versions of whatsapp).

    At this point I recommend to save these files in a folder, calling it "new backup."

    Now we must do the same process with the old backup, then:

    Uninstall Whatsapp.

    Remove all backups from the folder Whatsapp\databases (inside the phone).

    Put back in the old backup file ( "msgstore").

    Reinstall whatsapp, and let it reopen old messages (restore backup). When done, remove the connection data from the phone (both wifi, and UMTS).

    Redo the same procedure as before, from point a) to e).

    Save these new files "msgstore.db" and "wa.db" in a folder, this time calling it "old backup."

    The first part is finished.

    Second phase: organizing the chat

    Before you start, create backup copies of previously decrypted file (you never know).

    Open SQLiteBrowsers, position yourself in BrowseData tab and select Open Database. Choose the old backup file msgstore.db (that previously we have decrypted).

    Click the lower Tab, select "messages".

    With the scroll menu, go down to the last message. Here, count the "_id" number of the last message, for example "65422"

    Open the new backup file (the new msgstore.db we had decrypted) always with the SQLite Database Browser program. By the same process: open the inferior tab and select messages. Highlight entirely the first line that has the fields, for the most part, containing the value "-1", and delete the line with the Delete Record command.

    Make a note now of the number of the first message, under "_id" for example "12"

    Now go in the tab "Execute SQL" and write the following string: UPDATE messages Set_id = (65422 + 1 + _id - 12) (put the numbers that you had marked earlier, in this case 65422 and 12). Click ExecuteSQL ( "Play" button)

    Close SQLiteBrowers.

    End of the second phase.

    Third phase: merge

    Create a new folder on your desktop called "merge".

    Rename the old backup file (the msgstore.db file that is inside the "old backup" folder) that we had decrypted, in old (so we have the file old.db).

    Rename the new backup file (the msgstore.db file that is inside the "new backup" folder) that we had decrypted and on which we had executed the SQLiteBrowser string, in new (so we have the file new.db).

    Copy and paste the two files in the directory "merge".

    Copy merjapp (merjapp.jar) in the "merge" folder.

    Now run the command prompt as an administrator.

    Enter the following commands:

    cd C: \ Users \ [username] (press "ENTER")

    cd desktop (press "ENTER")

    cd merge (press "ENTER")

    java.exe -jar merjapp.jar-old old.db -new new.db (press "ENTER")

    It must appear "Done!"

    At this point in the "merge" folder there must be a file called output (output.db file)

    Copy it in desktop and rename it msgstore (so we have the msgstore.db file).

    Open the phone's internal memory, go into WhatsApp \ Database folder, and delete all the files that are in there.

    Copy "msgstore" (the msgstore.db file that was named output) in the folder Whatsapp \ Database.

    Uninstall and reinstall WhatsApp (obviously choosing to restore backups).

    END
    2
    Guys, I have FINALLY found a way to merge two differten WhatsApp backup files. I'll post the guide asap (have to translate it). Is different from the one on the first page for the first two parts.

    Many thanks for finding the time to post your updated working method. I'm sure your contribution will come in handy for many users. :)
    2
    Same problem here. I think the databases we created don't compatible with the new versions of WhatsApp. But it's impossible to use older versions of WhatsApp because it tells you to update. What can we do now? I need my old chats from my broken phone. :(

    Edit: I've spent my night on this and I think we need to encrypt the databases we created again in crypt12 format. WhatsApp only recognizes those files. But tried to reinstall/install WhatsApp so many times and it doesn't send me a SMS code or phone call for several hours. Now I think it's time to take a break. That's what I tried so far:

    1- Tried WhatCrypt tool to encrypt the database but it didn't work (it gives a .crypt file and changing its name to .crypt12 doesn't work). I think we need to encrypt with the keys but how?
    2- Tried to change phones time to use an older version WhatsApp but it told me to update again.
    3- Tried APK Editor to edit the .apk of old version of WhatsApp but again, it forced me to update.

    I need help on this.

    I ran into same problem and found a solution using YoWhatsApp. It has an internal App-Data backup, then you can inject modified msgstore.db and restore backup. All without root. This way you can also experiment without the need to verify always your number.
    1
    Okay guys so i backup my whatsapp chat history last week before i uninstall it BUT whatsapp gave me a corrupted backup (wtf man) and i couldnt restore the chats upon reinstall.
    After trying for around 6 days, i have finally restored my chats with the help of various professionals in this thread and other threads across XDA

    Putting this here incase someone had the same issue of corrupted chats.
    1) I logged in to my whatsapp on a rooted emulator on PC to obtain my decryption key because i have no intention in rooting my phone and my phone is on Android 11 which means most methods to obtain key without root wont work

    2) i copied out the key from the emulator and use it to decrypt my corrupted whatsapp backup and my old whatsapp backup that i stored on my PC (using Whatsapp Viewer and the APK version of WhatsCrypt)

    3) i used the following command with sqlite3 installed to recover the corrupted chat backup so SQL browser can read it (although whatsapp still WONT restore it no matter what and how)
    sqlite3 broken.db ".recover" | sqlite3 new.db
    ^ remember to rename "broken.db" to your chat backup .db filename

    4) i used the instruction by OP (post #1) to delete the duplicated chats in my new corrupted backup and merged it with the merjapp.jar method with my old backup (that is working)

    5) i copied the msgstore.db to YoWhatsapp/database folder to restore it (Official whatsapp blocked restoring of unencrypted msgstore.db already, can only restore with ROOT or modded whatsapp)

    6) i verified my number and restored my backup (the merged unencrypted msgstore.db) and all my chats are in there!

    NOTE: with this method, your main chat screen will still show only chats of your OLD backup for each contact. But when you press inside, you can see all the new merged chats. I think this is because there are other tables in the SQLDB that need to update for it to reflect the new chats on main page but I can live with this.

    7) i create an encrypted backup in yowhatsapp and i will restore it to the official whatsapp client after a few days (cause of the sms block due to keep trying to restore backup)

    I have spent ard 6 days to read through countless of threads and had finally came up with a solution! Cheers!
    I hope and believe that this post will definitely help people moving forward as whatsapp backup sucks.
    Next time please remember to backup 5 files to prevent whatsapp giving u a corrupted backup and screw you up again!