Flash网页游戏辅助工具制做简析

《热血三国》好像是比较热,玩的人也挺多的,年前一个朋友但愿能让我写一个这个游戏的外挂,也出于无聊,因此去玩了一下,谁知道一玩就有点喜欢这个游戏了,固然玩归玩,东西仍是要作地,固然还不能算得上是外挂,最多算是一个辅助工具。php

三国,是一个全FLASH制做的网页游戏,使用Flex作架构,使用AMF协议作数据通信。安全

首先针对一款FLASH网页游戏你们须要了解他的AMF协议调用模式,就三国而言,服务器返回的消息全为AMF0格式,客户端向服务器提交的是AMF3的格式。服务器

刚开始分析这款游戏的时候想着本身建一个AMF协议解析器,但因为作出来的功能局限性比较大时间仓促,所以从网上找到了FluorineFx开源组件,要作好一款功能强大的网页游戏工具我本身以为应该作到功能脱机,要能在工具中独立完成各类功能调用,作全点就至关于为游戏的客户端。网络

但作以前最头痛的问题就是分析协议调用参数及返回参数结构,在作这个工具前我对Flash Flex是一无所知,对AS的编写还只是停留在Flash 5的程度上而且已经是近十年未用了。。。session

为了方便使用了如下几种工具架构

SWFDecompiler的SWF文件反编译工具app

Notepad++文本编辑工具,主要用来整个目录查找指定文本(用WINDOWS的查找功能太让人失望了)函数

科来网络分析系统,用来获取网络通信数据工具

SocketSniff,相对科来系统更轻量级的网络监听工具,对于了解基本通信流程更为方便spa

以上几种是经过网络能找到的实用工具,再加一本身作的一个AMF协议半自动分析器,主要功能是解析HEX DATA的AMF协议,及跟踪游戏AMF协议通信过程,并简单解析体现,为更进一步分析调用过程提供参考。

一个AMF通信过程的分析:

1.打开网页游戏,并在你须要获取命令的功能前中止操做

2.打开网络嗅探器,并执行嗅探,在此过程当中最好能按IP、端口进行过滤

3.执行所须要的命令,并等待命令执行返回

4.中止网络嗅探

5.去除无关网络通信数据,AMF协议下一定会有一个业务处理的gateway,像三国的地址为:/server/amfphp/gateway.php,而且HTTP头部的内容格式为application/x-amf,所以只须要过滤相关gateway的通信对话就能够

6.得到通信的HTTP数据体,并交分析工具进行协议解析

7.查看协议参数结构,并偿试重构协议复本

8.偿试将协议复本发送至服务器(请求协议)

9.调试服务器反馈数据,调试完成后即为游戏的实际AMF协议函数

在三国中,使用三种Flex消息:CommandMessage、RemotingMessage、AcknowledgeMessage

CommandMessage在游戏登陆前向服务器发送请求,并返回session等安全信息

RemotingMessage为客户端向服务器提交的消息格式

AcknowledgeMessage服务器向客户端反馈的消息格式

目前工具的游戏界面

登陆后主界面(可分脱机跟非脱机登陆,下面为非脱机登陆,其实只不过显示了一个游戏界面而已,里面的处理都是按脱机模式处理)

游戏辅助信息

地图查询工具

相关文章
相关标签/搜索