 |
教你如何破解热血最新服务端 |
|
|
| 作者:私服零零 文章来源:本站原创 点击数: 更新时间:2007-9-21 |
 |
一、破解目标:EncryptPE V2.2004.7.27加壳的XX软件 二、破解工具:OllyDbg v1.10,ImportREC 1.6 Final 三、破解作者:DarkBull@email.com.cn 四、破解过程: 1.用OllyDbg载入,提示该程序为坏的或未知格式的32位执行文件,不必理会。该壳程序运行流程大致为:第一次运行时,先在系统目录内创建 V22004727.EPE,然后加载该模块,初始化时通过SetWindowsHookEx设置远程系统钩子,再给Explorer.exe的 Progman发送消息,将该钩子插入Explorer.exe中,如果用OD调试,该钩子会调用TerminateProcess结束OD进程,最后通过调用V22004727.EPE模块的EncryptPE_Init函数给Explorer.exe的Progman发送特定的消息,该消息被钩子函数捕获后,V22004727.EPE就创建一个新的进程,通过调用一系列调试函数来完成解压缩工作;第二次运行时,由于该钩子已被插入 Explorer.exe中,所以程序自己跳过SetWindowsHookEx过程,我们就可以用OD调试了。 2.OK!第二次加载,程序停在如下处: GraspNet.> 60 PUSHAD 009C0001 9C PUSHFD 009C0002 64:FF35 00>PUSH DWORD PTR FS:[0] 009C0009 E8 7A01000>CALL GraspNet.009C0188 下断点BP EncryptPE_Init,拦截后代码如下: V2200472.> 55 PUSH EBP 711E39F9 8BEC MOV EBP,ESP 711E39FB 51 PUSH ECX 711E39FC E8 0100000>CALL V2200472.711E3A02 ;有花指令,F7步入 711E3A01 EB 58 JMP SHORT V2200472.711E3A5B 711E3A03 8B4424 40 MOV EAX,DWORD PTR SS:[ESP+40] 711E3A07 8945 FC MOV DWORD PTR SS:[EBP-4],EAX 直到如下代码处: 711E3C2E 6A 01 PUSH 1 ;lParam=1 711E3C30 68 C81B000>PUSH 1BC8 ;wParam=1BC8 711E3C35 A1 0CDC1F7>MOV EAX,DWORD PTR DS:[711FDC0C] 711E3C3A 8B00 MOV EAX,DWORD PTR DS:[EAX] 711E3C3C 50 PUSH EAX ;MSG=IsDebuggerPresentExEdLl(=wfs=)32EXPLORER.EXE 711E3C3D A1 20DE1F7>MOV EAX,DWORD PTR DS:[711FDE20] 711E3C42 8B00 MOV EAX,DWORD PTR DS:[EAX] 711E3C44 50 PUSH EAX 711E3C45 E8 063DF4F>CALL V2200472.71127950 ;JMP to USER32.SendMessageA 711E3C4A EB 0A JMP SHORT V2200472.711E3C56 711E3C4C E8 FB7FFCF>CALL V2200472.711ABC4C 711E3C51 E8 3E81FCF>CALL V2200472.711ABD94 711E3C56 E8 E188FCF>CALL V2200472.711AC53C ;ExitProcess 该进程已完成任务,新的进程已被创建。 3.在出现EncryptPE注册窗口时,用OD附加于explorer.exe,下断HE WaitForDebugEvent,拦截后堆栈为: 0166FD28 711B081C /CALL to WaitForDebugEvent from V2200472.711B0817 0166FD2C 0166FE8C |pDebugEvent = 0166FE8C |
| |
|
|
|
 |
|
 |
|
|