.Net 程序代码混淆加密工具 ILProtector

我的项目中某一部分信息比较敏感,但是.Net程序反编译之后连注释都看得到。需要把exe保护起来,如:代码混淆之后再加壳。

Bing到一款.Net混淆工具 ILProtector 作为资深工具党,先"拿来主义"体验体验。本篇主要介绍工具使用

1.加密前的exe,反编译之后什么都有
在这里插入图片描述

2.用ILProtector加密,参考官网介绍 http://www.vgrsoft.net/Products/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#教程
结果

在这里插入图片描述

在这里插入图片描述

方法已经是完[sql语句]全看不懂了,常量也被加密码了,达到了预期(https://www.xin3721.com/eschool/SQLxin3721/)效果。

官网介绍的一些限制条件:

C++/CLI混合编码的程序集、类构造函数、泛型以及__arglist关键字方法 可以考虑编码中避开这些限制。

4.写在最后

世界上没有最锋利的矛,也没有最坚固的盾。靠混淆、加壳等也做不到100%防逆向。客户端只能是通过手段制造逆向的难度。

安全的思路还是:验证等逻辑放在服务端处理,只返回给客户端验证结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:代码科技 设计师:Amelia_0503 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值