中华网通行证
用户名 密码

腾讯QQ珊瑚虫外挂原理分析(4)
中华网科技 http://tech.china.com 2005-06-23 10:38:15
进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口

  
它把缓冲区 0067eabc的658的字节写进QQ.exe的内存 83138aac处,在win98下,进程内存中的共享(M
MF)分区是0x80000000~0xbfffffff,所有的内存映射文件和系统共享DLL将加载在这个地址,而
那些映射文件和系统共享DLL往往都在比较高的地址,所以说,从80000000地址对上的一大段地址空间
往往是比较"空闲"的,当然,并不是说这些地址就可以乱读乱写,至于这个83138aac的地址值具体是怎样计算出来的,
我还没有分析清楚,但我想到另外一种可行的方法,而且经过我自己编程证实,那就是以1000h大小为单位,从80000000
开始用WriteProcessMemory一直往上写数据,直到写入成功,证明那段1000h的地址可用,而且1000h
大小的内存空间已经够我们放代码的了,之所以用1000h为单位大小,是因为考虑到块对齐.

继续跟踪:
00415A39  . 8D45 F8 lea eax,dword ptr ss:[ebp-8]
00415A3C  . 50 push eax ; /pOldProtect
00415A3D  . 6A 40 push 40 ;  NewProtect = PAGE_EXECUTE_READWRITE
00415A3F  . 57 push edi ;  Size
00415A40  . 56 push esi ;  Address
00415A41  . 53 push ebx ;  hProcess
00415A42  . E8 85F2FEFF call ; VirtualProtectEx

上面的代码是改变QQ.exe的oep处的属性,使其可读可写可执行,为改写oep处的代码做准备

接着,又一次中断在WriteProcessMemory
看看堆栈:
0067EA5C 0000000C  hProcess = 0000000C
0067EA60 00464B58  Address = 464B58
0067EA64 0067EE46  Buffer = 0067EE46
0067EA68 00000005  BytesToWrite = 5
0067EA6C 0067EA7C pBytesWritten = 0067EA7C

464b58就是QQ.exe的OEP,很明显,它要改变oep来改变程序流程!!

好了,我们又用那套方法,把0067eea6的第一个字节改为cc,在softice中bpint 3,然后中断,再
跟踪.
在softice下中断后:
0167:00464B58 E91328CE82 JMP 83147370

0167:83147370 C705584B4600558BEC6AMOV DWORD PTR [00464B58],6AEC8B55 ;马上恢复oep处的代码
0167:8314737A C6055C4B4600FF MOV BYTE PTR [00464B5C],FF
0167:83147381 68FA731483 PUSH 831473FA
0167:83147386 6838000000 PUSH 00000038
0167:8314738B 6A40 PUSH 40
0167:8314738D FF15F6731483 CALL [KERNEL32!GlobalAlloc] ;再申请内存
0167:83147393 C700B85077F7 MOV DWORD PTR [EAX],F77750B8 ;从这里开始一直填入新数据
0167:83147399 C74004BFFFD068 MOV DWORD PTR [EAX+04],68D0FFBF
0167:831473A0 C7400870731483 MOV DWORD PTR [EAX+08],83147370
0167:831473A7 C7400CB89348E9 MOV DWORD PTR [EAX+0C],E94893B8
0167:831473AE C74010BFFFD0B8 MOV DWORD PTR [EAX+10],B8D0FFBF
0167:831473B5 C74014584B4600 MOV DWORD PTR [EAX+14],00464B58
0167:831473BC C74018FFE0C705 MOV DWORD PTR [EAX+18],05C7E0FF
0167:831473C3 C7401C584B4600 MOV DWORD PTR [EAX+1C],00464B58
0167:831473CA C74020558BEC6A MOV DWORD PTR [EAX+20],6AEC8B55
0167:831473D1 C74024C6055C4B MOV DWORD PTR [EAX+24],4B5C05C6
0167:831473D8 C740284600FF68 MOV DWORD PTR [EAX+28],68FF0046
0167:831473DF C7402CFA731483 MOV DWORD PTR [EAX+2C],831473FA
0167:831473E6 C7403068380000 MOV DWORD PTR [EAX+30],00003868
0167:831473ED C74034006A40FF MOV DWORD PTR [EAX+34],FF406A00
0167:831473F4 FFE0 JMP EAX ;此时eax为 0063059C

0167:0063059C B85077F7BF MOV EAX,KERNEL32!LoadLibraryA;加载Coralqq.dll
0167:006305A1 FFD0 CALL EAX
0167:006305A3 6870731483 PUSH 83147370
0167:006305A8 B89348E9BF MOV EAX,COMCTL32!ORD_0049
0167:006305AD FFD0 CALL EAX
0167:006305AF B8584B4600 MOV EAX,00464B58
0167:006305B4 FFE0 JMP EAX ;跳回QQ.exe的入口点

分析完毕.
到了这里,我们可以总结一下了,在win2000/xp下coralqq.exe先创建QQ的进程,同时也就创建了
QQ的暂停的主线程,接着往QQ进程的内存写入代码,修改Ntdll.NtTestAlert的代码跳让程序跳到自己的
代码处执行,在执行的过程中恢复Ntdll.NtTestAlert处被改了的代码,同时加载Coralqq.dll.

首页 上页 | ...1| 2 | 3 | 4 | 5 | 6 | 下页 尾页  共 6

50款最具性价比数码相机/MP3推荐!
作者:华夏黑客同盟 来源: 

发表言论:
笔  名:
查看评论
﹣相关报道
QQ新版新功能:搜索篇 (2005-06-22 09:37:34)
QQ2005重启BUG之十面埋伏 (2005-06-14 11:01:10)
QQ宠物最新喂养指南完全攻略 (2005-06-02 15:50:59)
腾讯移动QQ使用技巧全攻略 (2005-06-02 14:50:11)

﹣精彩回顾
·揭秘越南姑娘的“性契约”(组图)
·中国研制成功银河麒麟操作系统
·近处偷拍野狮性爱 野草丛中见柔情(图)
·难得一见“水下分娩”全程跟拍(组图)
·古代性器具及性惩罚工具(组图)
·揭密中外历史上乱伦的名人们(组图)
·探秘世界各地诡异的干尸新娘(组图)
·隋唐两个王朝的九大著名"绿帽子"(组图)
·另类的惨烈:螳螂血战壁虎谁更凶猛(图)
·一分钟平静死去 注射死刑全过程(图)

进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口

潮流·时尚
·市场上的天价手机全搜罗
·一周降幅最大手机导购
·FM调频收音功能手机选购
·索尼爱立信三新机曝光
·诺基亚N73音乐版精品赏
·热门便携笔记本搜索导购
·近期最新上市机型大盘点
·矩阵Matrix鼠标垫细评测
·19寸20寸22寸液晶该买谁
·近期几款热卖MP3大推荐
·四大即将退市经典MP3选购
·06年最火七大DC缺点曝光
·六百万像素超值机型推荐
·诺基亚推出随身小音箱
·LG直板巧克力KG99评测
·MOTO新机即将国内上市
·超低价蓝牙手机导购
·130万像素一样拍出好照片
·诺基亚两款蓝牙耳机新品
·索爱纯美折叠机Z558评测

软件下载
·豪杰大眼睛 V2.5
·Foxmail V6.5
·天网防火墙Athena
·极品五笔 V6.8
·PPS网络电视
·超级兔子魔法设置
中华网搜索
站内搜索
全网搜索




热门搜索
耳机 印刷 手机 拖鞋
减速机 钟表 成人用品
减肥 枸杞 T恤 升降机
心理 健康 彩票 招聘
礼品 旅游 猎头 培训

产品服务
·机会!机会不容错过
·中华商机,搜索创新
·准确快捷,搜你所搜
·¥来¥往,尽在中华邮
·中华搜索,贴心搜索




科技频道主编信箱