Работая с одними и теми же файлами в разных программах, иногда можно подметить одну странность — файл тот же, но дата создания у него в разных приложениях своя. Тут сразу возникает два вопроса: как такое может быть и какую дату создания необходимо считать правильной? Для демонстрации возьмем простой текстовый файл и посмотрим его дату создания. Открываем свойства и видим, что файл создан 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, идем в меню Файл -> Загрузить куст.
И указываем путь к файлу SYSTEM, присваиваем точке монтирования временное имя, например, SYS.
Аналогичным образом монтируем и файл SOFTWARE с временным именем SOFT.
Смонтировав кусты, переходим сначала к ветке SYS\ControlSet001\Control\TimeZoneInformation и запоминаем значение параметра TimeZoneKeyName.
Затем разворачиваем ветку SOFT\Microsoft\Windows NT\CurrentVersion\Time Zones и находим подраздел с именем указанного выше параметра.
В последнем подразделе у вас будет два параметра: показывающий в текстовом формате системное время Display и параметр TZI, показывающий в бинарном формате разницу в минутах между системным и с UTC-временем.
Чтобы его «расшифровать», запишите первые четыре двухзначные значения в обратном порядке, откройте калькулятор в режиме программиста, выставьте настройки как показано на скриншоте, вставьте полученное значение и переведите его в десятичную форму счисления.
Полученное число будет разницей между часовым поясом и UTC-временем в минутах.
Как и ожидалось, у нас разница составила два часа.
А на этом пока всё.
В следующий раз мы продвинемся еще дальше и узнаем, как разоблачить пользователя, попытавшегося запутать следы своей деятельности на компьютере путем временного, простите за тавтологию, изменения системного времени.
Добавить комментарий