首页
社区
课程
招聘
新手脱UltraProtect 1.x遇到的问题,希望高手能给一些指点
发表于: 2004-12-4 12:19 5247

新手脱UltraProtect 1.x遇到的问题,希望高手能给一些指点

2004-12-4 12:19
5247
【前言】

最近刚刚学习脱壳.看了很多资料现在尝试自己脱.可是刚刚开始就被入口点弄蒙了,希望大家帮忙看看

【程序下载地址】

http://www.sj999.com/xl/xyqwg.rar
http://www.17718.com/game/down/1.17.rar

两个地址软件是一样的

【脱壳内容】

首先PEID查壳,为UltraProtect 1.x -> RISCO Software Inc.

载入程序,IsDebugPresent hidden,异常设置不忽略INT3,其余全部忽略

00595000 c>  60                  pushad //进入停在这里  F9运行
00595001     E8 01000000         call catchmhx.00595007
00595006   - 7D 83               jge short catchmhx.00594F8B
00595008     04 24               add al,24
0059500A     06                  push es
0059500B     C3                  retn
0059500C     85C1                test ecx,eax
0059500E     43                  inc ebx
0059500F     50                  push eax
00595010     E8 01000000         call catchmhx.00595016
00595015   - EB 83               jmp short catchmhx.00594F9A
00595017     C40458              les eax,fword ptr ds:[eax+ebx*2]
0059501A     49                  dec ecx

005A6D80     90                  nop //停在这里
---------------------------------------------------
0012FF78   /0012FFE0  指针到下一个 SEH 记录
0012FF7C   |005A6D4D  SE 句柄 //转存跟随,在005A6D4D设断,SHEIFT + F9 ,继

续走
0012FF80   |0C7A6FEE
---------------------------------------------------
005A6D81     64:67:8F06 0000     pop dword ptr fs:[0]
005A6D87     83C4 04             add esp,4
005A6D8A     60                  pushad
005A6D8B     E8 00000000         call catchmhx.005A6D90
005A6D90     5E                  pop esi
005A6D91     83EE 06             sub esi,6
005A6D94     B9 5B000000         mov ecx,5B
005A6D99     29CE                sub esi,ecx
005A6D9B     BA 790C0A86         mov edx,860A0C79
005A6DA0     C1E9 02             shr ecx,2
005A6DA3     83E9 02             sub ecx,2
005A6DA6     83F9 00             cmp ecx,0

005A6D4D     8B4424 04           mov eax,dword ptr ss:[esp+4] //停在这

里,然后在005A6DAB设断,SHIFT +F9继续
005A6D51     8B4C24 0C           mov ecx,dword ptr ss:[esp+C]
005A6D55     FF81 B8000000       inc dword ptr ds:[ecx+B8]
005A6D5B     8B00                mov eax,dword ptr ds:[eax]
005A6D5D     2D 03000080         sub eax,80000003
005A6D62     75 12               jnz short catchmhx.005A6D76
005A6D64     90                  nop
005A6D65     90                  nop
005A6D66     90                  nop
005A6D67     90                  nop

005A6DAB     8B048E              mov eax,dword ptr ds:[esi+ecx*4] //断

在这里
005A6DAE     8B5C8E 04           mov ebx,dword ptr ds:[esi+ecx*4+4>
005A6DB2     03C3                add eax,ebx
005A6DB4     C1C0 1B             rol eax,1B
005A6DB7     33C2                xor eax,edx
005A6DB9     81EA 69D1B7F9       sub edx,F9B7D169
005A6DBF     89048E              mov dword ptr ds:[esi+ecx*4],eax
005A6DC2     49                  dec ecx
005A6DC3   ^ EB E1               jmp short catchmhx.005A6DA6
005A6DC5     61                  popad //个人认为出口在这里(不知道对不

对)
005A6DC6     61                  popad
005A6DC7     C3                  retn //F4到这里,跨地址到005AB67A ,F7继

续走

005AB67A     66:BF DB9C          mov di,9CDB //到这里,不知道这里是不是

入口,郁闷.DUMP出来后,程序不能修复
005AB67E     83C1 04             add ecx,4
005AB681     2B11                sub edx,dword ptr ds:[ecx]
005AB683     83E9 04             sub ecx,4
005AB686     EB 01               jmp short catchmhx.005AB689
005AB688     7A E9               jpe short catchmhx.005AB673
005AB68A     0300                add eax,dword ptr ds:[eax]
005AB68C     0000                add byte ptr ds:[eax],al
005AB68E     66:D3EF             shr di,cl
005AB691     8911                mov dword ptr ds:[ecx],edx
005AB693     EB 01               jmp short catchmhx.005AB696
005AB695   ^ 74 C1               je short catchmhx.005AB658
005AB697     D5 DC               aad 0DC
005AB699     81EE 7E84E08D       sub esi,8DE0847E
005AB69F     E8 01000000         call catchmhx.005AB6A5
005AB6A4   ^ 75 83               jnz short catchmhx.005AB629
005AB6A6     04 24               add al,24
005AB6A8     06                  push es
005AB6A9     C3                  retn
005AB6AA     E9 0A000000         jmp catchmhx.005AB6B9

希望大家看看我这个哪里有问题,能否给我一点指点!

按照二哥的UltraProtect 1.x之 Divx Avi Asf Wmv Wma Rm Rmvb V3.00 脱壳修

复  文章尝试

【脱壳内容】

首先PEID查壳,为UltraProtect 1.x -> RISCO Software Inc.

载入程序,IsDebugPresent hidden,异常设置不忽略内存异常,其余全部忽略

00595000 c>  60                  pushad //进入停在这里  F9运行
00595001     E8 01000000         call catchmhx.00595007
00595006   - 7D 83               jge short catchmhx.00594F8B
00595008     04 24               add al,24
0059500A     06                  push es
0059500B     C3                  retn
0059500C     85C1                test ecx,eax
0059500E     43                  inc ebx
0059500F     50                  push eax
00595010     E8 01000000         call catchmhx.00595016
00595015   - EB 83               jmp short catchmhx.00594F9A
00595017     C40458              les eax,fword ptr ds:[eax+ebx*2]
0059501A     49                  dec ecx

005A6B2E     CD 01               int 1 //唯一一次内存异常。
005A6B30     40                  inc eax
005A6B31     40                  inc eax
005A6B32     0BC0                or eax,eax
005A6B34     75 05               jnz short catchmhx.005A6B3B
005A6B36     90                  nop
005A6B37     90                  nop
005A6B38     90                  nop
005A6B39     90                  nop
005A6B3A     61                  popad
005A6B3B     33C0                xor eax,eax
005A6B3D     64:8F00             pop dword ptr fs:[eax]
005A6B40     58                  pop eax
005A6B41     60                  pushad

Alt+M打开内存镜像

内存镜像,项目 12
地址=00401000 //对准这里下F2访问断点,Shift+F9飞向光明之巅(二哥飞起来了

我却摔下来了,差点摔死)
大小=000E5000 (937984.)
Owner=videofix 00400000
区段=CODE
包含=code
类型=Imag 01001002
访问=R
初始访问=RWE

00401590    /EB 10               jmp short catchmhx.004015A2 //郁闷,我

到这里就停下来了,弄出来一个跳转到004015A2.
00401592    |66:623A             bound di,dword ptr ds:[edx]
00401595    |43                  inc ebx
00401596    |2B2B                sub ebp,dword ptr ds:[ebx]
00401598    |48                  dec eax
00401599    |4F                  dec edi
0040159A    |4F                  dec edi
0040159B    |4B                  dec ebx
0040159C    |90                  nop
0040159D   -|E9 98405200         jmp 0092563A
004015A2    \A1 8B405200         mov eax,dword ptr ds:[52408B]
004015A7     C1E0 02             shl eax,2
004015AA     A3 8F405200         mov dword ptr ds:[52408F],eax
004015AF     52                  push edx
004015B0     6A 00               push 0

我跳到这里就搞不明白了,为什么二哥到了光明之巅,我却掉到了九州寒池,希望大

家能给我一点指点.我会努力学习的!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (8)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
自己用ACP加个delphi程序看看
2004-12-4 12:38
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那个程序是delphi的吗?

我怎么看是vc的?

奇怪
2004-12-4 12:44
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
ACP对delphi程序处理较好
而不是说你上面的程序
2004-12-4 12:59
0
雪    币: 266
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最近用ACProtect加壳的可真多阿
2004-12-4 12:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
ACProtect的出口应该是 JMP DWORD PTR [********]
2004-12-4 19:41
0
雪    币: 411
活跃值: (1160)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
7
我看你的程序是Bc++,注意修炼5种语言

你已经起飞了,两个地址都无法下载

也可能是第二层壳,直接OD插件脱壳,然后用peid扫描看.

壳特征码太多,我记不住了.
2004-12-4 19:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵,是BC++程序,1.3版的壳就没这么容易?
2004-12-4 20:34
0
雪    币: 298
活跃值: (566)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
9
ACProtect的壳在1.35~1.41之后确是强多了,呵呵,这些我到现在都搞不定,菜吧。
多希望有人能投块石头好帮我们问路啊!!!!!
2004-12-14 22:29
0
游客
登录 | 注册 方可回帖
返回
//