1 (изменено: Foma, 2015-09-30 15:28:16)

Тема: AHK: Как убедиться в верности системного времени?

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

2

Re: AHK: Как убедиться в верности системного времени?

По временным меткам каких-нибудь файлов, наверно.

3

Re: AHK: Как убедиться в верности системного времени?

Проверить время изменения какого-нибудь системного файла - обычно время переводят перед запуском нужной программы, а не держат его постоянно.
Например, время изменения c:\pagefile.sys и c:\swapfile.sys соответствует старту системы (Win8).

FileGetTime, T, c:\pagefile.sys
if (A_Now - T < 0)
MsgBox Время переведено!

4

Re: AHK: Как убедиться в верности системного времени?

Или отлавливать сообщением:

#Persistent
OnMessage(0x1E, "WM_TIMECHANGE")
return

WM_TIMECHANGE()
{
   msgbox Время изменили
   return
}

5

Re: AHK: Как убедиться в верности системного времени?

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

6

Re: AHK: Как убедиться в верности системного времени?

Malcev, скрипт должен постоянно в памяти висеть и мониторить сообщения?

Ну да. Лично я когда нуждался в переводе времени для запуска приложения - перевел его на несколько лет назад и забыл. Вспомнил только, когда плагины в браузере отказались работать - дескать система у вас слишком старая.

7

Re: AHK: Как убедиться в верности системного времени?

Irbis пишет:

Проверить время изменения какого-нибудь системного файла - обычно время переводят перед запуском нужной программы, а не держат его постоянно.
Например, время изменения c:\pagefile.sys и c:\swapfile.sys соответствует старту системы (Win8).

  Да, я в курсе. Это была первая мысль. Но потом я понял, что рестарт системы после смены времени сделает эту проверку бесполезной. Может есть ещё какие-то файлы windows, присутствующие во всех последних версиях, которые не так быстро меняют свойства? Чтобы даже через несколько часов после перезагрузки, можно было обнаружить обман?

8

Re: AHK: Как убедиться в верности системного времени?

Можно еще виндозный журнал событий читать.

9

Re: AHK: Как убедиться в верности системного времени?

А почему свой файл не создать? Например, в папке Temp, где этих файлов как собак нерезанных.

10

Re: AHK: Как убедиться в верности системного времени?

YMP пишет:

А почему свой файл не создать? Например, в папке Temp, где этих файлов как собак нерезанных.

Ну, они же как-то там чистятся? Насколько это надёжно?

11

Re: AHK: Как убедиться в верности системного времени?

Malcev пишет:

Можно еще виндозный журнал событий читать.

  Было бы здорово. А есть готовая методика для всех последних windows?

12

Re: AHK: Как убедиться в верности системного времени?

Наверняка, как-нибудь с wevtutil.

13

Re: AHK: Как убедиться в верности системного времени?

Foma пишет:
YMP пишет:

А почему свой файл не создать? Например, в папке Temp, где этих файлов как собак нерезанных.

Ну, они же как-то там чистятся? Насколько это надёжно?

Ну, не моментально же. Кроме того, в реестре можно писать дату в каком-нибудь разделе с загадочным названием.

14

Re: AHK: Как убедиться в верности системного времени?

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

15

Re: AHK: Как убедиться в верности системного времени?

YMP пишет:
Foma пишет:
YMP пишет:

А почему свой файл не создать? Например, в папке Temp, где этих файлов как собак нерезанных.

Ну, они же как-то там чистятся? Насколько это надёжно?

Ну, не моментально же. Кроме того, в реестре можно писать дату в каком-нибудь разделе с загадочным названием.

  А что даёт не моментальность? Я что-то не очень представляю процесс.
  Записи в реестр отслеживаются очень большим количеством программ. Если уж захотят обмануть, тот тут легко засекут.

16

Re: AHK: Как убедиться в верности системного времени?

Обращение к файлам тоже отслеживается соответствующими программами.

17

Re: AHK: Как убедиться в верности системного времени?

У каждого файла есть время создания, открытия и модификации. Можно по выходу из программы менять время для самого EXE-шника, например время модификации равно времени закрытия, а две других временных метки будут чуть отличаться и нести в скрытом виде контрольную сумму этого времени - на случай, если пользователь захочет ручками подправить свойства файла.

18

Re: AHK: Как убедиться в верности системного времени?

YMP пишет:

Обращение к файлам тоже отслеживается соответствующими программами.

  Ну, к не системным файлам всё-таки на порядок меньше.

19

Re: AHK: Как убедиться в верности системного времени?

Если пользователь поменяет время, сделает свои дела и вернет время назад, то смысла от запоминания времени не будет. Голосую за "мониторинг" сообщений.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

20

Re: AHK: Как убедиться в верности системного времени?

Irbis пишет:

У каждого файла есть время создания, открытия и модификации. Можно по выходу из программы менять время для самого EXE-шника, например время модификации равно времени закрытия, а две других временных метки будут чуть отличаться и нести в скрытом виде контрольную сумму этого времени - на случай, если пользователь захочет ручками подправить свойства файла.

  Интересная идея. Но во временной формат всунуть контрольную сумму - задача не из простых. И тут ещё что-то для первого запуска обмозговать надо.

21 (изменено: Irbis, 2015-10-01 12:34:06)

Re: AHK: Как убедиться в верности системного времени?

Foma пишет:

во временной формат всунуть контрольную сумму - задача не из простых.

Не сложнее, чем написать программу, требующую защиты. ))

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

22 (изменено: Foma, 2015-10-01 14:01:30)

Re: AHK: Как убедиться в верности системного времени?

Irbis пишет:

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

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

23

Re: AHK: Как убедиться в верности системного времени?

Самым кардинальным выходом мне видится чтение журналов Windows. Но я мало знаком с этой темой и есть большие сомнения, что во всех Windows выше 7 там всё одинаковое.
  Кто-то может помочь в этом вопросе? Может вообще AHK что-то там найти?

24

Re: AHK: Как убедиться в верности системного времени?

А можно поинтересоваться, что за программа такая, за которую вы так переживаете?
Если она будет пользоваться популярностью, то все-равно за 2 счета крекнут.

25

Re: AHK: Как убедиться в верности системного времени?

Foma пишет:

Я же MS, доверие к программе нулевое.

Вы - Билл Гейтс?

26

Re: AHK: Как убедиться в верности системного времени?

Malcev пишет:

А можно поинтересоваться, что за программа такая, за которую вы так переживаете?
Если она будет пользоваться популярностью, то все-равно за 2 счета крекнут.

  Простите, нет.
  Я ищу защиту от продвинутого пользователя, а не от профи.

27

Re: AHK: Как убедиться в верности системного времени?

ypppu пишет:
Foma пишет:

Я же MS, доверие к программе нулевое.

Вы - Билл Гейтс?

  Смешно, исправил.

28 (изменено: Malcev, 2015-10-01 14:17:07)

Re: AHK: Как убедиться в верности системного времени?

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

29

Re: AHK: Как убедиться в верности системного времени?

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

30

Re: AHK: Как убедиться в верности системного времени?

Malcev пишет:

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

Профи платить надо. Я надеюсь, что это будет не выгодно. Я просто не хочу держать свой кошелёк на виду у всех. Хочу положить его во внутренний карман под молнию. Но сейф с собой таскать, конечно не буду.

Про wevtutil ничего не знаю, но поищу, спасибо.

31

Re: AHK: Как убедиться в верности системного времени?

Foma пишет:
YMP пишет:

Обращение к файлам тоже отслеживается соответствующими программами.

  Ну, к не системным файлам всё-таки на порядок меньше.

В смысле? Можно отследить, к каким файлам ваша программа обращается. Есть для этого средства, тот же FileMon.

32 (изменено: Malcev, 2015-10-01 17:35:18)

Re: AHK: Как убедиться в верности системного времени?

А что там интересного в журнале пишется?

При переводе часов появляется событие и в security и в system на win7.

This event is generated when the system time is changed. It is normal for the Windows Time Service, which runs with System privilege, to change the system time on a regular basis. Other system time changes may be indicative of attempts to tamper with the computer.

Профи платить надо. Я надеюсь, что это будет не выгодно.

Не всегда именно так. Могут заняться и ради интереса. И вот тому пример:
http://forum.script-coding.com/viewtopic.php?id=7715

33

Re: AHK: Как убедиться в верности системного времени?

На XP при ручном переводе часов событий в журнале не появляется. И журнал можно очищать.

34

Re: AHK: Как убедиться в верности системного времени?

Ну как я понял, топикстартера не интересует XP:

Самым кардинальным выходом мне видится чтение журналов Windows. Но я мало знаком с этой темой и есть большие сомнения, что во всех Windows выше 7 там всё одинаковое.

А очищать, конечно же можно.

35

Re: AHK: Как убедиться в верности системного времени?

Я думал, что он хотел реализовать программу с ограниченным времени пробного пользования.

36

Re: AHK: Как убедиться в верности системного времени?

ypppu пишет:

Я думал, что он хотел реализовать программу с ограниченным времени пробного пользования.

  Пробного и оплаченного.

37

Re: AHK: Как убедиться в верности системного времени?

Foma, вам не пора правила цитирования подучить?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

38

Re: AHK: Как убедиться в верности системного времени?

Системное время, файлы, реестр - всё это, как говорится, "козлиная защита". Всегда можно вернуть в первоначальный вид, и программа не узнает, который сегодня день.

39

Re: AHK: Как убедиться в верности системного времени?

OFF: Хм...

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

40

Re: AHK: Как убедиться в верности системного времени?

teadrinker, не нашёл про цитирование, но надеюсь, что догадался.
ypppu, я ищу защиту от продвинутого пользователя, а не от профи.

41

Re: AHK: Как убедиться в верности системного времени?

Так продвинутый пользователь понимает, что программа где-то оставляет метку. Заходит в гугол и ищет инструмент для слежения за реестром и файлами.

+ OFF:

OFF: Как вы относитесь к "лицензионному" и "пиратскому" ПО? оставил The gray Cardinal  [ 1 2 3 … 12 ]
283 33539 2008-12-19 13:57:26 оставил The gray Cardinal

Internet archive

42

Re: AHK: Как убедиться в верности системного времени?

Foma пишет:

teadrinker, не нашёл про цитирование

Здесь поищите.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

43

Re: AHK: Как убедиться в верности системного времени?

Или просто спустя триальный срок будет откатываться.

44 (изменено: Foma, 2015-10-02 02:26:59)

Re: AHK: Как убедиться в верности системного времени?

ypppu, Malcev у нас с вами разные представления о продвинутых пользователях. )
Мой - умеет переставлять часы, перезагружаться, имеет какую-нибудь бесплатную программку в качестве антивируса, который в том числе и за подозрительными действиями с реестром следит. Откатывать систему, перезаписывать сохранённый ранее образ системного диска, знать про программы следящие за всеми файлами он не умеет.
По wevtutil ничего не понял. Если никто не подскажет или не даст готовый образец, буду использовать комбинацию других доступных мне способов.

45

Re: AHK: Как убедиться в верности системного времени?

А что такое подозрительные действия с реестром? Запись и чтение в созданный программой раздел -- подозрительны?

46

Re: AHK: Как убедиться в верности системного времени?

А с wevtutil вот так попробуй:

wevtutil qe Security /q:*[System[(EventID=4616)]]

47

Re: AHK: Как убедиться в верности системного времени?

YMP пишет:

А что такое подозрительные действия с реестром? Запись и чтение в созданный программой раздел -- подозрительны?

  Это не моя формулировка. Авторы этих программ как-то делят по разделам и ещё как-то, что вот тут нормально, потому что windows часто тут и так пишет и т.п. А вот тут вот так - подозрительно.

48

Re: AHK: Как убедиться в верности системного времени?

Malcev, это куда вставлять? Само по себе не запускается даже.

49 (изменено: Malcev, 2015-10-02 15:12:10)

Re: AHK: Как убедиться в верности системного времени?

В cmd.
Хотя к security только под админом дают доступ.
Можно обращаться к System:

wevtutil qe System /q:*[System[(EventID=1)]]

50

Re: AHK: Как убедиться в верности системного времени?

Malcev, спасибо, посмотрю, что с эти смогу сделать.
Если у кого-то ещё будут идеи с более простой реализацией - пишите.