首页 | 新闻资讯 | 软件应用 | 图形图像 | 网络应用 | 硬件学堂 | 程序开发 | 安全中心 | 素材下载 | 作者专区 | 学院论坛
精选专题 | 精美壁纸 | 专家答疑 | 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外挂 
您对这篇文章的看法是:    喜欢 反感 支持 反对 加油 鄙视 学习 打击 佩服 漂亮 路过 发表评论
视频教程】 【专题汇总】 【不懂就问我关闭窗口

QQ音乐播放器2009正式版今天发布!
《铁拳:暗黑复苏》游戏精美壁纸
用Photoshop打造经典免战公益海报
泰国Taechit经典平面设计作品欣赏
十二问让你全面了解跨站脚本攻击
 本栏目最新文章
·最新免费QQ空间花匠代码集合
·五款QQ空间免费装扮挂件代码
·最新整理可用QQ空间免费物品代码
·通通透透玩转QQ空间背景样式大全
·自己动手制作腾讯QQ空间个性头像
 精彩回放
·3DSMAX打造书本翻开效果
·共享上网技巧应用四则
·陪酒女浸泡在酒里的青春
·美女的性感靓丽婚纱设计
·妖冶身姿 死或生3壁纸
·剿灭Win XP下的29个烦恼
·黑客必备 NET命令大全
·用PS制作精致绝伦的红酒
 精彩推荐
 今日软件下载
杀毒软件免费随便用
瑞星全功能安全软件2009 基于“云安全”策略和“智能主动防御”技术开发.
www.rising.com.cn
 往日推荐
·推荐“美图秀秀”就能赚Q币
·五大搜索引擎横向评测
·防御计算机病毒十大步骤

论坛精华
·眼泪、五官、闪电、 
·photoshop完美扣图教 
·PhotoShop实例精选电 
·精灵女孩白夜 
·Photoshop给多斑的人 
·Photoshop将美女照片 
热点推荐
绘制逼真金蛋
浪漫婚纱照片
Flash视频编程
Ulead GIF教程
热点关注
·Flash CS4 制作经典小游戏
·C语言程序设计视频教程
·PHP+MYSQL开发视频教程
·Flash CS4从入门到精通教程
·服装设计与效果图绘制教程
·21视频之Fireworks8网页制作
·Vray高级实例应用视频教程
·CorelDRAW14入门到高级教程
·Vray高级实例应用视频教程
全国计算机等级考试二级(VB语言)
往日推荐
网站重构设计
鹏哥C#教程
服装设计教程
PS唯美风景
焦点关注