首页
社区
课程
招聘
脱QQ珊瑚虫外挂的壳的过程以及一点疑问
发表于: 2005-10-12 20:11 4246

脱QQ珊瑚虫外挂的壳的过程以及一点疑问

2005-10-12 20:11
4246
脱QQ珊瑚虫外挂的壳

                  (脱完壳的感觉真好,总感觉自己的脱壳水平没什么进展)

    壳是PECompact 2.x -> Jeremy Collake   我也不知道算不算强壳(老实说,我都能脱,应该强度不是很大吧)
     用OD载入

00401000 C>  B8 14F44200     mov eax,CQQCfg.0042F414
00401005     50              push eax
00401006     64:FF35 0000000>push dword ptr fs:[0]
0040100D     64:8925 0000000>mov dword ptr fs:[0],esp
00401014     33C0            xor eax,eax
00401016     8908            mov dword ptr ds:[eax],ecx
00401018     50              push eax

F8跳到00401016     8908            mov dword ptr ds:[eax],ecx  就出现异常了
shift+f8跳过
来到

77F5109C     8B1C24          mov ebx,dword ptr ss:[esp]
77F5109F     51              push ecx
77F510A0     53              push ebx
77F510A1     E8 BD060100     call ntdll.77F61763
77F510A6     0AC0            or al,al
77F510A8     74 0C           je short ntdll.77F510B6
77F510AA     5B              pop ebx
77F510AB     59              pop ecx
77F510AC     6A 00           push 0
77F510AE     51              push ecx
77F510AF     E8 FFD40200     call ntdll.ZwContinue

继续F8到  77F510AF     E8 FFD40200     call ntdll.ZwContinue

就不动了,郁闷,重新载入,到77F510AF时F7跟进去
到了
77F7E5B3 n>  B8 20000000     mov eax,20
77F7E5B8     BA 0003FE7F     mov edx,7FFE0300
77F7E5BD     FFD2            call edx

这时,到  77F7E5BD,F7跟进

然后  
7FFE0300     8BD4            mov edx,esp
7FFE0302     0F34            sysenter
7FFE0304     C3              retn
7FFE0305     9C              pushfd
7FFE0306     810C24 00010000 or dword ptr ss:[esp],100
7FFE030D     9D              popfd
7FFE030E     C3              retn
7FFE030F     8BD4            mov edx,esp
7FFE0311     0F05            syscall
7FFE0313     C3              retn
7FFE0314     90              nop
7FFE0315     9C              pushfd
7FFE0316     810C24 00010000 or dword ptr ss:[esp],100
7FFE031D     9D              popfd
7FFE031E     C3              retn

一直F8,来到  0042F4E1   - FFE0  jmp eax
最后一下F8
来到OEP
然后DUMP出来就可以了
修复下
PEID显示  Borland Delphi 6.0 - 7.0
OK,就完成了

脱完壳,还想请教个问题
OD中shift+f7和shift+f8有什么区别啊~~~~
                     谢谢哦

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
Shift+F7 - 与F7相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步入被调试程序指定的异常处理
Shift+F8 - 与F8相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步过被调试程序指定的异常处理

多看帮助文件
2005-10-12 20:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
恩~~明白了・・・・・・
惭愧惭愧
谢谢
2005-10-13 18:37
0
游客
登录 | 注册 方可回帖
返回
//