网页中flash数据抓取(《热血三国》评测:使用AMF做架构,使用Flex协议做数据通讯)

优采云 发布时间: 2021-12-26 09:00

  网页中flash数据抓取(《热血三国》评测:使用AMF做架构,使用Flex协议做数据通讯)

  《三国志》好像比较火,玩的人也不少。一年前,一个朋友要我为这个游戏写一个插件。也是因为无聊,所以就去玩了。谁知道我玩了之后有点喜欢。当然,这场比赛是要玩的,事情还有待完成。当然不能算是插件,最多可以算是辅助工具。

  Three Kingdoms 是一款完全由 Flash 制作的网页游戏,使用 Flex 作为框架,使用 AMF 协议进行数据通信。

  首先,对于一个Flash网页游戏,大家需要了解它的AMF协议调用方式。就三国而言,服务器返回的消息都是AMF0格式的,客户端提交给服务器的则是AMF3格式。

  刚开始分析这个游戏的时候,想过自己搭建一个AMF协议解析器,但是由于时间有限,所以从网上找到了FluorineFx开源组件,想做一个功能强大的web游戏。我觉得这个工具应该是离线的。如果可以在工具中独立调用各种功能,做任何事情就相当于游戏的客户端。

  但是做这个之前最头疼的问题是分析协议调用参数和返回参数结构。在做这个工具之前,我对 Flash Flex 一无所知。AS的写法只有Flash 5的水平,快十个了。多年未使用。. .

  为了方便以下工具的使用

  SWF Decompiler的SWF文件反编译工具

  Notepad++文本编辑工具,主要用于在整个目录中查找指定文本(使用WINDOWS搜索功能太让人失望了)

  Kolai网络分析系统,用于获取网络通讯数据

  SocketSniff,比KELA系统更轻量级的网络监控工具,更方便了解基本通信流程

  以上几个都是可以通过网络找到的实用工具,外加我自己制作的一个AMF协议*敏*感*词**敏*感*词*。主要功能是分析HEX DATA的AMF协议,跟踪游戏AMF协议通信过程,简单分析反映。为进一步分析调用过程提供参考。

  一个AMF通信过程分析:

  1.需要获取命令功能前打开网页游戏停止运行

  2.打开网络嗅探器并进行嗅探。在这个过程中,最好按IP和端口过滤

  3.执行需要的命令,等待命令执行返回

  4.停止网络嗅探

  5. 去除无关的网络通信数据,必须有AMF协议下业务处理的网关,比如三国地址:/server/amfPHP/gateway.php,以及HTTP头的内容格式是application/x-amf,所以只需要过滤网关相关的通信会话即可。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线