Самый безопасный способ лицензировать [закрытое] программное обеспечение

Использование C++ 11:

#include 
using namespace std;

map m = {{1, 'a'}, {3, 'b'}, {5, 'c'}, {7, 'd'}};

Используя Повышение. Присвойтесь :

#include 
#include "boost/assign.hpp"
using namespace std;
using namespace boost::assign;

map m = map_list_of (1, 'a') (3, 'b') (5, 'c') (7, 'd');

8
задан Chris W. Rea 14 August 2009 в 00:24
поделиться

8 ответов

Поскольку я не уверен, может разместить регистрационную базу данных любого рода, есть ли способ сохранить Liscensing автономно безопасно?

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

Удалите полный код версии из демонстрации. Если у вас небольшое количество покупателей, это значительно снижает вероятность утечки.

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

Обфускатор .net, вероятно, является самым простым и эффективным решением для вас.

7
ответ дан 5 December 2019 в 10:04
поделиться

Обычно нет способа защитить программное обеспечение .NET от взлома. Это слишком просто (особенно с использованием Reflector). Таким образом, вам необходимо выполнить некоторые шаги, чтобы иметь возможность защитить до некоторой степени:

  1. Обфускация кода (часто очень нетривиальная задача, поскольку вы не можете запутать открытые интерфейсы, открытые для ссылки на них).
  2. Если программное обеспечение является компонентом разработки, его можно защитить с помощью встроенного .NET Licensing (с помощью файлов .licx в Visual Studio). В этом помогает одна компания: http://www.infralution.com/
  3. Пользователь сервер регистрации (это не защитит от взлома, но защитит от «нелицензионного» Применение).
2
ответ дан 5 December 2019 в 10:04
поделиться

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

99,9% компаний не хотят что-то воровать и предпочитают не менять свое программное обеспечение под свои нужды. Они скорее покупают что-то из коробки, что будет работать.

Помните, что Fog Bugz от Fog Creek поставляется с полным исходным кодом, и у них нет проблем с продажей программного обеспечения, потому что это качественный продукт .

Качество важно, сосредоточьтесь на нем, а не на безопасности.

5
ответ дан 5 December 2019 в 10:04
поделиться

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

0
ответ дан 5 December 2019 в 10:04
поделиться

с .net? Его очень сложно защитить.

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

Демо? опустите код из загрузки.

в основном, не будьте слишком параноиками ...

0
ответ дан 5 December 2019 в 10:04
поделиться

Это не столько ответ на вопрос о лицензировании, но если вас беспокоит, что ваши потенциальные клиенты декомпилируют ваши сборки, вам следует изучить обфускацию.

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

Обновление: Чтобы ответить на комментарий Cyclone: ​​Dotfuscator is вероятно, самый известный, поскольку он поставляется с Visual Studio с 2003 года (я думаю; не уверен, ограничен ли он конкретными выпусками VS). Некоторые быстрые поиски в Google обнаружили учебник по его использованию в Visual Studio 2008,

0
ответ дан 5 December 2019 в 10:04
поделиться

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

0
ответ дан 5 December 2019 в 10:04
поделиться

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

Следует помнить, что когда ваше приложение запускается на другой машине, возникает нет 100% гарантированного способа предотвратить исполнение. Что вы можете сделать, если будете осторожны, так это поднять планку достаточно высоко, чтобы было легче купить ваше программное обеспечение, чем взломать его.

Обязательный отказ от ответственности и заглушка: компания, соучредителем которой я, производит OffByZero Cobalt решение для лицензирования программного обеспечения для .NET , которое изначально поддерживает VB.NET.

3
ответ дан 5 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: