.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++/CLI混合编码的程序集、类构造函数、泛型以及__arglist关键字方法    可以考虑编码中避开这些限制。

 

4.写在最后

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

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

 

posted on 2020-01-08 15:47  火火火的马  阅读(...)  评论(...编辑  收藏

导航