飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2394|回复: 0

WWPack32 1.12脱壳方法

[复制链接]

该用户从未签到

发表于 2006-5-5 13:26:12 | 显示全部楼层 |阅读模式
大家好,今天给大家讲的是WWPack32 1.12脱壳方法

依照惯例,首先仍然是查壳,使用PEID查得是WWPack32 1.x -> Piotr Warezak

然后OD载入。

方法一:单步法

0040D000 >  53              push    ebx      //F8
0040D001    55              push    ebp      //F8
0040D002    8BE8            mov     ebp, eax    //F8
0040D004    33DB            xor     ebx, ebx     //F8
0040D006    EB 60           jmp     short 0040D068   //F8,看看跟进到哪儿?
0040D008    0D 0A0D0A57     or      eax, 570A0D0A

0040D068    E8 00000000     call    0040D06D  //到这里
0040D06D    58              pop     eax
0040D06E    2D 6D000000     sub     eax, 6D
0040D073    50              push    eax

一跟的F8,遇到回跳就F4,一直到这里

0040D28D    05 99020000     add     eax, 299
0040D292    5D              pop     ebp                              ; 0012FFF0
0040D293    5B              pop     ebx
0040D294  - E9 333EFFFF     jmp     004010CC      //F8就到了OEP了
0040D299    0000            add     [eax], al
0040D29B    40              inc     eax
(一会再讲修复问题)

方法二:ESP定律法
OD载入,F8--------看ESP
hr 0012ffc0     F9
0040D292    5D              pop     ebp                              ; 0012FFF0
0040D293    5B              pop     ebx
0040D294  - E9 333EFFFF     jmp     004010CC      //停在了这里,F8就到了OEP了
0040D299    0000            add     [eax], al
0040D29B    40              inc     eax


方法三:内存镜像法
ALT+M
Memory map, 条目 25
地址=00407000
大小=00006000 (24576.)
属主=WWPack32 00400000
区段=.rsrc
包含=资源
类型=Imag 01001002
访问=R
初始访问=RWE
F2断点,F9运行
ALT+M
Memory map, 条目 22
地址=00401000
大小=00004000 (16384.)
属主=WWPack32 00400000
区段=.text
包含=代码
类型=Imag 01001002
访问=R
初始访问=RWE
F2断点,F9运行就到了真正的入口点了

方法四:"懒人法"(我也不知道叫什么方法,呵呵)
ALT+M,看看内存
Memory map, 条目 23
地址=00405000
大小=00001000 (4096.)
属主=WWPack32 00400000
区段=.data
类型=Imag 01001002
访问=R
初始访问=RWE
运行命令:tc eip<00405000
等一会,到这里
004010CC    55              push    ebp                              ; 这里就是OEP
004010CD    8BEC            mov     ebp, esp
004010CF    83EC 44         sub     esp, 44
004010D2    56              push    esi
004010D3    FF15 E4634000   call    [<&KERNEL32.GetCommandLineA>]    ; kernel32.GetCommandLineA
004010D9    8BF0            mov     esi, eax
004010DB    8A00            mov     al, [eax]

方法五:SFX自动跟踪法(绝对懒人法)
OD载入  ALT+O
选择SFC,然后选择 字节方式跟踪真正入口点(速度非常慢)
然后重新打开文件,等一会就到了

04010CC    55              push    ebp                              ; 这里就是OEP
004010CD    8BEC            mov     ebp, esp
004010CF    83EC 44         sub     esp, 44
004010D2    56              push    esi

好,现在讲讲修复问题。
用OD脱壳之后,方试式一,方试二,我们发现修复之后还是运行不了~~
那就用LP吧~没反应。。。晕。。。修复一下看看~~晕~还是运行不了~怎么办呢~~那就用LP的重建功能吧~发现是可以的~~那我们再来用重建PE试试~1和2~呵呵~还是不可以~~没办法~~这个壳就这么变态~~大家记好啦~
如果还不能运行,就把脱了壳的东东用PEditor 1.7重建程序。
                                                                                     老怪物(moyer)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表