使用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加密混淆程序以及如何脱壳反编译的主要内容,如果未能解决你的问题,请参考以下文章

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

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

如何使用 Dotfuscator 混淆 Xamarin.Android 应用程序的公共成员?

.NET项目集成VS混淆加密

手工脱壳之 未知IAT加密壳 IAT加密+混淆+花指令哈希加密OD脚本

手工脱壳之 PESpin加密壳SHE链硬件反调试IAT重定向混淆+花指令