开发者社区> 银狐游戏开发> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 热血三国》好像是比较热,玩的人也挺多的,年前一个朋友希望能让我写一个这个游戏的外挂,也出于无聊,所以去玩了一下,谁知道一玩就有点喜欢这个游戏了,当然玩归玩,东西还是要做地,当然还不能算得上是外挂,最多算是一个辅助工具。
+关注继续查看
热血三国》好像是比较热,玩的人也挺多的,年前一个朋友希望能让我写一个这个游戏的外挂,也出于无聊,所以去玩了一下,谁知道一玩就有点喜欢这个游戏了,当然玩归玩,东西还是要做地,当然还不能算得上是外挂,最多算是一个辅助工具。
  
  三国,是一个全Flash制作的网页游戏,使用Flex做架构,使用AMF协议做数据通讯。
  
  首先针对一款FLASH网页游戏大家需要了解他的AMF协议调用模式,就三国而言,服务器返回的消息全为AMF0格式,客户端向服务器提交的是AMF3的格式。
  
  刚开始分析这款游戏的时候想着自己建一个AMF协议解析器,但由于做出来的功能局限性比较大时间仓促,因此从网上找到了FluorineFx开源组件,要做好一款功能强大的网页游戏工具我自己觉得应该做到功能脱机,要能在工具中独立完成各种功能调用,做全点就相当于为游戏的客户端。
  
  但做之前最头痛的问题就是分析协议调用参数及返回参数结构,在做这个工具前我对Flash Flex是一无所知,对AS的编写还只是停留在Flash 5的程度上并且已是近十年未用了。。。
  
  为了方便使用了以下几种工具
  
  SWFDecompiler的SWF文件反编译工具
  090219122864068.png
  Notepad++文本编辑工具,主要用来整个目录查找指定文本(用WINDOWS的查找功能太让人失望了)
  090219122864065.png
  科来网络分析系统,用来获取网络通讯数据
  090219122864062.png
  SocketSniff,相对科来系统更轻量级的网络监听工具,对于了解基本通讯流程更为方便
  090219122864067.png
  以上几种是通过网络能找到的实用工具,再加一自己做的一个AMF协议半自动分析器,主要功能是解析HEX DATA的AMF协议,及跟踪游戏AMF协议通讯过程,并简单解析体现,为更进一步分析调用过程提供参考。
  090219122864066.png
  一个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服务器向客户端反馈的消息格式
  
  
  
  目前工具的游戏界面
  
  登录后主界面(可分脱机跟非脱机登录,下面为非脱机登录,其实只不过显示了一个游戏界面而已,里面的处理都是按脱机模式处理)
  090219122864063.png
  游戏辅助信息
  090219122864061.png
  地图查询工具
  090219122864064.png 
   
    

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Vue系列之七: Axios异步通信
xios是一个开源的可以用在浏览器端和Node JS的异步通信框架, 她的主要作用就是实现AJAX异步通信,其功能特点如下:
19 0
SSH无密码验证
SSH无密码验证
41 0
SSH常见异常笔记(1)
SSH常见异常笔记(1)
43 0
SSH无密码验证
一、安装和启动SSH协议  假设没有安装ssh和rsync,可以通过下面命令进行安装。 sudo apt-get install ssh 安装SSH协议 sudo apt-get install rsync service sshd restart 启动服务 (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件) 确保所有的服务器都安装,上面命令执行完毕,各台机器之间可以通过密码验证相互登。
1152 0
尝鲜Ubuntu云计算同步协作服务
本文讲的是尝鲜Ubuntu云计算同步协作服务,前阵子,记者报道了Linux世界中顶顶有名的Ubuntu发布了其最新的Ubuntu 9.04版本,并提到该版本中的一项新功能——“Ubuntu企业云服务(UEC)”是第一个在企业防火墙内建立私有云环境的Linux发行版。
1145 0
网页缩放对 FLASH的影响
目前新出的,和升级的浏览器,都加了页面放大功能, 这些功能是对FLASH有影响的,表现在 flash在获取stage.stageWidth时,数值会按相应比例有变化 本人在用flex4.6开发时,自定preload就出现了这个问题, 建议大家在初始时用stage.
504 0
Flash剪贴板功能
做JS的都知道,如果不考虑浏览器的兼容问题,其实,JS本身的window.clipboardData对象是可以做到复制内容到剪贴板的功能,但除了IE浏览器,FF和Chrome浏览器都不支持。现在为了浏览器的兼容问题,只能使用Flash来做这功能了。
855 0
在网页中给Flash加上超级链接
思路: 用二个div层,一个放flash,一个放一张透明的图片,放flash的层放在下面,放透明图片的层用绝对定位叠加在flash上方,点击flash时,实际上点击的是flash层上的透明图片层 *{ padding:0; margin:0 }
650 0
+关注
银狐游戏开发
shop135452397.taobao.com
862
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载