登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我是一片叶筋脉是森林我是一滴水魂魄是海洋

爱你们,所有的人,祝福你们,所有的人。Love all of you,guys

 
 
 

日志

 
 

如何提取嵌入PPT中的Flash文件  

2010-06-13 16:05:15|  分类: 软件教程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
PowerPoint课件让我帮助提取里面的Flash资源。1、设置了修改权限密码,在PowerPoint中只能以“只读”方式打开;2、Flash资源采用的是控件调用,并选择“嵌入影片”。

一、解除只读模式

要想解决只读模式必须知道“修改权限密码”。我们可以利用Advanced Office XP Password Recovery (professional edition)软件,它可以查看Office Xp系列软件的只读密码(也适用于Office 2003)。下载并安装该软件,打开我们要破解的PowerPoint文件,软件会自动分析并显示密码,速度也很快,9位数的密码1秒种不到就解决了。记住密码,下面要用到。

启动PowerPoint Xp 选择打开该文件(由于该课件是以放映模式保存的,扩展名为pps,不能直接双击该文件,那样会直接放映),将上面得到的密码输入弹出对话框就可以编辑课件了。现在,我们在“工具→选项→安全性”中将修改权限密码清空,然后保存。

注:很多人知道可以用“另存为”破解WORD中的只读模式,但是PowerPoint中却不行,因为文件菜单中的“保存”和“另存为”均是灰色的。

二、提取Flash资源

找到Flash资源所在的幻灯片,选中Flash影片点右键选择“复制”。然后打开“资源管理器”,随便进入一个文件夹内,点鼠标右键选择“粘贴”,这时在文件夹内会出现一个文件名为“片段”的新文件。这次我们要利用UltraEdit-32软件。

启动UltraEdit-32选择打开上面得到的“片段”文件。执行“搜索”菜单中的“查找”。按照图一设置好查找条件。如何提取嵌入PPT中的Flash文件 - 愛онd承諾 - 我是一片叶筋脉是森林我是一滴水魂魄是海洋


搜索结果如图二。注意看“46 57 53”三个字节后面的五个字节,即“08 92 46 00 00”(不同Flash由于文件大小和版本不同,五个字节的实际值不可能和这里完全一样)。这五个字节有特定的意义:第一个表示Flash版本号,后四个表示该Flash文件的大小。特别要提醒的是:这里的数值是以十六进制计算的而且是倒序排列的,即文件大小是十六进制的00004692(下面计算时0000要省略)。用操作系统中自带的“计算器”软件把十六进制的“4692”换算成十进制等于“18066”。现在,回到UltraEdit-32中用鼠标选中从“46 57 53”开始向下的18066字节大小区间并复制(UltraEdit-32的状态栏中可以直接看到选定大小,如图三)如何提取嵌入PPT中的Flash文件 - 愛онd承諾 - 我是一片叶筋脉是森林我是一滴水魂魄是海洋

在UltraEdit-32中新建一个文件并输入“1“,然后点工具栏中红色“H”切换到16进制方式,选中“31”(“31”是数字“1”的ASCII码)后点鼠标右键“粘贴”。最后以扩展名.swf保存该文件就大功告成了。

三 提取swf文件

①如果你用的是高版本的offic(07或者是10),直接另存为网页形式(非网页mht),所有的东西就都可以用了该ppt文件就会被另存为一个文件夹,从文件夹可以找到PPT 相关的图片、声音等多媒体文件。
若是低版本,采用如下方法:
②新建excel文档,改名为“提取swf.xls”,打开该文档,找到:工具—>宏—>VB编辑器点击“模块”,(若无法找到宏工具,请网上搜索不同office版本添加宏工具和更改宏安全性的方法)在弹出窗口中粘贴如下代码:

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


保存好“提取swf.xls”文档(可加载宏的版本)。新建一个excel文档,改名为“Flash1.xls”,打开该文档,将PPT中的flash复制粘贴,保存(2003版本)。
打开“提取swf.xls”,点击:宏—>宏—>执行,在将弹出路径指向“Flash1.xls”,执行的结果,PPT中的flash就以“Flash1.swf”被提取并保存。
 
③也可直接下载网上网友提供的文件,但安全性不可靠;也有部分国外网友提供的直接提取swf的软件,安全性不可靠,而且多有水印,正版无水印需购买。

  评论这张
 
阅读(2887)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018