【ChinaBeta.Cn 网络安全】
下载地址: http://tongtian.net/pediybbs/download.php?id=639 软件大小: 325.3 KB
【软件简介】:俄国人的东东。二点 兄弟介绍说“是PEID和FI等软件的克星”。
【作者声明】:只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【调试环境】:WinXP、Ollydbg1.09、PEiD、LordPE、ImportREC
————————————————————————————————— 【脱壳过程】: 其实PEiD 0.91能够查出这个东东正确的OEP。手脱很简单,偶再捏个软柿子吧。
用Ollydbg载入这个目标程序,不打声招呼就直接运行了,Ollydbg 一片空白,很是干净呀。 这可不行:设置Ollydbg 选项->调试设置->事件->标记首先暂停在->系统断点。
————————————————————————————————— 一、HidePE.exe 脱壳
77F7F571 C3 retn//进入OD后停在这 系统启动断点!
下断:BP VirtualFree F9运行,确定几个提示。断下,然后取消断点
77E59E34 55 push ebp //断在这!Ctrl+F9执行到返回 77E59E35 8BEC mov ebp,esp 77E59E37 FF75 10 push dword ptr ss:[ebp+10] 77E59E3A FF75 0C push dword ptr ss:[ebp+C] 77E59E3D FF75 08 push dword ptr ss:[ebp+8] 77E59E40 6A FF push -1 77E59E42 E8 04000000 call kernel32.VirtualFreeEx 77E59E47 5D pop ebp 77E59E48 C2 0C00 retn 0C //返回至 0046A09B
0046A09B E8 97000000 call HidePE.0046A137//F8带过,确定几个提示 0046A0A0 73 79 jnb short HidePE.0046A11B//跳
0046A11B 8BB5 38854000 mov esi,dword ptr ss:[ebp+408538] 0046A121 8BBD 3C854000 mov edi,dword ptr ss:[ebp+40853C] 0046A127 E8 280A0000 call HidePE.0046AB54//这个里面只有一个Ret 0046A12C 61 popad 0046A12D 9D popfd 0046A12E 50 push eax 0046A12F 68 84454500 push HidePE.00454584// 这就是OEP值 0046A134 C2 0400 retn 4 //返回至 00454584 飞向光明之巅!
————————————————————————
00454584 55 push ebp//在这儿用LordPE完全DUMP这个进程 00454585 8BEC mov ebp,esp 00454587 83C4 F4 add esp,-0C 0045458A B8 F4434500 mov eax,HidePE.004543F4 0045458F E8 C81CFBFF call HidePE.0040625C 00454594 A1 C45D4500 mov eax,dword ptr ds:[455DC4] 00454599 8B00 mov eax,dword ptr ds:[eax] 0045459B E8 A418FFFF call HidePE.00445E44
———————————————————————
运行ImportREC,选择这个进程。把OEP改为00054584,点IT AutoSearch,点“Get Import”,FixDump,正常运行!用PEiD看脱壳后的程序,Borland Delphi 4.0-5.0 呵呵
————————————————————————————————— 二、StealthPE.exe 脱壳
StealthPE.exe 用PEiD看是Ste@lth PE 1.01->BGCorp,再看看其区段名,呵呵,好几个壳的名字,其实这个东东是很弱的, 入口方式和ASPack是一样的。
77F7F571 C3 retn//进入OD后停在这 系统启动断点!
下断:BP VirtualFree F9运行,确定几个提示。断下。然后取消断点
77E59E34 55 push ebp //断在这! 77E59E35 8BEC mov ebp,esp 77E59E37 FF75 10 push dword ptr ss:[ebp+10] 77E59E3A FF75 0C push dword ptr ss:[ebp+C] 77E59E3D FF75 08 push dword ptr ss:[ebp+8] 77E59E40 6A FF push -1 77E59E42 E8 04000000 call kernel32.VirtualFreeEx 77E59E47 5D pop ebp 77E59E48 C2 0C00 retn 0C
接着下断:BP GetProcAddress F9运行,断下。然后取消断点
77E5A5FD 55 push ebp //断在这!Ctrl+F9执行到返回 77E5A5FE 8BEC mov ebp,esp …… …… 省 略 …… …… 77E5A654 8B45 0C mov eax,dword ptr ss:[ebp+C] 77E5A657 5F pop edi 77E5A658 5B pop ebx 77E5A659 C9 leave 77E5A65A C2 0800 retn 8 //返回至 004642FC
返回程序后是几个循环,不必浪费时间,直接向下找popad,在004643AA处,下断,F9运行,断在004643AA
004642FC 85C0 test eax,eax //返回这里! 004642FE 5B pop ebx 004642FF 75 6F jnz short StealthP.00464370
00464370 8907 mov dword ptr ds:[edi],eax 00464372 8385 F03F4400 04 add dword ptr ss:[ebp+443FF0],4 00464379 E9 32FFFFFF jmp StealthP.004642B0//循环啦 直接向下找popad 0046437E 8906 mov dword ptr ds:[esi],eax 00464380 8946 0C mov dword ptr ds:[esi+C],eax 00464383 8946 10 mov dword ptr ds:[esi+10],eax 00464386 83C6 14 add esi,14 00464389 8B95 FC494400 mov edx,dword ptr ss:[ebp+4449FC] 0046438F E9 EBFEFFFF jmp StealthP.0046427F 00464394 8B85 AD394400 mov eax,dword ptr ss:[ebp+4439AD] 0046439A 50 push eax 0046439B 0385 FC494400 add eax,dword ptr ss:[ebp+4449FC] //EAX=00051A28 + 00400000=00451A28 这就是OEP值 004643A1 59 pop ecx 004643A2 0BC9 or ecx,ecx 004643A4 8985 E63C4400 mov dword ptr ss:[ebp+443CE6],eax 004643AA 61 popad//找到这个 popad 004643AB 75 08 jnz short StealthP.004643B5 004643AD B8 01000000 mov eax,1 004643B2 C2 0C00 retn 0C
004643B5 68 281A4500 push StealthP.00451A28 004643BA C3 retn //返回至 00451A28 飞向光明之巅!
——————————————————————— 00451A28 55 push ebp//在这儿用LordPE完全DUMP这个进程 00451A29 8BEC mov ebp,esp 00451A2B 83C4 F4 add esp,-0C 00451A2E B8 A0184500 mov eax,StealthP.004518A0 00451A33 E8 2448FBFF call StealthP.0040625C 00451A38 A1 942E4500 mov eax,dword ptr ds:[452E94] 00451A3D 8B00 mov eax,dword ptr ds:[eax] 00451A3F E8 1825FFFF call StealthP.00443F5C
———————————————————————
运行ImportREC,选择这个进程。把OEP改为00051A28,点IT AutoSearch,点“Get Import”,FixDump,正常运行!
————————————————————————————————— 三、试炼品 用HidePE和StealthPE加壳
1、用HidePE加壳的Win98的记事本 脱壳
用LordPE看用HidePE加壳的Win98的记事本: 基地址RVA=00400000 入口点地址=0000D000
77F7F571 C3 retn//进入OD后停在这 系统启动断点!
下断:BP 40D000 F9运行,确定几个提示。断下。
0040D000 0BC0 or eax,eax //断在这! 0040D002 0BC0 or eax,eax 0040D004 0BC0 or eax,eax 0040D006 0BC0 or eax,eax 0040D008 0BC0 or eax,eax 0040D00A 0BC0 or eax,eax 0040D00C 0BC0 or eax,eax 0040D00E 0BC0 or eax,eax 0040D010 BA CC104000 mov edx,Notepad.004010CC 0040D015 FFE2 jmp edx
004010CC BA 17D04000 mov edx,Notepad.0040D017 004010D1 FFE2 jmp edx
0040D017 BA CC104000 mov edx,H-Notepa.004010CC 0040D01C B8 558BEC83 mov eax,83EC8B55 0040D021 8902 mov dword ptr ds:[edx],eax 0040D023 83C2 03 add edx,3 0040D026 B8 83EC4456 mov eax,5644EC83 0040D02B 8902 mov dword ptr ds:[edx],eax 0040D02D 83C2 FD add edx,-3 0040D030 FFE2 jmp edx ; Notepad.004010CC
004010CC 55 push ebp//在这儿可以DUMP了 004010CD 8BEC mov ebp,esp 004010CF 83EC 44 sub esp,44 004010D2 56 push esi 004010D3 FF15 E4634000 call dword ptr ds:[<&KERNEL32.GetCommandLineA>]
———————————————————————— 2、用StealthPE加壳的 Window 按钮突破专家.exe 脱壳
试了好几个程序均没有加壳成功,找了个 Window 按钮突破专家.exe 加壳成功 用LordPE看用HidePE加壳的 突破专家.exe : 基地址RVA=00400000 入口点地址=00004800
77F7F571 C3 retn//进入OD后停在这 系统启动断点!
下断:BP 404800 F9运行,确定几个提示。断下。
00404800 BA 00104000 mov edx,突破.00401000//断在这! 00404805 FFE2 jmp edx
00401000 BA 07484000 mov edx,突破.00404807 00401005 FFE2 jmp edx
00404807 BA 00104000 mov edx,突破.00401000 0040480C B8 6A00E819 mov eax,19E8006A 00404811 8902 mov dword ptr ds:[edx],eax 00404813 83C2 03 add edx,3 00404816 B8 19010000 mov eax,119 0040481B 8902 mov dword ptr ds:[edx],eax 0040481D 83C2 FD add edx,-3 00404820 FFE2 jmp edx ; 突破.00401000 // 飞向光明之巅!
00401000 6A 00 push 0 //在这儿可以DUMP了 00401002 E8 19010000 call <jmp.&KERNEL32.GetModuleHandleA> 00401007 6A 00 push 0 00401009 68 1E104000 push 突破.0040101E 0040100E 6A 00 push 0 00401010 6A 65 push 65 00401012 50 push eax 00401013 E8 14010000 call <jmp.&USER32.DialogBoxParamA>
晕倒,HidePE和StealthPE 差不多呀,都是一个作者,看样子是在ASPack基础上改装的
————————————————————————————————— , _/ /| _.-~/ \_ , 青春都一饷 ( /~ / \~-._ |\ `\\ _/ \ ~\ ) 忍把浮名 _-~~~-.) )__/;;,. \_ //' /'_,\ --~ \ ~~~- ,;;\___( (.-~~~-. 换了破解轻狂 `~ _( ,_..--\ ( ,;'' / ~-- /._`\ /~~//' /' `~\ ) /--.._, )_ `~ " `~" " `" /~'`\ `\\~~\ " " "~' ""
Cracked By 巢水工作坊——fly [OCN][FCG][NUKE]
2003-12-14 19:46
(责任编辑:hahack)
注:本站所有资料均为个人爱好与广大网友分享!如用于非法!造成一切后果自负·与本站无关! |