VB.NET Сделать программу без изменений времени - PullRequest
1 голос
/ 06 марта 2019

Я разрабатывал простую программу, чтобы не дать моему брату играть на компьютере с 12 до 5 часов утра из-за его зависимости, с его просьбой сделать это, но он легко обходит мою систему, меняя систему Windowsвремя, я задавался вопросом, существует ли эффективный способ защиты программного обеспечения от времени изменения

1 Ответ

2 голосов
/ 06 марта 2019

Это интересно. Вот способ. Это не на 100% надежно, но этого должно быть достаточно, если ваш брат не знает, как это обойти:

  1. Пусть ваша программа хранит время, когда она была запущена в памяти.
  2. Ваша программа запускает собственные часы.
  3. Игнорировать системное время для целей «реального времени».

Допустим, ваша программа была запущена в 15:24:22. Он запомнит этот точный момент как исходный. В этот же момент вы запускаете хронометр:

Dim chron As Stopwatch = Stopwatch.StartNew()
chron.Start()

С этого момента вам нужно получить доступ к «Сейчас», добавив время, прошедшее с chron, и базовое время, которое вы сохранили ранее. Для этого у вас должна быть функция.

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

Удачи и веселья!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...