首页
社区
课程
招聘
[原创]简单手脱未知壳 - 菜鸟文章,大侠跳过
发表于: 2006-12-5 13:44 5778

[原创]简单手脱未知壳 - 菜鸟文章,大侠跳过

2006-12-5 13:44
5778
【文章标题】: 简单手脱未知壳 - 菜鸟文章,大侠跳过
【文章作者】: A-new
【作者主页】: http://my.comvan.com
【作者QQ号】: 83540302
【软件名称】: Poison Ivy 2.1.2.exe
【软件大小】: 1.69M
【下载地址】: 自己搜索下载
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OllyICE,LordPE,Import REC
【操作平台】: XP
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  1.OD载入,停留在 005B7060
  
  005B7060 >  60              pushad
  005B7061    E8 00000000     call    Poison_I.005B7066
  005B7066    5D              pop     ebp
  005B7067    81ED 725B4000   sub     ebp, Poison_I.00405B72
  005B706D    64:A1 30000000  mov     eax, fs:[30]
  005B7073    0FB640 02       movzx   eax, byte ptr [eax+2]
  005B7077    0AC0            or      al, al
  005B7079    74 04           je      short Poison_I.005B707F
  005B707B    33C0            xor     eax, eax
  005B707D    8700            xchg    [eax], eax
  
  然后一直F8,注意不要回调,直到 005B764C
  
  005B7636    8339 00         cmp     dword ptr [ecx], 0
  005B7639  ^ 0F85 34FFFFFF   jnz     Poison_I.005B7573
  005B763F    83C6 0C         add     esi, 0C
  005B7642    837E 04 00      cmp     dword ptr [esi+4], 0
  005B7646  ^ 0F85 B4FEFFFF   jnz     Poison_I.005B7500
  005B764C    33C0            xor     eax, eax    ----------------→这里哦
  005B764E    40              inc     eax
  005B764F    83F8 01         cmp     eax, 1
  005B7652    74 02           je      short Poison_I.005B7656
  005B7654    61              popad
  
  alt+M打开内存镜像,在 00401000 处F2,下断点,F9,
  然后shift+F9,吼吼,看到了我们熟悉的Delphi入口点代码
  
  00525DE8    55              push    ebp ----------------→shift+F9后就到了这里,传说中的OEP
  00525DE9    8BEC            mov     ebp, esp
  00525DEB    83C4 F0         add     esp, -10
  00525DEE    B8 A85A5200     mov     eax, Poison_I.00525AA8
  00525DF3    E8 800DEEFF     call    Poison_I.00406B78
  00525DF8    A1 04AB5200     mov     eax, [52AB04]
  00525DFD    8B00            mov     eax, [eax]
  
  2.dump
  
  打开LordPE选择进程,首先修正镜像大小,然后在完整转存(不修正dump下来的有问题)。
  
  3.修复IAT
  
  打开Import REC选择进程 → OEP处填 125DE8 → IAT AutoSearth → Get Imports → Show Invalid
    → 右键Trave Level1 (Disasm) → Fix dump
  
  呵呵,大功告成!
  
  
  
  
  
--------------------------------------------------------------------------------
【经验总结】
  真是菜啊,这么简单个壳,偶搞了一中午。
  
  偶有时候脱壳修复的时候Import REC自动找不到IAT,
  不会手工修复IAT,哪位大哥有手工修复IAT,给个链接,谢了 ^_^
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2006年12月05日 13:43:10

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
未知壳?怎么象aspack呀
2006-12-5 14:42
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
3
未知压缩壳

手动修复IAT=分析IAT加密代码,在IAT下内存断点就能快速定位加密代码段了
2006-12-5 17:17
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼上的说的那么深奥。。。不懂。。。
2006-12-5 23:13
0
雪    币: 4441
活跃值: (805)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
alt+M打开内存镜像,在 00401000 处F2,下断点,F9
00401000 是怎么找到的?
2006-12-7 11:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
什么时候用上面的
alt+M打开内存镜像,在 00401000 处F2,下断点,F9
00401000 是怎么找到的?

是在那语具后找。。。

新人不要见笑

谢谢
2006-12-9 06:14
0
雪    币: 154
活跃值: (546)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
内存镜像里可以直接看到Code段 00401000 啊
2006-12-9 09:49
0
雪    币: 154
活跃值: (546)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 skylly 发布
未知壳?怎么象aspack呀

今天下了个超大的PEiD.Sign 查一下还真的是aspack

ASPack 1.02b or 1.08.03 *
2006-12-10 16:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
手动修复我好像在PYG上看到过
2006-12-16 19:02
0
游客
登录 | 注册 方可回帖
返回
//