Qu'est-ce que wpndatabase.db ?
wpndatabase.db est la base, propre à chaque utilisateur, de la plateforme de notifications push de Windows (WPN). Chaque toast, mise à jour de vignette et badge envoyé par une application — via les Windows Push Notification Services (WNS) ou localement — y est stocké avec l'application émettrice, l'heure d'arrivée et l'heure d'expiration. C'est une base SQLite 3 en mode journal WAL : les changements récents restent dans wpndatabase.db-wal jusqu'à ce que Windows les consolide.
La notification elle-même est conservée en XML : les lignes de texte vues par l'utilisateur, les références d'images, les boutons et zones de réponse, et les arguments de lancement qui ouvrent l'application au clic. C'est pourquoi le fichier conserve des aperçus de discussions et de mails, des alertes de sécurité et des téléchargements — parfois après la disparition du message ou du fichier d'origine.
Où est-elle stockée ?
- C:\Users\<utilisateur>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db, avec -wal et -shm à côté (Windows 10 1607 et suivants, Windows 11).
- appdb.dat dans le même dossier sous Windows 10 avant la version 1607 et sous Windows 8.x : un fichier binaire de taille fixe, qui commence par DNPW.
- Tables principales : Notification (XML du contenu, Type, Tag, Group, ArrivalTime, ExpiryTime en FILETIME), NotificationHandler (PrimaryId de l'application, HandlerType, CreatedTime), HandlerAssets, HandlerSettings, WNSPushChannel (URI des canaux) et Metadata.
Ce qu'elle apprend à l'enquêteur
- Contenu des messages : aperçus des applications de discussion et de messagerie avec l'expéditeur et les premières lignes, souvent encore présents après la suppression de la conversation.
- Événements de sécurité : toasts de l'antivirus et de la sécurité Windows (menace détectée, mise en quarantaine, protection désactivée) avec les noms de fichiers cités.
- Activité de l'utilisateur : téléchargements terminés, invites de lecteur amovible, rappels d'agenda — chacun avec une heure d'arrivée précise.
- Quelles applications peuvent notifier l'utilisateur : la liste des gestionnaires et leurs dates de création, y compris les applications enregistrées pendant un incident, et les URI de leurs canaux push WNS.
- Notifications supprimées : les lignes fermées ou expirées peuvent survivre dans l'espace libre SQLite et d'anciennes images de page ; cet outil les récupère et les signale clairement.
Limites
- Seules les notifications que l'application a choisi d'envoyer, et seulement jusqu'à leur expiration ou leur fermeture : une absence ne prouve rien.
- Les CreatedTime / ModifiedTime des gestionnaires sont stockés en texte sans fuseau horaire documenté ; les heures des notifications (FILETIME) sont en UTC.
- La récupération des lignes supprimées se fait au mieux : l'espace est réutilisé avec le temps, et un enregistrement coupé par une limite de page est marqué partiel.
- appdb.dat n'est pas documenté ; cet outil lit la structure de la version 3 publiée par le projet Dissect et ne nomme pas l'application de chaque bloc.
Comment l'acquérir
- Copiez wpndatabase.db et wpndatabase.db-wal ensemble, depuis un cliché instantané ou avec KAPE (cible WindowsNotificationsDB) ou Velociraptor (Windows.Triage.Targets).
- Copiez chaque profil : chaque utilisateur a sa propre base.
- Calculez l'empreinte des fichiers et conservez les originaux : n'ouvrez jamais la base active dans un outil SQLite, qui pourrait la consolider et la réécrire.
FAQ
Quelque chose est-il envoyé ?
Non. Le parseur est écrit en Rust, compilé en WebAssembly, et s'exécute dans un Web Worker de votre navigateur. Les fichiers ne quittent jamais votre machine.
Ai-je besoin du fichier -wal ?
Oui, dès qu'il existe. Windows écrit d'abord les nouvelles notifications dans wpndatabase.db-wal ; sans lui, les plus récentes manquent généralement. L'outil prévient quand une base est déposée sans son WAL.
Peut-il récupérer des notifications supprimées ?
Souvent. SQLite laisse les enregistrements supprimés en place jusqu'à la réutilisation de l'espace. Le parseur analyse l'espace libre, la liste des pages libres et les anciennes images de page de la base et du WAL, et affiche ce qu'il trouve comme « Récupérée », avec sa provenance.
Quelles versions de Windows sont prises en charge ?
wpndatabase.db à partir de Windows 10 1607 et Windows 11, et appdb.dat (version 3) des versions antérieures de Windows 10. La structure d'appdb.dat est issue de rétro-ingénierie : les résultats sont signalés comme « au mieux ».
Les heures sont-elles en UTC ?
Les heures d'arrivée et d'expiration sont des valeurs FILETIME de Windows, donc en UTC. Passez en heure locale dans la barre d'outils. Les dates de création des gestionnaires sont stockées en texte sans fuseau documenté et affichées telles quelles.