Tables SRUM expliquées : AppResource, Network, Energy, Push
17/05/2026
SRUDB.dat est une base ESE ordinaire. La plupart de ses tables
portent des noms GUID entre accolades : chaque GUID identifie une
extension SRUM qui s'enregistre auprès du service pour collecter une
tranche de télémétrie. Les GUID sont stables à travers les builds
Windows, donc un analyseur qui les reconnaît peut lire les données
quels que soient la langue, le service pack ou la mise à jour de
fonctionnalité.
Le catalogue
| GUID | Nom commun |
|---|---|
{D10CA2FE-6FCF-4F6D-848E-B2E99266FA89} | Application Resource Use |
{D10CA2FE-6FCF-4F6D-848E-B2E99266FA89}LT | Application Resource Use (Long Terme) |
{973F5D5C-1D90-4944-BE8E-24B94231A174} | Network Data Usage |
{DD6636C4-8929-4683-974E-22C046A43763} | Network Connectivity |
{FEE4E14F-02A9-4550-B5CE-5FA2DA202E37} | Energy Usage |
{FEE4E14F-02A9-4550-B5CE-5FA2DA202E37}LT | Energy Usage (Long Terme) |
{D10CA2FE-6FCF-4F6D-848E-B2E99266FA8F} | Push Notifications |
Plus les tables de contrôle :
SruDbIdMapTable: traduit les entiersAppId/UserIden chemins et SID.SruDbCheckpointTable: état interne de vidage.
Les tables système ESE (MSysObjects, MSysObjids, MSysLocales)
sont le catalogue interne du moteur. Parcourez-les ; ne pivotez pas
dessus.
Application Resource Use {D10CA2FE-…FA89}
Activité par application échantillonnée toutes les heures. La table la plus utile pour "cela a-t-il tourné, quand, sous qui".
Colonnes clés :
TimeStamp: limite du seau (date variante OLE, flottant 8 octets).AppId,UserId: clés étrangères versSruDbIdMapTable.ForegroundCycleTime,BackgroundCycleTime: cycles CPU, pas des secondes.FaceTime: temps pendant lequel l'interface était visible pour l'utilisateur.ForegroundBytesRead,ForegroundBytesWritten,ForegroundNumReadOperations,NumWriteOperations,NumberOfFlushes: I/O disque au premier plan.- Variantes en arrière-plan de toutes les colonnes I/O.
La jumelle LT agrège les mêmes lignes par semaine et survit
jusqu'à un an. La granularité chute ; la portée s'étend.
Network Data Usage {973F5D5C-…}
Octets par application par profil réseau. La table d'exfiltration.
InterfaceLuid: LUID Windows pour l'interface.L2ProfileId: ID opaque ; résolvez contreHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profilesdans le registre pour le SSID ou le nom de la connexion filaire.L2ProfileFlags: masque binaire :0x100filaire,0x200sans-fil,0x400WWAN.BytesSent,BytesRecvd: compteurs depuis le dernier échantillon, par processus.
Combinée à la résolution AppId, elle répond à "combien de Mo
chrome.exe a-t-il envoyés sur le Wi-Fi domestique entre 14:00 et
15:00 ?". Pour un flux dédié à l'exfiltration voir
détecter l'exfiltration de données avec SRUM.
Network Connectivity {DD6636C4-…}
Quand le système s'est attaché et détaché de chaque réseau.
ConnectStartTime: FILETIME de l'association (précis à la seconde).ConnectedTime: durée en secondes.InterfaceLuid,L2ProfileId,L2ProfileFlags: comme ci-dessus.
Place un appareil sur un réseau précis à un moment précis. Utile pour corréler avec les journaux du contrôleur Wi-Fi d'entreprise et les enregistrements du concentrateur VPN.
Energy Usage {FEE4E14F-…}
Télémétrie batterie et source d'alimentation. Échantillonnée à chaque transition.
EventTimestamp: FILETIME de la transition.StateTransition: branchement/débranchement secteur, entrée/sortie de veille, batterie faible.ChargeLevel,CycleCount,ConfigurationHash.DesignedCapacity,FullChargedCapacity(mWh).ActiveAcTime,CsAcTime,ActiveDcTime,CsDcTime: compteurs de temps par source d'alimentation.
La variante LT suit la dégradation de la santé batterie sur des
mois, utile aussi pour prouver "le portable n'a jamais été chargé au
siège" et autres revendications du même type.
Push Notifications {D10CA2FE-…FA8F}
Pour les apps modernes utilisant le Windows Push Notification Service.
NotificationType: toast, tuile, badge, brut.PayloadSize: octets du corps de la notification.NetworkType: quelle interface l'a délivrée.
Moins souvent porteuse dans une investigation typique, mais la cadence des notifications révèle parfois une app moderne qui tournait en arrière-plan quand rien d'autre ne la consignait.
SruDbIdMapTable
Chaque table de données contient AppId et UserId sous forme de
petits entiers. Joindre SruDbIdMapTable les rend lisibles.
| Colonne | Sens |
|---|---|
IdType | 0 = service, 1 = app, 2 = SID, 3 = user (varie par build) |
IdIndex | L'entier utilisé par les tables de données |
IdBlob | Chemin UTF-16 pour les apps, SID binaire pour les utilisateurs |
Les chemins d'apps dans IdBlob viennent sous deux formes :
- Un chemin de fichier complet, par ex.
\\?\C:\Users\suspect\loader.exe. - Un AUMID moderne, par ex.
Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge.
Les SID binaires se décodent au format SID standard ; associez aux
noms d'utilisateurs via
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList dans
le registre.
Pour aller plus loin
Questions fréquentes
Combien de tables contient SRUDB.dat ?
Typiquement 11 à 14, incluant les tables système ESE (MSysObjects, MSysObjids, MSysLocales), les tables de contrôle SRUM (SruDbIdMapTable, SruDbCheckpointTable), et 6 à 8 tables de données nommées par GUID.
Qu'est-ce que SruDbIdMapTable ?
Elle résout les petits entiers AppId et UserId (clés étrangères utilisées dans chaque table de données) en un identifiant d'application (chemin complet ou AUMID pour les apps modernes) ou un SID binaire pour les comptes utilisateurs Windows.
Pourquoi les tables de données sont-elles nommées par GUID ?
Chaque extension SRUM s'enregistre avec un GUID. Les noms sont stables à travers les builds Windows, donc tout outil qui connaît le GUID peut analyser la table correspondante quelle que soit la langue ou le service pack.
Combien de temps les lignes sont-elles conservées ?
Autour de 30 jours pour les tables court-terme et jusqu'à un an pour les variantes long-terme « LT ». La rétention exacte est gouvernée par la politique registre sous HKLM\System\CurrentControlSet\Control\WMI\AutoLogger\SRUM.
Les horodatages sont-ils en format FILETIME ou OLE ?
La colonne TimeStamp est une date variante OLE (flottant 8 octets). Les tables Energy et Network Connectivity utilisent un FILETIME 64 bits pour leurs horodatages d'événement.