Как лучше всего остановить копирование и использование приложения без разрешения владельца?

Как лучше всего избежать копирования и использования приложения без ведома владельца?

Есть ли способ отследить использование? Это означает, что приложение периодически обменивается данными с достаточным объемом информации, чтобы мы могли знать, где оно находится и является ли оно законным. Затем, конечно, выключите его, если это незаконно.


person Jlouro    schedule 21.01.2009    source источник
comment
Возможно, вы захотите проверить ответы на this вопрос.   -  person Blorgbeard    schedule 22.01.2009


Ответы (7)


Аппаратные ключи - лучший способ, если вы действительно обеспокоены пиратством. Обратите внимание на большие промышленные пакеты CAD / CAM стоимостью тысячи или десятки тысяч или программное обеспечение для создания аудио-видео / музыки, практически все они имеют защитный ключ. Донглы можно эмулировать или реверсировать, но не без значительных затрат времени, гораздо больше, чем просто замена нескольких JE на JNE в вашей сборке.

Звонить домой - не лучший вариант, если вы не предоставляете услугу, требующую подписки и постоянных обновлений (например, антивирусные продукты) в рамках вашей бизнес-модели. Вам нужно немного уважать своих пользователей и их конфиденциальность. У вас могут быть совершенно невинные намерения, но что, если суд обязал вашу компанию передать эту информацию (как правительство США делает с Google и его поисковыми запросами) - вы бы стали / могли бы бороться с этим? Что, если в будущем вы продадите свою компанию, и новые владельцы решат продать всю эту историческую информацию маркетинговой компании? Конфиденциальность - это не просто доверие компании, чтобы она не злоупотребляла вашими данными, это доверие компании, которая сделает все возможное, чтобы защитить ваши данные. Что находится далеко в списке приоритетов большинства компаний. Так что, по сути, мониторинг пользователей - не лучший вариант.

person Dale    schedule 18.09.2009

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

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

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

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

person Kevin    schedule 21.01.2009

Не делайте этого, не пытайтесь, даже не думайте об этом.

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

Люди, которые собираются похитить ваше программное обеспечение, сделают это, и все эти «функции безопасности», которые вы встраиваете, скорее всего, в конечном итоге доставят только неудобства вашим истинным сторонникам: людям, законно купившим ваше программное обеспечение. Эти драконовские схемы DRM / борьбы с пиратством только вызывают недовольство среди пользователей программного обеспечения.

person mmcdole    schedule 21.01.2009
comment
Обфустифицируйте свой код. Проверяйте лицензирование повсюду, а не только при запуске приложения. Бросьте вызов реверс-инжинирингу. - person ; 22.01.2009
comment
таким образом у него уйдет неделя вместо дня - и он может прислать вам электронное письмо с благодарностью за развлечения. - person Steven A. Lowe; 22.01.2009
comment
Точно. Обфускация почти не замедляет настоящий RE, если вообще тормозит. Упаковка приложения может добавить день к процессу. - person mmcdole; 22.01.2009
comment
Люди, которые запутывают свой код, всегда создают у меня впечатление, что они просто боятся показать миру плохой код. Обфускация может быть несколько эффективной, если вы хотите скрыть дизайн / логику, но попытка запутать ваши процедуры проверки лицензии - это другая история, IMO. - person shylent; 05.07.2009

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

person Michael Borgwardt    schedule 22.01.2009
comment
Это подход, который я использую в своих более крупных приложениях. Таким образом я могу определить, какой клиент может пользоваться услугой. - person yozey; 18.09.2009
comment
Конечно, тогда вы не сможете продавать компьютеры, которые не используют Интернет, и вам нужны серверы, способные выполнять нетривиальную работу для всей вашей пользовательской базы. - person tloach; 17.05.2010

Есть несколько подходов, которые вы можете использовать, но есть три, которые будут намного эффективнее любых других.

А. Не создавайте это.

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

Б. Не выпускайте его.

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

C. Разрешите всем использовать его.

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

person Jeremy Bourque    schedule 18.09.2009

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

person Giuseppe Accaputo    schedule 21.01.2009

Есть еще одна вещь, о которой я еще не упомянул: вы можете добавить множество настроек в файл конфигурации приложений и начать с нелепых значений по умолчанию. Затем выполните установку и настройку лично, чтобы никто, кроме вас, не мог понять, как все должно быть установлено. Это может быть унижение мэра для людей, которые только пробуют, если копии достаточно. (Не забудьте добавить настройки, которые зависят от всех видов системных настроек, таких как версии DLL, связанные с версией ОС, которые должны быть загружены, и т. Д.). Не очень удобно ;-)

person PatrickvL    schedule 18.09.2009
comment
Вы имеете в виду модель SAP? :-) - person Andreas Hausladen; 18.09.2009