今天发现一个壳为UltraProtect 1.x -> RISCO Software Inc.
就在论坛中找了一个但是却发现同一种壳但是入口的代码就不一样了请看下面代码:
UltraProtect 1.x 的脱壳与修复 - 雪狐提醒簿 V3.0
软件名称:雪狐提醒簿 V3.0
实例下载:http://www.onlinedown.net/soft/2469.htm
软件大小:4644KB
软件语言:简体中文
软件类别:国产软件/免费版/闹铃时钟
运行环境:Win9x/Me/NT/2000/XP
调试环境:Win2000, Ollydbg1.10, LordPE, ImportREC 1.6.2, PEid v0.93
作 者: blackeyes
作者声明:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
1. Dump文件,寻找OEP
首先用PEiD v0.93:
UltraProtect 1.x -> RISCO Software Inc.
打开OllyDbg,载入 RemindBook.exe
009A6000 > 60 PUSHAD ; 壳入口
009A6001 EB 01 JMP SHORT RemindBo.009A6004
009A6003 7B 66 JPO SHORT RemindBo.009A606B
009A6005 BD A98966C1 MOV EBP,C16689A9
按F9运行,有 INT3, 停在009B799F
009B799B 64:8920 MOV DWORD PTR FS:[EAX],ESP
009B799E CC INT3
009B799F 90 NOP ; 停在这
009B79A0 64:67:8F06 0000 POP DWORD PTR FS:[0]
009B79A6 83C4 04 ADD ESP,4
按1次Shift+F9, 程序运行
Ctrl+F2 重来, CODE段下f2断点, F9运行, Shift+F9 通过INT3, 停在 OEP
00729280 > 55 PUSH EBP ; 程序 OEP
00729281 8BEC MOV EBP,ESP
00729283 B9 05000000 MOV ECX,5
00729288 6A 00 PUSH 0
0072928A 6A 00 PUSH 0
而我的入口代码是:
004D3000 > 60 pushad入口点!
004D3001 E8 01000000 call KS.004D3007
004D3006 - E9 83C4044F jmp 4F51F48E
004D300B 48 dec eax
004D300C 8BE9 mov ebp,ecx
004D300E E8 01000000 call KS.004D3014
004D3013 9A 83C404C1 CE53 call far 53CE:C104C483
004D301A E8 01000000 call KS.004D3020
004D301F - 74 83 je short KS.004D2FA4
004D3021 04 24 add al,24
004D3023 06 push es
004D3024 C3 retn
004D3025 03F9 add edi,ecx
004D3027 E8 01000000 call KS.004D302D
004D302C - EB 83 jmp short KS.004D2FB1
004D302E 04 24 add al,24
004D3030 06 push es
004D3031 C3 retn
004D3032 4E dec esi
004D3033 E8 01000000 call KS.004D3039
004D3038 7A 83 jpe short KS.004D2FBD
004D303A 04 24 add al,24
004D303C 06 push es
004D303D C3 retn
为什么会产生这样子呢请版主或高手解释一下可以吗?谢谢了!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课