Как проверить успешность обфускации в файле проекта CSharp
Есть ли код, который я могу включить в файл проекта CSharp, чтобы проверить, правильно ли выполнен ConfuserEx, и, если нет, прервать процесс компиляции? Может быть, использовать отражение, чтобы проверить, существует ли еще имя класса (то есть не было ли оно запутано)?
Обновление: это код в .csproj
файл, который вызывает процедуру запутывания:
<Target Name="AfterCompile">
<Exec Command="if "$(PlatformName)" == "AnyCPU" (if "$(ConfigurationName)" == "Release" (powershell.exe -ExecutionPolicy Bypass -File "$(ProjectDir)confuserEx\confuserps.ps1" "'C:\Program Files\ConfuserEx\Confuser.CLI.exe'" "'$(ProjectDir)confuserEx\confuser.crproj'" "'$(ProjectDir)obj\$(ConfigurationName)\'" "'$(ProjectDir)obj\$(ConfigurationName)\$(TargetFileName)'" "'normal'" )
) else (if "$(ConfigurationName)" == "Release" (powershell.exe -ExecutionPolicy Bypass -File "$(ProjectDir)confuserEx\confuserps.ps1" "'C:\Program Files\ConfuserEx\Confuser.CLI.exe'" "'$(ProjectDir)confuserEx\confuser.crproj'" "'$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)\'" "'$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)\$(TargetFileName)'" "'normal'" )
)" />
</Target>
1 ответ
Вы можете написать свою собственную утилиту, чтобы проверить, успешно ли выполняется запутывание, через библиотеки, такие как Cecil, или просто использовать существующие инструменты, такие как Red-Gate Obfuscation Checker.