Избегайте запуска программного обеспечения после копирования на следующую машину?

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

  •  27-09-2019
  •  | 
  •  

Вопрос

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

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

Что могут быть способами предотвращения пиратства моего программного обеспечения?

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

Решение

Адаптарь одного из моих предыдущих ответов:

Есть несколько способов «активировать» скопированное программное обеспечение, чтобы попытаться прекратить случайное копирование приложения.

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

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

Затем мы попадаем в онлайн-регистрацию. У вас все еще есть какой-то код, но программа вернет домой на сервер, чтобы определить, является ли код действительным и обычно уникальным. Это останавливает основной ключ, поскольку компания знает, если слишком много людей со всего мира все используют один и тот же ключ. Возможно, существует какая-то идентификация, связанная с использованием MAC-адреса, а бесконечные регистрации разрешены на одном оборудовании, но, возможно, ограниченное число на то, что кажется другим компьютером.

Это все еще довольно легко и останавливает простой ключ обмен. Людям на самом деле придется попасть в растрескивание программного обеспечения или подделать ответ сервера, чтобы пройти мимо него.

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

Наконец, особенно охраняемое приложение может оставаться в постоянном контакте с сервером, отказываясь вообще работать, если соединение разорвано.

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

В этом случае чтобы обойти активацию, им нужно будет подделать сам сервер. Паровые эмуляторы и частные серверы WOW являются примером этого. И в итоге ничто не заканчивается.

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

В двух словах: вы не можете.

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

Конечно, это тоже можно обойти, но ...

Как сказал Нико, ты действительно не можешь.

Простое решение может быть создана кодам (регистрации / активации) кодов, основанных на аппаратном или программном обеспечении, установленном на конкретном компьютере - например, серийный идентификатор видеокарты или C: / Windows.

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

После этого каждый раз, когда мое приложение прочтению этих трех значений и воссоздает значение encruppptt, и сравнивается со значением этой базы данных. Если значение поля базы данных и значение регенерируемого Encrroupted поле равен, что означает, что компьютер такой же другой мудрый, он установлен на какой-то другой машине в этом случае вы удалите весь код и можете сделать систему нестабильной для наказания Человек также :) ... пожалуйста, дайте мне знать о своем мнение об этой идее.

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

Конечно, любая схема может быть взломана кем-то на лице планеты, но это не значит, что вы не должны использовать схему защиты.

Если вы ищете готовую схему для этого, посмотрите на Криптологирование.

Такие компании, как наши (Wibu-Systems), Safe-Net, и Flexera (дорого) предлагают бесплатные решения, а также на основе аппаратного обеспечения. Но _simon был прав в том, что ключ - единственная защита от железной одежды. Все программные системы могут быть взломаны; Это просто что некоторые сложнее, чем другие. Действительно хорошие аппаратные решения эффективно непреднамерены. Никто еще не потрескал ручку кодеметра, если только реализация не была недостаточно.

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