社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
用WPF开发的桌面应用,编译后得到的项目启动项exe文件是未加密的,使用ILSpy等反编译工具能够直接看到该exe内的文件源码!
如下图:
可以使用.Net Reactor(有破/解版)等工具对exe文件进行加密。
安装好后打开.Net Reactor,在Main Assembly中选择编译后得到的exe文件。该文件通常在项目根路径binDebug中。
然后是勾选下面的Quick Settings。每个选项的意思在上面的链接中有说明。对于WPF项目,直接在Protection Presets中选择WPF项目的预设即可。
能看到WPF的预设勾选如下。
然后在Addtional Files中点击scan扫描按钮,自动扫描出该exe文件的依赖文件。勾选下方的Embed Assemblies嵌入到程序集中。
完成以上设置后,就可以点击左侧Protect图标执行加密了。
加密完成后,把得到的exe文件覆盖掉之前的exe文件即可。再用ILSpy反编译打开这个exe,可以看到加密混淆后效果如下:
多了很多混淆名称的文件。变量名被混淆,方法没有方法体或者直接return null。
案例2:
叙述:
这年头开发客户端是比较麻烦的,尤其是用C#这种IL语言。不光要考虑客户端安装环境问题还要时时刻刻提防别人反编译你代码看。查询了很多方法,找到了一款简单的代码混淆以及加壳的软件。当然了,这些的混淆与加密只是应付一些小毛贼。但纸老虎能下走大批人。
0x01:
下载的软件是.NET Reactor,如果未注册的话生成后的文件会有.NET Reactor的提示信息的,建议购买正版。安装运行后的主界面张这个样子。
0x02:
Files -> Main Assembly -> Open选择需要加密混淆的*.exe或*.dll文件
0x03:
在Files -> Quick Settings 中勾选策略,一般常用的有NecroBit、Anti ILDASM、Obfuscation、Anti Tampering、String Encryption
NercoBit:程序转换成非托管代码(加壳)
Native EXE FFile:生成本机文件
Anti ILDASM:防止反编译
Obfuscation:混淆代码
Create Mapping File:创建混淆过字段对应的未混淆字段的映射文件
Anti Tampering:防篡改
String Encryption:加密字符串
Compress & Encrypt Resources:压缩和加密资源文件
Control FlowObfuscation:混淆等级
0x04:
设置完成后点击右侧Tasks中的Protect即可进行编译生成文件,文件会生成在你选择文件的同级的filename_Secure的文件夹中(fielname为你选择文件的文件名)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!