Comment analyser SRUDB.dat sans rien installer
17/05/2026
Trois options selon l’environnement
| Approche | Installation requise | Idéal pour |
|---|---|---|
| Analyseur navigateur | Aucune | Analyse ponctuelle, fichier sensible (aucun upload), démos |
| SrumECmd | Runtime .NET 6+ | Poste DFIR Windows, traitement en masse |
| srum-dump | Python 3.9+ | Analystes Linux/macOS, pipelines custom |
Option 1 : déposer sur cette page
Ouvrez l’analyseur SRUM, glissez votre SRUDB.dat sur la zone de
dépôt, et les données apparaissent en ~1 seconde pour un fichier typique
de 5 Mo. Tout se passe localement via WebAssembly — votre fichier ne
quitte jamais le navigateur.
Ce que vous obtenez :
- Toutes les tables ESE énumérées avec leurs types de colonnes
- Onglets pour les tables SRUM connues (Utilisation des ressources, Utilisation des données réseau, Connectivité réseau, Énergie, Notifications push)
AppIdetUserIdrésolus automatiquement contreSruDbIdMapTable- Colonnes FILETIME rendues en chaînes ISO-8601
À utiliser pour un aperçu rapide d’un fichier sans monter un outil, ou quand le fichier est trop sensible pour être uploadé.
Option 2 : SrumECmd
SrumECmd d’Eric Zimmerman est l’outil de référence pour les postes
DFIR Windows. Il produit des CSV propres prêts pour Timeline Explorer.
SrumECmd.exe -f C:\evidence\SRUDB.dat -r C:\evidence\SOFTWARE --csv C:\output
Le flag -r pointe vers la ruche SOFTWARE pour résoudre les GUID de
profils réseau en SSID lisibles.
Sortie : un CSV par table SRUM — Utilisation des ressources, Utilisation des données réseau, Connectivité réseau, Énergie, plus l’IdMap résolu.
Option 3 : srum-dump
srum-dump de Mark Baggett est l’option Python. Il écrit une feuille
XLSX avec un onglet par table.
pip install -r requirements.txt
python srum_dump.py --SRUM_INFILE SRUDB.dat --REG_HIVE SOFTWARE --OUT_DIR ./out
Un fork de Willi Ballenthin produit du JSON à la place de XLSX, plus adapté aux pipelines analytiques.
Choisir entre eux
- Un fichier, aperçu rapide → analyseur navigateur
- Beaucoup de fichiers, reproductible → SrumECmd en script batch
- Analyse custom en pandas / jq → fork JSON de srum-dump
- Fichier sensible non exfiltrable → analyseur navigateur (zéro upload)
Pièges courants
- Copier un fichier verrouillé. SRUDB.dat est verrouillé sur un système vivant. Voir Où se trouve SRUDB.dat sur Windows ? pour les options d’acquisition.
- Oublier la ruche SOFTWARE. Sans elle, les noms de profils réseau
restent en GUID. Le flag
-rde SrumECmd et--REG_HIVEde srum-dump acceptent le chemin de la ruche. - Ne lire que la table court-terme. Utilisation des ressources
capture les ~30 derniers jours ; sa variante
LTagrège hebdomadairement jusqu’à un an. Toujours vérifier les deux.
Pour aller plus loin
Questions fréquentes
- Faut-il Python pour analyser SRUDB.dat ?
- Non. Vous pouvez utiliser un analyseur dans le navigateur (sans installation), un outil .NET en ligne de commande (SrumECmd), ou Python (srum-dump). Choisissez selon votre environnement.
- L’analyseur navigateur est-il plus lent que les outils CLI ?
- Pour des fichiers sous 100 Mo la différence est imperceptible — le parsing se fait en WebAssembly à vitesse quasi-native. Les outils CLI gagnent pour le traitement en masse.
- Puis-je exporter les résultats en CSV ?
- SrumECmd et srum-dump produisent du CSV/XLSX nativement. L’analyseur navigateur affiche les résultats dans un tableau interactif ; l’export CSV est sur la feuille de route.
- Un analyseur peut-il montrer des données de plus de 30 jours ?
- Seulement si les tables long-terme (LT) existent et contiennent des lignes. Les tables court-terme sont purgées après environ 30 jours par le service SRUM lui-même.
- Puis-je analyser uniquement SRUDB.dat ou les logs sont nécessaires ?
- SRUDB.dat seul suffit la plupart du temps. Les journaux SRU*.log ne comptent que si la base a été copiée pendant un flush du service — dans ce cas, rejouer les logs récupère les lignes récentes manquantes.