Skip to content

ActivitiesCache.db : types d'activité et champs du payload

Référence des champs d'ActivitiesCache.db : ActivityType 5, 6, 10 et 16, JSON AppId, clés du payload comme activeDurationSeconds et toutes les colonnes de date.

Publié le 7 min de lecture

En bref. Dans Activity, la colonne ActivityType indique comment lire la ligne : 5 = ouverture (application, fichier, page), 6 = au premier plan avec activeDurationSeconds, 10 = texte du presse-papiers dans ClipboardPayload (Base64), 16 = événement copier/coller avec Group = Copy ou Paste, 2 = notification. L'application se trouve dans le tableau JSON AppId ; les détails dans le JSON Payload. Les dates sont en secondes Unix, UTC.

Voici la référence des champs pour la série. Pour savoir ce qu'une ligne prouve, lisez ensuite Windows Timeline prouve-t-il l'exécution ou l'accès à un fichier ?.

Types d'activité

Le type d'activité est un entier. Les significations ci-dessous sont des observations de chercheurs, pas une spécification Microsoft : considérez toute valeur absente de la liste comme inconnue.

ActivityTypeSignificationSourceÀ lire
2Notification (toast)kacos2000Payload
3Usage système (sauvegarde, liée à la connexion)dépôt kacos2000Payload
5Ouverture d'application, de fichier ou de pagekacos2000displayText, appDisplayName, contentUri
6Application utilisée / au premier plankacos2000activeDurationSeconds, userTimezone, StartTime, EndTime
10Contenu du presse-papierskacos2000, inversecosClipboardPayload (Base64)
11, 12, 15Opérations système (identifiants, Wi-Fi, personnalisation)dépôt kacos2000Payload
16Opération copier ou collerkacos2000Group (Copy / Paste), clipboardDataId dans Payload

Le Windows Timeline Parser associe 5 à Ouverture (app / fichier), 6 à Utilisation (focus), 10 à Presse-papiers, 16 à Copier / coller, 2 à « Notification », et tout le reste à « Autre », en conservant le numéro brut dans la vue détaillée.

La table Activity, colonne par colonne

ColonneContenuRemarques
IdGUID de l'activitéRelie à Activity_PackageId.ActivityId et ActivityOperation.Id
AppIdTableau JSON identifiant l'applicationVoir plus bas
AppActivityIdIdentifiant propre à l'applicationPour les fichiers ouverts, il se termine souvent par un identifiant propre au fichier (kacos2000)
ActivityTypeType entierTableau ci-dessus
ActivityStatus1 active, 2 mise à jour, 3 supprimée, (4 ignorée)Reprend les valeurs status de Graph (Microsoft Graph)
PayloadJSON (stocké en BLOB)Texte affiché, URI, durées, fuseau horaire
ClipboardPayloadTableau JSON avec contenu en Base64Type 10 (contenu)
StartTime, EndTimeSecondes Unix, UTCEndTime peut être vide ou à 0 pour les activités ponctuelles
LastModifiedTime, LastModifiedOnClientSecondes Unix, UTCDernière modification de la ligne
ExpirationTimeSecondes Unix, UTC30 jours après la dernière modification ; 12 heures pour le presse-papiers (kacos2000)
CreatedInCloudSecondes Unix, UTCPertinent uniquement pour une activité synchronisée
PlatformDeviceIdIdentifiant d'appareilDistingue l'appareil local des appareils synchronisés
IsLocalOnly0 / 1Indique si l'activité reste hors du cloud
Group, TagTexte libreGroup = Copy / Paste pour le type 16
ETagEntierChange quand la ligne change ; trier dessus donne l'ordre d'écriture, pas l'ordre des événements

kacos2000 relève que toutes les dates sont stockées en UTC et que l'ExpirationTime valait exactement 2 592 000 secondes (30 jours) après LastModifiedTime dans les bases examinées (kacos2000).

AppId : quelle application

AppId est un tableau JSON d'objets { "application": ..., "platform": ... }. Une même activité peut décrire l'application de plusieurs façons (JSON AppId) :

[
  {"application": "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\notepad.exe", "platform": "windows_win32"},
  {"application": "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\notepad.exe", "platform": "packageId"},
  {"application": "", "platform": "alternateId"}
]
Valeur de platformContenu typique
windows_win32Chemin d'une application de bureau, souvent préfixé par un GUID de dossier connu
x_exe_pathExécutable autonome lancé depuis un chemin précis
windows_universalIdentité d'application Store / UWP (par exemple Microsoft.Windows.Explorer)
packageIdNom de package ou chemin d'exécutable
alternateIdSouvent vide

Le préfixe GUID est un KNOWNFOLDERID (GUID de dossier connu). Les plus fréquents :

GUIDDossier
{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}%SystemRoot%\System32 (FOLDERID_System)
{6D809377-6AF0-444B-8957-A3773F02200E}Program Files, 64 bits (FOLDERID_ProgramFilesX64)
{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}Program Files (x86) (FOLDERID_ProgramFilesX86)
{905E63B6-C1BF-494E-B29C-65B732D3D21A}Program Files (FOLDERID_ProgramFiles)
{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}%SystemRoot%\SysWOW64 (FOLDERID_SystemX86)
{F38BF404-1D43-42F2-9305-67DE0B28FC23}%SystemRoot% (FOLDERID_Windows)

Le GUID de dossier connu n'enregistre pas la lettre de lecteur : l'outil l'affiche donc sous forme de variable d'environnement (%ProgramFiles%\7-Zip\7zFM.exe) plutôt que de supposer C:. Un x_exe_path avec un chemin littéral comme C:\Users\Public\rclone.exe mérite un second regard : c'est un exécutable lancé hors des emplacements d'installation habituels.

Payload : les détails

La colonne Payload contient du JSON. Les clés varient selon le type d'activité et l'application. Celles qui comptent pour l'enquête :

CléTypesSignification
displayText5Ce qu'affichait la vignette Timeline : nom de fichier, titre de page
appDisplayName5Nom convivial de l'application (« Notepad », « Excel »)
description5Souvent le chemin complet du fichier
contentUri5URI file:/// de l'élément ouvert ; peut porter des paramètres de requête supplémentaires
activationUri5Comment Windows relancerait l'activité
activeDurationSeconds6Secondes d'utilisation active de l'application (durée active)
userTimezone6Fuseau horaire IANA/Olson de l'appareil à la création de l'activité (Microsoft Graph)
clipboardDataId16Relie les événements de copie et de collage d'un même élément (kacos2000)

Deux mises en garde issues des tests de kacos2000 : la première entrée d'exécution d'une application de bureau peut ne porter aucune durée, et la durée du payload diffère parfois de EndTime - StartTime (kacos2000). Indiquez dans le rapport quel champ vous avez utilisé.

L'outil convertit contentUri en chemin Windows (file:///E:/exfil/Payroll_2026.xlsx?... devient E:\exfil\Payroll_2026.xlsx, file://server/share/x devient \\server\share\x), se replie sur description quand elle ressemble à un chemin, et conserve l'URI brute et le JSON complet du payload dans le panneau de détail.

ActivityOperation et Activity_PackageId

ActivityOperation reprend la plupart des colonnes, plus OperationType (1 insertion, 2 mise à jour, 3 suppression) et CreatedTime, le moment où l'opération a été mise en file d'attente. kacos2000 a constaté que lorsqu'un utilisateur retire une vignette de Timeline, l'entrée est copiée dans ActivityOperation avec un nouvel ETag et un statut supprimé (kacos2000). C'est pourquoi la table ActivityOperation est l'endroit où chercher l'historique que l'utilisateur a tenté de nettoyer.

Activity_PackageId liste, par ActivityId, une Platform, un PackageName (souvent le chemin de l'exécutable) et un ExpirationTime. L'outil rattache ces noms de package à chaque activité.

Les dates : quoi convertir et comment

Chaque colonne de date est en secondes Unix (epoch), en UTC. Convertissez avec un formateur UTC explicite (datetime(StartTime, 'unixepoch') dans SQLite), et n'utilisez userTimezone que pour exprimer l'heure locale vue par l'utilisateur. Dans l'outil, la bascule UTC / Local ne change que l'affichage ; les exports CSV contiennent des colonnes UTC (StartTimeUtc, EndTimeUtc, ...).

FAQ

Que signifie ActivityType 5 dans ActivitiesCache.db ?

Le type 5 enregistre l'ouverture d'une application, d'un fichier ou d'une page web. Le payload contient le texte affiché, le nom de l'application et, pour les fichiers, un contentUri avec le chemin.

Que signifie ActivityType 6 ?

Le type 6 enregistre une application en cours d'utilisation, au premier plan. Le payload contient activeDurationSeconds et le fuseau horaire de l'utilisateur, et la ligne possède une heure de début et de fin.

Quel format de date utilise ActivitiesCache.db ?

Des secondes Unix (epoch) en UTC pour StartTime, EndTime, LastModifiedTime, ExpirationTime et les autres colonnes de date.

Articles liés

Articles liés

Guide complet de l'analyse forensique de Windows Timeline : ce que contient ActivitiesCache.db, où le trouver, pourquoi le -wal compte et comment l'exploiter.
Là où s'arrêtent les preuves Windows Timeline : expiration, paramètres, historique effacé, lignes supprimées, WAL manquant, limites des parseurs, falsification.
Pas à pas : ouvrir ActivitiesCache.db et son -wal dans un visualiseur gratuit, filtrer applications, fichiers, focus et presse-papiers, exporter en CSV ou JSON.