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/amf PHP/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 
   
    
相关文章
|
2月前
|
JSON 数据格式
【Axure高手秘籍】掌握这招,让你的原型设计效率飙升!——元件库导入与使用教程及主流资源下载全解析
【8月更文挑战第20天】Axure RP是界面设计与交互原型制作的强大工具。掌握元件库能显著提升设计效率。元件库包含预设UI元素如按钮、表单等,可直接拖放构建布局。在Axure RP中,通过“元件”选项下的“库”可访问并导入新元件库。导入后,轻松拖放元件至画布调整,甚至自定义样式和交互。利用脚本还能模拟真实交互效果,如按钮点击反馈。推荐资源包括Axure Marketplace、UIZilla等,助力高效设计。
40 0
|
5月前
|
开发工具 图形学 计算机视觉
微信小游戏制作工具跟其它游戏引擎有什么区别?该怎么选?
微信小游戏制作工具跟其它游戏引擎有什么区别?该怎么选?
198 0
|
编解码 芯片
实战贴:开源GUI STemWin在小熊派上的移植(显示很漂亮、很细腻,棒!)
实战贴:开源GUI STemWin在小熊派上的移植(显示很漂亮、很细腻,棒!)
382 2
|
开发工具 图形学 计算机视觉
微信小游戏制作工具与其它游戏引擎的区别
这是不少人在正式上手学习做游戏之前的疑问,就跟我们购买某个商品是一样的,那么多同类型的商品,到底我应该买哪个呢?答案就是选择最适合你的那个。 这个问题表面上来看问的是应该选择哪个游戏开发工具,但实际上这个问题的答案却在另一个问题之中,你到底想要做一个什么样的游戏,你的目的是什么?这个才是真正的问题。
322 0
|
开发工具
干货技巧|如何用3DsMax制作笔记本电脑
电脑成品图 ![图片.png](https://img-blog.csdnimg.cn/img_convert/fc6f2c4770a59fa36db841dc254419ed.png)
405 0
干货技巧|如何用3DsMax制作笔记本电脑
|
编解码 前端开发 定位技术
2048化学元素版?一文教你Unity零基础制作2048 !
玩游戏也能学习知识?还记得高中时的化学元素常见金属活动性属性表吗?一起来看看化学元素和游戏之间发生的碰撞吧~
419 0
2048化学元素版?一文教你Unity零基础制作2048 !
|
iOS开发
iOS开发拓展篇—音频处理(音乐播放器6)
iOS开发拓展篇—音频处理(音乐播放器6) 一、图片处理   说明: Aspect表示按照原来的宽高比进行缩放。 Aspectfit表示按照原来的宽高比缩放,要求看到全部图片,后果是不能完全覆盖窗口,会留有空白。
765 0
|
iOS开发
iOS开发拓展篇—音频处理(音乐播放器4)
iOS开发拓展篇—音频处理(音乐播放器4) 说明:该文主要介绍音乐播放器实现过程中的一些细节控制。 实现的效果:    一、完整的代码 YYPlayingViewController.m文件 1 // 2 // YYPlayingViewController.
646 0
下一篇
无影云桌面