Skip to content

wpndatabase.db-walappdb.dat

Windows Notification Parser

Jeder Toast, den ein Benutzer erhalten hat — Chat- und Mail-Vorschauen, Sicherheitswarnungen, abgeschlossene Downloads — aus wpndatabase.db und der -wal-Datei, dazu gelöschte Benachrichtigungen aus dem freien Speicher. Im Browser mit WebAssembly ausgewertet — nichts wird hochgeladen.

wpndatabase.db mit -wal, einen Ordner oder eine ZIP-Sammlung ablegen

Funktioniert mit dem Notifications-Ordner eines Benutzers, einem ganzen Users-Baum, einer KAPE- oder Velociraptor-Sammlung oder einem ZIP. appdb.dat (Windows 10 vor 1607) wird ebenfalls gelesen.

Das Beispiel ist eine synthetische Datenbank (fiktives Konto svc_backup auf FIN-WKS-07) mit einer gelöschten Benachrichtigung im freien Speicher.

100 % clientseitig: Datenbanken werden per WebAssembly in Ihrem Browser ausgewertet und nie hochgeladen.

So kommen Sie an Ihre Daten

Vollständige Sicherungsanleitung

Sichern Sie wpndatabase.db zusammen mit wpndatabase.db-wal aus dem Notifications-Ordner jedes Benutzers und legen Sie das Ergebnis hier ab. Auf einem laufenden Windows 10 oder 11 dauert das etwa zwei Minuten.

  1. Datenbank und -wal sichern
  2. Ordner oder ZIP hier ablegen
  3. Im Browser ausgewertet, nie hochgeladen

In Windows PowerShell als Administrator einfügen (Systemlaufwerk C:). Der Befehl erstellt eine Schattenkopie, damit Datenbank und WAL vom selben Zeitpunkt stammen, kopiert beide für jedes Profil und entfernt die Schattenkopie wieder.

PowerShell · Admin
New-Item -ItemType Directory -Force -Path C:\triage | Out-Null
$sc = Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create -Arguments @{ Volume = 'C:\' }
$vss = Get-CimInstance -ClassName Win32_ShadowCopy -Filter "ID='$($sc.ShadowID)'"
cmd /c mklink /d C:\triage\vss "$($vss.DeviceObject)\"
robocopy C:\triage\vss\Users C:\triage\Users wpndatabase.db wpndatabase.db-wal appdb.dat /S /XJ /B /R:0 /W:0 /NP /NDL
cmd /c rmdir C:\triage\vss
$vss | Remove-CimInstance

Ergebnis: C:\triage\Users\<benutzer>\AppData\Local\Microsoft\Windows\Notifications\ mit wpndatabase.db und wpndatabase.db-wal (appdb.dat bei alten Versionen). Legen Sie den Ordner C:\triage\Users hier ab (ziehen oder Ordner wählen).

Auswertung auf einem anderen Rechner? Packen Sie alles mit dem in Windows 10 1803 und neuer enthaltenen tar.exe in ein ZIP (ein mit Compress-Archive von PowerShell erstelltes ZIP funktioniert ebenfalls):

PowerShell / cmd
tar -a -c -f C:\triage\notifications.zip -C C:\triage Users

Stolperfallen

  • Die Datenbank ist geöffnet, solange der Benutzer angemeldet ist: Eine einfache Kopie schlägt fehl oder liefert eine Datei voller Nullen (als „beginnt mit Nullen“ gemeldet). Verwenden Sie den Schattenkopie-Befehl, KAPE oder Velociraptor.
  • Sichern Sie Datenbank und -wal zum selben Zeitpunkt: Ohne WAL fehlen die neuesten Benachrichtigungen, und ein WAL einer anderen Datenbank wird ignoriert.
  • Öffnen Sie die aktive Datenbank vor dem Kopieren nicht in einem SQLite-Tool: Das kann den WAL in die Datenbank übernehmen und das Beweismaterial verändern.
  • Benachrichtigungen laufen ab (ExpiryTime, oft nach wenigen Tagen), geschlossene werden gelöscht: früh sichern. Gelöschte Zeilen können im freien Speicher überdauern, bis SQLite ihn wiederverwendet.

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.

Was appdb.dat ist, welche Windows-Versionen sie nutzen, wie feste Chunks Toasts, Kacheln und Badges speichern und was sich forensisch daraus gewinnen lässt.

Fiktiver Fall: was die Benachrichtigungsdatenbank eines Benutzers zur Zeitlinie eines Einbruchs beiträgt — Download, Virenwarnung, neue App, gelöschter Chat.

Schritt für Schritt: Benachrichtigungsdatenbank samt -wal im Browser auswerten, Befunde sichten, gelöschte Toasts wiederherstellen, als CSV/JSON exportieren.