¿Qué es wpndatabase.db?
wpndatabase.db es la base de datos, una por usuario, de la plataforma de notificaciones push de Windows (WPN). Cada toast, actualización de icono dinámico y distintivo que envía una aplicación — a través de Windows Push Notification Services (WNS) o localmente — se guarda allí con la aplicación que lo envió, la hora de llegada y la de caducidad. Es una base SQLite 3 en modo WAL, así que los cambios recientes viven en wpndatabase.db-wal hasta que Windows los consolida.
La notificación en sí se guarda como XML: las líneas de texto que vio el usuario, las referencias a imágenes, los botones y cuadros de respuesta, y los argumentos de inicio que abren la aplicación al hacer clic. Por eso el archivo conserva vistas previas de chats y correos, alertas de seguridad y avisos de descarga — a veces después de que el mensaje o archivo original haya desaparecido.
¿Dónde se guarda?
- C:\Users\<usuario>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db, con -wal y -shm al lado (Windows 10 1607 y posteriores, Windows 11).
- appdb.dat en la misma carpeta en Windows 10 anterior a 1607 y en Windows 8.x: un archivo binario de tamaño fijo que empieza por DNPW.
- Tablas principales: Notification (XML del contenido, Type, Tag, Group, ArrivalTime, ExpiryTime como FILETIME), NotificationHandler (PrimaryId de la aplicación, HandlerType, CreatedTime), HandlerAssets, HandlerSettings, WNSPushChannel (URI de canales) y Metadata.
Qué aporta a una investigación
- Contenido de mensajes: vistas previas de aplicaciones de chat y correo con remitente y primeras líneas, a menudo presentes aunque el usuario haya borrado la conversación.
- Eventos de seguridad: toasts del antivirus y de la seguridad de Windows (amenaza detectada, en cuarentena, protección desactivada) con los nombres de archivo que mencionan.
- Actividad del usuario: descargas completadas, avisos de unidades extraíbles, recordatorios de calendario — cada uno con una hora de llegada precisa.
- Qué aplicaciones pueden notificar al usuario: la lista de gestores y sus horas de creación, incluidas aplicaciones registradas durante un incidente, y las URI de sus canales push WNS.
- Notificaciones eliminadas: las filas descartadas o caducadas pueden sobrevivir en el espacio libre de SQLite y en imágenes de página anteriores; esta herramienta las recupera y las marca claramente.
Límites
- Solo las notificaciones que la aplicación decidió enviar, y solo hasta que caducan o se descartan: la ausencia no prueba nada.
- CreatedTime / ModifiedTime de los gestores se guardan como texto sin zona horaria documentada; las horas de las notificaciones (FILETIME) están en UTC.
- La recuperación de filas eliminadas no tiene garantías: el espacio se reutiliza con el tiempo, y un registro cortado por un límite de página se marca como parcial.
- appdb.dat no está documentado; esta herramienta lee la estructura de la versión 3 publicada por el proyecto Dissect y no nombra la aplicación de cada bloque.
Cómo adquirirla
- Copia wpndatabase.db y wpndatabase.db-wal juntos, desde una instantánea de volumen o con KAPE (target WindowsNotificationsDB) o Velociraptor (Windows.Triage.Targets).
- Copia todos los perfiles: cada usuario tiene su propia base.
- Calcula el hash de los archivos y conserva los originales: nunca abras la base activa con una herramienta SQLite, que podría consolidarla y reescribirla.
Preguntas frecuentes
¿Se sube algo?
No. El parser está escrito en Rust, compilado a WebAssembly, y se ejecuta en un Web Worker de tu navegador. Los archivos nunca salen de tu equipo.
¿Necesito el archivo -wal?
Sí, siempre que exista. Windows escribe primero las notificaciones nuevas en wpndatabase.db-wal; sin él suelen faltar las más recientes. La herramienta avisa cuando se suelta una base sin su WAL.
¿Puede recuperar notificaciones eliminadas?
A menudo. SQLite deja los registros eliminados en su sitio hasta que reutiliza el espacio. El parser recorre el espacio libre, la lista de páginas libres y las imágenes de página anteriores de la base y del WAL, y muestra lo que encuentra como «Recuperada», indicando su origen.
¿Qué versiones de Windows admite?
wpndatabase.db desde Windows 10 1607 y Windows 11, y appdb.dat (versión 3) de versiones anteriores de Windows 10. La estructura de appdb.dat procede de ingeniería inversa, así que los resultados se marcan como sin garantías.
¿Las horas están en UTC?
Las horas de llegada y caducidad son valores FILETIME de Windows, en UTC. Cambia a hora local en la barra de herramientas. Las horas de creación de los gestores se guardan como texto sin zona horaria documentada y se muestran tal cual.