Предотвратить временную защиту от копирования? [закрыто]

StackOverflow https://stackoverflow.com/questions/1442698

Вопрос

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

Простая проверка системной даты в программном обеспечении является наиболее простым способом достижения этой цели, но не может ли клиент легко обойти эту защиту, изменив системное время / дату в Windows?

Есть ли лучший способ выполнить то, что я хочу?

Это было полезно?

Решение

Лучше всего не предупреждать их, и через 30 дней (не забудьте проверить оба пути, в противном случае они могут установить часы в будущем, установить ваше приложение и вернуть часы на сегодняшний день), он также перестает работать. заблокируйте приложение после истечения периода отслеживания, поэтому, даже если после этого будут сброшены часы, оно все равно должно быть заблокировано

Другие советы

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

Кроме того, вы можете уменьшить «оставшееся время». (хранится в каком-то секретном месте) по количеству времени, в течение которого приложение выполняло сеанс. Когда он достигает 0, они сделали. Вы также можете обнаружить, что часы сдвинулись назад от последнего увиденного значения в любом сеансе, и оштрафовать их, удалив, например, целый день.

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

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

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

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

Отказ от ответственности & amp; plug: соучредитель, которого я основал, производит решение для лицензирования OffByZero Cobalt . Это готовое решение для защиты программного обеспечения, & amp; в частности, обрабатывает вид ограниченного по времени сценария, который вы упоминаете.

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

Мы работали над этим годами (раскрытие: я работаю в компании по защите от копирования (www.wibu.us)) и используем комбинацию внутренних часов на чипе смарт-карты и сертифицированных серверов времени, а также некоторый код чтобы убедиться, что вы никогда не сможете установить время назад (код всегда зашифрован, поэтому он не может быть исправлен). У нас также есть программное решение, которое использует внутренние часы, но не на чипе смарт-карты. У всех мер безопасности есть недостатки; найти правильные компромиссы для вашего рынка, цены и т. д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top