使用Dotfuscator加密混淆程序以及如何脱壳反编译

混淆演示


首先介绍如何使用Dotfuscator对.net程序加密码混淆/加壳 C#或vb.net编写的应用程序或DLL。

这里随便创建了一个C#的命令行控制台程序。程序很简单,对当前的时间进行了AES的加解密并输出。

接下来使用Dotfuscator对程序进行混淆。

一,运行dotfuscator.exe

二,添加ConsoleApplication1.exe

三,对混淆选项进行一些配置

四,开始混淆。

五,查看混淆结果。

 这里使用ILSPY工具,打开混淆后的程序。如图:

可以发现,代码被混淆过了。很乱。

破解演示


 这里使用de4dot对刚才混淆过的程序进行脱壳。

我们再使用ILSPY来反编译这个程序看看破解的结果。

可以发现,除了函数名,其它的都成明文了。包括密钥!!!

显然这样来混淆保护没有多大作用。

最后结论


 写到这,可以发现这篇文章是一个矛盾的话题。但是就没有好办法来保护源代码不被轻易破解了吗?

 答案是有的,可参考文章NET DLL 保护措施详解(非混淆加密加壳)

 也可以从www.dllprotect.com下载DEMO验证保护效果。

原文地址:https://www.cnblogs.com/dengxi/p/6828065.html