首页
社区
课程
招聘
求助----UltraProtect脱壳
发表于: 2004-12-2 10:10 5287

求助----UltraProtect脱壳

2004-12-2 10:10
5287
天堂天下台服内挂2.98A

下载地址:http://www.txtt2.com/

加壳方式:UltraProtect 1.x -> RISCO Software Inc.

OD异常设置不忽略内存异常,其余全部忽略,载入程序,用插件隐藏OD。
006A1000 L>  60                  pushad//加壳程序入口点,F9运行
006A1001     E8 01000000         call Line2.006A1007
006A1006     9A 83C40447 48F8    call far F848:4704C483
006A100D     FC                  cld
006A100E     50                  push eax
006A100F     E8 01000000         call Line2.006A1015
006A1014   - 75 83               jnz short Line2.006A0F99
006A1016     C40458              les eax,fword ptr ds:[eax+ebx*2]
006A1019     66:C1C9 83          ror cx,83

内存异常
004DEC71     CD 01               int 1//典型Acprotect小于1.20版最后一次异常
004DEC73     40                  inc eax
004DEC74     40                  inc eax
004DEC75     0BC0                or eax,eax
004DEC77     75 0C               jnz short Line2.004DEC85
004DEC79     90                  nop
004DEC7A     90                  nop
004DEC7B     90                  nop

堆栈内容
0012E0E0    0012FF04  指针到下一个 SEH 记录
0012E0E4    004DEC55  SE 句柄

ctrl+G,004DEC55

004DEC55     8B5C24 0C           mov ebx,dword ptr ss:[esp+C]//下断点Shift+F9中断1
004DEC59     8383 B8000000 02    add dword ptr ds:[ebx+B8],2
004DEC60     33C0                xor eax,eax
004DEC62     C3                  retn
004DEC63     64:67:FF36 0000     push dword ptr fs:[0]
004DEC69     64:67:8926 0000     mov dword ptr fs:[0],esp
004DEC6F     33C0                xor eax,eax
004DEC71     CD 01               int 1
004DEC73     40                  inc eax
004DEC74     40                  inc eax
004DEC75     0BC0                or eax,eax
004DEC77     75 0C               jnz short Line2.004DEC85
004DEC79     90                  nop
004DEC7A     90                  nop
004DEC7B     90                  nop
......
004DECAC     8B048E              mov eax,dword ptr ds:[esi+ecx*4]//下断点Shift+F9中断2
004DECAF     8B5C8E 04           mov ebx,dword ptr ds:[esi+ecx*4+4>
004DECB3     33C3                xor eax,ebx
004DECB5     C1C0 0A             rol eax,0A
004DECB8     2BC2                sub eax,edx
004DECBA     81C2 5C096A98       add edx,986A095C
004DECC0     89048E              mov dword ptr ds:[esi+ecx*4],eax
004DECC3     49                  dec ecx
004DECC4   ^ EB E1               jmp short Line2.004DECA7
004DECC6     61                  popad
004DECC7     61                  popad
004DECC8     C3                  retn//F4直接下来,下模拟跟踪

Ctrl+T设置暂停运行跟踪条件

将命令是一个复选框打勾,填入  PUSH EBP    ,确定。
Ctrl+F11跟踪进入

004E355E     55                  push ebp   ///入口点,DUMP
004E355F     8BEC                mov ebp,esp  
004E3561     83EC 14             sub esp,14  
004E3564     894D EC             mov dword ptr ss:[ebp-14],ecx
004E3567     817D 08 B6030000    cmp dword ptr ss:[ebp+8],3B6
004E356E     75 1D               jnz short Line2.004E358D
004E3570     68 48E96600         push Line2.0066E948               ; ASCII "GuiTaiWan.dll"
004E3575     FF15 F0D16400       call dword ptr ds:[64D1F0]        ; kernel32.LoadLibraryA
004E357B     8945 FC             mov dword ptr ss:[ebp-4],eax
004E357E     837D FC 00          cmp dword ptr ss:[ebp-4],0
004E3582     74 09               je short Line2.004E358D
004E3584     8B45 FC             mov eax,dword ptr ss:[ebp-4]
004E3587     50                  push eax
004E3588     E8 63050000         call Line2.004E3AF0
004E358D     817D 08 B5030000    cmp dword ptr ss:[ebp+8],3B5
004E3594     75 1D               jnz short Line2.004E35B3
004E3596     68 38E96600         push Line2.0066E938               ; ASCII "GuiAmerican.dll"
004E359B     FF15 F0D16400       call dword ptr ds:[64D1F0]        ; kernel32.LoadLibraryA

运行ImportREC,选择这个进程,OEP=E355E,RVA=24D000,size=700,点IT AutoSearch,点“Get Import”,有一个函数无效,
rva=0024D5A0 PTR:004DD316
直接剪切掉。修复成功,双击脱壳的程序一闪而过.

OD重新载入脱壳后的程序
004E355E 1>/$  55                push ebp
004E355F   |.  8BEC              mov ebp,esp
004E3561   |.  83EC 14           sub esp,14
004E3564   |.  894D EC           mov dword ptr ss:[ebp-14],ecx
004E3567   |.  817D 08 B6030000  cmp dword ptr ss:[ebp+8],3B6
004E356E   |.  75 1D             jnz short 111_.004E358D
.....
004E358D   |> \817D 08 B5030000  cmp dword ptr ss:[ebp+8],3B5
004E3594   |.  75 1D             jnz short 111_.004E35B3
......
004E35B3   |> \817D 08 E4040000  cmp dword ptr ss:[ebp+8],4E4
004E35BA   |.  75 1D             jnz short 111_.004E35D9
.........
004E35D9   |> \817D 08 A4030000  cmp dword ptr ss:[ebp+8],3A4
004E35E0   |.  75 1D             jnz short 111_.004E35FF
..............
004E35FF   |> \8BE5              mov esp,ebp
004E3601   |.  5D                pop ebp
004E3602   \.  C2 0400           retn 4

77E614C7     50                  push eax
77E614C8     E8 C235FFFF         call kernel32.ExitThread ///退出线程
77E614CD     CC                  int3
77E614CE     8D88 FEEFFFFF       lea ecx,dword ptr ds:[eax-1002]

请各位高手指点:

我找的入口点是否正确,如果正确,自校验怎么解决。。。。

:D :D

[课程]Android-CTF解题方法汇总!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 266
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
acp暗桩很麻烦阿!
我脱的也很晕
多花些时间跟踪程序
它的iat加密部分还是很简单的,比起asp来小巫见大巫,呵呵
在iat解密的部分nop掉两个je,就可以自动解密特殊函数了
2004-12-2 17:24
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
OEP:0020AAF4 自动搜索 RAV:0024D000 大小:00000700
有一个指针无效.rva:0024d510 prt:004f83b4无效
追踪层次 3修复就行!!!!
修复IAT后可以正常运行!!!!我的环境:2000+SP4
2004-12-3 00:09
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
可以把你的脱壳过程发上看一下吗?谢谢:D
2004-12-3 09:09
0
游客
登录 | 注册 方可回帖
返回
//