Самый простой способ ограничить запуск исполняемого файла на определенном компьютере - PullRequest
8 голосов
/ 07 сентября 2011

Я пытаюсь создать исполняемый файл, который будет работать только на одной машине.Какой самый простой способ добиться этого?Файл лицензии?Или есть адрес машины, очень похожий на MAC-адрес для сетевых подключений, который я мог бы жестко закодировать в исполняемый файл?

Ответы [ 5 ]

8 голосов
/ 07 сентября 2011

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

Это, к сожалению, единственный надежный метод.


Более длинный ответ:

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

Если вы достаточно долго смотрите на программное обеспечениепромышленность:

  • DRM: сбой
  • Лицензии: сбой
  • Лицензии с веб-активацией: сбой

Если стоит взломать, тотреснут.

6 голосов
/ 07 сентября 2011

Самый простой способ - сделать его незаконным с помощью лицензирования. Попытка обеспечить это технически невозможна, и только вредит вашим пользователям (пользователю?): Что, если они переустановят ОС, или заменят сетевую карту, или обновят свой ЦП?

1 голос
/ 07 сентября 2011

Я думаю мой ответ на другой вопрос применим здесь.

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

Я также повторю свой комментарий от еще одного вопроса:

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

1 голос
/ 07 сентября 2011

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

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

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

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

0 голосов
/ 07 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...