
Outil pour extraire le $UsnJrnl d'un volume NTFS
Le journal des modifications sur NTFS est un fichier situé dans $Extend$UsnJrnl. C'est un métafichier système impossible à trouver dans un listing de répertoire normal, ni même par des moyens courants. Les données pertinentes se trouvent dans le flux de données alternatif nommé $J. Il existe également un autre flux ADS appelé $Max, plutôt sans intérêt. $J peut être sparse, ce qui signifie que certaines parties des données sont simplement des 00. Cela peut représenter une part importante du volume total, et la plupart des outils extraient ce flux de données dans sa taille complète (ce qui est gênant et gaspille énormément d'espace disque). C'est là que cet outil intervient, car il extrait uniquement les données réelles du journal des modifications. De cette façon, l'extraction est évidemment plus rapide. Pourquoi extraire 20 Go quand vous n'avez besoin que de 200 Mo ?
Explication des paramètres /ImageFile : Le chemin complet et le nom du fichier d'image à partir duquel extraire. Si ce paramètre est utilisé, alors /ImageVolume: doit être défini. Optionnel. /ImageVolume : Le numéro de volume à partir duquel extraire. Si le volume n'est pas NTFS, rien ne sera extrait. Utilisé uniquement avec /ImageFile:. /DevicePath : Le chemin complet du périphérique à partir duquel extraire. Optionnel. /OutputPath : Le chemin de sortie où extraire le fichier. Optionnel. S'il est omis, le chemin d'extraction par défaut est le répertoire du programme. /OutputName : Le nom du fichier de sortie. Optionnel. S'il est omis, le nom du fichier sera $UsnJrnl_$J.bin.
L'entrée peut donc être /ImageFile: ou /DevicePath:. Les fichiers image doivent être des images brutes de type dd, et être des images de disque ou de partition. Lors de la spécification de chemins de périphériques dans /DevicePath, il est possible d'accéder à des périphériques attachés qui n'ont aucun volume monté. Les exemples sont HarddiskVolume1, Harddisk0Partition2, HarddiskVolumeShadowCopy1, PhysicalDrive1. Pour PhysicalDriveN, vous devez spécifier le paramètre /ImageVolume. Par défaut, le UsnJrnl est extrait vers $UsnJrnl_$J.bin dans le répertoire du programme. Si le fichier de sortie existe déjà, le fichier existant sera renommé avec "renamed_[timestamp]" ajouté, où [timestamp] est l'heure actuelle au moment de l'exécution du programme.
Exemple d'utilisation :
ExtractUsnJrnl /ImageFile:e:\images\disk.dd /ImageVolume:1 /OutputPath:e:\temp /OutputName:UsnJrnl_vol1.bin ExtractUsnJrnl /DevicePath:c: ExtractUsnJrnl /DevicePath:\.\HarddiskVolumeShadowCopy1 /OutputPath:e:\temp /OutputName:UsnJrnl_SC1.bin ExtractUsnJrnl /DevicePath:\.\Harddisk0Partition2 /OutputPath:e:\temp ExtractUsnJrnl /DevicePath:\.\PhysicalDrive0 /ImageVolume:3 /OutputPath:e:\temp