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

简介: 热血三国》好像是比较热,玩的人也挺多的,年前一个朋友希望能让我写一个这个游戏的外挂,也出于无聊,所以去玩了一下,谁知道一玩就有点喜欢这个游戏了,当然玩归玩,东西还是要做地,当然还不能算得上是外挂,最多算是一个辅助工具。
热血三国》好像是比较热,玩的人也挺多的,年前一个朋友希望能让我写一个这个 游戏的外挂,也出于无聊,所以去玩了一下,谁知道一玩就有点喜欢这个游戏了,当然玩归玩,东西还是要做地,当然还不能算得上是外挂,最多算是一个辅助工具。
  
  三国,是一个全 Flash制作的网页游戏,使用Flex做架构,使用AMF协议做数据通讯。
  
  首先针对一款FLASH网页游戏大家需要了解他的AMF协议调用模式,就三国而言, 服务器返回的消息全为AMF0格式,客户端向服务器提交的是AMF3的格式。
  
  刚开始分析这款游戏的时候想着自己建一个AMF协议解析器,但由于做出来的功能局限性比较大时间仓促,因此从网上找到了FluorineFx开源组件,要做好一款功能强大的网页游戏工具我自己觉得应该做到功能脱机,要能在工具中独立完成各种功能调用,做全点就相当于为游戏的客户端。
  
  但做之前最头痛的问题就是分析协议调用参数及返回参数结构,在做这个工具前我对Flash Flex是一无所知,对AS的编写还只是停留在Flash 5的程度上并且已是近十年未用了。。。
  
  为了方便使用了以下几种工具
  
  SWFDecompiler的SWF文件反编译工具
  
  Notepad++文本编辑工具,主要用来整个目录查找指定文本(用WINDOWS的查找功能太让人失望了)
  
  科来 网络分析 系统,用来获取网络通讯数据
  
  SocketSniff,相对科来系统更轻量级的网络监听工具,对于了解基本通讯流程更为方便
  
  以上几种是通过网络能找到的实用工具,再加一自己做的一个AMF协议半自动分析器,主要功能是解析HEX DATA的AMF协议,及跟踪游戏AMF协议通讯过程,并简单解析体现,为更进一步分析调用过程提供参考。
  
  一个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服务器向客户端反馈的消息格式
  
  
  
  目前工具的游戏界面
  
  登录后主界面(可分脱机跟非脱机登录,下面为非脱机登录,其实只不过显示了一个游戏界面而已,里面的处理都是按脱机模式处理)
  
  游戏辅助信息
  
  地图查询工具
    
   
    
相关文章
|
存储 NoSQL 关系型数据库
支持中低频量化交易的单机数据平台
支持中低频量化交易的单机数据平台,使用InfluxDB存储实时交易数据,HDF5存储静态历史数据用于回测。
5208 0
|
7月前
|
人工智能 自然语言处理 监控
基于DeepSeek R1改进的AI安全模型!MAI-DS-R1:微软开源AI安全卫士,敏感话题响应率高达99.3%
微软开源的MAI-DS-R1是基于DeepSeek R1改进的AI模型,通过后训练优化将敏感话题响应率提升至99.3%,同时将有害内容风险降低50%,保持原版推理能力并增强多语言支持。
741 3
基于DeepSeek R1改进的AI安全模型!MAI-DS-R1:微软开源AI安全卫士,敏感话题响应率高达99.3%
|
缓存 安全 小程序
从基础到进阶:掌握Java中的Servlet和JSP开发
【6月更文挑战第23天】Java Web开发中的Servlet和JSP是关键技术,用于构建动态网站。Servlet是服务器端小程序,处理HTTP请求,生命周期包括初始化、服务和销毁。基础Servlet示例展示了如何响应GET请求并返回HTML。随着复杂性增加,JSP以嵌入式Java代码简化页面创建,最佳实践提倡将业务逻辑(Servlet)与视图(JSP)分离,遵循MVC模式。安全性和性能优化,如输入验证、HTTPS、会话管理和缓存,是成功应用的关键。本文提供了一个全面的学习指南,适合各级开发者提升技能。
218 7
|
移动开发 前端开发 JavaScript
HTML5 Canvas实现360度全景图
HTML5 Canvas实现360度全景图
257 1
|
移动开发 监控 Java
如何使用Java中的WebSocket?
如何使用Java中的WebSocket?
|
弹性计算 测试技术 数据中心
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试,阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量
|
供应链 流计算
飞鹤基于阿里云实时计算Flink构建数字化运营管理体系
飞鹤借助实时计算Flink等产品,构建数字化运营管理体系,建立实时预警机制,提前窥探风险,为供应链等业务决策提效。
987 0
|
存储 安全 固态存储
LTO助推磁带大容量存储技术超越磁盘HDD
LTO标准最初有两个格式,一个Ultrium,主要负责支持大容量技术,一个Accelis,主要负责高性能。磁带被采用的原因,目前跟性能也不相关,要性能的话,早就切换固态硬盘SSD了。所以目前一说LTO,基本上大家就等同于LTO Ultrium。