使用Dotfuscator加密混淆程序以及如何脱壳反编译
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Dotfuscator加密混淆程序以及如何脱壳反编译相关的知识,希望对你有一定的参考价值。
混淆演示
首先介绍如何使用Dotfuscator对.net程序加密码混淆/加壳 C#或vb.net编写的应用程序或DLL。
这里随便创建了一个C#的命令行控制台程序。程序很简单,对当前的时间进行了AES的加解密并输出。
接下来使用Dotfuscator对程序进行混淆。
一,运行dotfuscator.exe
二,添加ConsoleApplication1.exe
三,对混淆选项进行一些配置
四,开始混淆。
五,查看混淆结果。
这里使用ILSPY工具,打开混淆后的程序。如图:
可以发现,代码被混淆过了。很乱。
破解演示
这里使用de4dot对刚才混淆过的程序进行脱壳。
我们再使用ILSPY来反编译这个程序看看破解的结果。
可以发现,除了函数名,其它的都成明文了。包括密钥!!!
显然这样来混淆保护没有多大作用。
最后结论
写到这,可以发现这篇文章是一个矛盾的话题。但是就没有好办法来保护源代码不被轻易破解了吗?
答案是有,有兴趣的读者可以参考作者的文章
.NET DLL 保护措施详解(非混淆加密加壳):http://www.cnblogs.com/dengxi/p/5750170.html
以上是关于使用Dotfuscator加密混淆程序以及如何脱壳反编译的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Dotfuscator 混淆 Xamarin.Android 应用程序的公共成员?