【破文作者】lvcaolhx
【作者邮箱】hafiwu@sohu.com
【作者主页】
【破解工具】OllyDBG+汉化第三版
【破解平台】xp SP2
【软件名称】Notepad
【软件大小】87.6k
【原版下载】
【保护方式】
【软件简介】
【破解声明】新手破解,无技术可言
------------------------------------------------------------------------
【破解过程】【详细过程】
都是压缩壳。具体是哪些,暂时不认识,只知道一直用ESP定律,最终搞定:软件使用VB编写
0042E645 >/$ 55 push ebp ; 载入后停在这里, F8一次
0042E646 |. 8BEC mov ebp,esp ; ESP定律
0042E648 |. 81EC D401000>sub esp,1D4
0042E64E |. 53 push ebx
0042E64F |. 56 push esi
f9运行,断下后到这里:
0042EDBF |.- FFE0 jmp eax ; 跳到第2层
0042EDC1 |> 5F pop edi
0042EDC2 |. 5E pop esi
F8进入第二层:
00424DEC 9C pushfd ;
00424DED 60 pushad ;看到这个知到了第2层,先取消硬件断点再用ESP
00424DEE E8 00000000 call notepad.00424DF3
00424DF3 5D pop ebp
00424DF4 83ED 07 sub ebp,7
00424DF7 8D8D F0FEFFFF lea ecx,dword ptr ss:[ebp-110]
f9运行,断下后到这里:
0042505E ^\E9 9EAFFFFF jmp notepad.00420001 跳到第3层
00425063 8BB5 7CFEFFFF mov esi,dword ptr ss:[ebp-184]
00425069 0BF6 or esi,esi
0042506B 0F84 97000000 je notepad.00425108
F8进入第3层
00420001 60 pushad ; 熟悉吧!第3层了,F8
00420002 E8 03000000 call notepad.0042000A ;先取消硬件断点再用ESP
00420007 - E9 EB045D45 jmp 459F04F7
0042000C 55 push ebp
f9运行,断下后到这里:
004203B0 /75 08 jnz short notepad.004203BA
004203B2 |B8 01000000 mov eax,1
004203B7 |C2 0C00 retn 0C
004203BA \68 A0EB4100 push notepad.0041EBA0
004203BF C3 retn
F8运行到第4层:
0041EBA0 60 pushad ; 太熟悉了!第4层
0041EBA1 BE 00704100 mov esi,notepad.00417000 ; 先取消硬件断点再用ESP
0041EBA6 8DBE 00A0FEFF lea edi,dword ptr ds:[esi+FFFEA>
0041EBAC 57 push edi
0041EBAD 83CD FF or ebp,FFFFFFFF
0041EBB0 EB 10 jmp short notepad.0041EBC2
0041EBB2 90 nop
0041EBB3 90 nop
f9运行,断下后到这里:
0041ED27 8D4424 80 lea eax,dword ptr ss:[esp-80] ;
0041ED2B 6A 00 push 0 ; F8
0041ED2D 39C4 cmp esp,eax
0041ED2F ^ 75 FA jnz short notepad.0041ED2B
0041ED31 83EC 80 sub esp,-80 F4
0041ED34 ^ E9 1724FEFF jmp notepad.00401150 ;F8跳向最后一层
0041ED39 0000 add byte ptr ds:[eax],al
0041ED3B 0000 add byte ptr ds:[eax],al
来到程序OEP:
00401150 68 6C124000 push notepad.0040126C 明显是VB的。用OD插件DUMP脱掉,运行成功,
收工啦!领工资去
00401155 E8 F0FFFFFF call notepad.0040114A ; jmp to MSVBVM60.ThunRTMain
经典的2句,VB的OEP,不要再F8了,不然,嘿嘿!!!!!完蛋
0040115A 0000 add byte ptr ds:[eax],al
0040115C 0000 add byte ptr ds:[eax],al
0040115E 0000 add byte ptr ds:[eax],al
------------------------------------------------------------------------
【破解总结】用ESP后,要注意代码,不要F8过头了
俺就是这一类菜鸟!!
------------------------------------------------------------------------
【版权声明】本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!版权归PYG所有