Как сделать программное обеспечение безопасным?

Возможный дубликат:
Защитить код.NET от реверс-инжиниринга?

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

Я подумал, что один из способов - сделать веб-сервис и следить за всем этим.

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

Одна идея состояла в том, что я получаю компьютерную информацию как CPU Serial Number от WMI а затем установите это программное обеспечение для запуска в системе с этим серийным номером. Я не могу придумать гораздо лучшей идеи, чем эта.

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

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

3 ответа

Решение

Краткий ответ: вы не можете.

Более длинный ответ: Вы МОЖЕТЕ всегда ставить эти защитные барьеры, что делает работу взломщиков более тяжелой, но, в конце концов, они БУДУТ ее взламывать. Это вопрос баланса: вы можете сделать их работу тяжелее, но это значит, что БОЛЬШЕ работы для вас тоже. Единственный реальный способ защиты от пиратства, на мой взгляд, состоит в том, чтобы сделать основные компоненты вашего приложения сетевыми, и чтобы все ваши клиенты использовали уникальный идентификатор при обращении в службу. В большинстве сценариев (и в вашем тоже, как вы указали) это сложно или даже невозможно, но, честно говоря, другого реального пути нет.

Inishtech предоставляет решение, называемое Службой защиты и лицензирования программного обеспечения, которое похоже на то, что вы описали. Это ответвление от проекта микрософта. Он извлекает и перемещает определенные части вашего кода в зашифрованную dll, которая работает на виртуальной машине.Net, которая также зашифрована, специально для этого приложения / клиента, насколько я понимаю, поэтому она должна быть очень безопасной.

Также имеется платформа для распространения и администрирования лицензирования и т. Д.

Не знаю каких-либо бесплатных альтернатив.

С уважением GJ

Аппаратный ключ всегда есть: http://en.wikipedia.org/wiki/Dongle

Другие вопросы по тегам