一、内存回收方式:

  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

as3杂记的更多相关文章

  1. AS3.0杂记——Dictionary、Object与Array

    来源:http://blog.csdn.net/m_leonwang/article/details/8811829 Object.Array与Dictionary都是关联数组,就是用“键”来索引存储 ...

  2. [Erlang 0118] Erlang 杂记 V

       我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下.    做笔记 一开始笔记软件做的不好的时候就发邮件给自己, ...

  3. Ubuntu杂记——Ubuntu下用虚拟机共享上网

    由于最近把自己电脑环境换成了Ubuntu,但学校的网络是电信的闪讯,大学里用过的人都知道这货有多坑,而且没有Linux客户端,上网都是问题,怪不得国内用Linux的人那么少,特别是高校的学生(让我瞎逼 ...

  4. [转]关于AS3 Socket和TCP不得不说的三两事

    磨刀不误砍柴工,让我们从概念入手,逐步深入. 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络 ...

  5. as3正则表达式

    1.新建正则表达式,有两种方式var exp1:RegExp = new RegExp("ABCD","g");var exp2 = /ABCD/g;//g g ...

  6. [转]AS3 int uint Number

    转自:http://luhantu.iteye.com/blog/1910301 AS3 int uint Number 博客分类: AS3 flex number 类型  1) int 类可使用表示 ...

  7. 一个ubuntu phper的自我修养(杂记)

    ubuntu使用杂记 1.flatabulous安装使用. flatabulous是一个ubuntu图标主题. 使用它,必须得安装tweak插件. sudo add-apt-repository pp ...

  8. AS3和js相互通信要点分析

    目标:在html页面里可以使用事件来影响到swf文件的内容,swf文件也可以影响html里js代码的内容 一.新建flash文件,用Flash CC试用版新建一个TextArea.fla的源文件,不添 ...

  9. 关于as3调用js报“null为空或不是对象”错误

    主要原因是:flash插件的object对象无ID属性. 顺便说下as3调用js的方法. as3引用: import flash.external.ExternalInterface; as3中调用 ...

随机推荐

  1. YUV格式

    http://blog.csdn.net/u011270282/article/details/50696616 http://blog.csdn.net/acs713/article/details ...

  2. krpano HTML5 Viewer可以实现全景展示

    http://www.krpano360.com/ krpanp 陀螺仪调取 全景展示

  3. 目标检测之显著区域检测---国外的一个图像显著区域检测代码及其效果图 saliency region detection

    先看几张效果图吧 效果图: 可以直接测试的代码: 头文件: // Saliency.h: interface for the Saliency class.////////////////////// ...

  4. EasyPlayer Android安卓流媒体播放器实现播放同步录像功能实现(附源码)

    本文转自EasyDarwin团队John的博客:http://blog.csdn.net/jyt0551,John是EasyPusher安卓直播推流.EasyPlayer直播流媒体播放端的开发和维护者 ...

  5. mongodb学习之:数据库

    首先来介绍下Mongodb的基本概念: 左边一列是关系数据库的术语,右边这一列是NOSQL也就是mongodb的术语 database:       database         数据库 tabl ...

  6. git基本操作---持续更新(2017-08-11)

    git 强制push $ git push -u origin master -f 查看本地标签 $ git tag 打标签并添加备注 $ git tag 20170811 -m"图片保存多 ...

  7. vim学习之以退为进——可反复移动和可反复改动的美妙结合

    时间:2014.06.29 地点:基地 -------------------------------------------------------------------------------- ...

  8. IE6 PNG图片不透明的解决方案-tinypng

    https://tinypng.com/ 把图片上传上去,就能处理这个问题啦. 纠正一下 再也不用把png图片一个个拖到TinyPNG进行在线压缩(和熊猫哥哥说再见了):再不用把JPG/JPEG图片拖 ...

  9. codeforces A. Array 解题报告

    题目链接:http://codeforces.com/problemset/problem/300/A 题目意思:给出n个数,将它们分成三批:1.所有数相乘的结果 < 0    2.所有数相乘的 ...

  10. PHP截取中英文混合字符

    <?php //////////////////////////////////////////////////////////////////// // PHP截取中英文及标点符号混合的字符串 ...