Skip to content

Glossar

wpndatabase.db

Die benutzerspezifische SQLite-Datenbank, in der Windows 10 (ab 1607) und Windows 11 Benachrichtigungen von Apps mit Inhalt, sendender App und Zeiten speichern.

wpndatabase.db ist die benutzerspezifische SQLite-Datenbank der Windows-Push-Notification-Plattform unter Windows 10 (ab Build 1607) und Windows 11. Sie speichert die Toasts, Kachel-Updates und Badges, die Apps an den Benutzer senden, zusammen mit der sendenden App sowie Eingangs- und Ablaufzeit. Sie hat die Binärdatei appdb.dat abgelöst und liegt im selben Ordner:

C:\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db
                                                             wpndatabase.db-wal
                                                             wpndatabase.db-shm

Die wichtigsten Tabellen sind Notification (eine Zeile pro Benachrichtigung: Type, Payload, Tag, Group, ArrivalTime, ExpiryTime), NotificationHandler (eine Zeile pro benachrichtigungsfähiger App), HandlerAssets und HandlerSettings (Schlüssel-Wert-Details), WNSPushChannel (URIs der Push-Kanäle) und Metadata.

Warum es für Ermittlungen wichtig ist

Die Datenbank enthält Inhalte, die Windows im Auftrag anderer Apps geschrieben hat: Vorschauen aus Chat- und Mail-Apps, Antivirus-Warnungen mit Dateinamen, Download-Hinweise und Gerätemeldungen, jeweils mit einer Eingangszeit als FILETIME in UTC. Oft überdauert sie das, was sie angekündigt hat. Außerdem listet sie jeden registrierten Notification Handler, auch einen, der während eines Vorfalls hinzugekommen ist.

Drei praktische Punkte: Die Datenbank läuft im WAL-Modus, die neuesten Benachrichtigungen stehen also oft nur in wpndatabase.db-wal, und beide Dateien müssen gemeinsam gesichert werden. Die Datei ist geöffnet, solange der Benutzer angemeldet ist, eine Live-Sicherung braucht daher eine Volumeschattenkopie oder ein Triage-Werkzeug wie das KAPE-Target WindowsNotificationsDB. Und geschlossene oder abgelaufene Benachrichtigungen werden gelöscht, lassen sich aber oft aus dem freien Speicher wiederherstellen.

Beispiel

SELECT n.Type, n.ArrivalTime, h.PrimaryId, n.Payload
FROM Notification n
JOIN NotificationHandler h ON n.HandlerId = h.RecordId
ORDER BY n.ArrivalTime;

Führen Sie solche Abfragen nur auf einer Kopie aus: Das Öffnen der Datei in einem SQLite-Tool kann einen Checkpoint der WAL auslösen.

Verwandte Begriffe

Ziehen Sie die Datenbank mit ihrer WAL in den Windows Notification Parser und beginnen Sie mit dem Leitfaden zu wpndatabase.db.