我的项目中某一部分信息比较敏感,但是.net程序反编译之后连注释都看得到。需要把exe保护起来,如:代码混淆之后再加壳。
bing到一款.net混淆工具 作为资深工具党,先"拿来主义"体验体验。本篇主要介绍工具使用
1.加密前的exe,反编译之后什么都有
2.用ilprotector加密,参考官网介绍
原理是把.net的中间语言msil代码 转换成特殊的代码,只有他自己可以识别,其他工具如 il dasm, .net reflector, ilspy, dotpeek 不能够识别出来,因此达到防逆向目的。
支持 .net framework 2.0, 3.0, 3.5, 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2
支持 windows x32/x64
使用也比较简单,直接拖程序到 assemblies中,
这里会生成两个dll到文件夹中,至于dll的名字无所谓写什么,后面可以使用工具合并成一个exe
enableintegr 设置为true,启动的时候回检测程序是否被人修改,如果别人修改了就不能用了。
encryptstrings 设置为true,否则你的string类型的常量不会被加密
这里是ide安装的位置,程序自动检测的。如果有报错,来这里看下是否路径不对
总的来说是傻瓜化操作,托程序进来,填写输出路径,点process即可
3.看混淆后的结果
方法已经是完全看不懂了,常量也被加密码了,达到了预期效果。
官网介绍的一些限制条件:
c++/cli混合编码的程序集、类构造函数、泛型以及__arglist关键字方法 可以考虑编码中避开这些限制。
4.写在最后
世界上没有最锋利的矛,也没有最坚固的盾。靠混淆、加壳等也做不到100%防逆向。客户端只能是通过手段制造逆向的难度。
安全的思路还是:验证等逻辑放在服务端处理,只返回给客户端验证结果。
如对本文有疑问, 点击进行留言回复!!
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析
浅谈Visual Studio 2019 Vue项目的目录结构
网友评论