| 破解EncryptPEV2.2004.7.27加壳的XX软件 |
|
| 文章作者:admin |
文章来源:- WwW.34JH.CoM --- 34热血江湖发布网|新开热血江湖私服 |
更新时间:2008-5-2 19:43:22 |
|
|
|
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.>60PUSHAD 009C00019CPUSHFD 009C000264:FF3500>PUSHDWORDPTRFS:[0] 009C0009E87A01000>CALLGraspNet.009C0188 下断点BPEncryptPE_Init,拦截后代码如下: V2200472.>55PUSHEBP 711E39F98BECMOVEBP,ESP 711E39FB51PUSHECX 711E39FCE80100000>CALLV2200472.711E3A02;有花指令,F7步入 711E3A01EB58JMPSHORTV2200472.711E3A5B 711E3A038B442440MOVEAX,DWORDPTRSS:[ESP+40] 711E3A078945FCMOVDWORDPTRSS:[EBP-4],EAX 直到如下代码处: 711E3C2E6A01PUSH1;lParam=1 711E3C3068C81B000>PUSH1BC8;wParam=1BC8 711E3C35A10CDC1F7>MOVEAX,DWORDPTRDS:[711FDC0C] 711E3C3A8B00MOVEAX,DWORDPTRDS:[EAX] 711E3C3C50PUSHEAX;MSG=IsDebuggerPresentExEdLl(=wfs=)32EXPLORER.EXE 711E3C3DA120DE1F7>MOVEAX,DWORDPTRDS:[711FDE20] 711E3C428B00MOVEAX,DWORDPTRDS:[EAX] 711E3C4450PUSHEAX 711E3C45E8063DF4F>CALLV2200472.71127950;JMPtoUSER32.SendMessageA 711E3C4AEB0AJMPSHORTV2200472.711E3C56 711E3C4CE8FB7FFCF>CALLV2200472.711ABC4C 711E3C51E83E81FCF>CALLV2200472.711ABD94 711E3C56E8E188FCF>CALLV2200472.711AC53C;ExitProcess 该进程已完成任务,新的进程已被创建。 3.在出现EncryptPE注册窗口时,用OD附加于explorer.exe,下断HEWaitForDebugEvent,拦截后堆栈为: 0166FD28711B081C/CALLtoWaitForDebugEventfromV2200472.711B0817 |
| 浏览次数:1 |
|
|
|
|