c# - 使用 ConfuserX 混淆 WPF 项目
问题描述
通过提供这样的构建后事件命令来混淆 WPF 项目:
if "$(ConfigurationName)" == "Release" ($(ProjectDir)ConfuserEx\Confuser.CLI.exe $(ProjectDir)Confuser.crproj)
在成功构建和混淆创建后,如果我混淆 dll,则 Exe 会崩溃,然后工作正常,但如果我混淆 Exe,则会崩溃
Confuser.crproj
<project outputDir="..\Release" baseDir="obj\Release" xmlns="http://confuser.codeplex.com">
<module path="Sample.exe" >
<rule pattern="true" preset="aggressive" inherit="false">
<protection id="anti ildasm" />
<protection id="anti tamper" />
<protection id="anti dump" />
</rule>
</module>
<probePath>..\..\obj\Release</probePath>
<probePath>..\..\bin\Release</probePath>
</project>
解决方案
这是因为 xaml 文件名重命名已打开。该 exe 具有带有“Windows\MainWindow.xaml”的 startupUri 设置。但是 MainWindow.xaml 或其他任何东西都被重命名为其他东西。这是我的项目,除了 xaml 文件名之外允许重命名。对我来说效果很好:
<project outputDir="PathToTheOutputDirectory" baseDir="PathToYourExeFile" xmlns="http://confuser.codeplex.com">
<module path="YourSoftware.exe">
<rule pattern="true" preset="normal" inherit="false">
<protection id="rename">
<argument name="renXaml" value="false" />
</protection>
</rule>
</module>
</project>
推荐阅读
- node.js - 使用 OR 条件扩展 TypeScript 中的多个接口
- java - 在目标文件夹中运行 jar 与在项目文件夹中运行 jar
- c# - 如何在 ASP.NET MVC 5 中从 gmail 向 google 日历发送邀请?
- angular - 尝试在 TypeScript 中发送路由时,模型“Product”的路径“_id”中的值“undefined”转换为 ObjectId 失败
- wget - 在 Moodle 中使用 wget 下载页面
- javascript - 将本地 JSON 文件加载到 HTML 模板中
- android - onActivityResult 不返回成功
- angular - 为什么单击复选框时未触发更改检测?
- angular - Ag-Grid - 单元格下拉复选框
- php - 无法在生产环境中访问 laravel 中的 env 和 config 功能