下载页面: http://www.webtoolmaster.com/
软件语言 英文
软件类型 国外软件 / 共享软件 / 加密工具
应用平台 Win9x/NT/ME/2000/XP
软件大小 342KB
更新时间 2003-8-19 14:57:39

【软件简介】:EXE Stealth 是一个功能非常强大的EXE可执行文件加密工具,程序支持CRC保护,API重定向,删除EXE文件头信息等功能,还可以为你的EXE可执行文件增加防止SmartCheck,Softice,IDag等跟踪调试工具跟踪破解的功能!
【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【调试环境】:WinXP、Ollydbg1.09、PEiD、LordPE、ImportREC
—————————————————————————————————
【脱壳过程】:
偶只是说 ExeStealth“常用”脱壳方法,没有说通用,呵呵,其实偶用这种方法脱掉了所有偶所碰到的ExeStealth加壳程序。下面举了三个例子:1个单纯ExeStealth V2.72加壳、1个伪装的ExeStealth壳、1个ExeStealth V2.72 + ASPack 2.12加壳程序。有兴趣的兄弟再自己验证吧。 第4个例子直捣黄龙:脱了ExeStealth V2.72的ExeStealth2.exe主程序。
设置Ollydbg忽略所有的异常选项。用Ollydbg手动脱壳,老规矩:用IsDebug 1.4插件去掉Ollydbg的调试器标志。载入后弹出“是压缩代码——要继续进行分析吗?”,点“否”。
—————————————————————————————————
一、例子 试炼品:用ExeStealth V2.72加壳的Win98的Notepad
加壳选项:CRC protect、API Redirection、Erase Import Information、Anti Prozess Dumping、Anti-SmartCheck、Anti-SoftIce、Anti-Idag
0040D060 EB 00 jmp short Notepad.0040D062 //进入OD后停在这!
0040D062 EB 2F jmp short Notepad.0040D093
下断:BP CloseHandle
77E57963 64:A1 18000000 mov eax,dword ptr fs:[18] //断在这!取消断点 Ctrl+F9执行到返回
77E57969 8B48 30 mov ecx,dword ptr ds:[eax+30]
77E5796C 8B4424 04 mov eax,dword ptr ss:[esp+4]
77E57970 83F8 F4 cmp eax,-0C
77E57973 0F84 4CB4FFFF je kernel32.77E52DC5
77E57979 83F8 F5 cmp eax,-0B
77E5797C 0F84 38B4FFFF je kernel32.77E52DBA
77E57982 83F8 F6 cmp eax,-0A
77E57985 0F84 0F500200 je kernel32.77E7C99A
77E5798B 8BC8 mov ecx,eax
77E5798D 81E1 03000010 and ecx,10000003
77E57993 83F9 03 cmp ecx,3
77E57996 50 push eax
77E57997 0F84 26870000 je kernel32.77E600C3
77E5799D FF15 3C10E477 call dword ptr ds:[<&ntdll.NtClose>]
77E579A3 85C0 test eax,eax
77E579A5 0F8C 02B4FFFF jl kernel32.77E52DAD
77E579AB 33C0 xor eax,eax
77E579AD 40 inc eax
77E579AE C2 0400 retn 4 //返回到 0040D3B0
0040D3B0 58 pop eax
0040D3B1 8B85 B62F4000 mov eax,dword ptr ss:[ebp+402FB6]
0040D3B7 BB 01000000 mov ebx,1
0040D3BC E8 08000000 call Notepad.0040D3C9
0040D3C1 8D85 F52B4000 lea eax,dword ptr ss:[ebp+402BF5]
0040D3C7 50 push eax
0040D3C8 C3 retn //返回到 0040D49F
0040D49F 8B9D B62F4000 mov ebx,dword ptr ss:[ebp+402FB6] ; Notepad.00400000
0040D4A5 039D BA2F4000 add ebx,dword ptr ss:[ebp+402FBA]
//EBX=00400000 + 000010CC=004010CC 这就是OEP值
0040D4AB C1CB 07 ror ebx,7
OK,在4010CC内存处下 内存访问断点,F9运行,断在OEP处!
004010CC 55 push ebp //在这儿用OllyDump插件直接DUMP
004010CD 8BEC mov ebp,esp
004010CF 83EC 44 sub esp,44
004010D2 56 push esi
004010D3 FF15 E4634000 call dword ptr ds:[4063E4]
004010D9 8BF0 mov esi,eax
004010DB 8A00 mov al,byte ptr ds:[eax]
004010DD 3C 22 cmp al,22
004010DF 75 1B jnz short 004010FC
————————————————————————
运行ImportREC,选择这个进程。把OEP改为000010CC,点IT AutoSearch,点“Get Import”,用“追踪层次1”全部修复,FixDump,正常运行!
—————————————————————————————————
二、例子 试炼品:linson兄弟的伪装壳LiNSoN’s Unpack Me 0.1
下载:http://tongtian.net/pediybbs/download.php?id=386
用PEID或FI侦测会报出是Microsoft Visual C++ 6.0,呵呵,上了linson的当啦 这就是linson伪装代码的效果,相信这个方法会被一些新壳所采用以蒙蔽侦壳工具的!
00405060 55 push ebp //进入OD后停在这!这段代码是linson伪装的VC的入口方式
00405061 8BEC mov ebp,esp
00405063 6A FF push -1
00405065 68 45230100 push 12345
0040506A 68 90780600 push 67890
0040506F 64:A1 00000000 mov eax,dword ptr fs:[0]
00405075 50 push eax
00405076 64:8925 00000000 mov dword ptr fs:[0],esp
0040507D 83EC 44 sub esp,44
00405080 53 push ebx
00405081 56 push esi
00405082 57 push edi
00405083 73 15 jnb short LZSunpac.0040509A
00405085 72 13 jb short LZSunpac.0040509A
0040509A 5F pop edi
0040509B 5E pop esi
0040509C 5B pop ebx
0040509D 83C4 44 add esp,44
004050A0 64:8B25 00000000 mov esp,dword ptr fs:[0]
004050A7 83C4 0C add esp,0C
004050AA 8BE5 mov esp,ebp
004050AC 5D pop ebp
004050AD 2BC0 sub eax,eax
004050AF 60 pushad
004050B0 E8 00000000 call LZSunpac.004050B5
004050B5 5D pop ebp
004050B6 81ED 421E4000 sub ebp,LZSunpac.00401E42
004050BC B9 7B090000 mov ecx,97B
004050C1 8DBD 8A1E4000 lea edi,dword ptr ss:[ebp+401E8A]
004050C7 8BF7 mov esi,edi
004050C9 AC lods byte ptr ds:[esi]
004050CA F9 stc
004050CB 90 nop
004050CC C0C0 C5 rol al,0C5
004050CF 02C1 add al,cl
004050D1 EB 01 jmp short LZSunpac.004050D4
004050D4 FEC8 dec al
004050D6 34 F3 xor al,0F3
004050D8 EB 01 jmp short LZSunpac.004050DB //这里应是ExeStealth壳的入口
004050DB EB 01 jmp short LZSunpac.004050DE
004050DE 2AC1 sub al,cl
004050E0 2C 99 sub al,99
004050E2 2AC1 sub al,cl
004050E4 C0C0 01 rol al,1
004050E7 2C 98 sub al,98
004050E9 04 E2 add al,0E2
004050EB 04 19 add al,19
004050ED C0C8 16 ror al,16
004050F0 EB 01 jmp short LZSunpac.004050F3
————————————————————————
障眼法对于手动脱壳是没有太大影响的。直接下断:BP CloseHandle
77E57963 64:A1 18000000 mov eax,dword ptr fs:[18] //断在这!取消断点 Ctrl+F9执行到返回