用WPF开发的桌面应用,编译后得到的项目启动项exe文件是未加密的,使用ILSpy等反编译工具能够直接看到该exe内的文件源码!
如下图:
可以使用.Net Reactor(有破/解版)等工具对exe文件进行加密。
使用方法
安装好后打开.Net Reactor,在Main Assembly中选择编译后得到的exe文件。该文件通常在项目根路径inDebug中。
然后是勾选下面的Quick Settings。每个选项的意思在上面的链接中有说明。对于WPF项目,直接在Protection Presets中选择WPF项目的预设即可。
能看到WPF的预设勾选如下。
然后在Addtional Files中点击scan扫描按钮,自动扫描出该exe文件的依赖文件。勾选下方的Embed Assemblies嵌入到程序集中。
完成以上设置后,就可以点击左侧Protect图标执行加密了。
加密完成后,把得到的exe文件覆盖掉之前的exe文件即可。再用ILSpy反编译打开这个exe,可以看到加密混淆后效果如下:
多了很多混淆名称的文件。变量名被混淆,方法没有方法体或者直接return null。