Как проверить успешность обфускации в файле проекта CSharp

Есть ли код, который я могу включить в файл проекта CSharp, чтобы проверить, правильно ли выполнен ConfuserEx, и, если нет, прервать процесс компиляции? Может быть, использовать отражение, чтобы проверить, существует ли еще имя класса (то есть не было ли оно запутано)?

Обновление: это код в .csproj файл, который вызывает процедуру запутывания:

<Target Name="AfterCompile">
    <Exec Command="if &quot;$(PlatformName)&quot; == &quot;AnyCPU&quot; (if &quot;$(ConfigurationName)&quot; == &quot;Release&quot; (powershell.exe  -ExecutionPolicy Bypass -File  &quot;$(ProjectDir)confuserEx\confuserps.ps1&quot; &quot;'C:\Program Files\ConfuserEx\Confuser.CLI.exe'&quot; &quot;'$(ProjectDir)confuserEx\confuser.crproj'&quot; &quot;'$(ProjectDir)obj\$(ConfigurationName)\'&quot; &quot;'$(ProjectDir)obj\$(ConfigurationName)\$(TargetFileName)'&quot; &quot;'normal'&quot; )&#xD;&#xA;) else (if &quot;$(ConfigurationName)&quot; == &quot;Release&quot; (powershell.exe  -ExecutionPolicy Bypass -File  &quot;$(ProjectDir)confuserEx\confuserps.ps1&quot; &quot;'C:\Program Files\ConfuserEx\Confuser.CLI.exe'&quot; &quot;'$(ProjectDir)confuserEx\confuser.crproj'&quot; &quot;'$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)\'&quot; &quot;'$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)\$(TargetFileName)'&quot; &quot;'normal'&quot; )&#xD;&#xA;)" />
  </Target>

1 ответ

Вы можете написать свою собственную утилиту, чтобы проверить, успешно ли выполняется запутывание, через библиотеки, такие как Cecil, или просто использовать существующие инструменты, такие как Red-Gate Obfuscation Checker.

Другие вопросы по тегам