Можно ли использовать Ngen для защиты кода?

Можно ли использовать Ngen как идеальный обфускатор кода, защищая ваш.NET CIL от попадания на клиент?

Могу ли я запустить Ngen на своем ПК разработчика и отправить exe-файл каждому клиенту с совместимой версией.NET Framework? (предполагается, что оба x86 или x64) Каковы различия между Ngen'd Exe на разных машинах?

Я знаю, что последний Ngen генерирует exe-файл, содержащий нативный код IL +, который можно извлечь и "преобразовать" обратно в исходный код, используя что-то вроде Reflector. Тем не менее, ngen для.NET Framework 1.1 удаляет IL в сгенерированном exe-файле, делая его возможным выбором для обеспечения безопасности кода, если вы используете.NET Framework 1.1.

1 ответ

Решение

Нет, CLR требует сборки IL, чтобы найти соответствующее собственное изображение. Так что вам все равно придется распространять бинарные файлы IL. Смотрите эту страницу для получения дополнительной информации о том, как CLR находит собственные изображения: http://blogs.msdn.com/b/abhinaba/archive/2013/12/11/net-loading-native-ngen-images-and-its-interaction-with-the-gac.aspx

Кроме того, изображения NGEN не предназначены для распространения. Генерация исходного изображения тесно связана с машиной, на которой он работает.

Другие вопросы по тегам