首页 | 新闻资讯 | 软件应用 | 图形图像 | 网络应用 | 硬件学堂 | 程序开发 | 安全中心 | 素材下载 | 作者专区 | 学院论坛
精选专题 | 精美壁纸 | 专家答疑 | Flash剧场 | Photoshop | 名词解释 | 梦幻桌面 | PS高手进阶 | QQ区 | 图书 | 黑客教材
Flash教程| 卡通制作 | AutoCAD | 3DMax实例 | PS视频教程| 网页制作 | CorelDRAW| Firework | 滤镜与实例 | 全部视频教程
当前位置:eNet硅谷动力 > 学院频道 > QQ聊天

腾讯QQ珊瑚虫外挂原理分析
2005-06-23 08:08 作者:华夏黑客同盟 来源:eNet论坛
【简 介】
由于win nt 平台和win9x 的差异,珊瑚虫外挂因系统的不同而分开两种工作原理.
    
加入收藏  设为首页

分析工具: softice , OD
我的操作系统: win 2000 sp4 , win 98
分析对象: QQ2005贺岁版 珊瑚虫外挂

为了方便分析,我先把CoralQQ.dll和coralqq.exe先脱壳,这两个文件加的都是超弱壳,脱壳过程不在这里多说.

由于win nt 平台和win9x 的差异,珊瑚虫外挂因系统的不同而分开两种工作原理.

我们都知道,珊瑚外挂是给QQ的主程序QQ.exe外挂了一个Coralqq.dll,而完成这个工作的就是coralqq.exe .要加载一个dll文件必须是qq.exe自己的某个线程执行LoadLibraryA,并且以coralqq.dll为参数,但qq.exe本来根本没有这样的一段代码,怎么办?答案很简单,既然它没有,那就让我们帮它加上去,coralqq.exe就是利用WriteProcessMemory帮QQ.exe加上了这样一段代码,并且改变程序流程,让qq.exe先加载coralqq.dll再跳到原来的oep执行.

想了一下,比较合理的方法有:

1.在nt内核的系统上,利用远程线程的方法,首先用CreateProcess创建QQ.exe的进程,同时创建了主线程,再用VirtualAllocEx在qq.exe中申请一块内存,然后把我们的代码写进去,最后用CreateRemoteThread在qq的进程中创建另外一个线程,其开始执行的地方正是我们自己加入的代码首地址.

2.先用CreateProcess创建QQ进程和主线程,在QQ的内存空间中找个合理的地方写入我们的代码,然后修改某个地方(例如OEP)使QQ先跳去执行我们写入的代码,加载coralqq.dll,修复原来改过的oep,然后跳回oep让程序正常执行.

下面就让我们分析一下珊瑚虫的外挂是怎样做到的,首先分析nt平台上的运行过程.

用OD载入脱壳后的coralqq.exe,停在下面:
00418E2C >/$ 55 push ebp
00418E2D  . 8BEC mov ebp,esp
00418E2F  . 83C4 F0 add esp,-10
00418E32  . B8 648D4100 mov eax,CoralQQ.00418D64
00418E37  . E8 A4BAFEFF call CoralQQ.004048E0
00418E3C  . A1 F49D4100 mov eax,dword ptr ds:[419DF4]
00418E41  . 33D2 xor edx,edx
00418E43  . E8 30F4FFFF call CoralQQ.00418278
00418E48  . A1 F49D4100 mov eax,dword ptr ds:[419DF4]
00418E4D  . 8B00 mov eax,dword ptr ds:[eax]
00418E4F  . 83C0 18 add eax,18
00418E52  . E8 F9C6FEFF call CoralQQ.00405550
00418E57  . E8 08A9FEFF call CoralQQ.00403764

然后下断点: bp CreateRemoteThread ,然后运行,结果发现,OD根本没有断下,证明珊瑚虫的外挂没有使用远程线程的方法,难道它是用了第二种方法?我们再验证一下:首先在OD中bp CreateProcess,断下,反回后,用winhex打开QQ.exe的内存,把QQ.exe的OEP处改为CC,接着在softice中 bpint 3 ,在OD中按F9运行,接着就是中断在softice中,把oep(464b58)处还原,在再softice下 bpm 464b58 ,然后结束程序,再运行coralqq.exe发现自始至终那个bpm断点还是没有断下,证明珊瑚虫外挂在2000下也没有修改QQ.exe的oep来改变程序流程,晕.没办法,只好在OD中下WriteProcessMemory断点,看看它究竟修改了哪里.

00231012 57 push edi
00231013 8B4424 24 mov eax,dword ptr ss:[esp+24]
00231017 A3 70302300 mov dword ptr ds:[233070],eax
0023101C 8305 70302300 04 add dword ptr ds:[233070],4
00231023 E8 5C000000 call ;创建QQ的进程
上面创建后的QQ主线程是暂停的,不会马上执行,在win9x下也是这样.

第一次中断时堆栈显示:
0012EBDC 0040C75C /CALL 到 WriteProcessMemory 来自 CoralQQ.0040C756
0012EBE0 00000018  hProcess = 00000018
0012EBE4 5F000000  Address = 5F000000
0012EBE8 00CC0F44  Buffer = 00CC0F44
0012EBEC 000000D2  BytesToWrite = D2 (210.)
0012EBF0 0012EC68 \pBytesWritten = 0012EC68

第二次:
0012EC70 00416231 /CALL 到 WriteProcessMemory 来自 CoralQQ.0041622C
0012EC74 00000018  hProcess = 00000018
0012EC78 5F010000  Address = 5F010000
0012EC7C 0012EE9F  Buffer = 0012EE9F
0012EC80 00000025  BytesToWrite = 25 (37.)
0012EC84 0012EFD0 \pBytesWritten = 0012EFD0

第三次:
0012EC70 004162CB /CALL 到 WriteProcessMemory 来自 CoralQQ.004162C6
0012EC74 00000018  hProcess = 00000018
0012EC78 77F84BC0  Address = 77F84BC0
0012EC7C 0012EFC3  Buffer = 0012EFC3
0012EC80 00000005  BytesToWrite = 5
0012EC84 0012EFD0 \pBytesWritten = 0012EFD0

第四次:
0012EC70 0041632B /CALL 到 WriteProcessMemory 来自 CoralQQ.00416326
0012EC74 00000018  hProcess = 00000018
0012EC78 5F010025  Address = 5F010025
0012EC7C 0012EC96  Buffer = 0012EC96
0012EC80 00000208  BytesToWrite = 208 (520.)
0012EC84 0012EFD0 \pBytesWritten = 0012EFD0

第五次:
0012EC70 0041634B /CALL 到 WriteProcessMemory 来自 CoralQQ.00416346
0012EC74 00000018  hProcess = 00000018
0012EC78 5F010000  Address = 5F010000
0012EC7C 0012EE9F  Buffer = 0012EE9F
0012EC80 00000025  BytesToWrite = 25 (37.)
0012EC84 0012EFD0 \pBytesWritten = 0012EFD0


热门推荐: 网络硬盘数据保护及还原精灵实战 保护隐私 给你的计算机加把锁

[1] [2] [3] [4]下一页
关键字: 腾讯QQ  QQ  珊瑚虫外挂  珊瑚虫外挂  安全  QQ外挂 
您对这篇文章的看法是:    喜欢 反感 支持 反对 加油 鄙视 学习 打击 佩服 漂亮 路过 发表评论
1.您是否愿意通过eNet在线报名的方式,参加培训机构的培训?
是 
2.通过硅谷动力报名,您希望得到哪些优惠?
学费打折 赠送课时
3.报名后,您更愿意将培训费用:
通过eNet转交培训机构
直接交给培训机构
4.您在选择培训机构时,更注重:
培训机构名气  培训费用
5.您的年龄范围:
15~18岁  19~22岁
23岁以上
视频教程】 【专题汇总】 【不懂就问我关闭窗口

Photoshop打造漂亮自然的光影壁纸
妖娆身段 Giorgio 08秋冬女装设计
Google Chrome浏览器试用手记(下)
谨防邻居入侵 修改无线路由器设置
四浏览器 火狐最优谷歌次之IE最差
焦点文章
 本栏目最新文章
·巧妙查出QQ好友是否把你踢掉的方法
·装扮身份证 突破QQ空间Flash限制
·恢复(找回)刚刚被删除QQ好友的方法
·菜鸟也玩QQ空间 自定义QQ空间模块
·惊喜 九月免费得Q币得QQ钻石的活动
 精彩回放
·3DSMAX打造书本翻开效果
·共享上网技巧应用四则
·陪酒女浸泡在酒里的青春
·美女的性感靓丽婚纱设计
·妖冶身姿 死或生3壁纸
·剿灭Win XP下的29个烦恼
·黑客必备 NET命令大全
·用PS制作精致绝伦的红酒
 精彩推荐
 今日软件下载
·企业级即时通信平台 腾讯通RTX
·极品时刻表含春运临时列车数据
·下载管理器 BitComet 比特彗星
·边下边看想看就看风行网络电影
·超级图文影音转换器 Konvertor
 往日推荐
·手工破解网吧多种限制
·Windows 网络管理技巧
·WMP 10使用技巧三则
·女孩问你帅不帅 要小心
·注册表优化XP 20招
·制作XP万能ghost光盘
·WMP10火拼DVD播放器
·街头霸王图片集中营
·五大搜索引擎横向评测
·防御计算机病毒十大步骤

论坛精华
·国外高手的调色合成 
·Photoshop CS3打造迷 
·PS初学者十三课,献给 
·原创:本人默哀作品 
·使用 Photoshop 制作 
·flash利用按钮制作鼠 
热点推荐
打造绚丽北极光
麻辣动态签名
Flash视频编程
章子怡月历桌面
热点关注
·SEO从入门到精通视频教程
·Photoshop数码照片处理案例
·3DSMAX室内渲染实例视频教程
·鹏哥特色教程之C#入门到精通
·Dreamwaver CS3 视频教程
·JAVA-J2ME移动开发实战教学
·爱淘课Word2007精品视频教程
·瑞星杀毒08套装免费1年
·瑞星卡卡上网助手 正版免费
Photoshop打造乒乓球男团胜利瞬间
往日推荐
打造火焰文字
鹏哥C#教程
美女怀旧照片
3D室内渲染
焦点关注