Skip to content

Comparatif des parseurs de $LogFile NTFS

Comparatif factuel des outils $LogFile : LogFileParser, NTFS Log Tracker, TZWorks mala, dfir_ntfs, ntfstool, MFTECmd et un parseur web. Quoi utiliser, et quand.

Publié le 7 min de lecture

TL;DR. Pour une affaire, lancez LogFileParser (le décodeur open source le plus détaillé, de nombreux CSV plus SQLite) et recoupez avec NTFS Log Tracker (événements tirés à la fois du $LogFile et de $UsnJrnl, carving, LFS 2.0, motifs de manipulation de dates). Prenez dfir_ntfs si vous scriptez en Python, TZWorks mala s'il vous faut un outil en ligne de commande commercial, supporté et multiplateforme. Utilisez le parseur de $LogFile dans le navigateur pour un tri rapide, sans installation ni envoi, avec les enregistrements bruts à côté des événements — et confirmez l'essentiel avec l'un des autres, puisqu'il n'est validé que sur des données synthétiques. MFTECmd ne parse pas encore le $LogFile.

Aucun outil $LogFile ne fait autorité. Microsoft n'a jamais publié le format ; chaque parseur encode la rétro-ingénierie de quelqu'un, et ils divergent aux marges. La question pratique est : lesquels lancer, par deux ?

Les outils en un coup d'œil

Les informations ci-dessous proviennent de la page ou du dépôt de chaque projet, vérifiés en septembre 2026.

OutilAuteurPlateformeLicenceEntréesSortie
LogFileParserJoakim SchichtWindows (AutoIt), interface graphique + CLIMIT$LogFile, en option $UsnJrnl / sortie de mft2csvNombreux CSV + SQLite ntfs.db, $MFT factice, extraits résidents
NTFS Log TrackerJunghoon Oh (blueangel)Windows, interface graphique 64 bitsVoir la page de l'auteur$LogFile, $UsnJrnl:$J, $MFT pour les cheminsSQLite, CSV
malaTZWorksCLI Windows, Linux, macOSCommerciale$LogFile + $MFTCSV / séparateur pipe / tabulations
dfir_ntfsMaxim SuhanovBibliothèque Python 3 + CLIGPL-3.0Volumes, images, clichés instantanés, $MFT, $UsnJrnl:$J, $LogFileObjets Python, sortie CLI
ntfstoolthewhiteninjaCLI WindowsMITDisques physiques et volumesDump du $LogFile en CSV, JSON ou brut
MFTECmdEric ZimmermanCLI .NETMIT$MFT, $J, $Boot, $SDS$LogFile détecté mais « not supported yet »
NTFS $LogFile Parser (ce site)Florian AmetteTout navigateur récent (Rust → WebAssembly)—$LogFile + $MFT, dossiers, collectes de tri ZIPÉvénements et enregistrements bruts, CSV / JSON

LogFileParser

Le décodeur open source de référence. Son readme liste les opérations redo qu'il décode avec une sortie exploitable (d'InitializeFileRecordSegment à CompensationLogRecord) et quasiment tous les types d'attributs. Points forts :

  • Profondeur. Des CSV séparés pour les entrées d'index, les runs de données, les descripteurs de sécurité, les tables d'attributs ouverts, les tables de transactions, les enregistrements $UsnJrnl retrouvés dans le journal, et plus encore ; une base SQLite les relie.
  • Récupération du slack. Il récupère des transactions dans la fin inutilisée des pages RCRD — des enregistrements restés d'avant le recyclage du journal — avec une option pour reconstruire les en-têtes endommagés.
  • Reconstruction des runs de données. Pour les fichiers non résidents supprimés, il reconstruit les runs de clusters à partir d'InitializeFileRecordSegment, CreateAttribute, UpdateMappingPairs et SetNewAttributeSizes, et documente la récupération d'un fichier fragmenté dont l'enregistrement FILE avait été écrasé.
  • $MFT factice. Reconstruit à partir des images d'enregistrements FILE présentes dans le journal.

Réserves, d'après sa propre documentation : la sortie est « extremely detailed and very low level », certaines fonctions ont des limites connues avec Unicode, et l'outil ne tourne que sous Windows. Le readme n'aborde pas explicitement les pages rapides LFS 2.0 ; si vous traitez des captures à chaud de Windows 8+, comparez ses résultats avec un outil qui le fait.

NTFS Log Tracker

L'outil de Junghoon Oh s'intéresse aux événements plutôt qu'aux structures brutes, et à la combinaison des sources. Version 1.9 (juin 2025) d'après la page de l'auteur :

  • parse $LogFile et $UsnJrnl:$J, et utilise le $MFT pour les chemins complets ;
  • prend en charge le format de journal de Windows 10 (LFS 2.0) ;
  • récupère par carving des enregistrements de journal dans l'espace non alloué, le slack, des dumps mémoire et des copies VSS (désactivé par défaut en 1.9) ;
  • détecte des motifs de manipulation d'horodatage, des changements de l'heure système et certains comportements suspects ;
  • exporte en SQLite et CSV.

C'est le second avis naturel pour les constats de timestomping et de suppression, et le seul outil de cette liste qui relie d'emblée les événements $LogFile et USN.

TZWorks mala

« $MFT and $LogFile Analysis » : un outil commercial en ligne de commande qui associe le journal au $MFT pour le contexte et produit une liste chronologique des transactions. Des versions existent pour Windows, Linux et macOS. À choisir si votre organisation a besoin d'un support éditeur et d'un traitement scripté multiplateforme.

dfir_ntfs

Maxim Suhanov — auteur de l'article « How the $LogFile works? » — maintient cette bibliothèque Python 3. Elle parse le $LogFile avec le $MFT et $UsnJrnl:$J, travaille directement sur des images et des clichés instantanés, et exploite les dumps de la table des attributs ouverts et des noms d'attributs pour résoudre les cibles. Idéale pour construire votre propre chaîne de traitement ou vérifier une structure par programme.

ntfstool et MFTECmd

ntfstool lit directement disques et volumes et peut exporter le $LogFile en CSV, JSON ou brut — utile pour collecter et jeter un premier coup d'œil. MFTECmd, la référence pour $MFT et $J, reconnaît un $LogFile à sa signature RSTR mais, dans son code source actuel, s'arrête avec « $LogFile not supported yet ». Ne supposez pas que votre passage de MFTECmd a couvert le journal.

Le parseur dans le navigateur (ce site)

Ce pour quoi il est conçu :

  • Ni installation ni envoi. Rust compilé en WebAssembly dans un Web Worker ; rien ne quitte la machine. Utile sur un portable d'analyse verrouillé ou pour des données que vous ne pouvez envoyer nulle part.
  • Événements et enregistrements côte à côte. Créations, suppressions, renommages/déplacements, modifications de $SI et écritures de données résidentes, chacun relié à ses enregistrements bruts avec l'hexadécimal redo/undo.
  • Les deux versions du journal, avec fusion des pages de queue / rapides quand elles sont plus récentes (1.1 et 2.0).
  • Chemins tirés du $MFT, lu par blocs pour que les MFT de plusieurs gigaoctets passent ; les ZIP de tri KAPE ou Velociraptor sont acceptés tels quels.
  • Signalements expliqués pour les indices de timestomping (méthode).

Ce qu'il ne fait pas (encore) : validation sur des journaux Windows réels — seulement sur des journaux synthétiques à ce jour ; regroupement par transaction ; récupération du slack ; reconstruction des runs de données ; corrélation USN ; sortie SQLite ; automatisation. C'est un outil de tri et de pédagogie qui montre son travail, pas un remplaçant des outils ci-dessus.

Quels deux outils lancer

SituationD'abordEnsuite
Affaire, constat destiné à un rapportLogFileParserNTFS Log Tracker
Soupçon de timestompingNTFS Log Tracker ou parseur web (pour repérer)LogFileParser (enregistrements $SI bruts)
Fichier supprimé, besoin du contenu ou des clustersLogFileParser (extraits résidents, runs de données)dfir_ntfs
Tri rapide sur un portable, sans installationParseur webLogFileParser de retour au labo
Chaîne de traitement scriptéedfir_ntfs ou malaLogFileParser sur les volumes signalés

En cas de désaccord, comparez par LSN : chaque outil l'expose, et il identifie un enregistrement sans ambiguïté. Regardez vous-même les octets redo/undo — Les opérations redo/undo expliquées décrit ce qu'il faut y trouver.

Questions fréquentes

Quel est le meilleur outil pour parser le $LogFile NTFS ?

Il n'y en a pas un seul. LogFileParser est le décodeur open source le plus détaillé ; NTFS Log Tracker ajoute la corrélation avec $UsnJrnl, le carving et des motifs de manipulation de dates ; dfir_ntfs convient aux chaînes de traitement en Python ; TZWorks mala est une option commerciale avec support ; un parseur dans le navigateur convient au tri rapide sans installation. Utilisez-en deux et comparez par LSN.

MFTECmd parse-t-il le $LogFile ?

Pas au moment où ces lignes sont écrites. MFTECmd reconnaît un $LogFile à sa signature, mais son code source s'arrête sur un message indiquant que le $LogFile n'est pas encore pris en charge. Utilisez-le pour $MFT et $J, et un outil dédié pour le $LogFile.

Articles liés

Articles liés