编写QQ外挂插件的原理和方法
日期:2007年11月6日 作者: 查看:[大字体 中字体 小字体]-
前一段时间研究了下QQ目前各种外挂的机理,包括著名的coralQQ。鉴于目前网上关于这方面的文章少之又少,一般能找到的应该就这下面3篇(由于可能涉及版权问题,我链接就不给出了:
a.木子版显IPQQ的制作教程
b.关于QQ外挂DLL的加载原理的分析
c.明日帝国(sunwangme)写的我是这样来做破解qq,做QQ外挂的系列
在开始我的分析前我简要对上面这些资料作下评价,首先我觉得如果你也想写个类似的外挂插件,他们的文章你是必看的,而且特别是你想真的写出什么有用的东西的话,明日帝国得文章一定要看,而且必须看懂。对于木子版的教程应该说是最早“公开”的资料了,很多人都是看了这个教程开始写自己的外挂的。但是他通过直接修改QQ来做显IP补丁,可能引起的法律问题不说(如果你只是自娱自乐的话),他不能适应不同版本的QQ,而且用户也不太能接受直接的修改,而且教程已经不能直接用于目前版本的QQ了。
第二个教程是做外挂DLL插件必看的,但是他丝毫没涉及显示IP的问题,只是简单介绍了DLL注入的问题,并对win9x环境下手动加载dll到进程空间作了分析。但是目前win9x已逐渐退出舞台,所以一般只要使用CreateRemoteThread即可。
第一部分:
1.1 主流的外挂插件如何获取IP和其他信息的?
也许你会认为他拦截了底层的Socket通讯?当然不至于,但这样肯定是最有效的办法。
让我们换个思路:如果你现在需要和一个QQ好友传输文件或者进行语音聊天或者发送了图片或自定义表情。那么QQ必须知道对方的IP地址和端口信息,这样才能把数据传给对方。
所以,很有可能QQ内部已经实现了获取IP地址和其他信息的相关函数了。的确如此。这也是木子版QQ教程里面提到的办法,调用QQ内部的函数。
下面是截至QQ组件之一的CQQApplication.dll中的汇编代码:(建议先浏览木子版QQ的教程)
027832C7 8B45 F0 mov eax,dWord ptr ss:[ebp-10]
027832CA 53 push ebx
027832CB 68 38558302 push CQQAppli.02835538 ; ASCII dwIP
027832D0 50 push eax
027832D1 8B08 mov ecx,dword ptr ds:[eax]
027832D3 FF51 18 call dword ptr ds:[ecx+18]
027832D6 8B45 F0 mov eax,dword ptr ss:[ebp-10]
027832D9 53 push ebx
027832DA 68 40558302 push CQQAppli.02835540 ; ASCII wPort
027832DF 50 push eax
027832E0 8B08 mov ecx,dword ptr ds:[eax]
027832E2 FF51 14 call dword ptr ds:[ecx+14]
CQQApplication.dll通俗来说就是负责显示和实现QQ聊天窗口的模块。就是那些和xxx聊天中的窗口,所以这就是为什么要在其中寻找这样的代码的依据。
从上面的汇编来看,显然是调用了2个thiscall规范的函数,也就是我们所说的C++类成员函数。
2个成员函数的的大致形式是this->Func(void *ptr1,char *cmd,DWORD *ptr2);其中cmd就是上面dwIP、wPort这些字符串,而ptr2也很容易知道是函数返回值得存储指针。现在关键是要获取this指针,也就是ecx寄存器的数据和ptr1这个神秘指针的数据。
如果你有兴趣反汇编CoralQQ中相关的代码,也会发现与上面类似的调用部分。 - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
-
- 编写QQ外挂插件的原理和方法 相关文章:
- ·Java编写的计算器程序及源代码(1)
- ·C#编写的windows计算器-源代码
- ·Windows下C语言网络编程快速入门
- ·VBA编程简化Excel操作的两个实例
- ·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
- ·Windows编程基础 - 概述
- ·深入浅出.NET泛型编程
- ·WINDOWS编程基础
- ·linux内核编译详解
- ·剪辑数字影像 影像编辑软件大荟萃
- 编写QQ外挂插件的原理和方法 相关软件
- ·C语言编程宝典之一
- ·《雅奇MIS》可视化自动编程系统 V10.0
- ·MathType 数学公式编辑器 V5.2 汉化版
- ·delphi编程手册 V3.0
- ·Lrc歌词编辑器2006 V12.26
- ·Autop+线切割编程系统 V4.47
- ·vc-mfc编程实例
- ·姑妄言汇编
- ·ICO图标提取编辑专家 V4.7
- ·JP-Word简谱编辑 V3.0
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:使用BHO定制你的IE浏览器
下一篇:病毒编程技术之恶意代码的亲密接触
精品推荐
热点TOP10
- ·UML业务建模实例分析
- ·GIF文件格式
- ·代码静态分析工具PC-LINT安装配置
- ·游戏外挂设计技术探讨
- ·开发WDM型的USB设备驱动程序
- ·设计模式探索系列之Bridge模式
- ·LZW压缩算法简介
- ·逆向思维 《魔兽世界》封包分析
- ·Solaris 10 安装及SVC管理及X及Vmware及其它可能遇到的一些问题
- ·1.2 什么是数据挖掘
- ·编写QQ外挂插件的原理和方法
- ·Spring让LOB数据操作变得简单易行
- ·利用API在Windows下创建进程和线程
- ·使用BHO定制你的IE浏览器
- ·在内存中修改数据的网游外挂
- ·正则表达式从入门到精通
- ·电子商务与中小企业竞争战略
- ·网络监听技术概览
- ·原始套接字透析之实现Ping
- ·程序语言效率比较
