You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Основным механизмом защиты .NET-приложений является шифрование тел защищаемых функций и их динамическое расшифрование во время работы приложения. При совместном использовании символьного обфускатора и шифратора строковых констант на электронном ключе защита становится беспрецедентно стойкой.

Однако в ряде случаев за это приходится платить снижением скорости работы:

  • Если функция зашифрована, то при ее вызове на расшифрование тратится определенное время,
  • Даже если функция уже расшифрована, она, тем не менее, вызывается с использованием защитных механизмов, что может вносить задержку в ее выполнении на доли секунды.

В среднестатистическом случае увеличение времени запуска приложения и понижение производительности его работы на несколько процентов не вызывает особых проблем. Однако если функция в процессе работы приложения вызывается сотни и тысячи раз, то накладные расходы по работе защитных механизмов именно этой функции могут серьезно снижать производительность приложения. В таком случае, необходима технология выбора функций для защиты. Именно для этого существует .NET-профайлер.

* * *
Рассмотрим процесс защиты тестового приложения Paint.NET.

  • No labels