swf文件的反编译入门

/*------------------------------------------------------
作者:WiNrOOt[FCG]
使用工具:flasm?
[url=http://www.nowrap.de/flasm.html]http://www.nowrap.de/flasm.html[/url]
                    UltraEdit
                    Sothink SWF Decompiler
目的:让带有服务器校验的swf能在本地播放(主要目的还是希望各位高手有所指点)
目标:**工硕数学辅导swf文件
--------------------------------------------------------*/
        大家好!我是WiNrOOt,菜鸟一个。
        各位大虾见笑了,小弟在这里说一下关于如何使带有服务器校验的swf能在本地播放的问题。
对于各位高手来说很简单,但是对于我这个外行人来说还是花了一点时间的。
==========================================================================
最近我需要一些教学资料,就上网找发现xdf的flash不错,非常喜欢!呵呵就在bt上下了一些
发现资料不全,就萌生了破解之意!于是就对flash破解产生了兴趣,但是对flash一窍不通就从头学起。
正好一位朋友的**工硕数学辅导swf文件(不是xdf)在本地不能播放,于是我们就开始了.......
1.swf文件结构(转贴一点)
先看一下官方的swf文件格式说明在看就明白了
[url=http://www.half-serious.com/swf/format/]http://www.half-serious.com/swf/format/[/url]
******************************转贴部分*************************************************
swf文件的整体结构是 header + body的组成。
文件的开始是一个[文件头]
它的结构如下:
字节        名称                    说明
 1            Signature      “F”表示非加密格式,“C”表示加密格式 
 1            Signature     “W”无特殊意义
 1            Signature        “S”无特殊意义
 1            Version             版本号,它表示对应播放器版本
 4            FileLength        整个文件长度,低位在前
 N            FrameSize     RECT结构体,表示屏幕大小,具体结构和长度根据数据变化,分析方法另外讨论。
 2             FrameRate    帧频,默认为12,高位在前
 2            FrameCount   帧数,表明文件根下的帧数,低位在前
每一个tag都包括一个头和一个数据体,头有2种类型,短tag型和长tag型。
短tag型由2byte构成,前10个bit表示tag类型,后6个bit表示tag长度。
长tag型由6byte构成,前10个bit表示tag类型,后6个bit固定为全1,后4个byte代表tag长度。
tag的长度不同于文件头的长度FileLength,它是除去tag头后的长度。
 
swf文件是由1个head和1个body构成的。
下面余下的就是swf文件的body了。
整个文件body是由大量的tag组成的,通过分析tag的head部分,可以立刻知道这个tag的类型代码和长度。
如果你无法识别这个tag的类型,也可以利用tag的长度,直接跳过这个tag。
这种方式保证了版本的兼容性,即使出现了新的tag,老版本的播放器还是能够解析完整个swf文件而不出现错误,大不了就是不能提供新的功能而已。
以下就是swf文件结构的一个形象概念。
(文件header)(文件body)
                         | (tag 1)(tag 2)(tag 3)(……) 
                                 | (tag header)(tag body)
                                            | (tag 类型代码)(tag 长度)
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/823.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值