安全中国首页 > 文章中心 > 脱壳技术
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

PEbundle V2.3脱壳 - 某算法注册机

更新时间:2008-5-19 0:30:03
责任编辑:池天
热 点:
PEbundle V2.3脱壳 - 某算法注册机

【脱文标题】 PEbundle V2.3脱壳 - 某算法注册机

【脱文作者】 weiyi75[Dfcg] 

【作者邮箱】 weiyi75@sohu.com

【作者主页】 Dfcg官方大本营 --- http://www.chinadfcg.com/

【使用工具】 Fi,Ollydbg,Loadpe,Imprec1.42

【脱壳平台】 Win2K

【软件名称】 keygen

【软件简介】 PEbundle v2.3 加壳的一个某算法注册机

【软件大小】 164KB  

【下载地址】 本地下载

【加壳方式】 PEbundle v2.3

【保护方式】 压缩壳,IAT简单加密

【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享: 
  

-------------------------------------------------------------------------------- 

【脱壳内容】 

看过 PEbundle V2.3脱壳——唐诗三百首 V1.2 脱文,大家对PEbundle V2.3有些概念吧,特点是循环多。

既然有了前面的经验,就没必要慢慢跟踪了,首先找Oep。

OD设置忽略全部异常设置,载入程序,无须隐藏OD,因为PEbundle是个压缩壳。

00439000 >  9C              pushfd  //入口点
00439001    60              pushad
00439002    E8 02000000     call keygen.00439009
00439007    33C0            xor eax, eax
00439009    8BC4            mov eax, esp
0043900B    83C0 04         add eax, 4
0043900E    93              xchg eax, ebx
0043900F    8BE3            mov esp, ebx
00439011    8B5B FC         mov ebx, dword ptr ds:[ebx-4]
00439014    81EB 07304000   sub ebx, keygen.00403007                 ; ASCII "D$"
0043901A    87DD            xchg ebp, ebx
0043901C    80BD DD3B4000 0>cmp byte ptr ss:[ebp+403BDD], 0
00439023    74 21           je short keygen.00439046
00439025    8D85 D6384000   lea eax, dword ptr ss:[ebp+4038D6]
0043902B    50              push eax
0043902C    FF95 B2384000   call dword ptr ss:[ebp+4038B2]
00439032    8D8D 2C3A4000   lea ecx, dword ptr ss:[ebp+403A2C]
00439038    51              push ecx
00439039    50              push eax
0043903A    FF95 A2384000   call dword ptr ss:[ebp+4038A2]
....................................................................................

找Oep试试我的二次软硬断点结合法,这个方法只能找Oep,IAT无法避免加密。

命令行 d 12ffc0

0012FFC0  F8 FF 12 00 F5 87 E6 77 A8 16 55 00 56 00 00 00  ?.鯂鎤?U.V...  //已经有数据了,没关系,还是下个硬件写入dword断点
0012FFD0  00 F0 FD 7F 00 02 00 00 C8 FF 12 00 00 02 00 00  .瘕...?....
0012FFE0  FF FF FF FF B4 F0 E7 77 C8 8E E6 77 00 00 00 00  答鐆葞鎤....
0012FFF0  00 00 00 00 00 00 00 00 00 90 43 00 00 00 00     .........怌.....

F9运行

硬件断点1

00439376    C3              retn
00439377    C8 000000       enter 0, 0
0043937B    57              push edi
0043937C    56              push esi
0043937D    8B75 08         mov esi, dword ptr ss:[ebp+8]
00439380    8B7D 0C         mov edi, dword ptr ss:[ebp+C]
00439383    8A06            mov al, byte ptr ds:[esi]
00439385    3C 61           cmp al, 61
00439387    72 06           jb short keygen.0043938F
00439389    3C 7A           cmp al, 7A
0043938B    77 02           ja short keygen.0043938F
0043938D    04 E0           add al, 0E0
0043938F    8A27            mov ah, byte ptr ds:[edi]
00439391    80FC 61         cmp ah, 61
00439394    72 08           jb short keygen.0043939E
00439396    80FC 7A         cmp ah, 7A
00439399    77 03           ja short keygen.0043939E
0043939B    80C4 E0         add ah, 0E0
0043939E    46              inc esi
0043939F    47              inc edi
004393A0    837D 10 01      cmp dword ptr ss:[ebp+10], 1
004393A4    75 01           jnz short keygen.004393A7
...........................................................................

然后Alt+M 打开内存镜像窗口。

内存镜像,项目 12
地址=00401000      //Code 段下内存访问断点,F9运行
大小=0000D000 (53248.)
Owner=keygen   00400000
区段=.text
包含=code
类型=Imag 01001002
访问=R
初始访问=RWE

内存断点

0040D1EF  /.  55            push ebp        //OEP 入口,LoadPe脱壳
0040D1F0  |.  8BEC          mov ebp, esp
0040D1F2  |.  6A FF         push -1
0040D1F4  |.  68 10FD4000   push keygen.0040FD10
0040D1F9  |.  68 4ED34000   push keygen.0040D34E                     ;  jmp to MSVCRT._except_handler3; SE handler installation
0040D1FE  |.  64:A1 0000000>mov eax, dword ptr fs:[0]
0040D204  |.  50            push eax
0040D205  |.  64:8925 00000>mov dword ptr fs:[0], esp
0040D20C  |.  83EC 68       sub esp, 68
0040D20F  |.  53            push ebx
0040D210  |.  56            push esi
0040D211  |.  57            push edi
0040D212  |.  8965 E8       mov dword ptr ss:[ebp-18], esp
0040D215  |.  33DB          xor ebx, ebx
0040D217  |.  895D FC       mov dword ptr ss:[ebp-4], ebx
0040D21A  |.  6A 02         push 2
0040D21C  |.  FF15 54E44000 call dword ptr ds:[40E454]               ;  MSVCRT.__set_app_type
0040D222  |.  59            pop ecx
0040D223  |.  830D 70234100>or dword ptr ds:[412370], FFFFFFFF
0040D22A  |.  830D 74234100>or dword ptr ds:[412374], FFFFFFFF
0040D231  |.  FF15 50E44000 call dword ptr ds:[40E450]               ;  MSVCRT.__p__fmode
0040D237  |.  8B0D 64234100 mov ecx, dword ptr ds:[412364]
0040D23D  |.  8908          mov dword ptr ds:[eax], ecx
0040D23F  |.  FF15 4CE44000 call dword ptr ds:[40E44C]               ;  MSVCRT.__p__commode
.........................................................................................

1 2 下一页

 
相关文章
一日一文章
 
一日一软件
一日一动画