Почему в разных программах время создания файла может быть разное и как определить системное время, если компьютер не загружается

Filedate

Работая с одними и теми же файлами в разных программах, иногда можно подметить одну странность — файл тот же, но дата создания у него в разных приложениях своя. Тут сразу возникает два вопроса: как такое может быть и какую дату создания необходимо считать правильной? Для демонстрации возьмем простой текстовый файл и посмотрим его дату создания. Открываем свойства и видим, что файл создан 12 марта в 10 часов 39 минут и 47 секунд.

Затем открываем этот же файл в программе NTFS Stream Explorer и видим, что дата создания у него иная — 12 марта в 08 часов 39 минут и 47 секунд, файл создан на два часа раньше!

Свойства файла

Каким же данным верить? Весь секрет в том, что временные метки файлов в NTFS записываются в формате UTC, но отображаются с учетом смещения часового пояса. NTFS Stream Explorer же показывает «истинную» дату создания. У нас системное время выставлено UTC +2:00, отсюда и разница во времени в два часа. Естественно, всё это можно проверить в рабочей системе, но давайте представим, что Windows повреждена, и компьютер не загружается. Как узнать, какое системное время было установлено на компьютере?

Вытащить его из реестра, подключив файлы SYSTEM и SOFTWARE в режиме удаленного редактирования. Напоминаем, что находятся они в системном каталоге system32\config и что открыть их можно путем монтирования во встроенном редакторе Regedit.

Открыв редактор, выделяем раздел HKLM, идем в меню Файл -> Загрузить куст.

Regedit

И указываем путь к файлу SYSTEM, присваиваем точке монтирования временное имя, например, SYS.

SYSTEM

Аналогичным образом монтируем и файл SOFTWARE с временным именем SOFT.

SOFTWARE

Смонтировав кусты, переходим сначала к ветке SYS\ControlSet001\Control\TimeZoneInformation и запоминаем значение параметра TimeZoneKeyName.

TimeZoneKeyName

Затем разворачиваем ветку SOFT\Microsoft\Windows NT\CurrentVersion\Time Zones и находим подраздел с именем указанного выше параметра.

Time Zones

В последнем подразделе у вас будет два параметра: показывающий в текстовом формате системное время Display и параметр TZI, показывающий в бинарном формате разницу в минутах между системным и с UTC-временем.

Чтобы его «расшифровать», запишите первые четыре двухзначные значения в обратном порядке, откройте калькулятор в режиме программиста, выставьте настройки как показано на скриншоте, вставьте полученное значение и переведите его в десятичную форму счисления.

TZI

Калькулятор

Полученное число будет разницей между часовым поясом и UTC-временем в минутах.

Как и ожидалось, у нас разница составила два часа.

А на этом пока всё.

В следующий раз мы продвинемся еще дальше и узнаем, как разоблачить пользователя, попытавшегося запутать следы своей деятельности на компьютере путем временного, простите за тавтологию, изменения системного времени.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *