网页游戏常见外挂原理及防护



网页游戏常见外挂原理及防护  


第一种:动做式
原理:模仿键盘鼠标来操做UI
工具:按键精灵
例子:录制(基于GUI)——生成脚本——编辑脚本——回放
防护:增长人机交互(重点是玩家输入,如登录口经常使用的验证码机制)
第二种:本地修改
1)修改flash LSO本地共享对象

C:\Documents and Settings\(你的Windows用户名)\Application Data\Macromedia编程

    \Flash Player\#SharedObjects\(一些随机数字和字母)\服务器

工具:sol editor网络

2)修改游戏在内存中的数值函数

工具:cheat engineer工具

搜索并修改内存数值的通常步骤:flex

1.运行ce加密

2.运行游戏spa

3.ce中指定要修改的游戏code

4.首次搜索一个数值orm

5.回游戏中让这个数值增长或减小

6.ce按数值增减的状况再次搜索

7.重复56直到看到一个或不多的几个结果

8.在这几个结果钟哦你判断哪个是真正的结果

3)修改flash客户端

工具:flasm(将swf变成可读的汇编语言),flare(将swf变成as)

例子:修改游戏中的积分(不少flash游戏的逻辑判断彻底依赖于客户端),得到更多的游戏币

防护:

1)治本防护:验证逻辑放在服务端

2)治标防护:对每日收入作限制;客户端防护内存修改(数值加密,完整性验证)

第三种:加速

原理:提升客户端的时间节律

1)提升时钟硬件的节律

2)截获时间频率的API好比SetTimer之类的API,替换成本身的函数(对服务器端控制节律的网游没有效果)

工具:变速齿轮

防护:检测系统时钟的差别,防止加速程序更改系统时钟

第四种:修改封包

原理:截获服务端与客户端的通讯包,修改封包并转发

工具:WPE

例子:修改物品id,礼包id,物品数量,绕过客户端限制得到大量物品

WPE修改封包步骤要点:

1.运行wpe

2.运行游戏

3.wpe中指定要修改的游戏

4.录制游戏操做

5.分析封包

6.重复45对比截获的封包,直到找出封包的重要字节

7.设置过滤器(查找封包,并替换指定字段)

8.回到游戏中操做

网游通讯常见协议格式:

a、直接经过WinSock编程接口进行,自定义协议数据格式,大多数的网络游戏采用这个方式。

包结构: 包头(定长 + 包体(不定长,具体协议具体分析)

b、经过HTTP协议进行通信,有些网络游戏利用IE的组件进行通信。不多

C、经过SOAP协议进行通信,尚未见过这样的大型网络游戏,可能很快就会有。

D、经过AMF协议进行通信(flex自定义的高效二进制数据),常见。(能够用Charles工具捕捉修改封包)

防护:

1)协议加密,防破解

2)协议完整性验证,防修改

3)序列号加密,防重发

4)客户端服务端双重验证(注:对物品获取,必定要检查获取上限,获取条件,注意的配置的错误,或者是否读入旧的配置表)

相关文章
相关标签/搜索