听dj战歌,就上傲气战歌网!2015年传奇家族玩家最喜爱的家族战歌网
战歌推荐:战歌网 战歌网dj Mc战歌网 DJ战歌网下载 激情战歌-冰雪战歌网 客服Q:350317
新闻搜索:

游戏外挂杂谈(一)

作者:     来源:    发表时间:2011-11-26 14:07


谈到外挂,我算是赶了趟末班车。以我来看网络游戏的鼻祖是mud,而外挂的鼻祖是mud中机器人。玩过mud的估计都用过机器人,由于mud是用文字命令的,所以机器人的实现比较简单,而且灵活性比较大,我所说的灵活性是指用户可以根据自己的需要定义自己的机器人,自己定义好后由mud客户端(带机器人功能)自动填写,这样就实现了挂机练级别。
2001年后以传奇为代表的图形网络游戏在大陆开始迅速升温,2001年下半年人们突然发现网络游戏突然成为国内互连网业最另人惊喜的行业,因为网络游戏的收费非常顺利,那些提供了几年的免费新闻免费邮箱的除了广告找不到盈利点的互连网公司找到了救命稻草,2002年开始一波又一波的游戏代理热情一直延续到现在。而也是2001年下半年开始外挂开始出现,一开始主要是免费为主,但到了2002年上半年外挂制作者发现同网络游戏一样除了不能走正规的点卡销售模式外外挂的销售也异常顺利,而与此同时外挂的破解也接踵而至。外挂制作者们逐渐在2002下半年开始了商业运行,有些外挂已经可以看出来并非个人所谓,团体制作模式突显,同时开始出现同业竞争,销售代理机制开始出现。2003年后外挂开始有形成产业的迹象,国家开始重视,有关单位将外挂的发行定性为非法出版物。2003年8月国内最著名的面向程序员的网站csdn开始关注游戏外挂,在9月的开发高手首期中大篇幅的介绍游戏外挂,使游戏外挂再次成为程序员关注热点。
我是在今年上半年开始进入游戏外挂这个有趣的领域,经过半年的学习和实践也算有所收获,因为功力以及时间的问题,我没办法详细规划我要说的内容,所以只能采取杂谈的方式进行介绍。需要注意的是,我的介绍基本不会有具体的实现方法,只是对外挂技术有个综合的介绍。

第一篇应该写到这里也就差不多了,但考虑到吸引大家兴趣的缘故,我接着写点实际的内容,否则二估计就没人愿意看了。

首先我介绍一下外挂的制作大体的分类:
1、按键精灵一类。这一类外挂发送键盘鼠标的消息给程序,比如左右鼠标键连击功能。这样的东西现在基本没有了,有也觉得没人好意思卖钱。
2、按键精灵加强类。这一类的程序员有些基本功底,他们找出一些内存数值,比如血值蓝值,并在自己的程序中监视这些值,当这些值低于设定值通过发送游戏本身拥有的快捷键消息实现自动加血自动补蓝。同样这样的外挂也很少了。
3、包截取分析类。通过各种个样的方式截取包,截取的方式真的很五花八门,有到底层去拿的,有挂接recv   send拿的,也有自己写一个截取用的winsock.dll欺骗游戏程序的。这种通过分析数据包并发送定制数据包可以实现基本全部的外挂功能。这个方式同时要解决的是大部分游戏传送数据已经开始复杂加密,所以有个解密的过程。
4、挂接游戏客户端关键函数入口。这种类型挂接的函数入口一般是游戏接收数据发送数据的入口,注意不是recv和send的入口,那个是win   api而不是游戏的收发入口。通过跟踪客户端我们可以得到游戏的收发函数入口,这些入口传入的数据或者传出的数据都是没加密的,加密是在函数中完成,这样就可以避开解密的过程。当然既然找到函数入口那也可以找到加密解过程,只要把加解密过程提出来转成C语言写的也可以用3的方式来做外挂。但因为传送的数据不只是加密,而且在数据之间还存在一些保持逻辑关系的字段,这样的话光拿加解密函数还是不够的,还要找出逻辑关系,这样的话用4这样的方式就不需要考虑了。我就是用这样的方式。
5、服务模式。这一类实际上是3,但最大的不同是,他自己建立一个本地服务器,然后将游戏的连接地址改到本地,他在中间实现一个转发和分析以及发伪包的工作,而不是hook到游戏进程中进行包的分析和发送。这样的模式有三点好处   A   网络游戏升级还是比较快的,传统hook到进程中的方式经常要修改一些游戏中的特定地址的内容特别是4的方式,所以经常出现游戏升级外挂就不能用的现象,而服务模式只要数据加解密方式不变一般是不会出现类似现象。   B   容易制作出脱离原客户端外挂,实际上也就是可以自己写客户端了。C   无需为2000   和98之间的不同而苦恼,两种系统的内核差比较大,传统方式容易遇到一些兼容性的问题。

今天的内容就大致这样了,大家有什么补充的可以上来交流交流。楼主有见解,原创,向呢学习.
我的看法:

界面 <---> 游戏逻辑 <---> 加解密 <----> 网络传输 <----> 加解密 <---)游戏逻辑 <--> 服务器端库

这里主要是针对游戏修改列出的模块.其实还有些比如服务进程管理等模块就不列了..
(外挂无外忽,一个是监控,一个是插入)
1.按键精灵一类:无监控,插入在界面上.
2按键精灵加强类:监控在本机,而且监控内容多在内存(不保险),经常容易出错.插入在界面.
3包截取分析类:网络包监控,插入也在网络传输这里.
4挂接游戏客户端关键函数入口:监控游戏逻辑,我这里提个问题,呢用什么监控,api?封包的工具?调试工具?什么样的调试工具,请指教.插入也在此.
5服务模式:这个方式的问题是要建立一个服务模式,---太困难了.....你要知道服务的各个方面
不光是相关的游戏逻辑,还有消息管理,进程管理.否则,随便就出错.根本接管不了.
楼主可否谈谈这方面的心得,^_^

以上这些都是在客户端作的监控和插入修改...
除此之外,我看还有种是木马式的,直接操作服务器的库了..监控,插入如何能在服务器端实现?.不知道楼主对此有什么看法.

能否罢都举各实例,这样大家进步都比较快.......呵呵,向老师致敬了....

数据统计中!!

最新评论共有  位网友发表了评论
发表评论(评论内容:请文明参与评论,禁止谩骂攻击!)
不能超过250字节,请自觉遵守互联网相关政策法规.
昵称:    发表评论 (Ctrl+Enter快速回复)
推荐新闻

关于本站 | 合作加盟 | 合作说明 | 免责声明 | 广告服务 | 网站地图

健康游戏忠告:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活

如有意见和建议,请惠赐E-mail至350317@qq.com 联系QQ:350317

Copyright © 2010-2013 Www.27zG.CoM
苏ICP备11049833号