外挂技术和反外挂技术

外挂技术和反外挂技术-杂谈本帖最后由189武神于2010-8-2716:32编辑1.游戏外挂分类:⑴按实现方式㈠脱机式:完全脱离游戏客户端程序,可以与游戏服务器自由通讯的外挂程序,开发难度最大,普通的100多开,对游戏的危害最大,严重破坏游戏市场、影响玩家正常游戏、缩短游戏运营周期.正常开发流程:解决反调试保护措施分析游戏启动参数逆向分析出游戏加解密算法逆向分析出地图等资源信息分析登陆封包,实现脱机登陆及获取角色属性、装备、物品、技能相关信息具体功能封包分析整合寻路算法,实现基本挂机根据工作室需求,完善功能㈡内挂式:以游戏客户端程序为载体,依靠客户端程序来完成与游戏服务器的通讯①调用游戏相关功能函数为主正常开发流程:解决反调试保护措施分析游戏启动参数(非必要)分析角色信息|怪物结构|背包结构|技能结构|地面物品等根据游戏通讯函数,逆向回溯出游戏明文发包函数根据明文发包函数调用关系及报文信息分析出选怪、打怪、使用技能、使用物品、走路、买卖、邮寄等函数,实现定点挂机、自动买卖功能完善(支持脚本任务等)②调用游戏明文发包函数为主此内挂开发流程基本与①相同,只是主要挂机功能函数通过外挂组织明文包直接调用明文发包函数实现。目前此类外挂制作方式越来越流行,原因如下:A.游戏的中的怪物、技能等数据结构越来越复杂(多级链表方式、多叉树方式等等)、功能函数越来越难回溯(加花、SEH保护、VMP保护等等),逆向分析相对比较困难,而直接从HOOK的明文包分析相关数据及实现相关函数功能反而比较容易;B.如果游戏交易比较火,再逆向出游戏加解密函数、脱机登陆流程、加入自动寻路算法等等,脱机版本诞生.③按键为主除按键脚本类,其它按键内挂开发流程基本与①相同,只是主要挂机功能函数通过模拟按键方式实现⑵按用户类型:㈠普通玩家此类挂主要通过点卡、月卡等方式向普通玩家销售,一般海阔天空、外挂999、592外挂等外挂网站及淘宝都可见其踪影。㈡打钱工作室此类外挂由某工作室定制或只向工作室销售,由一个工作室买断,或少数工作室共用.2反外挂杂谈⑴一些常规反外挂关注点及个人建议㈠脱机挂以及内挂开发首先必须解决游戏反调试保护,目前主流思想是驱动层进行调试器进程检测、标志位检测,HOOK重要函数等方法以及给游戏执行文件加猛壳利用壳的功能实现反调。个人观点:驱动保护方法可大大提高外挂的制作门槛,但综合效果却并不是很好.驱动开发代价高昂、破坏游戏的兼容性和稳定性、对于专业的外挂团队根本无效.君不见DNF的玩家挂、工作室挂,AION的脱机挂依然很安逸地挂着.普通外挂开发团队或自己分析或通过购买工具方式解决驱动保护,顶尖的开发团队的技术人员可能比国内90%以上的游戏公司反挂技术人员都要多而且更专业解决驱动保护也是不在话下。有财力有技术实力的大公司可以加入驱动保护,中小游戏公司还是能免则免吧,简单的驱动起不到效果、复杂的驱动功能完善且兼容性、稳定性好可不是容易的事,况且底层的操作也不是必须的,相关的操作放到Ring3层处理、搞点猥琐手段效果亦不错.㈡对游戏的启动参数进行加密(针对脱机挂及智能工作室内挂).个人建议:启动参数加密是比较容易忽视的地方,加密函数中利用GetTickCount之类获取变参,灵活应用注册表或文件操作,判断游戏是否从官方程序启动,再对相关代码段VMP㈢检测防多开(针对脱机挂及智能工作室内挂)个人建议:多开检测也是比较容易忽视的地方,很多游戏只是一个简单的FindWindow、CreateMutex,有等于无,此处应多方法灵活处理,VMP依旧是必须的㈣代码完整性校验个人建议:CRC之类算法对自身的完整效验勾挂函数的完整效验,一些重要代码段另外单独校验,校验相关代码段VMP,必要的话返回服务器中验证㈤游戏登陆相关封包处理个人建议:游戏的登录封包尽量复杂化,不同的封包类型中部分数据采用多重加密是必要的,多个端口乱序通讯,这些登陆分包是一次性的不用太担心算法效率问题,而此操作却可以大大增加逆向难度;另简单说明一下,如很多游戏登陆会使用MD5进行相关验证,但多是直接对密码进行加密,逆向者用PEID的KryptoANALyzer知道用了这个算法,到网上随便找个MD5算法不用修改就能通过,效果甚微,而如果从服务器下发部...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?