还原Flash MX中压缩格式的SWF文件程序源代码
使用swf反编译软件编辑flash影片
![使用swf反编译软件编辑flash影片](https://img.taocdn.com/s3/m/00bed21ba76e58fafab0034e.png)
使用swf反编译软件编辑flash影片硕思闪客精灵是一款先进的swf反编译软件,它能捕捉、反编译、查看和提取Flash。
最新版的闪客精灵不仅仅是一款swf反编译软件,还是一款swf编辑软件,增加“编辑”功能,可以对swf影片进行修改,替换资源,轻松反编译一个或是多个swf格式文件为fla/flex项目文件和html5文件。
硕思闪客精灵swf反编译软件支持Flash 6,Flash MX 2004,Flash 8,Flash CS3,Flash CS4和Flash CS5。
它能恢复fla/flex项目文件,反编译Flash的所有元素,包括:矢量图,声音,图片,片段,字体,文本,脚本等。
支持动作脚本AS3.0。
使用闪客精灵swf反编译软件的专业版你可以在任意一个Flash中提取您想要的文字、图片、效果等等。
一起来认识一下swf反编译软件闪客精灵的界面吧。
在界面的上方是菜单栏,在‘文件’标签的‘导出’选项中,可以选择反编译swf文件的类型:fla/flex、html5、导出资源三类;左侧是资源管理器窗格,跟windows资源管理器很像,方便了swf文件的导入操作;中间是swf的预览窗口,可以预览在左侧选中的swf文件;右侧是swf文件的导出窗格,可以导出单个文件,也可以批量的导出文件。
在导出面板的下方显示的是swf文件的所有元素,可以编辑其中的任意元素,可以替换图片、更改文字等等。
反编译后,可以选择保存覆盖原文件,也可以选择另存为生成新的文件。
其中,‘工具’标签下,提供了exe-swf转换器,可以轻松提取exe文件中的swf文件。
在闪客精灵安装成功后,您浏览器的工具栏自动安装闪客精灵的辅助工具——闪客名捕。
在您浏览网页时,点击它,能够捕捉到网页上所有的flash,可以选择想要的或将网页上全部的flash轻松保存在本地。
综上所述,硕思闪客精灵:可以反编译出fla/flex格式文件、html5格式文件并将其资源导出;可以单个文件导出以及批量导出;可以直接编辑swf文件中的所有元素;可以提取exe文件中的swf文件;可以在网页上直接捕捉swf文件。
swf文件的数据结构以及转为exe或从exe中剥离出swf的源代码
![swf文件的数据结构以及转为exe或从exe中剥离出swf的源代码](https://img.taocdn.com/s3/m/53abf7b40129bd64783e0912a216147917117ede.png)
swf文件的数据结构以及转为exe或从exe中剥离出swf的源代码SWF文件是由一个文件头,以及一系列的标签组成的。
标签类型有两种:定义型标签和控制型标签。
定义型标签把所有物体定义成一个个角色,这些角色存在字典里面。
控制型标签操作这些角色,并且控制影片的流程。
swf 的长度单位使用twips(缇),1像素=20缇,这样,分数的像素可以使用整数的缇表示。
swf 的字符串是以00结束的byte序列,采用utf-8编码。
下面介绍swf文件的数据结构。
一、文件头文件头的结构见表1。
表1:SWF文件头---------------------------------------------------------------------------字段字节数说明---------------------------------------------------------------------------标识符 3 “FWS”或“CWS”的ascii码版本号 1 版本,例如:1表示swf1,6表示swf6文件长度 4 长整形,文件的字节数,低位在前帧大小RECT结构SWF场景的大小,单位为twip(缇,1缇=1/20像素,与VB不同)帧速度 2 以8.8表示的浮点数(也有文章说这是一个整形数),默认=000C帧数 2 整形,影片总帧数,低位在前---------------------------------------------------------------------------说明:1.文件头以标识符开始,不是“FWS”就是“CWS”。
FWS表示该文件未压缩;CWS 表示文件从 RECT 字段开始(第 9 个字节开始)至文件结尾的所有内容,都是使用开放标准 ZLIB 压缩过的(CWS 是在 SWF6 以后才被使用的。
对其解压缩可以使用 zlib1.dll 中提供的uncompress)。
Flash常用按钮代码大全
![Flash常用按钮代码大全](https://img.taocdn.com/s3/m/d853b832783e0912a2162ad5.png)
Flash按钮代码大全在2,0中制作1、转下一帧并继续播放on (release){play();}2、转第三帧并播放on (release){gotoAndPlay(03);//数字是代表的帧数stopAllSounds();}3、全屏播放fscommand("fullscreen", "true");4、退出on (release){if (substring(_root._url, 8, 1) == "/"){fscommand("quit");}else{getURL("javascript:window.close()");} // end if}5、返回第一帧on (release){gotoAndPlay(01);stopAllSounds();}FLASH脚本代码大全- Go to 跳转到指定的帧- Play 播放- Stop 停止- Toggle High Quality 在高画质和低画质间切换- Stop All Sounds 停止所有声音的播放- Get URL 跳转至某个超联结- FSCommand 发送FSCommand命令- Load Movie 装载影片- Unload Movie 卸载影片- Tell Target 告知目标- If Frame Is Loaded ..判断帧是否被完全载入- On Mouse Event 鼠标事件。
其他Actions。
包括:- break 跳出循环- call 调用指定帧(一般喊有某个特定函数)- comment 注释- continue 继续循环- delete 删除一个对象(Object)中的变量- do while do while循环- duplicateMovieClip 复制MC- else 否则(与if联用)- else if 否则如果(与if联用)- evaluate 调用自定义函数(Function)- for for循环- for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素- FSCommand 发送FSCommand命令- function 声明自定义函数- getURL 跳转至某个超联结- goto 跳转到指定的帧- if 如果- ifFrameLoaded ..帧是否完全被载入- include 读入外部的ActionScript程序文件(.as)- loadMovie 装载MC- loadVariables 转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI等脚本返回的文本值- on 鼠标事件的触发条件- onClipEvent MC的事件触发程序- play 播放- print 输出到打印机- removeMovieClip 删除MC- return 在函数(function)中返回一个值- set variable 设定变量值- setProperty 设定属性- startDrag 开始拖动- stop 停止- stopAllSounds 停止所有声音的播放- stopDrag 停止拖动- s 交换两个MC的深度- tellTarget 指定Action命令生效的目标- toggleHighQuality 在高画质和低画质间切换- trace 跟踪调试- unloadMovie 卸载MC- var 声明局部变量- while 当..成立时..- with 对..对象(Object)做..。
flash动画代码中的flash动作代码大全
![flash动画代码中的flash动作代码大全](https://img.taocdn.com/s3/m/e7885be905a1b0717fd5360cba1aa81144318f2a.png)
flash动画代码中的fl ash动作代码大全一、几种Actio n命令1.影片的播放与停止:Play( );//播放命令 stop( );//停止命令2.改变Frame流向命令gotoAnd Play(frame) //跳到指定的画面并连续播放。
gotoAnd Stop(frame) //跳到指定的画面并停止播放。
gotAndp lay(“场景名称”,frame)//跳到指定场景帧并连续播放。
gotoAnd Stop(“场景名称:,frlme)//跳到指定场景帧并停止播放。
nextFra me( );//跳到下一帧播放;PrevPra me( );//跳到上一帧播放。
3.控制影片剪辑的播放与停止:t ellTar get命令如:tellTar get(“C1”){gotoAnd Stop(2);}//跳影片剪辑实例C1的第2帧并停止。
二、几种功能元件的制作方法1.计时器的制作单击菜单Ins ert/new symbol,在弹出的对话框中输入插入的符号名称(如:计时器),确定后选择文字工具,属性为动态(Dynamic text),在第一帧中画两个文本框。
分别设置变量名为munit e和time r,在两个文本框之间画一个形如冒号的圆点(这两个圆点可以做成一个符号,类型为电影片段,每秒闪动一次.然后拖入到两文本框之间。
在第二帧插入帧。
在第一帧输入动作脚本(Action)如下://设置时间的初值if(!started) {start_t ime=getTime r();started=true;timer=0;i=o;munite=0;}x=getTime r()-start_t ime;//计算时间的变化x=int(x/1000); //时间的单位为1000分之一秒y=x-60*iif (y>59){i=i+1;munite=munite+1timer=timer+1:}else{timer=y}该符号制作完毕后。
Flash的SWF文件的搜寻和下载
![Flash的SWF文件的搜寻和下载](https://img.taocdn.com/s3/m/76afde5a312b3169a451a47a.png)
第一篇 Flash的SWF文件的搜寻和下载一、查看源代码当浏览网页见到诱人的Flash时,点击右键,在右键菜单中选择“查看源文件”(或点击“查看”菜单中的“源文件”),记事本就带着密密麻麻的源代码显示在面前。
点击菜单“工具/查找”(或按下快捷键“Ctrl+F”),在弹出的对话框中输入“.SWF”,即可查找到Flash的SWF文件,复制下载链接地址,注意看是绝对链接还是相对链接。
打开下载工具软件FlashGet或者NetAnts,粘贴链接地址URL就可以轻松地下载这个SWF文件了。
二、利用全屏欣赏的URL有很多网站为了方便网友看Flash作品,常常提供了全屏欣赏,这种方式最受笔者的欢迎了,只要直接在链接上按鼠标的右键,选择“复制快捷方式”,然后到下载工具上粘贴地址链接URL就可以了。
一些具有在IE中添加右键功能的下载工具就更简单了,如下载软件FlashGet,在链接上按鼠标右键,直接选择“使用网际快车下载”,这个Flash作品就乖乖地归到硬盘上去了。
三、在本机的临时文件夹中查找当你看过一个Flash后,IE便会自动将它存到临时文件夹中——C:\Windows\Temporary Internet Files——注意,这是针对Win98而言。
然后查询其中的.SWF文件,很快,所有的Flash文件都显示在眼前,只要把它们全部Copy到另外的目录,然后自己慢慢挑吧。
不过你首先要注意的是你的IE 所放临时文件夹的大小,如果太小,或许Flash动画就不会被记录,如果你根本取消了IE临时文件夹,那么这个方法并不适合你。
在Win2000中却不同,因为它根据不同用户设置了不同的各种参数,包括上网的记录,我们必须到以下的目录来查找: 操作系统盘\Documents and Settings\Administrator\Local Settings\Temporary Internet Files 或者: 操作系统盘\Documents and Settings\Default User\Local Settings\Temporary Internet Files 这是一种较为简单的方法,并且无需装任何新软件。
FLASH实用代码大全flash动作代码flash常用代码flash教程
![FLASH实用代码大全flash动作代码flash常用代码flash教程](https://img.taocdn.com/s3/m/f9b01a0303d8ce2f0066233f.png)
外部调用swfon (release) {loadMovieNum("service.swf", 1);}外部调用数据loadVariablesNum("about.txt", 0);eCodepage = true;//中文音乐加入mySound = new Sound();mySound.attachSound("1");mySound.start();关闭指定音乐mySound.stop("1");外部调用音乐mySound=new Sound();mySound.loadSound("music.mp3",true);mySound.start(0,100)关闭音乐mySound.stop();链接场景:on (release) {gotoAndStop("猫的历史",1);}清空文本框_root.text=""On(Release)Set Variable:"input" = ""Set Variable:"output" = ""End On轻松实现Flash的全屏播放许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash 制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。
Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。
Fscommand指令只有在Flash影片播放器执行时才有效(.swf和.exe),在Flash制作过程中,按“Ctrl+Enter”预览动画,以及把动画发布成网页文件时,此指令无法发挥它的功能。
flash常用脚本代码
![flash常用脚本代码](https://img.taocdn.com/s3/m/99e4d50a5627a5e9856a561252d380eb6294238f.png)
一、play命令〔播放〕1、使用格式play()该命令没有参数,功能是使动画从它的当前位置开始放映。
二、stop命令〔停止播放〕1、使用格式stop()该命令没有参数,功能是停止播放动画,并停在当前帧位置。
三、gotoAndPlay命令〔跳至…播放〕1、使用格式gotoAndPlay(frame)参数说明:frame:跳转到帧的标签名称或帧数。
该命令用来控制影片跳转到指定的帧,并开始播放。
2、用法举例gotoAndPlay(10)以上动作代码的作用是:让播放头跳转到当前场景的第10帧并从该帧开始播放。
四、gotoAndStop命令〔跳至…停止播放〕1、使用格式gotoAndStop(frame)参数说明:frame:跳转到帧的标签名称或帧数。
该命令用来控制影片跳转到指定的帧,并停止在该帧。
2、用法举例gotoAndStop(10)以上动作代码的作用是:让播放头跳转到当前场景的第10帧并停止在该帧。
五、stopAllSounds命令〔停止所有音轨〕1、使用格式stopAllSounds()该命令没有参数用来停止当前FlashPlayer中播放的所有声音。
六、if...else语句(条件语句)1、使用格式if(条件){语句1;}else{语句2;}当条件成立时,执行“语句1〞的内容。
当条件不成立时,执行“语句2〞的内容2、用法举例if(a〉b){//判断a是否大于btrace("a>b"); }else{trace("b >=a"); }//假设成立,那么输出a>b//假设不成立那么输出b>=a七、switch...case...default语句〔条件语句〕1、使用格式switch(表达式){case值1:执行语句1;break;case值2:执行语句2;break;default:语句;}先计算表达式的值,然后去各个case子句中寻找对应的执行语句。
Flash(Swf)文件结构说明
![Flash(Swf)文件结构说明](https://img.taocdn.com/s3/m/5bb4ad34eefdc8d376ee3296.png)
SWF文件头:所有SWF文件头都具有如下内容(格式定义见第三章基本数据格式):文件开头包含0x46,0x47,0x53(“FWS”)或者0x46,0x57,0x43(“CWS”)三个字节大小的域。
FWS标记表示无压缩的SWF格式文件;CWS表示在使用标准的ZLIB压缩完8个字节长度FileLength域后的域。
数据格式使用1950到1952通用标准文档的ZLIB库进行描述。
只有在SWF6.0以后版本才允许进行CWS文件压缩。
然后是一个字节的版本域。
版本域不是ASCII字符而是一个8位的数字。
例如:SWF4.0版本的版本字节是0x04,而不是ASCII字符‘4’(0x35)。
在文件头中文件长度域包含了SWF文件的总长度。
如果是无压缩的SWF(FWS域)文件,文件长度域储存文件的大小。
如果是压缩的SWF文件,文件长度域存储压缩后的文件大小,这样一般不用计算文件的大小。
如果无压缩有效,则能够进行更有效的压缩处理。
FrameSize(帧大小)域定义了动画的宽度和高度。
并以RECT格式存储,也就是它的大小依照需要的字节大小进行改变。
X 和Y 坐标一直保持为0;最大坐标值用来定义动画的宽度和高度。
(见使用字值)。
FrameRate (帧速)表示每秒帧的播放速度。
这个速度不是在SWF 文件中流声音数据的速度或运行在低速率CPU 上的速度。
FrameCount (帧数)指SWF 动画的总帧数。
SWF 文件结构:下面的SWF 文件头由几个连续的标签(Tag)数据块组成。
所有的标签(Tag)都是一个格式,因此分析一个SWF 文件不用去了解这些数据块。
数据块中的数据指向它内部的数据,但不能指向其他数据块内部的数据。
这样便于使用工具对SWF 文件进行增加、删除、修改标签(Tag)。
标签(Tag)格式:每个标签(Tag)都包含标签(Tag)类型和长度。
有两种标签(Tag)头格式,长类型和短类型。
短标签(Tag)用于标识小于62字节的数据。
如何用顾思闪客精灵MX2005得到FLASH作品的源文件
![如何用顾思闪客精灵MX2005得到FLASH作品的源文件](https://img.taocdn.com/s3/m/8b87d46e02768e9951e738a2.png)
如何用顾思闪客精灵MX2005得到FLASH作品的源文件
当你看到一个由flash制作的好作品(swf)的时候,就想得到它的源码文件(fla),这可以借助软件<硕思闪客精灵>来实现.硕思闪客精灵就具有这功能,可以把现成的flash作品解析成源文件,其实在网上还有许多类似软件具有这功能,我熟悉硕思闪客精灵,所以今天介绍一下它的主要用法下载硕思闪客精灵,目前好用的版本是[硕思闪客精灵MX2005],安装后在桌面上的快捷图标如下:
硕思闪客精灵有三个很实用的功能:
A.把swf文件还原成fla文件,轻松修改和借鉴.
B.可以在缓冲区里很方便的找到你需要收藏swf文件,不愁收藏.
C.可以导出swf里的各个部件,方便利用他人的东西.
下面说明软件的使用要点
1.运行该软件
2.选择路径找你电脑里的swf文件,更重要的是找<缓冲区>里的文件.
(特别说明:缓冲区,是你访问网页的时候,网页中的文件都临时储藏在缓冲区里,目的加快以后重复访问的速度.但,同时也把无法下载的文件保存到缓冲区,用本软件很方便的就找到你需要的swf文件,这就是硕思闪客精灵最大优点。
3.点选缓冲区文件名,在演播窗口就看到你需要的文件
4.对准缓冲区里的文件右击,点<复制>,再去你电脑里粘贴收藏
5,在下图箭头指向的地方点<导出.FLA文件>,就能把swf文件按fla源码文件格式保存 6.点下图里的箭头指向的<+>号地方,展开后,选择需要保存的部件
7.勾选需要保存的部件,点<导出>,再保存
8.安装好软件以后,也可不运行软件,对准你电脑里的swf文件右击,会看到<用闪客解析>,也可直接还原swf为fla文件。
如何把exe的flash还原成swf
![如何把exe的flash还原成swf](https://img.taocdn.com/s3/m/bf9c9f233169a4517723a3c9.png)
首先要准备一个16进制字节码编辑器,这里用的是UltraEdit,可以到这里下载它最新的破解版。
现在我们开始我们的还原工作吧。
1.用UltraEdit打开待还原的exe文件。
你就会看到这个exe的字节文件。
其实exe只是在swf文件之前添加了播放器的内容,那么我们的还原工作其实要的就是把这些添加的内容删除就还原成功了。
2.确定swf的开头,把之前的所有内容全部删除掉。
swf大部分都是以46 57 53开头的,还有一些是以43 57 53开头的。
所以我们可以查找"46 57 53",但是你会找到好几个地方都是46 57 53,到底哪一个是真的开头呢?不要着急,这里有个诀窍。
一般你查找到的最后一个就是swf的开头。
所以你只要在查找内容里面输入46 57 53后就拼命往下找吧(说拼命其实没那么夸张了,你总共也找不到几个46 57 53),直到找到最后一个。
在告诉你个方法确定这最后一个46 57 53是不是真的开头:看看这个46 57 53之后的那个字节数字,它表示文件的版本号,所以它不可能是00;再看版本号后面的四个字节数字,它表示swf文件的大小,但是要从这四个数字知道swf的大小我们得把四个数字颠倒过来看,比如说"80 32 00 00"表示的大小就是"00 00 32 80",记住它是16进制的数字。
swf 文件大小不可能是0吧,所以呢在版本号之后的那个数字绝对不可能是00。
现在你可以肯定哪里是swf的开头了吧,确定之后不要犹豫,之前的内容删无赦!(ps:以43 57 53开头很少见,它表示有加密,但是没关系我们仍然可以按这个方法还原它)3.不过不要着急,转换还需要一点收尾工作。
看看文件的最后,倒数第5、6、7、8个字节数字"56 34 12 FA"是exe文件结束的标志,既然还原都都不是exe文件了,那留着这几个数肯定碍事,哈哈那就删了吧。
精心整理的flash相关代码大集合
![精心整理的flash相关代码大集合](https://img.taocdn.com/s3/m/3e5e197fbf23482fb4daa58da0116c175f0e1efd.png)
精心整理的flash相关代码大集合FLASH脚本代码大全。
flash的基本操作代码- Go to 跳转到指定的帧- Play 播放- Stop 停止- Toggle High Quality 在高画质和低画质间切换- Stop All Sounds 停止所有声音的播放- Get URL 跳转至某个超联结- FSCommand 发送FSCommand命令- Load Movie 装载影片- Unload Movie 卸载影片- Tell Target 告知目标- If Frame Is Loaded ..判断帧是否被完全载入- On Mouse Event 鼠标事件。
其他Actions。
包括:- break 跳出循环- call 调用指定帧(一般喊有某个特定函数)- comment 注释- continue 继续循环- delete 删除一个对象(Object)中的变量- do while do while循环- duplicateMovieClip 复制MC- else 否则(与if联用)- else if 否则如果(与if联用)- evaluate 调用自定义函数(Function)- for for循环- for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素- FSCommand 发送FSCommand命令- function 声明自定义函数- getURL 跳转至某个超联结- goto 跳转到指定的帧- if 如果- ifFrameLoaded ..帧是否完全被载入- include 读入外部的ActionScript程序文件(.as)- loadMovie 装载MC- loadVariables 转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI 等脚本返回的文本值- on 鼠标事件的触发条件- onClipEvent MC的事件触发程序- play 播放- print 输出到打印机- removeMovieClip 删除MC- return 在函数(function)中返回一个值- set variable 设定变量值- setProperty 设定属性- startDrag 开始拖动- stop 停止- stopAllSounds 停止所有声音的播放- stopDrag 停止拖动- swapDepths 交换两个MC的深度- tellTarget 指定Action命令生效的目标- toggleHighQuality 在高画质和低画质间切换- trace 跟踪调试- unloadMovie 卸载MC- var 声明局部变量- while 当..成立时..- with 对..对象(Object)做..。
swf反编译原理
![swf反编译原理](https://img.taocdn.com/s3/m/c7ddc330f02d2af90242a8956bec0975f465a433.png)
swf反编译原理SWF反编译原理SWF是一种Adobe公司开发的动画格式,常用于互联网上的Flash 动画。
SWF文件中包含了动画的各种元素,如图像、音频、视频和动作脚本等。
而SWF反编译是指将SWF文件转换为可编辑的源代码的过程,使得用户可以查看和修改SWF动画的内部结构和逻辑。
SWF反编译的原理主要涉及两个方面:SWF文件格式的解析和动作脚本的分析。
SWF文件格式的解析是SWF反编译的基础。
SWF文件是由一系列的标签(Tag)组成的,每个标签都有自己的类型和长度。
通过解析SWF文件的字节流,可以将其转换为标签的序列,从而获得SWF文件的内部结构。
常见的SWF标签有文件属性标签、图形标签、文本标签和动作标签等。
通过解析这些标签,可以获取SWF文件中的各种元素,如图像、文字和动作脚本。
动作脚本的分析是SWF反编译的关键。
动作脚本是Flash动画中的逻辑代码,它控制着动画的行为和交互。
通常,动作脚本使用ActionScript语言编写,可以实现各种复杂的功能,如按钮的点击事件、动画的播放控制和数据的处理等。
在SWF反编译过程中,需要将动作脚本从SWF文件中提取出来,并进行词法分析和语法分析,从而获得动作脚本的结构和含义。
常见的动作脚本语句有赋值语句、条件语句和循环语句等。
通过分析这些语句,可以理解动作脚本的逻辑,进而修改和优化动画的行为。
SWF反编译的过程中,还需要解决一些技术难题。
首先,SWF文件通常会进行代码混淆和加密,以防止被反编译。
因此,在进行SWF反编译时,需要先对SWF文件进行解密和解混淆,才能获取可读的源代码。
其次,在动作脚本的分析过程中,需要处理动作脚本中的外部引用和依赖关系。
例如,动作脚本可能会调用外部的函数或变量,这些外部引用需要进行识别和处理,以确保反编译后的源代码可以正常运行。
总结起来,SWF反编译的原理包括SWF文件格式的解析和动作脚本的分析。
通过解析SWF文件的标签和字节流,可以获取SWF文件的内部结构和元素。
网页中flash SWF文件的下载方法
![网页中flash SWF文件的下载方法](https://img.taocdn.com/s3/m/dba2414b767f5acfa1c7cdbf.png)
把它粘贴到浏览器的地址栏上,按回车,FLASH就全屏地出现在浏览器窗口。
接着复制整个地址,打开下载工具软件flashget或者NetAnt,粘贴链接地址URL即可。
如果页面里有多个FLASH文件,但只是想下载其它一个两个,按上面的方法先使SWF文件全屏,直到找到想下载的SWF文件。
二、有全屏链接的
有很多网站为了方便网友看FLASH作品,常常提供了全屏欣赏,这种方式最受笔者的欢迎了,只要直接在链接上按鼠标的右键,选择“复制快捷方式(copy url)”,然后到下载工具上粘贴地址链接URL(如上法),这个FLASH作品又乖乖地归到硬盘上去了。
三、去temp里查找
四、使用软件
现在到了隆重推荐时刻,非常可爱的woof千里迢迢从家里(/download/swdetail.phtml?id=5048)赶到了我的面前,嬉皮笑脸地对我说,让它来露露脸。好吧,看在它那迷人的脸蛋上,我就向大家讲讲用它查找硬盘上的SWF文件。
在win2000中又有不同,因为它根据不同用户设置了不同的各种参数,包括上网的记录,我们必须到以下的目录来查找:
操作系统盘>>Documents and Settings>>Administrator>>Local Settings>>Temporary Internet Files
6. 通过上述方法下载完主动画中的所有链接动画后,把这些文件拷贝到同一个目录下,再运行主动画,一切OK。
有些网站为保护自己的设计成果不让人偷窃,做好了框架,对于一些不大熟悉HTML标记语言的网友来说,无从下手,“去temp里查找”不失为一个好方法,因为通常浏览过的网页,IE都会把它们有关的资料信息记录到“Temporary Internet Files”右键,点击查找“.SWF”,很快,所有的FLASH文件都显示在眼前,只要“一锅端”,把它们全部COPY到另外的目录,然后自己慢慢挑吧。
FLASH调用外部SWF代码
![FLASH调用外部SWF代码](https://img.taocdn.com/s3/m/d98c02280912a216147929fb.png)
FLASH调用外部SWF、音乐、视频、TXT,HTML一,在Flash中用loadMovieNum函数调用所有外部文件详解在Flash中我们可以通过帧、按钮、影片剪辑来调用外部文件。
调用的外部文件可以包括:外部文本文件、外部程序文件、外部*.swf文件、外部图片文件、外部音乐文件、外部脚本文件等。
现在我们将Flash加载外部文件的五种方法与技巧总结一下,现在本文是第五讲:第四讲回顾:Flash用mySound.loadSound调用外部声音文件加载到场景:/html/image/flash/20081129/2990.html用loadMovieNum()函数调用所有外部文件(一)loadMovieNum()函数详解用法:loadMovieNum("url",level [, variables])功能:在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。
参数:该函数有3个参数:url、target、variables。
variables 是可选参数。
1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
该函数的此参数和上面loadMovie中的此参数用法完全一致,这里不再作解释。
2.参数level:一个整数,指定 SWF 文件将加载到Flash Player中的哪个级别。
加载的时候,可以这样来写:loadMovieNum("01.swf", 1);loadMovieNum("02.swf", 2);loadMovieNum("03.swf", 3);loadMovieNum加载后的控制可以这样使用:_level1._x=10 ;_level2.aa._alpha=50 ;_level3.aa.bb._width=110;_level4.mysound.stop();// 加载到级别为4的对象MC:mysound停止(播放音乐)需要注意的的是,每一个级别只能同时存在一个 SWF 或 JPEG 文件。
PowerPoint文档里内嵌的Flash如何导出还原成SWF
![PowerPoint文档里内嵌的Flash如何导出还原成SWF](https://img.taocdn.com/s3/m/4ca62bc35022aaea998f0f30.png)
PowerPoint文档里内嵌的Flash如何导出还原成SWF下载的PPT文稿,里有内嵌的Flash,想把PPT里的Flash 还原为SWF文件用于别的地方。
谢谢至少有两个办法是可以实现一、使用winhex 方法如下:1、打开令你口水连绵不绝含有flash的那个PPT,鼠标对准flash,选择“复制”;2、在任一磁盘空间或某一文件夹下,选“粘贴”,此时磁盘上会出现一个名为“片段”的文件;3、用winhex打开之,搜索“465753”;(此为嵌入的flash文件开头)4、你会找到这样一串数据:46 57 53 06 31 16 00 00(前面三个数是一样的,后面可能有所不同,我以我的试验为例)5、此数据需要反过来读。
46 57 53 翻译过来就是fws,即swf;0不用管,31 16是此flash文件的长度,06是该flash的版本。
6、把31 16 倒过来,就是1631,这是16进制的,把它转成10进制;(就是5681)7、按住鼠标左键不放,从46 57 53开始,一路狂奔,你会看到“offset”数字一直在变化,直到提示总和已到5681。
8、把这部分复制,选择“编辑”--copy block--置入新文件9、把这个置入的新文件后缀名改为:.swf,此文件即为千辛万苦从PPT提取出来的文件。
二、采用PowerPoint文件提取器ppSWFRipper.rar1、到网上找到PowerPoint文件提取器,英文名:ppSWFRipper;2、解压后,运行之,选择“受监视的目录”,此即为要提取的PPT资源所在地;3、打开令你口水连绵不绝含有flash的那个PPT,鼠标对准flash,选择“复制”;4、在PowerPoint文件提取器设置监视的目录内,选“粘贴”,此时磁盘上会出现一个名为“片段”的文件;5、选择“开始监视”;6、选择“批量提取”,选择你刚才生成的powerpoint片段文件,然后就去你刚才设置的那个盘找,看看那个你令你魂牵梦绕的flash在不在那等你?如果提取出错,请检查:你是否还开着刚才打算提取的PPT?监视目录有没有搞错?三、千万不要相信什么另存为网页文件就可找到,此招只能快速搜括PPT内所有的图片,对flash那是无能为力的。
反编译FLASH利器SWF DECOMPILER使用教程
![反编译FLASH利器SWF DECOMPILER使用教程](https://img.taocdn.com/s3/m/9acc2b75336c1eb91a375df2.png)
反编译Flash利器SWF Decompiler使用教程1、软件功能介绍SWF Decompiler 是一款用于浏览和解析Flash动画(.swf文件和.exe文件)的工具。
它能够将flash动画中的图片、矢量图、字体、文字、按钮、影片片段、帧等基本元素完全分解,还可以对flash 影片动作(Action)进行解析,清楚的显示其动作的代码,让您对Flash 动画的构造一目了然。
你可以将分解出来的图片、矢量图、声音灵活应用于FLASH MX 2004 中,让你也可以做出大师级的作品!2、认识SWF Decompiler 的界面SWF Decompiler 的界面如(图1)所示:图1SWF Decompiler 的界面比较简单,除了上面的菜单栏和工具栏外,左边是文件查看窗口,中间是影片预览窗口和信息窗口,右边是资源窗口,下面简单介绍一下工具栏。
由于菜单命令与工具栏的功能一样,这里只介绍工具栏的作用。
工具栏包括共有9个工具(参看图1 从左至右):①快速打开:不用解释吧^o^;②导出fla:导出反编译后的 .fla格式源文件;③导出资源:导出反编译后的Flash中的资源,如图片、音频、Flash片段等;④文件浏览:显示或隐藏文件浏览窗口;⑤信息窗口:显示或隐藏信息窗口;⑥资源窗口:显示或隐藏资源窗口;⑦影片信息:显示当前的Flash影片信息;⑧背景颜色:设置Flash及资源预览窗口的背景颜色;⑨动作脚本查看方式:共有3个查看方式选择,源码、伪码、原始数据;3、SWF Decompiler 的操作方法①打开Flash影片。
打开SWF Decompiler 后在文件夹浏览窗口中找到要处理的Flash所在的文件夹(当然也可用“快速打开”工具)并单击,然后在文件选择窗口中点击要处理的Flash(可以是swf格式或exe格式),此时开始在预览窗口中播放影片。
如果想浏览窗口大一些,可点击[文件浏览]和[信息窗口]工具,隐藏了这两个窗口,浏览窗口便自动扩大。
解压缩,压缩和读取flash头文件信息
![解压缩,压缩和读取flash头文件信息](https://img.taocdn.com/s3/m/06ca4e17581b6bd97f19ea3a.png)
解压缩,压缩和读取flash头文件信息swf文件在flash6以后多了压缩的选项,使用zlib压缩,有人写的zlib的链接库(/),在他们的网页里面有详细的使用帮助。
下面是我写的解压缩,压缩和读取flash头文件信息的代码:压缩:openFileDialog1.Filter = "JPG Files|*.swf";openFileDialog1.Title = "Select a Swf File";if(openFileDialog1.ShowDialog() == DialogResult.OK){string fileName = Path.GetFullPath(openFileDialog1.FileName);FileStream fs1 = new FileStream(fileName, FileMode.Open, FileAccess.Read); BinaryReader r = new BinaryReader(fs1);byte[] writedata = r.ReadBytes((int)(fs1.Length - 1));ManagedZLib.ManagedZLib.Initialize();string tempfile = "aaa.swf";FileStream fs = new FileStream(tempfile, FileMode.OpenOrCreate);byte[] writefiledata = new byte[8];writefiledata[0] = Convert.ToByte('C');for(int i=1;i<8;i++){writefiledata[i] = writedata[i];}fs.Write(writefiledata,0,8);pressionStream zlibStream = new pressionStream(fs,pressBest);BinaryWriter zlibWriter = new BinaryWriter(zlibStream);zlibWriter.Write(writedata,8,writedata.Length - 8);zlibWriter.Close();zlibStream.Close();r.Close();fs1.Close();}解压缩:程序代码FileStream stream [color=#0000ff]= new FileStream(filename,FileMode.Open,FileAccess.Read, FileShare.ReadWrite);BinaryReader reader = new BinaryReader(stream);try{byte[] dataPart = new byte[stream.Length-8];string mark = new string(reader.ReadChars(3));if(mark == "FWS"){MessageBox.Show("已经是解压缩过的文件");return;}int version = Convert.ToInt32(reader.ReadByte());int fileLength = reader.ReadInt32();reader.Read(dataPart, 0, dataPart.Length);byte[] savedata = new byte[fileLength];savedata[0] = Convert.ToByte('F');savedata[1] = Convert.ToByte('W');savedata[2] = Convert.ToByte('S');savedata[3] = version;savedata[4] = Convert.ToByte(fileLength%256);savedata[5] = Convert.ToByte(fileLength/256%256);savedata[6] = Convert.ToByte(fileLength/256/256%256);savedata[7] = Convert.ToByte(fileLength/256/256/256%256);MemoryStream dataStream = new MemoryStream(dataPart);try{ManagedZLib.ManagedZLib.Initialize();pressionStream zlibStream = new pressionStream(dataStream,pressionOptions.Decompress);BinaryReader zlibReader = new BinaryReader(zlibStream);try{byte[] decompressedPart = new byte[fileLength - 8];zlibReader.Read(decompressedPart, 0, decompressedPart.Length);for(int i=8;i<fileLength;i++){savedata[i] = decompressedPart[i-8];}string FILE_NAME = bine(AppDomain.CurrentDomain.BaseDirectory,filename);FileStream fss = new FileStream(FILE_NAME, FileMode.OpenOrCreate);BinaryWriter ww = new BinaryWriter(fss);ww.Write(savedata);ww.Close();fss.Close();}finally{zlibReader.Close();zlibStream.Close();ManagedZLib.ManagedZLib.Terminate();}}finally{dataStream.Close();}}finally{reader.Close();stream.Close();}[/color]读取头文件信息:flash的头文件信息在flash文件格式一文中有详细的讲解,每个字节所代表的意思都有. 第4个字节flash 的版本第5-8个字节代表flash文件大小然后是flash文件的舞台大小和帧速率,帧数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
■ Flash深入研究之四——编程还原Flash MX中压缩格式的SWF文件
————————————————以下为程序代码—————————————
unit c2f_u1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, zlib;
type
TMain = class(TForm)
Button1: TButton;
Label3: TLabel;
Label1: TLabel;
Label2: TLabel;
OpenDialog1: TOpenDialog;
Button2: TButton;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FileLength : LongWord; //SWF文件尺寸
FileBuf : Array of Byte; //将SWF文件读入内存存放
end;
var
Main: TMain;
implementation
{$R *.dfm}
procedure TMain.Button1Click(Sender: TObject);
var
f,fw : File;
fws : string[3]; //标示信息
version : Byte; //SWF文件版本号
CurrentPos : Integer; //内存读写位置
zStream : TDecompressionStream; //实现压缩数据还原
inStream : TMemoryStream; //压缩数据流
begin
if not OpenDialog1.Execute then exit;
FileMode:=fmOpenRead;
AssignFile(f,OpenDialog1.FileName);
Reset(f,1);
SetLength(FileBuf,FileSize(f));
BlockRead(f,FileBuf[0],Filesize(f)); //将文件读入内存
CloseFile(f);
//下面为读取SWF文件的文件头Header部分
CurrentPos:=0;
//读取'FWS'标示
SetLength(fws,3); Move(FileBuf[CurrentPos],fws[1],3); Inc(CurrentPos,3);
if fws<>'CWS' then begin
SetLength(FileBuf,0);
ShowMessage('该文件不是Flash SWF压缩文件!');
exit;
end;
//读取版本号
Move(FileBuf[CurrentPos],version,Sizeof(version));
Inc(CurrentPos,Sizeof(version));
if Version<5 then begin
SetLength(FileBuf,0);
ShowMessage('该SWF文件不是Flash 5以上版本,本程序当前仅识别Flash 5以上格式SWF文件!');
exit;
end;
//读取SWF文件长度
Move(FileBuf[CurrentPos],FileLength,Sizeof(FileLength));
Inc(CurrentPos,Sizeof(FileLength));
//FileBuf下面的内容都是压缩数据
inStream:=TMemoryStream.Create;
//将压缩数据读入inStream压缩数据流
inStream.Write(FileBuf[CurrentPos],Length(FileBuf)-3-Sizeof(version)-Sizeof(File Length));
inStream.Position:=0;
//实现还原
zStream:=TDecompressionStream.Create(inStream);
//数据还原后所需缓冲区长度会加长
SetLength(FileBuf,FileLength);
//将还原的数据写回缓冲区
zStream.Read(FileBuf[3+Sizeof(version)+Sizeof(FileLength)],FileLength-3-Sizeof(v ersion)-Sizeof(FileLength));
zStream.Free;
inStream.Free;
fws:='FWS';
//将原CWS改为FWS
Move(fws[1],FileBuf[0],3);
//此时将缓冲区数据存盘就是SWF的还原文件
ShowMessage('压缩数据已经实现还原,请存盘!');
if not SaveDialog1.Execute then exit;
AssignFile(fw,SaveDialog1.Filename);
ReWrite(fw,1);
BlockWrite(fw,FileBuf[0],Length(FileBuf));
CloseFile(fw);
SetLength(FileBuf,0);
end;
procedure TMain.Button2Click(Sender: TObject);
begin
Close;
end;
end.。