Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Временные метки файла


Автор: bass 19.8.2015, 22:51
Решил поиграться с временными метками фавйлов . Взял на ХР флашку, и скопировал туда файлы один txt другой exe. Предварительно сменив в системе часы. Вставил в другой комп с семеркой:
На ехе файле дата последнего открытия стоит как только что открывали файл. В текстовом файле 90ый год )))
В чем разница ???

Автор: Akira 20.8.2015, 00:22
Цитата(bass @ 19.8.2015,  22:51)
В чем разница ???

Предполагаю, что *.exe дернул антивирус в эмулятор, а расширение *.txt по умолчанию не проверяется.

Автор: bass 20.8.2015, 01:11
Цитата(Akira @ 20.8.2015,  00:22)
Цитата(bass @ 19.8.2015,  22:51)
В чем разница ???

Предполагаю, что *.exe дернул антивирус в эмулятор, а расширение *.txt по умолчанию не проверяется.

Ух а до этого я не догадался ..)))))))
Но нет у меня антивируса, чистая семерка стоит. Возможно штатными средствами как то проверяеться EXE ...???

Добавлено через 8 минут и 32 секунды
Перевожу часы на час вперед, показывает метку на час вперед.

Что за странное евление ??? Микрософт говорит что временные метки от 1601 го года кажеться, могу ошибаться.
Как это работает ???

Автор: Akira 20.8.2015, 01:29
Цитата(bass @ 20.8.2015,  01:11)
Что за странное евление ??? Микрософт говорит что временные метки от 1601 го года кажеться, могу ошибаться.
Как это работает ???

Антивирус встроен начиная с vista, так же достаточно смены атрибутов.
Проще всего узнать файловым монитором кто обращается к *.exe файлу.
О метках https://xakep.ru/2013/02/22/60167/, хоть и школярская, но для общего понимания работы вполне достаточно.

Автор: bass 20.8.2015, 01:46
Цитата(Akira @ 20.8.2015,  01:29)
Цитата(bass @ 20.8.2015,  01:11)
Что за странное евление ??? Микрософт говорит что временные метки от 1601 го года кажеться, могу ошибаться.
Как это работает ???

Антивирус встроен начиная с vista, так же достаточно смены атрибутов.
Проще всего узнать файловым монитором кто обращается к *.exe файлу.
О метках https://xakep.ru/2013/02/22/60167/, хоть и школярская, но для общего понимания работы вполне достаточно.

Часы просто перевожу на час вперед, временная метка показывает на час вперед... 
Как это объясните ???? smile

Добавлено через 5 минут
При открытие проводником метка не сбиваеться.

Автор: volatile 20.8.2015, 10:30
Цитата(bass @  19.8.2015,  22:51 Найти цитируемый пост)
Взял на ХР флашку,

Кроме всего прочего зависит от системы на флешке.
FAT* не хранит время последнего доступа, только дату. и система может подставлять время из другой метки.
NTFS хранит также и время.

Вообще есть 3 времени у файла время создания, время модификации, и время последнего доступа.
(еще вроде четвертое недавно появилось..)

Вы вероятно говорите об последнем доступе. LastAccess time
оно кстати вообще может не обновляться на некоторых дисках.
возможно обновление LastAccess на флешке отключено. что весьма логично.

 smile Я например отключил у себя обновление LastAccess вообще на всех дисках (так быстрее мне кажется)


Автор: bass 20.8.2015, 13:03
Цитата(volatile @ 20.8.2015,  10:30)
Цитата(bass @  19.8.2015,  22:51 Найти цитируемый пост)
Взял на ХР флашку,

Кроме всего прочего зависит от системы на флешке.
FAT* не хранит время последнего доступа, только дату. и система может подставлять время из другой метки.
NTFS хранит также и время.

Вообще есть 3 времени у файла время создания, время модификации, и время последнего доступа.
(еще вроде четвертое недавно появилось..)

Вы вероятно говорите об последнем доступе. LastAccess time
оно кстати вообще может не обновляться на некоторых дисках.
возможно обновление LastAccess на флешке отключено. что весьма логично.

 smile Я например отключил у себя обновление LastAccess вообще на всех дисках (так быстрее мне кажется)

Вот что мне нужно было..
ПРосто узнать как работает. Сечас читать буду.

https://technet.microsoft.com/en-us/library/cc781134.aspx

Отключили ???
Код


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisableLastAccessUpdate"=dword:00000001


Таким образом ???

У меня тоже отключено данное дияние.

В каком формате данная дата сбрасываеться если при переводе часов она прескакивает на то время на которое перевели часы.

Автор: volatile 20.8.2015, 17:01
Цитата(bass @  20.8.2015,  13:03 Найти цитируемый пост)
Отключили ???
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisableLastAccessUpdate"=dword:00000001
Таким образом ???

да

Цитата(bass @  20.8.2015,  13:03 Найти цитируемый пост)
У меня тоже отключено данное дияние.

а что-же вы тогда пытаетесь узнать то?

раз отключено там вероятно просто нули, ну а система, в этом случае выдает просто сегодняшнюю дату видимо
(не показывать же ей 1601 год  smile )
это предположение просто.

Автор: bass 20.8.2015, 22:37
Цитата(volatile @ 20.8.2015,  17:01)

раз отключено там вероятно просто нули, ну а система, в этом случае выдает просто сегодняшнюю дату видимо
(не показывать же ей 1601 год  smile )
это предположение просто.

Уже вчерашне. ))))

Ладно, мне просто уж очень интересно стало как так.
MDSN начал читать но сейчас не до этого стало, поже дочитаю.
Для дела только на фотках приходилось менять  дату файла.


Автор: Akira 20.8.2015, 23:38
Цитата(bass @ 20.8.2015,  22:37)
Ладно, мне просто уж очень интересно стало как так.

Одного ключа в реестре мало, для отлючения изменения времени последнего изменениня есть магическая константа, которая недокументированная, на память не помню ее уже, небыло необходимости в таких хаках.
По ntfs довольно неплохая 
http://www.cse.scu.edu/~tschwarz/coen152_05/Lectures/NTFS.html
Есть еще неплохая книга - анализ файловых систем, там эти ньяансы очень хорошо разобраны.

Автор: volatile 21.8.2015, 09:58
Цитата(Akira @  20.8.2015,  23:38 Найти цитируемый пост)
Одного ключа в реестре мало, для отлючения изменения времени последнего изменениня 

Не последнего изменения, (отключение последнего изменения может придти в голову только ненормальному  smile )
а последнего доступа.

Автор: Akira 21.8.2015, 16:06
Цитата(volatile @ 21.8.2015,  09:58)
а последнего доступа.

Не правильно выразился, безусловно вы правы.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)