.NET-компиляция в целом довольно проста: чтобы почувствовать это самостоятельно, просто возьмите копию .NET Reflector и попробуйте.
В большинстве случаев не нужно будет перекомпилировать код для удаления простой проверки лицензии: простое исправление MSIL поможет.
Защита от этого сценария дает быстро уменьшающуюся отдачу: всегда будет кто-то достаточно умным, чтобы обойти любые дополнительные проверки, которые вы добавите в свой код. Например, вы можете добавить цифровую подпись к своему коду и отказаться от запуска, поскольку подпись не соответствует (что указывает на подделку кода, например, для удаления проверки лицензии).
Затем игра удаляет проверку подписи (в дополнение к проверке лицензионного ключа). Таким образом, вы добавляете еще одну проверку, которую затем можно обойти, и так далее, до бесконечности.
Существует целая индустрия обфускатирования кода и средств защиты от копирования , которые помогут вам защитить свое программное обеспечение от подобных проблем. Вы сами решаете, стоит ли покупать в эти решения дополнительные усилия с вашей стороны и раздражение, которое вы будете причинять своим законным клиентам ...