一、解除只读模式
要想解决只读模式必须知道“修改权限密码”。我们可以利用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选择打开上面得到的“片段”文件。执行“搜索”菜单中的“查找”。按照图一设置好查找条件。
搜索结果如图二。注意看“46 57 53”三个字节后面的五个字节,即“08 92 46 00 00”(不同Flash由于文件大小和版本不同,五个字节的实际值不可能和这里完全一样)。这五个字节有特定的意义:第一个表示Flash版本号,后四个表示该Flash文件的大小。特别要提醒的是:这里的数值是以十六进制计算的而且是倒序排列的,即文件大小是十六进制的00004692(下面计算时0000要省略)。用操作系统中自带的“计算器”软件把十六进制的“4692”换算成十进制等于“18066”。现在,回到UltraEdit-32中用鼠标选中从“46 57 53”开始向下的18066字节大小区间并复制(UltraEdit-32的状态栏中可以直接看到选定大小,如图三)
在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的软件,安全性不可靠,而且多有水印,正版无水印需购买。
评论