解密QQ概念版式加密

在上一篇中我们介绍了如何使用XenoCode来加密程序,接下来我们将对加密后的程序进行逆向解密.

  1.工具准备:WinDbg(源码级调试工具),可以点击这里下载.

  2.运行上一篇中生成的WpfEventViewer_Builded.exe,打开系统任务管理器,

  

 

  我们看到WpfEventViewer_Builded.exe运行后的2个进程.其中一个是.Net程序进程(WpfEventViewer.exe).

  另一个是Xenocode进程(WpfEventViewer_Builded.exe).

  3.运行windbg_cn.exe

  按F6或从菜单栏--"文件"--"附加到进程(T)...", 如图,选择.Net程序进程(WpfEventViewer.exe)

  

 

  看需要选择是或否.这里选择了否.

  4.Dump过程

  在命令窗口输入以下语句.

  .loadby sos mscorwks

  紧接着输入:

  !DumpDomain

  命令运行后结果如下:

 1

 2

 3

 4

 5

 6

 7

 8

 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23
Assembly: 002c7468 [C:\Test\Soft\WpfEventViewer.exe]



  ClassLoader: 002c74d8



  SecurityDescriptor: 002a5b40



  Module Name



  01652c5c C:\Test\Soft\WpfEventViewer.exe



  ...



  Assembly: 002e8508 [C:\Test\Soft\WpfEventViewer.Controls.dll]



  ClassLoader: 002e8578



  SecurityDescriptor: 002a62b0



  Module Name



  016581bc C:\Test\Soft\WpfEventViewer.Controls.dll



  ...

  

 

  从得到的结果我们看到了.真正的WpfEventViewer.exe进程的模块代码为:01652c5c

  而其引用的类库WpfEventViewer.Controls.dll的模块代码为:016581bc

  5.导出文件.

  接下来就导出该模块.

  先在C盘建个Dump文件夹,然后在Windbg的窗口输入:

  !SaveModule 01652c5c C:\Dump\WpfEventViewer.exe.exe

  再到Dump文件夹查看,看到了吧,原来的167KB的程序文件被还原出来了.

  按照同样的方法将Skins.dll还原出来.

  !SaveModule 016581bc C:\Dump\WpfEventViewer.Controls.dll

  

 

   如此,本实例的2个文件就都被还原出来了.我们是看看能不能正常运行...看到了吧.是可以正常运行的.

  再把他们拉入Reflector.看,这时候,他们是能被Reflector查看的.但部分源码被混淆的厉害.

  

 

    至此,关于那个啥的反编译介绍到这里就结束了.如果大家有什么好的心得都可以拿出来分享哈~

本文来自piz菜的博客,原文地址:http://www.cnblogs.com/pizcai/archive/2010/11/24/1886979.html

你可能感兴趣的:(qq)