首页
社区
课程
招聘
[原创]swf文件的反编译入门
发表于: 2004-8-3 17:26 40260

[原创]swf文件的反编译入门

2004-8-3 17:26
40260

/*------------------------------------------------------
作者:WiNrOOt[FCG]
使用工具:flasm  http://www.nowrap.de/flasm.html
          UltraEdit
          Sothink SWF Decompiler
目的:让带有服务器校验的swf能在本地播放(主要目的还是希望各位高手有所指点)
目标:**工硕数学辅导swf文件
--------------------------------------------------------*/
     大家好!我是WiNrOOt,菜鸟一个。
     各位大虾见笑了,小弟在这里说一下关于如何使带有服务器校验的swf能在本地播放的问题。
对于各位高手来说很简单,但是对于我这个外行人来说还是花了一点时间的。
==========================================================================
最近我需要一些教学资料,就上网找发现xdf的flash不错,非常喜欢!呵呵就在bt上下了一些
发现资料不全,就萌生了破解之意!于是就对flash破解产生了兴趣,但是对flash一窍不通就从头学起。
正好一位朋友的**工硕数学辅导swf文件(不是xdf)在本地不能播放,于是我们就开始了.......

1.swf文件结构(转贴一点)
先看一下官方的swf文件格式说明在看就明白了
http://www.half-serious.com/swf/format/
******************************转贴部分*************************************************
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 长度)
******************************转贴部分*************************************************
补充一点
tag分为两种Definition Tags 和Control Tags
Control tag又被分为: Display List tags Control tags 和Action tags
个人理解:Definition Tags就是存放所有的资源
          Control tag就是存放控制代码
通过以上了解我们知道,关于校验的信息一定存放在Action中
开始干活...........
用Sothink SWF Decompiler反编译
看看Action--------〉MainMovie
哇哈哈哈哈你才我们看见什么了(菜鸟的表现)

// Action script...

// [onClipEvent of sprite 1 in frame 1]
//Component construct()
{
    FV_AcceptedURLs_array = [];
    FV_AcceptedURLs_array[0] = "www.****.cn";
    FV_AcceptedURLs_array[1] = "www.****.net";
    FV_AcceptedURLs_array[2] = "www.******.com.cn";
    FV_AcceptedURLs_array[3] = "www.******.net.cn";
    FV_AcceptedURLs_array[4] = "www.******.cn";
    FV_AcceptedURLs_array[5] = "www.******.net";
    FV_AcceptedURLs_array[6] = "www.******.com";
    FV_AcceptedURLs_array[7] = "www.******.com";
    FV_AcceptedURLs_array[8] = "www.******.net.cn";
    FV_ExactURL_bool = false;
    FV_AllowFromHDD_bool = false;
    FV_ShowWarning_bool = false;
}

// [onClipEvent of sprite 1 in frame 1044]
//Component construct()
{
    FV_AcceptedURLs_array = [];
    FV_AcceptedURLs_array[0] = "www.****.cn";
    FV_AcceptedURLs_array[1] = "www.****.net";
    FV_AcceptedURLs_array[2] = "www.******.com.cn";
    FV_AcceptedURLs_array[3] = "www.******.net.cn";
    FV_AcceptedURLs_array[4] = "www.******.cn";
    FV_AcceptedURLs_array[5] = "www.******.net";
    FV_AcceptedURLs_array[6] = "www.******.com";
    FV_AcceptedURLs_array[7] = "www.******.com";
    FV_AcceptedURLs_array[8] = "www.******.net.cn";
    FV_ExactURL_bool = false;
    FV_AllowFromHDD_bool = false;
    FV_ShowWarning_bool = false;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (43)
雪    币: 279
活跃值: (375)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
2
Good!

有空也连接一下我的那个blog
http://blog.csdn.net/lordor
现在有空可以更新一下内容了
2004-8-3 17:45
0
雪    币: 2958
活跃值: (2420)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习!谢!
2004-8-3 19:15
0
雪    币: 2958
活跃值: (2420)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有swf格式详细的讲解?
想破swf很容易,用闪客之锤直接可以修改swf的!
2004-8-3 19:22
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
5
最初由 学习 发布
有swf格式详细的讲解?
想破swf很容易,用闪客之锤直接可以修改swf的!

不会把闪客之锤能修改?
是Sothink SWF Quicker吧
你有最新版吗?
2004-8-3 19:46
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
学习  :D
2004-8-3 19:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习,还没见过这个呢,呵呵
2004-8-3 20:19
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
8
没太看明白
高手.以后多指点
2004-8-3 23:11
0
雪    币: 549
活跃值: (2250)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
要用到的先看看在眼里
2004-8-3 23:34
0
雪    币: 2958
活跃值: (2420)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 WiNrOOt 发布

不会把闪客之锤能修改?
是Sothink SWF Quicker吧
你有最新版吗?


“闪客之锤”就是“Sothink SWF Quicker”只不过前者是中文版,后者是英文版。网上最新版是1.5
2004-8-4 08:39
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
交给我,我直接把它做成FLA格式。随便改。
2004-8-4 09:28
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
12
最初由 鸡蛋壳 发布
交给我,我直接把它做成FLA格式。随便改。

:D 你能教教我吗?
或指点一下
2004-8-4 09:30
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
13
最初由 学习 发布


“闪客之锤”就是“Sothink SWF Quicker”只不过前者是中文版,后者是英文版。网上最新版是1.5

:D 你有注册版吗?
2004-8-4 09:30
0
雪    币: 2958
活跃值: (2420)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
最初由 WiNrOOt 发布

:D 你有注册版吗?


只有英文破解注册版,网上多的是。
低版本的swf可以用imperator软件直接转换成fla就可以任意修改了。

你有swf格式的全中文说明???
2004-8-4 10:25
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
15
最初由 学习 发布


只有英文破解注册版,网上多的是。
低版本的swf可以用imperator软件直接转换成fla就可以任意修改了。


你有swf格式的全中文说明???

1.5的注册版你有吗?
swf我只有英文版的
中文的就是你发的
2004-8-4 12:03
0
雪    币: 2958
活跃值: (2420)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最初由 WiNrOOt 发布

1.5的注册版你有吗?
swf我只有英文版的
中文的就是你发的


网上的1.5英文破解注册版多的是。http://www.blueren.net/SoftView/SoftView_8859.html
我发的swf格式中文不够详细。
2004-8-4 12:28
0
雪    币: 115
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
高,认真学习。
2004-8-7 14:59
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
闪客之锤最新版(中文)哪有下?
最好是注册版
2004-11-27 18:49
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
19
学习 !
2004-11-27 19:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
如果只是玩FLASH游戏不爽的话
Decompile看一下
然后UE自己改一下就OK了
前两天就改了两个玩
要是改的多就要用工具了
2004-11-27 20:49
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
1.5的汉化版
http://www.86dl.com/soft/data/25945.html
2005-1-6 13:37
0
雪    币: 328
活跃值: (925)
能力值: ( LV9,RANK:1010 )
在线值:
发帖
回帖
粉丝
22
学习
2005-1-7 08:49
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
http://www.chinadforce.com/viewthread.php?tid=101480&fpage=1&highlight=swf
这里有一个更猛的软件,直接生成.fla

SWF Decompiler MX 2005 是一款用于浏览和解析Flash动画(.swf文件和.exe文件)的工具。最新版本有着强大的功能,可以将swf文件导出成FLA文件。它还能够将flash动画中的图片、矢量图、声音、视频(*.flv)、文字、按钮、影片片段、帧等基本元素完全分解,最重要的是可以对动作的脚本(Action Script)进行解析,清楚的显示其动作的代码,让对Flash动画的构造一目了然。最新版本能更好的支持Flash MX和动作脚本2.0。
2005-1-10 09:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24


   请问各位,我用闪客之锤转了一个SWF到FLA,但是出来的FLA在FLASH里面看不到祯动作,上面显示都是灰色的,图库里面可以看到有提取的素材,我转了几个只要2个有这样的问题,被的都是好的!!

                   帮忙!!
  
2005-8-11 13:47
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
25
既然被楼上顶上来了,那偶就再学习一下
2005-8-11 13:53
0
游客
登录 | 注册 方可回帖
返回
//