|
楼主 |
发表于 2013-4-26 20:27:45
|
显示全部楼层
游戏WG反WG杂谈
游戏WG的分类主要有两种方式:一种是实现方式,另一种是按用户类型。
1、按实现方式
(1)脱机式:
完全脱离游戏客户端程序,可以与游戏服务器自由通讯的WG程序,开发难度最大, 普通的100多开,对游戏的危害最大 ,严重破坏游戏市场、影响玩家正常游戏、缩短游戏运营周期。
正常开发流程:
解决反调试保护措施,分析游戏启动参数,逆向分析出游戏加解密算法,逆向分析出地图等资源信息,分析登陆封包,实现脱机登陆及获取角色属性、装备、物品、技能相关信息,具体功能封包分析,整合寻路算法,实现基本挂机,根据工作室需求,完善功能。
(2)内挂式:
以游戏客户端程序为载体,依靠客户端程序来完成与游戏服务器的通讯
①调用游戏相关功能函数为主
正常开发流程:
解决反调试保护措施,分析游戏启动参数(非必要),分析角色信息|怪物结构|背包结构|技能结构|地面物品等,根据游戏通讯函数,逆向回溯出游戏明文发包函数,根据明文发包函数调用关系及报文信息分析出选怪、打怪、使用技能、使用物品、走路、买卖、邮寄等函数,实现定点挂机、自动买卖,功能完善(支持脚本任务等)
②调用游戏明文发包函数为主
此内挂开发流程基本与①相同, 只是主要挂机功能函数通过WG组织明文包直接调用明文发包函数实现。目前此类WG制作方式越来越流行,原因如下:
A. 游戏的中的怪物、技能等数据结构越来越复杂(多级链表方式、多叉树方式等等)、功能函数越来越难回溯(加花、SEH保护、VMP保护等等),逆向分析相对比较困难,而直接从HOOK的明文包分析相关数据及实现相关函数功能反而比较容易;
B. 如果游戏交易比较火,再逆向出游戏加解密函数、脱机登陆流程、加入自动寻路算法等等,脱机版本诞生。
③按键为主
除按键脚本类,其它按键内挂开发流程基本与①相同,只是主要挂机功能函数通过模拟按键方式实现 |
|