首页
社区
课程
招聘
[分享]UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay]脱壳
2010-6-24 09:22 12628

[分享]UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay]脱壳

2010-6-24 09:22
12628
【文章标题】: UrlPaster 脱壳
【文章作者】: crker
【作者邮箱】: crker@qq.com
【作者主页】: http://627697523.qzone.qq.com/
【作者QQ号】: 627697523
【软件名称】: Url_a_t_r v2.1
【软件大小】: 780KB
【下载地址】: 自己搜索下载
【加壳方式】: UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay]
【保护方式】: 重启注册验证
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: OllyICE
【操作平台】: WinXP
【软件介绍】: UrlPaster是专为保存网址(收藏网址)设计的书签工具.
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  首先对Overlay解析一下,Overlay是附加数据的意识。
  看雪大哥指导的stasi转载的文章《浅谈脱壳中的附加数据问题(overlay)》
  http://www.pediy.com/bbshtml/BBS6/pediy6923.htm
  
  
  下面是脱壳过程,首先是经典的ESP定律来脱UPX壳,
  
  用OD载入:
  00580CC0 >  60              pushad                                   ; 点F8一次
  00580CC1    BE 00104F00     mov     esi, 004F1000                    ; 这里下HR ESP( hr 0012FFA4),然后F9
  00580CC6    8DBE 0000F1FF   lea     edi, dword ptr [esi+FFF10000]
  00580CCC    57              push    edi
  00580CCD    83CD FF         or      ebp, FFFFFFFF
  00580CD0    EB 10           jmp     short 00580CE2
  00580CD2    90              nop
  00580CD3    90              nop
  00580CD4    90              nop
  00580CD5    90              nop
  00580CD6    90              nop
  00580CD7    90              nop
  00580CD8    8A06            mov     al, byte ptr [esi]
  .....................................................................
  00580E65    58              pop     eax
  00580E66    61              popad
  00580E67    8D4424 80       lea     eax, dword ptr [esp-80]          ; 停在这里
  00580E6B    6A 00           push    0                                ; //这是个循环
  00580E6D    39C4            cmp     esp, eax                         ; //
  00580E6F  ^ 75 FA           jnz     short 00580E6B                   ; //
  00580E71    83EC 80         sub     esp, -80                         ; 用鼠标点下这里,按F4,程序会运行到这里
  00580E74  - E9 6993F0FF     jmp     0048A1E2                         ; F8一下,到达OEP
  ......................................................................
  0048A1E2    55              push    ebp                              ; OEP,可以直接dump下来,查壳可以看出是vc6写的
  0048A1E3    8BEC            mov     ebp, esp                         ; 一看就知道是vc的程序头
  0048A1E5    6A FF           push    -1
  0048A1E7    68 50AE4E00     push    004EAE50
  0048A1EC    68 F0EE4800     push    0048EEF0
  0048A1F1    64:A1 00000000  mov     eax, dword ptr fs:[0]
  0048A1F7    50              push    eax
  0048A1F8    64:8925 0000000>mov     dword ptr fs:[0], esp
  0048A1FF    83EC 58         sub     esp, 58
  0048A202    53              push    ebx
  0048A203    56              push    esi
  0048A204    57              push    edi
  0048A205    8965 E8         mov     dword ptr [ebp-18], esp
  0048A208    FF15 24A44D00   call    dword ptr [4DA424]               ; kernel32.GetVersion
  0048A20E    33D2            xor     edx, edx
  0048A210    8AD4            mov     dl, ah
  0048A212    8915 74245100   mov     dword ptr [512474], edx
  =====================================================================
  
  这个程序是UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay],有附加数据,
  在OEP位置dump下来,程序不能运行。现在开始修复附加数据。
  
  用PEID查看区段只有UPX0、UPX1、.rsrc三个段,我们使用Stud_PE,因为它会把附加数据单独列出来,避免新手去计算。
  用Stud_PE打开加壳程序,可以看到UPX0、UPX1、.rsrc、ExtraDat四个段,其中ExtraDat,RS=100,RA=C3200
  查看附加数据段ExtraDat,可以看到有0x100的附加数据,复制附加数据。
  
  现在用Stud_PE打开dump下来的程序,可以看到UPX0、UPX1、.rsrc、.tdata2四个段,修改.idata2段的RS=2C00为2B00,
  现在可以看到UPX0、UPX1、.rsrc、.tdata2、ExtraDat五个段,查看附加数据段ExtraDat,把刚才复制的数据,粘贴到
  改数据段,保存文件。
  
  现在可以运行该程序,一切正常。OK!脱壳完毕。
  
--------------------------------------------------------------------------------
【经验总结】
  多学习前辈的经验,例如《浅谈脱壳中的附加数据问题(overlay)》就是很好的总结性知识。多多动手,动手过程中,你
  可以学到很多你看文章无法体会到的经验。
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2010年06月24日 9:28:33

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我就是wo 2010-6-25 15:41
2
0
不是有现成的Overlay修补程序吗?
雪    币: 127
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ddao 2010-7-4 10:09
3
0
接下来想研究它的注册算法,怕作者有意见,就不公开贴出来了。

存3组数据备用
00+00->+2E=2E
01+2E->+23=52
=================================================
0012F9DC  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  ... ..
0012F9EC  10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F  
0012F9FC  20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F   !"#$%&'()*+,-./
0012FA0C  30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F  0123456789:;<=>?
0012FA1C  40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F  @ABCDEFGHIJKLMNO
0012FA2C  50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F  PQRSTUVWXYZ[\]^_
0012FA3C  60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F  `abcdefghijklmno
0012FA4C  70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F  pqrstuvwxyz{|}~
0012FA5C  80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F  €亗儎厗噲墛媽崕
0012FA6C  90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F  悜挀敃枟槞殯湞灍
0012FA7C  A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF  牎ⅲぅΗī
0012FA8C  B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF  氨渤吹斗腹夯冀究
0012FA9C  C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF  懒旅呐魄壬仕掏蜗
0012FAAC  D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF  醒矣哉肿刭谯茌捱
0012FABC  E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF  噌忏溴骁栝觌祉铒
0012FACC  F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF  瘃蝮趱鲼?

=================================================
0012FAE0  2E 23 40 41 3F 79 25 28 7A 21 2E 2E 65 6B 2B 24  .#@A?y%(z!..ek+$
0012FAF0  2E 2E 2E 2E 23 40 41 3F 79 25 28 7A 21 2E 2E 65  ....#@A?y%(z!..e
0012FB00  6B 2B 24 2E 2E 2E 2E 23 40 41 3F 79 25 28 7A 21  k+$....#@A?y%(z!
0012FB10  2E 2E 65 6B 2B 24 2E 2E 2E 2E 23 40 41 3F 79 25  ..ek+$....#@A?y%
0012FB20  28 7A 21 2E 2E 65 6B 2B 24 2E 2E 2E 2E 23 40 41  (z!..ek+$....#@A
0012FB30  3F 79 25 28 7A 21 2E 2E 65 6B 2B 24 2E 2E 2E 2E  ?y%(z!..ek+$....
0012FB40  23 40 41 3F 79 25 28 7A 21 2E 2E 65 6B 2B 24 2E  #@A?y%(z!..ek+$.
0012FB50  2E 2E 2E 23 40 41 3F 79 25 28 7A 21 2E 2E 65 6B  ...#@A?y%(z!..ek
0012FB60  2B 24 2E 2E 2E 2E 23 40 41 3F 79 25 28 7A 21 2E  +$....#@A?y%(z!.
0012FB70  2E 65 6B 2B 24 2E 2E 2E 2E 23 40 41 3F 79 25 28  .ek+$....#@A?y%(
0012FB80  7A 21 2E 2E 65 6B 2B 24 2E 2E 2E 2E 23 40 41 3F  z!..ek+$....#@A?
0012FB90  79 25 28 7A 21 2E 2E 65 6B 2B 24 2E 2E 2E 2E 23  y%(z!..ek+$....#
0012FBA0  40 41 3F 79 25 28 7A 21 2E 2E 65 6B 2B 24 2E 2E  @A?y%(z!..ek+$..
0012FBB0  2E 2E 23 40 41 3F 79 25 28 7A 21 2E 2E 65 6B 2B  ..#@A?y%(z!..ek+
0012FBC0  24 2E 2E 2E 2E 23 40 41 3F 79 25 28 7A 21 2E 2E  $....#@A?y%(z!..
0012FBD0  65 6B 2B 24 2E 2E 2E 2E 23 40 41 3F 79 25 28 7A  ek+$....#@A?y%(z

=================================================
0012F9DC  12 52 2A DF 1B 80 C4 E0 75 A4 CA E5 5B F9 32 42  R*?€泥uな錥?B
0012F9EC  45 DD A7 5E 9B E8 68 70 7A A5 8C 26 3D 3A EF FC  E荮^涜hpz&=:稂
0012F9FC  16 8B 2C 3B 6F 86 B8 F1 3F 02 37 D1 C6 51 B2 96  ?;o喐?7哑Q矕
0012FA0C  89 FB 6E 8A 5C B5 1F 7E 9A 4B 64 E1 A0 63 29 5A  夳n奬?~欿d釥c)Z
0012FA1C  CB FE 83 F4 56 92 4C FD 91 41 60 08 C1 B6 19 D4  塔凈V扡龖A`炼
0012FA2C  1C 74 40 7C B1 AF 72 C9 23 54 8D B3 7B 85 A9 C7  t@|悲r?T嵆{叐
0012FA3C  4F EB BE A3 FA 22 AC AE 24 AD 9E 71 EC 84 61 D0  O刖z"$瓰q靹a
0012FA4C  97 44 58 98 D5 CC BD F8 69 33 28 B4 E3 62 B0 95  桪X樥探鴌3(淬b皶
0012FA5C  BF F5 48 30 AA 0D 03 07 49 78 47 A2 17 9C 94 6D  旷H0?IxG?湐m
0012FA6C  53 09 6A D8 06 DE 3E E9 66 9D E4 7F 65 1A 57 B9  S.j??閒濅eW
0012FA7C  EE BB C8 76 9F 36 15 35 50 43 31 C3 5F C5 18 C0  罨葀?5PC1胈?
0012FA8C  20 0F 3C 04 F7 39 14 82 BA DA F6 ED 01 D2 8E 99   <?偤邛?規
0012FA9C  E7 DC 79 D6 FF 0C 90 CF 2B DB D7 A1 1D 93 2F 4D  畿y?.愊+圩??M
0012FAAC  D3 55 2E C2 59 27 88 F2 0B 6C 67 4E 13 2D 8F CD  覷.耏'堯 lgN-復
0012FABC  F3 25 AB 4A 5D A6 10 00 6B A8 E6 46 87 77 BC D9  ?獼]?.kㄦF噖假
0012FACC  21 7D 0E B7 05 1E 81 0A CE EA 34 38 73 E2 11 F0  !}??侮48s?

前8字节:00B62F80  11 00 00 00 00 00 00 00 BB D3 08 8A F2 67 AF 6D  .......挥婒g痬
雪    币: 127
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ddao 2010-7-4 10:46
4
0
能给个链接么?
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lzpmyth 2010-12-23 13:09
5
0
谢谢分享,
游客
登录 | 注册 方可回帖
返回