c# - 如何在 CSharp 项目文件中检查混淆是否成功

标签 c# visual-studio obfuscation confuserex

是否可以在我的 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>

最佳答案

您可以通过 Cecil 等库编写自己的实用程序来验证混淆是否成功执行,或者简单地使用现有工具,例如 Red-Gate Obfuscation Checker .

关于c# - 如何在 CSharp 项目文件中检查混淆是否成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45462716/

相关文章:

c# - Cambria Math 大的顶部和底部边距

c# - 将表类型作为 T 传递给通用列表

visual-studio - 如何在 Visual Studio 的 C++/WinRT 中添加新的 XAML "Page"及其关联的代码隐藏文件?

Android - 如何检查 Proguard 混淆是否有效?

php - PHP有代码混淆器吗?

c# - 同步套接字是否仍允许外部用户操作?

c# - 使用 XAML 在 WPF 中绘制圆形动画

c# - 如何在Visual Studio中找到哪个 `method`来自哪个 `namespace`

c++ - 如何为 Qt 应用程序创建可执行文件?

php - 有保护PHP代码的经验