《热血三国》好像是比较热,玩的人也挺多的,年前一个朋友希望能让我写一个这个游戏的外挂,也出于无聊,所以去玩了一下,谁知道一玩就有点喜欢这个游戏了,当然玩归玩,东西还是要做地,当然还不能算得上是外挂,最多算是一个辅助工具。
  
三国,是一个全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/amfPHP/gateway.php,并且HTTP头部的内容格式为application/x-amf,因此只需要过滤相关gateway的通讯对话就可以
  
6.获得通讯的HTTP数据体,并交分析工具进行协议解析
  
7.查看协议参数结构,并偿试重构协议复本
  
8.偿试将协议复本发送至服务器(请求协议)
  
9.调试服务器反馈数据,调试完成后即为游戏的实际AMF协议函数
  
  
  
在三国中,使用三种Flex消息:CommandMessage、RemotingMessage、AcknowledgeMessage
  
CommandMessage在游戏登录前向服务器发送请求,并返回session等安全信息
  
RemotingMessage为客户端向服务器提交的消息格式
  
AcknowledgeMessage服务器向客户端反馈的消息格式
  
  
  
目前工具的游戏界面
  
登录后主界面(可分脱机跟非脱机登录,下面为非脱机登录,其实只不过显示了一个游戏界面而已,里面的处理都是按脱机模式处理)
  
游戏辅助信息
  
地图查询工具

\t\tFlash网页游戏辅助工具制作简析相关推荐

  1. 以前写的网页游戏辅助工具源码 传奇类的HOOK 封包 按钮

    以前写的网页游戏辅助工具源码 传奇类的HOOK 封包 按钮. 限量出源码,有需要的 116327160

  2. C#使用 WebBrowser制作网页游戏辅助工具关键技术分析

    使用WebBrowser控件,实现起来确实很方便,但灵活性差,比不上直接组包发包.对三国风云这款网页游戏来 说,WebBrowser用的好的话理论上可以实现想要的功能(我只实现了整点自动"举 ...

  3. C++编写网页游戏辅助工具~~~~~~~

    有人肯定会问,简单游,按键精灵,C#等, 这么轻松就能写辅助,为什么还用C++? 别人写的辅助也都用过不少,简单功能模拟按键确实能做到,但是存在非常多的问题,软件缓存大,开2个号就非常卡.等等. 而且 ...

  4. 《C#网络编程高级篇之网页游戏辅助程序设计(扫描版)》

    <C#网络编程高级篇之网页游戏辅助程序设计>通过编写C#网络编程语言中具有代表性的实例,向读者深入细致地讲解了如何利用C#语言进行网页游戏辅助程序设计.本书通过大量的代码引导读者一步步学习 ...

  5. 【网络游戏§绿色DOTA2魔笛V1.001 官方最新版§DOTA游戏辅助工具§】

    [网络游戏§绿色DOTA2魔笛V1.001 官方最新版§DOTA游戏辅助工具§] 软件大小:11.53MB 软件语言:简体中文 软件授权:免费软件 更新时间:2013-06-19 01:27:40 应 ...

  6. 萝卜游侠-一款搜索和修改内存地址的游戏辅助工具

    上次我发布的GameEnchanter也是一个强大的游戏修改工具.不知道的可以点GameEnchanter打开研究下.今天我就大家带来的是另一款游戏修改工具.萝卜游侠是一款搜索和修改内存地址的游戏辅助 ...

  7. JS+JSP网页游戏辅助编辑器

    一般的网页游戏,都是用<canvas>标签做开发.我教JSP课程,网页<canvas>加上jsp的session处理,可以开发一些辅助工具,比如格子类的地图. 1. 简易的字符 ...

  8. Flash游戏抓取,flash网站抓取,网页游戏提取工具

    网页游戏提取软件 flash网站抓取 swf文件下载工具 转载于:https://blog.51cto.com/asv2011/774435

  9. Delphi居于HOOK钩子的Apex游戏辅助工具

    2019年新出的一款免费游戏Apex,很火:然后看到有类似与CF那样切换武器可以实现子弹自动上膛的官方bug,所以有想法写一个辅助工具(捍卫者单喷变连喷)现在是已经完成了,测试也很OK.所以,写个文档 ...

最新文章

  1. 里程碑!SpaceX 载人首飞发射成功,马斯克填补美国载人飞行近十年空白
  2. 每列大于0的个数_二进制中1的个数(剑指offer第十四天)
  3. header中的参数讲解
  4. 【专升本计算机】专升本计算机期末考试复习题(C卷附答案)
  5. thinkphp上传
  6. linux下NIS服务的配置
  7. RFC792翻译(ICMP主要内容)
  8. aiohttp 高并发web服务_面试官要是问你如何解决web高并发,你就这样回答
  9. 要么战胜,要么战死,绝不投降
  10. matlab回调函数,matlabGUI回调函数介绍.pptx
  11. 少儿编程主要是学什么内容?含教程
  12. Type number trivially inferred from a number literal, remove type annotation.
  13. 计算机 蓝牙鼠标卡顿,无线蓝牙鼠标为什么有时会卡顿发飘,不稳定?
  14. 软件原型设计(软件Axure_RP)
  15. spring boot自动化配置
  16. 人工智能的应用实例介绍,人工智能有哪些应用领域?
  17. 100天搞定机器学习(100-Days-Of-ML)(一)数据预处理
  18. html语言中的强制性换行是,html中的div、td 、p 等容器内强制换行和不换行的实现方法...
  19. 在进行USB CDC类开发时,无法发送64整数倍的数据(续)
  20. CentOS 6.4下通过Rdo方式安装OpenStack

热门文章

  1. qualified-id in declaration before ‘(’ token
  2. 指定SpringBoot内嵌Tomcat的版本,修复(CVE-2021-42340)漏洞
  3. NeurIPS 2018 | 腾讯AI Lab参与提出基于随机路径积分的差分估计子
  4. 编写测试用例需要考虑的一些因素
  5. Python3基础练习
  6. mysql中的两段锁协议和三级封锁协议
  7. 中学化学教学参考杂志社中学化学教学参考编辑部2022年第12期目录
  8. 多种常见传感器工作原理
  9. 20个热门少儿编程网站【2019】
  10. 近期用户/金蝶等ERP系统 MS SQL Server 数据库故障 典型恢复案例