瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 从excel中导出flash方法
飘飞的大象 - 2009-1-11 22:23:00
从excel中导出flash方法

不知道大家有没有收到过别人发过来的EXCEL文档,里面有FLASH游戏的那种,有没有想过要把那游戏提取出来呢?找了很久在网上找到了一个方法.

      具体方法如下:

1. 点击工具——>宏——>宏
2. 弹出一个宏创建窗体,在窗口中输入宏名(例如:宏名:ExtractFlash)点击创建按钮。
3. 弹出一个编程界面,在界面的中间有一个小窗口,在窗口中输入下面的程序段。
Sub ExtractFlash()
Dim tmpFileName As String, FileNumber As Integer
Dim myFileId As Long
Dim myArr() As Byte
Dim i As Long
Dim MyFileLen As Long, myIndex As Long
Dim swfFileLen As Long
Dim swfArr() As Byte

tmpFileName = Application.GetOpenFilename("office File(*.doc;*.xls),*.doc;*.xls", , "确定要分析的 Office 档")
If tmpFileName = "False" Then Exit Sub
myFileId = FreeFile
Open tmpFileName For Binary As #myFileId
MyFileLen = LOF(myFileId)
ReDim myArr(MyFileLen - 1)
Get myFileId, , myArr()
Close myFileId
Application.ScreenUpdating = False
i = 0
Do While i < MyFileLen
If myArr(i) = &H46 Then
If myArr(i + 1) = &H57 And myArr(i + 2) = &H53 Then
swfFileLen = CLng(&H1000000) * myArr(i + 7) + CLng(&H10000) * myArr(i + 6) + CLng(&H100) * myArr(i + 5) + myArr(i + 4)
ReDim swfArr(swfFileLen - 1)
For myIndex = 0 To swfFileLen - 1
swfArr(myIndex) = myArr(i + myIndex)
Next myIndex
Exit Do
Else
i = i + 3
End If
Else
i = i + 1
End If
Loop

myFileId = FreeFile
tmpFileName = Left(tmpFileName, Len(tmpFileName) - 4) & ".swf"
Open tmpFileName For Binary As #myFileId
Put #myFileId, , swfArr
Close myFileId

MsgBox "以" & tmpFileName & "名字保存"
End Sub
4. 按F5运行宏。
5. 弹出一个选择文件的窗口,选择你想要提取flash的excel文件,点击打开按钮。
6. 这时会弹出一个提示窗口“以。。。。名字保存”,点击确定。
7. 在excel所在的位置会产生一个同名的flash文件。到此flash文件已经导出了。

特别说明:一般的操作很难导出,只能采取分析文件的办法导出,因为SWF是有数据格式的,有不一样的PE头,所有能够分析导入,说远了,反正你可试试这样导出。
另:那怎样将flash加入excel里?
第1步首先开启一个空白Excel文件,在上方功能表的空白处按一下鼠标右键,然后点选【控制工具箱】,启用「控制工具箱」工具列。
第2步 出现「控制工具箱」工具列后,在最右边的「其他控制项」按钮上按一下鼠标右键,然后再选单中点选「Shockwave Flash Object」项目,表示等等要插入Flash物件。
第3步接著,鼠标会变成一个小十字的图案,此时可以在Excel编辑区中划一个大小适中的方框,这个方框就是用来显示Flash动画的内容的。
第4步 画好方框后,接著在物件上方按一下滑鼠右键并点选功能表中的【属性】,准备设定该物件的属性。
第5步出现「属性」对话盒后,在页面中找到「Movie」这个项目,并在其右边的方框中输入你的Flash档的网址,输入完毕再按一下右上角的〔X〕关闭此对话盒即可。
第6步 回到Excel编辑页面后,点一下「控制工具箱」工具列最左边的〔结束设计模式〕按钮,恢复一般模式。
第7步 设定好该物件的属性并回到一般编辑模式后,我们便可看到Excel档案中出现了刚刚贴上的Flash档内容了。


用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; CIBA)
networkedition - 2009-1-12 8:56:00
不错学习了。
切磋 - 2009-1-12 9:22:00
你的加入FLASH的方法有点错误,embedmovie必须得改成“True”,同时如果大家想加载本地FLASH的话,可以在movie处输入文件的决对路径就可以了!
ID已删除 - 2009-1-12 11:27:00
代码这么多
1
查看完整版本: 从excel中导出flash方法