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