Zum Inhalt

WhatsApp: Mehrere Backups zusammenführen

Hinweis: Dieser Artikel ist vom August 2014. WhatsApp hat die Nachrichtenformate geändert, und nicht alle Tools in diesem Artikel kommen mit dem neuen Formaten zurecht. Außerdem liegen die Keys nicht mehr an der gleichen Stelle. Der Artikel ist also leider veraltet.

Durch laufende Abstürze eines Galaxy S2 Plus verlor WhatsApp alle Nachrichten. Die Folge: Ein altes Backup, sowie ab diesem Zeitpunkt mehrere neue Backups, welche die alten Nachrichten wiederum nicht enthielten. Die Benutzerin war sehr sauer, auf die schnelle war da auch nichts zu machen.

WhatsApp: Merge Multiple Backups and restore / Mehrfache Backups zusammenführen.
WhatsApp: Mehrfache Backups zusammenführen.

Der Artikel zeigt dazu kurz auf, welche Backup-Schritte durchgeführt wurden, und welche Möglichkeiten zur Restauration von mehreren alten WhatsApp-Chats es gibt.

Schritt 1: Dateien sichern

Der erste Schritt war es, alte WhatsApp-Chats zu sichern. Die Bilder waren dank Dropbox-Upload soweit alle sicher, die heruntergeladenen an einem Windows-PC per MTP mit mäßiger Geschwindigkeit auch gesichert. Die externe SD-Karte ließ sich schnell in einen Adapter stecken und ebenfalls sichern.

Zu meiner Verwunderung gab es einen WhatsApp-Ordner auf der internen und externen SD-Karte. Im Endeffekte habe ich also folgende Verzeichnisse gesichert:

Die dort enthaltenen .crypt-Dateien mit Datumsstempel (Unterordner: Databases) sind später noch sehr wichtig. Diese enthalten die gesuchten Nachrichten. Zusätzlich sichert man aber auch die msgstore.db.crypt (also die Datei ohne Datumsstempel). Falls in beiden Ordnern diese Dateien vorhanden sein sollten, fügt ihr im Namen einfach einen Zähler ein, also etwa  msgstore-2013-05-15.2.db .

Schritt 2: WhatsApp-Datenbanken zusammenführen

Nun aber zum eigentlichen Schritt. Die gesicherten WhatsApp-Datenbanken möchten ja noch zusammengeführt werden. Da WhatsApp hier nichts anbietet und ausnahmsweise mal etwas nicht in der Cloud speichert (nur die Telefonnummern eurer Kontakte, na danke…), brauchen wir andere Tools.

Vorraussetzungen zum Mergen

Wir müssen uns eine Toolsuite zusammenstellen. Am einfachsten ist das unter Linux oder MacOS, da Python im Pfad liegt. Windows-Abenteurer können sich mit ellenlangen Befehlszeilenketten oder modifizierten PATH-Variablen anfreunden.  😈 Prinzipiell ist der Weg aber der Gleiche.

Folgende Tools werden installiert bzw. entspackt:

  • Python
    sudo apt-get install python
  • WhatsApp xtrract
    Zip gibt es hier bei XDA <– klick
  • WhatsApp Forensic Tools
    Quelle: GitHub
    Dateien jeweils anklicken, auf „raw“ klicken und dann die angezeigt Datei einfach mit Strg+S in das WhatsApp xtract-Verzeichnis speichern.

Datenbanken decrypten

Zunächst legt man alle Datenbanken von WhatsApp in ein Verzeichnis. Dieses heißt üblicherweise Databases. Da ich von mehreren Verzeichnissen die .db.crypt -Dateien zusammenkopiert habe, nutze ich ein Verzeichnis mit dem Namen unmerged – das ist aber nebensächlich.

Im folgenden ersten Schritt werden die Dateien entschlüsselt, um später zusammengeführt werden zu können.

WhatsApp-Datenbanken mergen

Der eigentliche Schritt findet nun statt. Man erstellt sich einen Ordner „merged“, in dem die einzelnen Dateien zu einer msgstore -Datei zusammengeführt werden. Der erste Parameter ist das Quellverzeichnis, der zweite ein Pattern der Namen, und der dritte Parameter ist das Zielverzeichnis, das wir gerade angelegt haben.

Zusammengeführte WhatsApp-DB verschlüsseln

Ob dieser Schritt notwendig ist, weiß ich gar nicht so genau. Jedenfalls hat er nicht geschadet. Wir erstellen für WhatsApp eine verschlüsselte Kopie der Datenbank.

Schritt 3: Gemergetes Backup wiederherstellen

  1. Force Close bei Whatsapp – dazu geht man nach Einstellungen – Apps – WhatsApp und klickt auf »Beenden erzwingen«.
  2. Cache und alle Dateien von WhatsApp löschen. Das ist die schnelle Alternative zur Neuinstallation.
  3. Die Dateien  msgstore.db.crypt  und msgstore.db  kopiert man nun in den WhatsApp-Database-Ordner ( /storage/extSdCard/WhatsApp/Databases  oder /storage/sdcard1/WhatsApp/Databases  oder sonst /storage/sdcard0/WhatsApp/Databases ).
  4. WhatsApp neu einrichten. Es sollte das Backup im letzten Schritt gefunden werden.

Et voilà: Alle Nachrichten sind wieder vorhanden! Hurra!  :mrgreen:  😎

FAQ

Sind die Tools legal?

Gute Frage, ich habe mir nicht allzuviele Gedanken dazu gemacht. Möglicherweise schon, solange man diese nur für seine eigenen Chatprotokolle verwendet. Das kann ich aber nicht mit Brief und Siegel geben. Der Diebstahl (i.S.v. unberechtigte Kopie) fremder Daten ist in jedem Fall eine Straftat, genauso wie das umgehen wirksamer Kopierschutzmechanismen. Wobei die Definition von wirksam sicher auch diskussionswürdig ist.

Einige der Tools sind Open Source – ich überlasse es dem aufmerksamen Leser, das bei den einzelnen Tools die Lizenz selbst zu studieren. Es besteht allerdings noch die Möglichkeit, dass diese gegen die Nutzungsbedingungen bzw. AGB von WhatsApp verstoßen. Andererseits – wo kein Kläger, da kein Richter.

Hast du das alles alleine herausgefunden?

Nein, mitnichten. Im Endeffekt habe Ich mehrere Anleitungen kombiniert und komprimiert. Ein sehr ähnliches Tutorial steht bei Geekbone. Hier sind die Befehle aber leicht falsch (ein Strich bei --  fehlt), und es wird das Restore nicht beschrieben. Der entscheidende Hinweis steht im Forum von Android-Hilfe.

Das es diese Tools gibt habe ich über eine einfache Google-Suche erfahren. Da die Ergebnisse an sich noch nicht sehr hilfreich waren, habe ich mich für die Dokumentation des kompletten Vorganges entschieden – herausgekommen ist dieser Blogartikel.

Funktioniert das auch für iOS?

Gute Frage. Soweit ich weiß, haben die iOS-Dateien zumindest einen anderen Namen. Einen Versuch wäre es ja Wert. Ausprobiert hab ich es aber nicht.

Published inAndroid-Apps

18 Comments

  1. Hi Ben,

    wenn ich allerdings auf dem gleichen Device WhatsApp deinstalliere und anschließend wieder installiere, dann dürften die Chats doch wieder zur Verfügung stehen, da die Nachrichten doch serverseitg gespeichert werden und lokal nur eine Kopie vorhanden ist, oder?

    Gruß Denis

    • Benjamin Marwell Benjamin Marwell

      Hallo Denis,

      ja, nein und wieder ja — aber der Reihenfolge nach:

      1. WhatsApp-Nachrichten werden nur Clientseitig gespeichert. Okay, vielleicht hat Facebook einen Mitschnitt, aber du kommst da nicht heran.
      2. Wenn du WhatsApp deinstallierst und neu installierst sind die Nachrichten deshalb noch da, weil der Ordner „WhatsApp“ auf deinem internen Speicher nicht gelöscht wurde. Du kannst das ausprobieren: WhatsApp deinstallieren, den Ordner /storage/emulated/0/WhatsApp löschen, WhatsApp neu installieren, und alle Nachrichten und bilder sind weg.
      3. In diesem Artikel ging es auch eigentlich darum, mehrere chatlogs zusammenzuführen. Etwa wenn man WhatsApp benutzt hat, obwohl man das Backup zunächst nicht eingespielt hat.

      Ich hoffe, damit sind die entsprechenden Punkte klarer geworden. 🙂

  2. billy billy

    hallo. ist ja cool dass es diese anleitung gibt. die glaube ich einzig nützliche die ich ergoogeln konnte… leider habe ich absolut keinen plan von was hier gesprochen wird 🙁 wie komme ich zu den ganzen sachen? gibt es das ganze irgendwie einfacher? danke!

    • Benjamin Marwell Benjamin Marwell

      Hi Billy,

      einfacher geht das ganze wohl nicht, weil WhatsApp genau dieses Zusammenführen ja auch nicht vorsieht. Ich habe mich selbst darüber geärgert und genau deswegen diese Anleitung online gestellt. Zudem muss man inzwischen durch andere Art und Weise die DB entschlüsseln, das geht etwa via ADB Backup und dann Entpacken der Dateien. Das beste ist es, jemanden mit viel Linuxkenntnissen und noch mehr Zeit dazuzuholen. Tut mir Leid, eine andere Möglichkeit kenne ich auch nicht.

      • billy billy

        danke für die info. wäre es möglich dass du dies für mich machen könntest? natürlich gegen eine kleine entschädigung? ich glaube ich komme da in wochen nicht zur lösung 🙁

        • Benjamin Marwell Benjamin Marwell

          Hi, das klappt leider meinerseits nicht. Aber schau doch mal im (englischsprachigen) Forum XDA-Developers oder in einem Android-Forum vorbei und verweis auf diesen Artikel. Dort findest du sicherlich jemanden, der das machen würde.

          • billy billy

            Hallo,
            konte das Problem bis dato leider nicht lösen. Kennst du vielleicht jemanden der dies könnte? Natürlich gegen Bezahlung! Danke und lg

  3. Andreas F Andreas F

    Vielen Dank Benjamin, hat funktioniert, aber das Encrypten zum Schluss musste ich weg lassen.

    Echt eine coole Sache!

    • billy billy

      hallo andreas!
      wärst du dazu bereit das für mich zu machen? natürlich gegen eine entschädigung!

  4. Maxi Maxi

    Hallo,

    wie kann ich denn überhaupt dieses WhatsApp Encription Tool öffnen?

    Liebe Grüße

    • Benjamin Marwell Benjamin Marwell

      Hallo Maxi,

      das Tool kann man nicht „öffnen“. Man führt es von der Linux-Kommandozeile (Shell) aus. Dort gibt man wie oben beschrieben diesen Befehl ein:

      Gruß, Ben

      • Maxi Maxi

        Ok, und wie gebe ich jetzt den richtigen Pfad ein? Weil über deinen oben angegebenen Pfad kann er es ja nicht finden, oder?

        Jedenfalls hab ich die Backups unter /Dieser PC/Windows (C:)/WhatsApp Zusammenführung/WhatsApp Xtract/ gespeichert. Wenn ich das eingebe, sagt er, er kann den Pfad nicht finden.

        • Maxi Maxi

          Jetzt hab ich es auf dem Desktop gespeichert wie du und es klappt immernoch nicht.
          Hab da einen Ordner „unmerged“ mit den crypt8 Dateien und einen Ordner WhatsApp XTract.

          Ich gebe ein: [Desktop/WhatsApp XTract/wa_xtract/] $ python encryption.py –decrypt –dir ./unmerged/ –output-dir ./decrypted/

          Und er findet immernoch nicht den Pfad. Was mache ich falsch?
          Kannst du das eventuell auch für mich machen?

          • Benjamin Marwell Benjamin Marwell

            Das kann ich leider nicht leisten. Ganz davon abgesehen hat WhatsApp inzwischen auch wieder ein neues Nachrichtenformat.

            Aber du befindest dich im falschen Ordner. Du bist in Desktop/WhatsApp XTract/wa_xtract und willst das Verzeichnis Desktop/WhatsApp XTract/wa_xtract entschlüsseln. Du hast aber einen Ordner Desktop/unmerged. Überleg Dir nochmal, in welchen Ordnern du gerade arbeitest.

            Wie gesagt, wegen der neuen Verschlüsselung (crypt8) kann es sein, dass die genannten Tools gar nicht mehr funktionieren. Leider.

            Gruß,
            Ben

  5. Maxi Maxi

    Hallo Benjamin,

    ich hab´s mittlerweile aufgegeben, trotzdem aber Dankeschön für die nette Hilfe!

    Liebe Grüße

  6. Alexander Alexander

    Hallo Benjamin,

     

    ich habe mich an Deine Anleitung gehalten aber ich bekomme nur folgende Meldung:

    [+] Decrypting .DS_Store (.DS_Store) -> 6144 Bytes
    Traceback (most recent call last):
    File „encryption.py“, line 228, in <module>
    work_dir(args.dir, args.output)
    File „encryption.py“, line 166, in work_dir
    work_file( filename, dest )
    File „encryption.py“, line 132, in work_file
    ptext.write(aes.decrypt(block))
    File „/Library/Python/2.7/site-packages/pycrypto-2.6.1-py2.7-macosx-10.11-intel.egg/Crypto/Cipher/blockalgo.py“, line 295, in decrypt
    return self._cipher.decrypt(ciphertext)
    ValueError: Input strings must be a multiple of 16 in length

     

    Hast Du eine Idee was da falsch läuft?

    Grüße und Danke im voraus.

    • Benjamin Marwell Benjamin Marwell

      Ja, WhatsApp hat seit etwa einem Jahr ein neues Format. Diese Anleitung funktioniert nicht mehr.

  7. Steffen Steffen

    Hallo Benjamin,

    habe mich sehr über diese Anleitung gefreut und dann auch alle Schritte befolgt.
    Leider hat es dann bekanntermaßen nicht funktioniert.
    Ein kleiner Hinweis, gleich am Anfang des Artikels, dass diese Anleitung inzwischen überholt ist und nicht mehr funktioniert, wäre sehr hilfreich und zeitsparend für alle, die vorhaben verschiedene WhatsApp Datenbanken zusammen zu führen. Das werden nicht wenige sein, da der Link zu dieser Anleitung mein erster Google-Treffer war.

    Viele Grüße
    Steffen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.