Главная

Friday, 2 April 2021

RunAsDate - манипулируем временем.

Всем привет.

Сегодня мы храним на своих компьютерах множество инструментов и программ, которые со временем, часто мы даже не помним, что у нас они есть. Конечно, мы нуждаемся в них в определенное время чтобы использовать их повторно. Однако во многих случаях, когда мы собираемся воспользоваться ими, мы обнаруживаем, что они больше не работают, потому что это то была пробная версия и которая была действительна до определенной даты. Иногда даже не известно до какой.

Если это случилось с нами, то первое что хочется сделать это запустить программу с датой до текущей. Второе - это удалить программу и переустановить ее, изменив системное время. Однако мы можем столкнуться с проблемами: некоторые данные были сохранены в реестре, и, хотя мы переустанавливаем их, мы все равно распознаем дату начальной установки или что, несмотря на изменение системного времени, они все еще не работают.

В обшем то перевод системного времени может негативно повлиять на многое на вашем ПК, т.е. ваш эксперимент того явно не стоит. Поэтому для таких экспериментов и существует  утилита  RunAsDate.

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

Как это работает?

RunAsDate перехватывает сигналы ядра API, которые возвращают ткущую дату и время ((GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime) и заменяет текущую дату/время на указанные вами.

Использование RunAsDate.

RunAsDate не требует инсталляции или дополнительных файлов DLL. Для того, чтобы использовать программу, просто скопируйте исполнительный файл (RunAsDate.exe) в любую папку и запустите его. В главном окне RunAsDate выберите желаемую дату и время и приложение, которое вы хотите запустить. По желанию можете также указать параметры командной строки для запуска программы. Нажмите кнопку "Run" для запуска приложения согласно указанной дате/времени.


Что может быть также полезно так это то что RunAsDate работает из командной строки со следующим синтаксисом:

RunAsDate.exe [ddmmyyyy] {hh:mm:ss} [Запускаемая программа] {Параметры программы}

Например:

RunAsDate.exe 22102010 13:35:22 "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE"

RunAsDate.exe 1422005 "c:\temp\myprogram.exe" param1 param2

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

Эта утилита скорее может быть полезна для тестирования предрелизного ПО. Среди тестов могут иметь место такие проверки:

  • срок используемой лицензии;
  • даты создания и редактирования файлов;
  • ведение журналов событий;
  • работа с записями базы данных;
  • срабатывание временных триггеров.
  • прочее.

Успехов.

No comments:

Post a Comment

А что вы думаете по этому поводу?