У меня есть настольное приложение, ориентированное на .NET Framework 4.8 (x86), и я пытаюсь максимизировать его защиту от обратного проектирования, сохраняя при этом влияние на производительность как можно ниже.
Текущий подход
• Я использую VMProtect
• Обычно я защищаю только важные части
• В некоторых случаях я использую режим мутации вместо полной виртуализации, чтобы снизить нагрузку на производительность.
В большинстве случаев я использую режим мутации вместо полной виртуализации.
В большинстве случаев Обфускаторы .NET, которые я тестировал, кажутся неэффективными. некоторые из них можно очень легко обратить вспять или деобфусцировать. в некоторых случаях почти в один клик (например, .NET Obfuscator)
Я хочу добиться:
• спагетти-кода
• надежной защиты от несанкционированного доступа, защиты от исправлений и т. д.
• совместимости с VMProtect
Вопросы
1. Какие методы и инструменты запутывания в настоящее время считаются надежными для приложений .NET Framework?
2. Что лучше — объединить несколько обфускаторов или сосредоточиться на одном надежном решении?
3. Существуют ли рекомендуемые конвейеры или лучшие практики для сочетания обфускации IL + встроенной защиты (VMProtect)?
Примечания
• Я знаю, что не существует неуязвимой защиты, но я хочу значительно увеличить усилия, необходимые для обратного проектирования.
Будем признательны за любую информацию или практический опыт.