Любая проверка во время выполнения будет иметь следующие недостатки:
- Ложные срабатывания.Поскольку это .NET, вы не можете предполагать, что среда выполнения не изменяет ваш код в памяти.Вы можете обнаружить взлом там, где его нет.
- Любая проверка во время выполнения не будет более безопасной, чем код, который вы пытаетесь защитить.Это включает в себя любой механизм времени исполнения, который вы создаете в своем приложении, такой как периодические проверки CRC, дозорные процессы или даже проверки на сервере, где может быть подделан запрос.
- Вы снизите производительность своеголегитимное приложение, в котором пиратская версия будет работать лучше без всех этих проверок
- Вы ничего не сделаете для исправления вашего EXE-файла.
Я понимаю, что вы просто пытаетесь сделать это кактрудно, насколько это возможно, даже если это не 100% безотказно.Но решения, которые вы предлагаете (и, вероятно, любое решение, которое вы можете реализовать самостоятельно), будут очень мало мешать любому среднему взломщику.
Поскольку это такая востребованная функция, я бы искал сторонние решения там, где они есть.приложить усилия для сложного решения, которое может быть обновлено по мере развития методов взлома.Я не могу рекомендовать ничего лично.