首页
社区
课程
招聘
[原创]菜鸟脱一个未知的壳,高入莫笑
发表于: 2006-1-23 22:15 4209

[原创]菜鸟脱一个未知的壳,高入莫笑

2006-1-23 22:15
4209
【破解作者】 ccbwx
【使用工具】 Ollydbg1.10, LordPE,ImportREC 1.62 ,PEid 0.94
【破解平台】 Windows XP SP2
【软件名称】 Cain 2.8.4
【下载地址】 http://www.oxid.it/downloads/ca_setup.exe/
【软件简介】 国处一个功能超强的口令解码软件
【加壳方式】 什么都没找到  *
【破解声明】 我是一只小小菜鸟,偶得一点心得,愿与大家分享:)

(1) 用 PEid 0.94 侦测为  什么都没找到  *,(我的peid数据库通过搜大侠的应该很全了,可以仍然找不到,最后又试了试深度扫描、核心扫描,还是没有找到,希望大侠看一看这是什么变形壳,随便也出特征码也方便一下我们菜鸟:)

(2) 用ollydbg 载入Cain.exe

007221C5 >  E8 00000000     CALL Cain.007221CA    <==暂停这里
007221CA    59              POP ECX
007221CB    83C1 07         ADD ECX,7
007221CE    51              PUSH ECX
007221CF    C3              RETN
007221D0    C3              RETN
007221D1    B8 30207200     MOV EAX,Cain.00722030
007221D6    50              PUSH EAX
007221D7    B9 78000000     MOV ECX,78
007221DC    8130 49C61700   XOR DWORD PTR DS:[EAX],17C649  --
007221E2    83C0 04         ADD EAX,4                       | 循
007221E5    83E9 03         SUB ECX,3                       | 环 
007221E8  ^ E2 F2           LOOPD SHORT Cain.007221DC      --
007221EA  ^ EB E4           JMP SHORT Cain.007221D0
007221EC    0000            ADD BYTE PTR DS:[EAX],AL
007221EE    0000            ADD BYTE PTR DS:[EAX],AL
007221F0    0000            ADD BYTE PTR DS:[EAX],AL

(3) 按 F8一路向下,碰到007221dc至007221e8循环处,直接在7221ea处f4直接跳出,继续向下

(4) 来到00722030后,看到熟悉的pushad,光明就在前面ctrl+f 查找popad

00722030    60              PUSHAD
00722031    BE 00B06400     MOV ESI,Cain.0064B000
00722036    8DBE 0060DBFF   LEA EDI,DWORD PTR DS:[ESI+FFDB6000]
0072203C    57              PUSH EDI
0072203D    83CD FF         OR EBP,FFFFFFFF
00722040    EB 10           JMP SHORT Cain.00722052

(4) 在0072219b找到了popad 直接f4跳过来

00722190    83C3 04         ADD EBX,4
00722193  ^ EB D8           JMP SHORT Cain.0072216D
00722195    FF96 744B3200   CALL DWORD PTR DS:[ESI+324B74]
0072219B    61              POPAD
0072219C  - E9 602AE4FF     JMP Cain.00564C01   <==OEP
007221A1    0000            ADD BYTE PTR DS:[EAX],AL
007221A3    0000            ADD BYTE PTR DS:[EAX],AL
007221A5    0000            ADD BYTE PTR DS:[EAX],AL
007221A7    0000            ADD BYTE PTR DS:[EAX],AL

(5) 再来2下f8后就来到了山顶了:)

00564C01    55              PUSH EBP
00564C02    8BEC            MOV EBP,ESP
00564C04    6A FF           PUSH -1
00564C06    68 70036000     PUSH Cain.00600370
00564C0B    68 C0155600     PUSH Cain.005615C0
00564C10    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
00564C16    50              PUSH EAX
00564C17    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00564C1E    83EC 58         SUB ESP,58
00564C21    53              PUSH EBX
00564C22    56              PUSH ESI
00564C23    57              PUSH EDI
00564C24    8965 E8         MOV DWORD PTR SS:[EBP-18],ESP
00564C27    FF15 D4145D00   CALL DWORD PTR DS:[5D14D4]               ; kernel32.GetVersion
00564C2D    33D2            XOR EDX,EDX
00564C2F    8AD4            MOV DL,AH

OEP到了,打开LordPE,选择cain.exe进程后,就可以Dump full了,然后打开ImportREC,修改OEP=00164C01,点IAT AutoSearch,点Get import,点Fix Dump
大功告成!!!

【破解总结】
好了写到这里,没什么技术含量..诸位大侠见笑了...

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 288
活跃值: (415)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
2
貌似是UPX的变型
2006-1-23 22:53
0
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
貌似双层。。。
2006-1-23 23:30
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
鼓励一下

EP处是一段解码,对第2层解码,就是每个dword前3个字节异或0X17C649
007221C5    E8 00000000        call 007221CA
007221CA    59                 pop ecx
007221CB    83C1 07            add ecx,7
007221CE    51                 push ecx
007221CF    C3                 retn
007221D0    C3                 retn
007221D1    B8 30207200        mov eax,722030
007221D6    50                 push eax
007221D7    B9 78000000        mov ecx,78
007221DC    8130 49C61700      xor dword ptr ds:[eax],17C649
007221E2    83C0 04            add eax,4
007221E5    83E9 03            sub ecx,3
007221E8    E2 F2              loopd short 007221DC
007221EA    EB E4              jmp short 007221D0

00722030开始里面就是UPX了
00722030    60                 pushad
00722031    BE 00B06400        mov esi,64B000
00722036    8DBE 0060DBFF      lea edi,dword ptr ds:[esi+FFDB6000]
0072203C    57                 push edi
0072203D    83CD FF            or ebp,FFFFFFFF
00722040    EB 10              jmp short 00722052
2006-1-23 23:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nsd
5
fly分析的精辟!
2006-1-24 16:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
真是一群高人啊
2006-1-24 17:44
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
不容易,呵呵。
2006-1-24 20:38
0
游客
登录 | 注册 方可回帖
返回
//