Можно ли использовать контрольную сумму для предотвращения пиратства? - PullRequest
2 голосов
/ 06 мая 2011

Может ли использование контрольной суммы файла как-то предотвратить (помешать) пиратству?Возможно, я мог бы вычислить контрольную сумму моего окончательного exe-файла и затем через произвольные интервалы проверять exe-файл своей контрольной суммы, чтобы убедиться, что она не была подделана?

РЕДАКТИРОВАТЬ:

Я думаю, я был немного наивным с моим первоначальным вопросом.Здесь есть ссылка на интервью с взломщиком: http://successfulsoftware.net/2011/04/07/interview-with-a-cracker/

"Каковы наиболее распространенные ошибки разработчиков программного обеспечения в отношении безопасности?

В произвольном порядке:

Не проверка целостности на предмет исправлений. "

Так как бы я реализовал предложение взломщика?

Ответы [ 2 ]

2 голосов
/ 05 февраля 2014

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

Чтобы усложнить взломщику:

  • используйте препроцессор / встраивание, чтобы убедиться, что проверки не могут быть удалены путем изменения одной функции
  • перед выходом выполнить longjmp, goto или пройти через цикл обработки событий, что затруднит поиск чека
  • использовать случайные числа, чтобы каждая проверка выполнялась только периодически, тогда они не могут быть уверены, что сняли все проверки

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

2 голосов
/ 06 мая 2011

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

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

...