Поддержите проект на Boosty — это поможет избавиться от рекламы и сделать сайт лучше: Поддержать ↗

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

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-временем в минутах.

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

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

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

Если вам понравилась статья или вы хотите отблагодарить автора, поддержите сайт на Boosty — это поможет проекту развиваться дальше: Поддержать ↗

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

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

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

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