После переименования трассировка ошибки содержит имена вроде a.b(c d). Файл карты переименования Pro, созданный для той же сборки, позволяет восстановить имена методов и их типы.
Декодер восстанавливает имена методов и содержащие их типы, но не имена и типы параметров, а также не номера строк. Номера строк берутся из PDB неосвобождённой сборки, поэтому архивируйте её вместе с релизом.
Как защитить сборку и проверить результат
- Соберите проект в конфигурации Release и сохраните исходную сборку, символы и файлы конфигурации.
- Загрузите управляемую .NET DLL или EXE. Начните с неподписанной сборки и никогда не загружайте приватные ключи.
- Скачайте результат, замените сборку в тестовой среде и выполните те же функциональные тесты.
Что входит в бесплатную версию
Бесплатный тариф обрабатывает один файл размером до 1 МБ и не требует регистрации. Переименование затрудняет чтение внутренних символов. Block ILDasm помечает сборку так, что дизассемблер ILDasm от Microsoft её не открывает; другие инструменты это не блокирует. Pro добавляет шифрование строк, обфускацию потока управления и другие слои защиты. Актуальные лимиты и цены указаны на странице тарифов.
Free / Pro →Как проверить, что защита работает
Сравните исходную и защищённую сборку в ILSpy: убедитесь, что внутренние имена изменились, а при включённом шифровании строк — что нужные строки скрыты. Затем запустите программу и сравните результаты. Успешная загрузка сборки не проверяет все пути выполнения. Обфускация повышает стоимость анализа, но не делает секреты в клиентском приложении безопасными.
ILSpy · .NET →