Howto: Zusammenführen von 2 Whatsapp Backups :)

Tzk

Sockel A Legende
Thread Starter
Mitglied seit
13.02.2006
Beiträge
23.507
Ort
Koblenz
Hallo zusammen :)

Hier soll ein kleiner Guide entstehen, wie man 2 (verschlüsselte) Whatsapp Backups zusammenführt.
Im Internet liest man leider immer nur, das es NICHT geht, dem möchte ich an dieser Stelle schonmal widersprechen :)


Das Problem (oder wie es bei mir zu dieser Bastelei kam):

Mein Desire S hat den Geist aufgegeben, musste also zur RMA. Ich hab schnell noch ein Whatsapp internes Backup gefahren und alles auf der SD-Karte gesichert.
Dann ein anderes Handy ersatzweise rausgekramt und dort alles wieder eingerichtet. Ich habe jedoch vergessen den Whatsappverlauf mit zu migrieren.

Somit entstanden 2 Datensätze: einer bis März 2012 und einer ab März 2012.
Mittlerweile ist das Desire wieder da und ich wollte natürlich den gesamten Verlauf importieren.


Wissenswertes

-Leider unterstützt Whatsapp das manuelle Importieren nicht (und das Importieren von mehreren Datenbanken sowieso nicht!)
-Weiterhin liegen die Backups 192bit AES verschlüsselt vor, das machts nicht einfacher.
-Die Backups sind Datenbanken (SQLite), können also falls sie entschlüsselt sind später einfach zusammengefügt werden.

Die Lösung:

folgende Programme habe ich genutzt:
-Whatsapp Xtract 2.1 (zu finden bei XDA Developers)
-Excel 2012
-SQLite Admin 0.8.3.2

Als erstes muss Whatsapp Xtract inklusive ActivePython eingerichtet werden. Wies geht steht in der Readme von Xtract ausreichend gut beschrieben.
Anschließend kopieren wir die verschlüsselten Datenbanken in den Xtract Ordner und ziehen sie per Drag&Drop auf die „whatsapp_xtract_drag'n'drop_database(s)_here.bat“
Nach öffnen einer Kommandozeile und kurzer Wartezeit generiert Xtract aus den *.db.crypt Dateien .db Dateien. Damit ist der erste Schritt geschafft und die DBs sind entschlüsselt!
Nun geht’s weiter mit dem SQL Admin:

1. Oben links unter „Datenbanken“ die erste entschlüsselte Datenbank öffnen
2. „Messages“ auswählen
3. Auf „Datensätze editieren“ klicken, der große Bereich unten rechts zeigt jetzt die Whatsapp-Nachrichten (Datensätze)
4. Oben unter „Daten“ exportieren wählen und den Datensatz als XLS exportieren
Diese Schritte sind mit allen entschlüsselten Datenbanken durchzuführen!
Danach wird SQLite Admin vorerst geschlossen und es geht mit Excel weiter.

In Excel werden nun beide XLS Dateien parallel geöffnet und die Zeilen der (vom Datum her) neueren XLS in der „älteren“ angefügt.
Der Schritt mit Excel ist generell nur notwendig, weil jeder Datensatz eine eigene Nummer hat (ID).
Da jedoch in jedem Datensatz bei 1 angefangen wird, sind folglich einige Nummern doppelt vergeben. Dies wird jetzt behoben.

Um die neue Durchnummerierung einfacher zu automatisieren (man ist ja faul ;) ) wird in Feld A2 die Zahl 1 eingetragen.
Zusätzlich wird Feld A3 mit =$A2 +1 gefüllt. Anschließend wird noch das Feld A3 kopiert und in der gesamten Spalte A (ausser in A1 und A2) eingefügt.
Jetzt sollte die Spalte A sauber durchnummeriert sein.
Nun speichern wir die Tabelle als .CSV (Trennzeichen-getrennt) ab.

Der nächste Schritt erfolgt wieder in SQLite Admin.
Vorher sollte allerdings eine Kopie einer der entschlüsselten Datenbanken angelegt werden.
Diese Kopie wird als Basis für die zusammengeführte Datenbank herhalten.

Mit SQLite Admin wird besagte Kopie nun geöffnet und oben unter „Daten“ „Daten importieren“ gewählt.
Es öffnet sich ein kleines Fenster, in dem man im Dialog „Datei öffnen“ die zuvor gespeicherte CSV Datei auswählt.
Danach erfolgt die Abfrage des Trennzeichens. In Fall von Excel 2010 ist dies das Semikolon ;
Die Abfrage, ob in Zeile 1 die Feldbezeichnungen vorhanden sind, wird mit JA beantwortet.

Jetzt wird vor „Tabelle leeren“ das Häckchen gesetzt, als Zieltabelle „messages“ ausgewählt und der kleine Button schräg rechts über der (noch) leeren Tabelle gedrückt.
Diese sollte sich mit dem Druck gefüllt haben. Anschließend wird der Vorgang mit Klick auf „Daten importieren“ gestartet. Der grüne Balken informiert über den Fortschritt.

Damit ist die Zusammenführung und der Import komplett.
SQLite speichert die Datenbank automatisch, es ist kein Speichern notwendig.

Die so entstandene DB wird auf der SD Karte des Handys im Ordner /whatsapp/databases abgelegt.
Jetzt wird Whatsapp auf dem Handy installiert. Die Datenbank sollte automatisch gefunden sowie wiederhergestellt werden und der Verlauf ist einsehbar.

Fazit:

Es ist eine Menge Gewurschtel und Arbeit, die sich aber definitiv gelohnt hat.
Das einzige das mich noch stört ist, dass alle geretteten Nachrichten auf den 1.5.1970 datiert sind.
Das ist für mich aber ein eher kleines Manko, da mir die Daten ansich wichtiger sind.

Falls nun noch Vorschläge, Ergänzungen oder Anmerkungen da sind, immer her damit. Und falls es irgendwie einfacher geht, bin ich dessen auch nicht abgeneigt!
Vielen Dank für die Aufmerksamkeit,
Oliver
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Danke für deine Mühe und die hilfreiche Anleitung.
 
Hallo,
danke für die Tolle Anleitung! Wird mir sicher sehr helfen! Allerdings habe ich das Problem das wenn ich eine .db auswählen will SQLite Admin mir dann die Fehlermeldung: qAdmin: Cannot perform this operation on a closet dataset." ausspuckt. Dabei habe ich alles gemacht wie du es beschrieben hast und auch wie es im XDA erklärt wird. Kannst du mir da bitte weiterhelfen?

Danke
 
Hallo Tzk,

da du dich ja anscheinend gut mit dem Thema auseinander gesetzt hast (Danke nochmal für die super Anleitung), kannst du mir vielleicht helfen. Ich habe ein Backup von Whatsapp und nachdem mein Handy geklaut wurde, hab ich nun das gleiche Handy neu gekauft + Ersatzsimkarte mit gleicher Rufnummer. Das Backup wird jedoch nicht erkannt, also Whatsapp fragt nach der Installation nicht ob das Backup verwendet werden soll. Hast du vielleicht eine Idee woran das liegen kann? Meine Idee war ansonsten, Whatsapp ein paar Tage ohne den alten Verlauf zu nutzen und dann die alten Backups mit deiner Methode einzufügen. Das dürfte doch möglich sein, oder?
 
Oha, hab den Thread ja ganz aus den Augen verloren...

@Goofy

Das Backup muss VOR der ersten Whatsappinstallation auf dem Handy liegen, sonst erkennt der das Backup nicht.
Vor genau dem Problem stand ich auch...

Zum Rest: JA, hab ich genauso gemacht. Im Übrigen hatte ich ne ähnliche Situation, nur das meins zur RMA war :)



BTW: ich weiss nicht wie sich das ganze mit aktuellen Whatsappversionen verhält!
 
Ich bekomme beim Import der CSV Datei Fehler in SQ Admin: snap1t.jpg

Ich glaube es liegt daran, dass die extrahierten Exeldateien alle ein " ' " vor den einzelnen Feldern haben. Snap2.jpg
Und nach dem Zusammenführen durch Exel und die Autonummerierung gehen diese " ' " vor der ID verloren, kann das sein? Snap4.jpg

Wie bekomme ich das geregelt? / bzw wie kann ich per EXEL die ' vor die entsprechenden IDs machen, ohne dass Händisch zu ergänzen?
Auch das Anwenden der Nummerierung auf die Ganze Spalte per Maus ist extem nervig, da es beim runterscrollen dauert... gibt es dafür nicht eine
einfachere Funktion in Exel / oder ein Tastenkürzel?

Danke für diese Anleitung, ich bin dezent vernarrt in die Chatverläufe, daher rettest du meinen Tag :)


Er sagt das hier:
05.04.2013 13:26:59: SQL Error: 7 values for 24 columns <insert into "messages" ("_id","key_remote_jid","key_from_me","key_id","status","needs_push","data","timestamp","media_url","media_mime_type","media_wa_type","media_size","media_name","latitude","longitude","thumb_image","remote_resource","received_timestamp","send_timestamp","receipt_server_timestamp","receipt_device_timestamp","raw_data","media_hash","recipient_count") values ('340','491739060468@s.whatsapp.net','0','1343560212-17','0','0','18 Anpfiff');>
05.04.2013 13:26:59: SQL Error: 18 values for 24 columns <insert into "messages" ("_id","key_remote_jid","key_from_me","key_id","status","needs_push","data","timestamp","media_url","media_mime_type","media_wa_type","media_size","media_name","latitude","longitude","thumb_image","remote_resource","received_timestamp","send_timestamp","receipt_server_timestamp","receipt_device_timestamp","raw_data","media_hash","recipient_count") values ('Zum wiesengrund 1, crumstadt','0','','','0','0','','0','0','','','0','-1','-1','-1','','','');>
05.04.2013 13:27:01: SQL Error: 7 values for 24 columns <insert into "messages" ("_id","key_remote_jid","key_from_me","key_id","status","needs_push","data","timestamp","media_url","media_mime_type","media_wa_type","media_size","media_name","latitude","longitude","thumb_image","remote_resource","received_timestamp","send_timestamp","receipt_server_timestamp","receipt_device_timestamp","raw_data","media_hash","recipient_count") values ('776','491739060468@s.whatsapp.net','0','1344693920-4','0','0','Was denn');>
05.04.2013 13:27:01: SQL Error: 18 values for 24 columns <insert into "messages" ("_id","key_remote_jid","key_from_me","key_id","status","needs_push","data","timestamp","media_url","media_mime_type","media_wa_type","media_size","media_name","latitude","longitude","thumb_image","remote_resource","received_timestamp","send_timestamp","receipt_server_timestamp","receipt_device_timestamp","raw_data","media_hash","recipient_count") values ('?','0','','','0','0','','0','0','','','0','-1','-1','-1','','','');>
 
Zuletzt bearbeitet:
@funky123 ich habe jetzt das selbe Problem wie du. Hast du vielleicht eine Lösung gefunden?
Beim importieren der CSV Datei bekomme ich auch ein paar Fehler. Wenn ich die zusammengefügte db Datei dann auf meine Handy übertrage, WhatsApp lösche und wieder neu installiere, das gefunden Backup lade, dann sind alle meine Nachrichten wieder da. Schau ich mir jetzt aber den Chatverlauf von einen meiner Kontakte an und scroll nach oben (frühere Datum), dann stürzt WhatsApp bei mir immer ab. Hat das Problem vielleicht auch schon einer gehabt und kann mir da weiter helfen?

Vielen Dank schon mal im Voraus
vfbflo
 
Ich kriege das mit EXCEL nicht gebacken :( kannst du mir das nochma schritt für schritt erklären was ich da genau machen muss ?
das wäre nett danke :)
 
Wie weit bist du denn? Hast du die beiden xls Dateien schon. Morgen könnte ich dir eine Schritt für Schritt Beschreibung machen.
 
Ja , ich habe die beiden xls dateien aber komme ab dem schritt nichtmehr weiter :(

Danke schonmal und schönen feiertag wünsch ich dir :)
 
Wird zu .html-Datei

Kann mir bitte schnell jemand helfen? :)

Wenn ich die Datei von der .db.crypt zur .db machen möchte wird keine .db raus sondern eine .html datei :/
Wäre nett wenn mir jemand schnell helfen kann :)

MfG
 
Man beachte bitte das ich dieses Howto vor über einem Jahr geschrieben habe. Damals hat es exakt so wie beschrieben funktioniert.
Mittlerweile gabs aber zahlreiche Whatsapp Updates, darum kann und will ich den Erfolg mit der aktuellen Whatsapp Version nicht garantieren ;)

Entweder es klappt heute noch oder eben nicht.


@Nockchan
Sicher das du nicht die falsche Batchdatei erwischt hast?
Man kann mit dem Tool *.html Dateien erzeugen und auch die *.db entschlüsseln lassen.

@opto
Sehr hilfreicher Kommentar... -.-
 
Hab es jetzt selber hinbekommen aber trotzdem danke :-)

---------- Post added at 16:41 ---------- Previous post was at 14:42 ----------

Jetzt gibt es aber das Problem das der SQL Admin die Datei am ende des importieren nicht speichert?! HILFE :(
 
Hallo Nockchan!

vor dem Problem, das du hattest, stehe ich jetzt auch. Es wird aus der *.db.crypt keine *.db erzeugt, sondern lediglich die *.html.
Weißt du noch auf welchem Wege du das Problem lösen konntest?
Gruß! :)
 
Ich weis der Post ist bereits lange her jedoch wollte ich fragen ob du bereits eine andere Lösung hast oder das mit dem Datum ändern konntest :)
 
Kann die Anleitung auch für Windows Anwender verwendet werden?
Wenn Ja, sind es die gleichen Tools?
Oder könnte mir jemand die Backups Fusionieren?

Ich habe ein Samsung S8Plus
 
Wäre toll, wenn ich auf meinen Frage/Beitrag vom 6.10.19 eine Antwort bekommen würde.
Den ich würde mich riesig freuen, wenn ich meine bisherigen Chats/Verlauf vom Whatsapp wieder hätte.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh