Glosario
wpndatabase.db
Base de datos SQLite por usuario donde Windows 10 (1607+) y Windows 11 guardan las notificaciones de las aplicaciones, con su contenido, emisor y horas.
wpndatabase.db es la base de datos SQLite por usuario de la plataforma Windows Push Notification en Windows 10 (compilación 1607 y posteriores) y Windows 11. Guarda los toasts, las actualizaciones de icono y los distintivos que las aplicaciones envían al usuario, junto con la aplicación que envió cada uno y sus horas de llegada y caducidad. Sustituyó al archivo binario appdb.dat y está en la misma carpeta:
C:\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db
wpndatabase.db-wal
wpndatabase.db-shm
Las tablas principales son Notification (una fila por notificación: Type, Payload, Tag, Group, ArrivalTime, ExpiryTime), NotificationHandler (una fila por aplicación que puede notificar), HandlerAssets y HandlerSettings (detalles clave / valor), WNSPushChannel (URI de canales push) y Metadata.
Por qué importa en una investigación
La base contiene contenido escrito por Windows en nombre de otras aplicaciones: vistas previas de chats y correos, alertas del antivirus que nombran archivos, avisos de descarga y avisos de dispositivos, cada uno con una hora de llegada FILETIME en UTC. A menudo sobrevive a aquello que anunciaba. También enumera cada gestor de notificaciones registrado, incluido el que apareció durante un incidente.
Tres aspectos prácticos: la base funciona en modo WAL, así que las notificaciones más recientes suelen estar solo en wpndatabase.db-wal y hay que recolectar ambos archivos juntos; el archivo está abierto mientras el usuario tiene sesión iniciada, así que la adquisición en vivo requiere una instantánea de volumen (shadow copy) o una herramienta de triaje como el target WindowsNotificationsDB de KAPE; y las notificaciones descartadas o caducadas se borran, pero a menudo pueden recuperarse del espacio libre.
Ejemplo
SELECT n.Type, n.ArrivalTime, h.PrimaryId, n.Payload
FROM Notification n
JOIN NotificationHandler h ON n.HandlerId = h.RecordId
ORDER BY n.ArrivalTime;
Ejecuta consultas así solo sobre una copia: abrir el archivo en una herramienta SQLite puede provocar un checkpoint del WAL.
Términos relacionados
Suelta la base y su WAL en el Windows Notification Parser y empieza por la guía de wpndatabase.db.