一、内存回收方式:

  1、引用计数【没有互相引用】

  2、标记清除【fp自己检测是否引用,没有引用的清除】

二、通信方式:

  1、http:小型页游【charles抓包查看】

  2、socket:大型页游【WPE抓包查看】

  以socket 通信为例,协议采用自定义格式,一般由两部分组成,包头与包体,包头一般是固定长度,包体为可变长度。包头一般是一些基本信息,例如包长度,版本号,命令 号,用户ID,序列号等;包体就是操作命令对应的接收参数,参数个数不同,参数类型不同会导致包体长度不同。

三、加密工具:Amayeta SWF Encrypt 和 DComSoft SWF Protector ,

四、swf数据格式解析:

(1)未加密swf文件

正 常的SWF文件,文件头部是由一个三字节的标识符开始,为0×46、0×57、0×53(“FWS”)或者0×43、0×57、0×53(“CWS”)其 中之一。“FWS”标识符说明该文件是未压缩的SWF文件,“CWS”标识符则说明该文件前8个字节之后(即文件长度字段之后)的全部数据为开源的标准 ZLIB方式压缩。

(2)加密后的SWF文件

很明显,文件头部变成了无意义的符号。实现函数示例(参考http://blog.sina.com.cn/s/blog_731fdd2b01010u9k.html

有加密就有解密,加密的SWF文件需要还原,虽然反编译不了加密后的SWF文件,但可以反编译解密文件找到解密代码来还原加密SWF文件的文件头。(参考http://www.2cto.com/Article/201211/167406.html )

很明显,这种SWF加密方法没什么作用。于是大家想着如何用一种无法反编译的实现方法来隐藏加密算法,例如利用Alchemy能够编译C/C++代码为 AS字节码但无法被反编译的特性来隐藏加密算法。其实我怀疑目前有工具将Alchemy还原成C了,例如ASV(actionscript view 2012)就号称是目前最强悍的SWF解密工具,网上都有该工具的团购消息了。我不懂SWF的加密解密,但我知道有一条万能守则,任何加密在内存中都是解 密状态的。当无法解密的时候,就从内存中查找导出吧,我们可以先使用SWF Memory Dumper从浏览器内存中导出解密并解压缩的SWF文件,再用传播程度都烂大街的硕思闪客反编译得到源码。这一方法对游戏协议安全来说,是非常非常非常 悲剧的。

http://blog.sina.com.cn/s/blog_56c9b55c0100unzp.html

http://blog.sina.com.cn/s/blog_71f1fb3701015s29.html

http://blog.sina.com.cn/s/blog_731fdd2b01010u9k.html

http://www.cnblogs.com/wonderKK/archive/2013/01/25/2877063.html

最新文章

  1. 利用线上数据验证系统 Gor
  2. 前端自动化工具gulp自动添加版本号
  3. C# Winform中无焦点状态下获取键盘输入或者USB扫描枪数据
  4. ld: framework not found AGCommon 关于三方库到入 问题解决方案!!
  5. 解决 01-Jul-2016 10:49:05.875 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.mysql.jdbc.D
  6. Android 仿土巴兔选择效果
  7. HTML CSS编码规范(黄金定律)
  8. win7下的mstsc ubuntu下的rdesktop
  9. 4. c++ 静态 对象
  10. Android RatingBar自定义替换系统图片
  11. DNS单机部署以及智能dns部署
  12. JavaScript实现段落文本高亮
  13. 关于《Web接口开发与自动化测试--基于Python语言》
  14. 搭建redis cluster
  15. Docker 核心技术之容器与镜像
  16. duilib 新增数据迁移界面
  17. 移动端rem计算
  18. 通过this()调用有参构造方法
  19. 去除pt种里tracker的方法
  20. 2.1Python数据处理篇之---内建有关数学的函数

热门文章

  1. 导入EXCEL 时间数据为小数 问题
  2. Elasticsearch + Logstash + Kibana 搭建教程
  3. Go Web(一)
  4. JQuery ajax 把后台返回的List数据 遍历出来 赋值给div
  5. linux修改进程的名字
  6. Message-oriented middleware
  7. 3.改变 HTML 内容
  8. Post Man 调用CRMAPI
  9. HZNU 2154 ldh发奖金【字符串】
  10. 安装截图工具 Shutter【转】