Вы можете создать свою собственную карту, чтобы получать новые имена от старых.
Mapper должен записать таблицу вида на диск / db со следующей структурой:
Модуль (исполняемый файл), индекс, OriginalType, ObfuscatedType
Создание консольного приложения "Mapper", которое работает в двух режимах на основе аргумента:
Приложение получит в качестве аргумента исполняемый путь
- Нагрузка в сборе
- GetTypes из загруженной сборки
- PreObfuscation удаляет все записи и заново записывает индексы и значения OriginalType.
PostObfuscation обновляет ObfuscatedType по индексу.
События после сборки должны быть следующими:
- Mapper.exe "target.exe" "Предварительно"
- [Затемнение]
- Mapper.exe "target.exe" "Пост"
Теперь вам нужна функция для получения getObfuscatedName из OriginalName, и все готово.
Обратите внимание, что это решение не будет работать с сокращением, поскольку количество типов изменится, и индексы больше не будут совпадать между
OriginalAssembly.GetTypes()
и
ObfuscatedAssembly.GetTypes()