
أداة لاستخراج $UsnJrnl من وحدة تخزين NTFS
سجل التغييرات (Change Journal) في NTFS هو ملف موجود في المسار $Extend$UsnJrnl. وهو ملف نظام وصفية (metafile) لا يمكن العثور عليه في قائمة الدليل العادية، ولا حتى عبر الوسائل التقليدية. البيانات ذات الصلة موجودة في تيار البيانات البديل (Alternate Data Stream) المسمى $J. وهناك أيضًا ADS آخر يسمى $Max وهو غير مهم نسبيًا. قد يكون $J متناثرًا، مما يعني أن أجزاء من البيانات هي مجرد أصفار (00's). قد يشكل هذا جزءًا كبيرًا من إجمالي البيانات، ومعظم الأدوات ستستخرج تيار البيانات هذا بحجمه الكامل (وهو أمر مزعج ومهدر كبير لمساحة القرص). من هنا تأتي فائدة هذه الأداة، حيث تستخرج فقط البيانات الفعلية لسجل التغييرات. بهذه الطريقة، يكون الاستخراج أسرع أيضًا. لماذا تستخرج 20 جيجابايت بينما قد تحتاج فقط 200 ميجابايت؟
شرح المعاملات:
/ImageFile:
المسار الكامل واسم ملف صورة لاستخراج البيانات منها. إذا تم استخدام هذا المعامل، فيجب تعيين /ImageVolume:. اختياري.
/ImageVolume:
رقم الحجم (volume) لاستخراج البيانات منه. إذا لم يكن الحجم من نوع NTFS، فلن يتم استخراج شيء. يُستخدم فقط مع /ImageFile:.
/DevicePath:
مسار الجهاز الكامل لاستخراج البيانات منه. اختياري.
/OutputPath:
مسار الإخراج لاستخراج الملف إليه. اختياري. إذا تم حذفه، فسيكون مسار الاستخراج الافتراضي هو دليل البرنامج.
/OutputName:
اسم ملف الإخراج. اختياري. إذا تم حذفه، فسيكون اسم الملف $UsnJrnl_$J.bin.
وبالتالي، يمكن أن يكون الإدخال إما /ImageFile: أو /DevicePath:. يجب أن تكون ملفات الصور من نوع raw dd (مثل الصور الخام)، وأن تكون صورة قرص أو قسم. عند تحديد مسارات الأجهزة في /DevicePath، يمكن الوصول إلى الأجهزة المتصلة التي لا تحتوي على أحجام مثبتة. أمثلة: HarddiskVolume1, Harddisk0Partition2, HarddiskVolumeShadowCopy1, PhysicalDrive1. بالنسبة لـ PhysicalDriveN، يجب تحديد معامل /ImageVolume. الإعداد الافتراضي هو استخراج UsnJrnl إلى $UsnJrnl_$J.bin في دليل البرنامج. إذا كان اسم ملف الإخراج موجودًا بالفعل، فسيتم إعادة تسمية الملف الحالي مع إضافة "renamed_[timestamp]" حيث [timestamp] هو الوقت الحالي عند تشغيل البرنامج.
أمثلة على الاستخدام:
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