У меня есть довольно популярное приложение (которое я не буду здесь указывать, чтобы избежать любопытства взломщиков, конечно), и в прошлом я несколько раз страдал от взломанных версий, что действительно вызывало у меня много головной боли.
После нескольких месяцев борьбы со множеством методов предотвращения взлома, с 2009 года я смог создать метод, который доказал свою эффективность, по крайней мере, в моем случае: с тех пор мое приложение не было взломано.
Мой метод состоитпри использовании комбинации трех реализаций:
1 - много проверок в исходном коде (размер, CRC, дата и т. д.: используйте свое творчество. Например, если мое приложение обнаруживает, что выполняются такие инструменты, как OllyDbg,это приведет к выключению машины)
2 - Виртуализация CodeVirtualizer в чувствительных функциях в исходном коде
3 - Шифрование EXE
Ничто из этого действительно не эффективно в одиночку: проверки могутпередается отладчиком, виртуализация может быть отменена и шифрование EXE может быть расшифровано.
Но когда вы используетеВ целом, они причинят БОЛЬШУЮ боль любому взломщику.
Это не идеально, хотя: большое количество проверок замедляет работу приложения, а шифрование EXE может привести к ложному срабатыванию в некоторых антивирусных программах.
Даже в этом случае нет ничего лучше, чем не быть взломанным;)
Удачи.