.net dll可能被混淆加密了 谁知道是啥混淆加密的怎么破解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net dll可能被混淆加密了 谁知道是啥混淆加密的怎么破解相关的知识,希望对你有一定的参考价值。

.net dll可能被混淆加密了 谁知道是什么混淆加密的 怎么 破解

目录下多了个Debug.log文件
********以下是文件内容**********
App_Code.dll ... (1/1)
d:\www\bin\App_Code.dll
加密完成 !
正在修改运行库版权信息 ...
加密完成 !
********文件内容结束**********

被加密的文件下载地址:
http://www.newoceanit.com.cn/cjwt/App_Code.dll

xenocode fox 2007 打开文件后 都被加密成这样

// Methods
[DllImport("kkdiy.com64.dll", EntryPoint="GetModuleBase", CharSet=CharSet.Ansi, SetLastError=true, ExactSpelling=true)]
private extern static IntPtr GetModuleBase64 (string OlOll11O110O);
[DllImport("kernel32.dll")]
private extern static uint GetCurrentProcessId ();
[DllImport("kernel32.dll")]
public extern static IntPtr OpenProcess (uint O0lO110O0Oll0O1, int Ol010Ol1lOlOOl, uint O1l111000OO);
[DllImport("kernel32.dll")]
public extern static int CloseHandle (IntPtr O0OlOll);
[DllImport("kernel32.dll")]
public extern static int ReadProcessMemory (IntPtr OllOOlO1, IntPtr O1lO1l00OO0l1, [In]out byte[] OO1O01, uint Ol1l, out IntPtr Ol0OO01ll1111lOO1l1);
[DllImport("kernel32.dll")]
public extern static int WriteProcessMemory (IntPtr O11011Ol, IntPtr O10llllll10ll, [In]out byte[] OO1100, uint OOO1, out IntPtr OOO0110l0OlO1OOOlO0O1O);

参考技术A 是用XenoCode加密的吧

你可以先在其官方网站上寻找下
http://www.xenocode.com/Products/Postbuild/Features.aspx

同时也发行了配套的
Xenocode Fox,一款类似 Reflector 的 .net 反编译工具
可以试试
参考技术B 混淆基本上是无法看的

就算你弄出代码 也是一堆无用的东西 特别是如果程序比较复杂的话
参考技术C 混淆后,程序的语法将极难读懂,建议放弃。 参考技术D 混淆了基本上是难得搞,o0o0看着都头大. 第5个回答  2008-10-12 我爱你

使用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

 


以上是关于.net dll可能被混淆加密了 谁知道是啥混淆加密的怎么破解的主要内容,如果未能解决你的问题,请参考以下文章

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

.NET Reflector怎么用它混淆加密?

lua如何混淆加密?

C# DLL如何保护防止被破解

eclipse 里面的Arguments 项怎么不让填东西啊 我要填参数啊 谁知道是啥原因啊。

Python 代码混淆和加密技术