Was ist wpndatabase.db?
wpndatabase.db ist die benutzerspezifische Datenbank der Windows-Push-Benachrichtigungsplattform (WPN). Jeder Toast, jede Kachelaktualisierung und jedes Badge, das eine App sendet — über die Windows Push Notification Services (WNS) oder lokal — wird dort mit der sendenden App, der Eingangs- und der Ablaufzeit gespeichert. Es ist eine SQLite-3-Datenbank im WAL-Modus: Neue Änderungen stehen in wpndatabase.db-wal, bis Windows sie konsolidiert.
Die Benachrichtigung selbst wird als XML gespeichert: die Textzeilen, die der Benutzer sah, Bildverweise, Schaltflächen und Antwortfelder sowie die Startargumente, die die App beim Klick öffnen. Deshalb bewahrt die Datei Chat- und Mail-Vorschauen, Sicherheitswarnungen und Download-Hinweise — manchmal auch dann, wenn die ursprüngliche Nachricht oder Datei verschwunden ist.
Wo liegt sie?
- C:\Users\<benutzer>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db, daneben -wal und -shm (Windows 10 ab 1607, Windows 11).
- appdb.dat im selben Ordner unter Windows 10 vor Version 1607 und unter Windows 8.x: eine Binärdatei fester Größe, die mit DNPW beginnt.
- Wichtige Tabellen: Notification (Inhalts-XML, Type, Tag, Group, ArrivalTime, ExpiryTime als FILETIME), NotificationHandler (PrimaryId der App, HandlerType, CreatedTime), HandlerAssets, HandlerSettings, WNSPushChannel (Kanal-URIs) und Metadata.
Was sie Ermittlern verrät
- Nachrichteninhalte: Vorschauen aus Chat- und Mail-Apps mit Absender und ersten Zeilen, oft noch vorhanden, nachdem der Benutzer die Unterhaltung gelöscht hat.
- Sicherheitsereignisse: Toasts von Antivirus und Windows-Sicherheit (Bedrohung gefunden, unter Quarantäne gestellt, Schutz deaktiviert) mit den genannten Dateinamen.
- Benutzeraktivität: abgeschlossene Downloads, Hinweise zu Wechseldatenträgern, Kalendererinnerungen — jeweils mit genauer Eingangszeit.
- Welche Apps den Benutzer benachrichtigen dürfen: die Handler-Liste mit Erstellungszeiten, einschließlich während eines Vorfalls registrierter Apps, sowie deren WNS-Push-Kanal-URIs.
- Gelöschte Benachrichtigungen: Geschlossene oder abgelaufene Zeilen können im freien SQLite-Speicher und in älteren Seitenabbildern überdauern; dieses Tool stellt sie wieder her und kennzeichnet sie klar.
Grenzen
- Nur Benachrichtigungen, die die App senden wollte, und nur bis zu ihrem Ablauf oder Schließen: Fehlen beweist nichts.
- CreatedTime / ModifiedTime der Handler sind Text ohne dokumentierte Zeitzone; Benachrichtigungszeiten (FILETIME) sind UTC.
- Die Wiederherstellung gelöschter Zeilen erfolgt nach bestem Bemühen: Speicher wird mit der Zeit wiederverwendet, und ein durch eine Seitengrenze abgeschnittener Datensatz wird als unvollständig markiert.
- appdb.dat ist undokumentiert; dieses Tool liest das vom Dissect-Projekt veröffentlichte Layout der Version 3 und benennt die App eines Blocks nicht.
So sichern Sie sie
- Kopieren Sie wpndatabase.db und wpndatabase.db-wal gemeinsam, aus einer Volumeschattenkopie oder mit KAPE (Target WindowsNotificationsDB) bzw. Velociraptor (Windows.Triage.Targets).
- Sichern Sie jedes Profil: Jeder Benutzer hat eine eigene Datenbank.
- Hashen Sie die Dateien und bewahren Sie die Originale auf: Öffnen Sie die aktive Datenbank nie in einem SQLite-Tool, das sie konsolidieren und neu schreiben könnte.
FAQ
Wird etwas hochgeladen?
Nein. Der Parser ist in Rust geschrieben, nach WebAssembly kompiliert und läuft in einem Web Worker in Ihrem Browser. Die Dateien verlassen Ihren Rechner nie.
Brauche ich die -wal-Datei?
Ja, sobald sie existiert. Windows schreibt neue Benachrichtigungen zuerst in wpndatabase.db-wal; ohne sie fehlen meist die neuesten. Das Tool warnt, wenn eine Datenbank ohne WAL abgelegt wird.
Kann es gelöschte Benachrichtigungen wiederherstellen?
Oft. SQLite lässt gelöschte Datensätze stehen, bis der Speicher wiederverwendet wird. Der Parser durchsucht freien Speicher, die Freelist und ältere Seitenabbilder in Datenbank und WAL und zeigt Funde als „Wiederhergestellt“ mit ihrer Herkunft an.
Welche Windows-Versionen werden unterstützt?
wpndatabase.db ab Windows 10 1607 und Windows 11 sowie appdb.dat (Version 3) aus älteren Windows-10-Versionen. Das appdb.dat-Layout stammt aus Reverse Engineering, die Ergebnisse sind daher als „nach bestem Bemühen“ gekennzeichnet.
Sind die Zeiten in UTC?
Eingangs- und Ablaufzeiten sind Windows-FILETIME-Werte und damit UTC. Wechseln Sie in der Symbolleiste zur lokalen Zeit. Die Erstellungszeiten der Handler sind Text ohne dokumentierte Zeitzone und werden unverändert angezeigt.