欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

解析PPT中內嵌的swf文件的方法及系統(tǒng)與流程

文檔序號:12271997閱讀:671來源:國知局
解析PPT中內嵌的swf文件的方法及系統(tǒng)與流程

本發(fā)明涉及計算機技術領域,尤其涉及一種解析PPT中內嵌的swf文件的方法及系統(tǒng)。



背景技術:

隨著多媒體的發(fā)展,PPT運用越來越廣泛。為了讓展示更生動,PPT中一般會內嵌swf文件,但是內嵌的swf文件無法提取出來單獨使用。

公開號為CN 103049303 A的中國專利公開了一種swf文件解析方法,包括步驟:加載文件,讀入swf文件;分析文件,分析swf文件結構的正確性;解析文件,若分析swf文件結構正確,對文件結構設置正確的swf文件進行解析;測試文件,檢測swf文件的外觀配置是否合適;并提取文件,提取swf文件的組成元素以供再次使用;修改文件,若分析swf文件結構不正確,對該swf文件進行修改。

然而,上述方法是對一個確定的swf文件進行解析,而PPT中內嵌的swf文件都是加密后的,其大小、位置都不確定,因此無法使用上述方法進行解析。



技術實現(xiàn)要素:

本發(fā)明所要解決的技術問題是:提供一種能夠解析PPT內嵌的swf文件的方法及系統(tǒng)。

為了解決上述技術問題,本發(fā)明采用的技術方案為:

一種解析PPT中內嵌的swf文件的方法,包括:

S1:解析PPT文件得到flash文件;

S2:讀取所述flash文件的二進制流;

S3:若讀取到三個連續(xù)的二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則獲取接下來的四個連續(xù)的二進制字節(jié);

S4:依據(jù)所述四個連續(xù)的二進制字節(jié)的值計算得到所述flash文件的大?。?/p>

S5:從所述四個連續(xù)的二進制字節(jié)之后的一位開始獲取n個字節(jié),所述n的值與所述flash文件的大小的值相同;

S6:保存所述n個字節(jié)。

本發(fā)明的另一個技術方案為:

一種解析PPT中內嵌的swf文件的系統(tǒng),包括:

解析模塊,用于解析PPT文件得到flash文件;

讀取模塊,用于讀取所述flash文件的二進制流;

第一獲取模塊,用于若讀取到三個連續(xù)的二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則獲取接下來的四個連續(xù)的二進制字節(jié);

運算模塊,用于依據(jù)所述四個連續(xù)的二進制字節(jié)的值計算得到所述flash文件的大??;

第二獲取模塊,用于從所述四個連續(xù)的二進制字節(jié)之后的一位開始獲取n個字節(jié),所述n的值與所述flash文件的大小的值相同;

保存模塊,用于保存所述n個字節(jié)。

本發(fā)明的有益效果在于:通過解析PPT文件能夠得到其內嵌的flash文件,由于flash文件加密規(guī)則的特性,如果flash文件中連續(xù)的三個二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則說明該flash文件為swf格式的文件,即為要獲取的文件;并且可對接下來的四個連續(xù)的二進制字節(jié)進行運算得到該swf格式的文件的大小,從而依據(jù)該大小即可獲取完整的swf文件,再對獲取到的swf文件進行保存,以進行后續(xù)應用;具有實現(xiàn)方式簡單、結果準確等優(yōu)點。

附圖說明

圖1為本發(fā)明實施例的解析PPT中內嵌的swf文件的方法的流程圖;

圖2為本發(fā)明實施例的解析PPT中內嵌的swf文件的系統(tǒng)的結構示意圖;

圖3為本發(fā)明實施例一的解析PPT中內嵌的swf文件的方法的流程圖。

標號說明:

1、解析模塊;2、讀取模塊;3、第一獲取模塊;4、運算模塊;5、第二獲取模塊;6、保存模塊。

具體實施方式

為詳細說明本發(fā)明的技術內容、所實現(xiàn)目的及效果,以下結合實施方式并配合附圖予以說明。

本發(fā)明最關鍵的構思在于:若讀取到三個連續(xù)的二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則獲取接下來的四個連續(xù)的二進制字節(jié),并計算flash文件的大小,按照flash文件的大小獲取字節(jié),得到swf文件。

請參照圖1,本發(fā)明提供:

一種解析PPT中內嵌的swf文件的方法,包括:

S1:解析PPT文件得到flash文件;

S2:讀取所述flash文件的二進制流;

S3:若讀取到三個連續(xù)的二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則獲取接下來的四個連續(xù)的二進制字節(jié);

S4:依據(jù)所述四個連續(xù)的二進制字節(jié)的值計算得到所述flash文件的大??;

S5:從所述四個連續(xù)的二進制字節(jié)之后的一位開始獲取n個字節(jié),所述n的值與所述flash文件的大小的值相同;

S6:保存所述n個字節(jié)。

從上述描述可知,本發(fā)明解析PPT中內嵌的swf文件的方法的有益效果在于:通過在PPT文件中找到swf文件的標識,以及計算出該swf文件的大小,即可獲取整個swf文件。從而能夠將PPT中內嵌的swf提取出來單獨使用,提高了資源的復用率。

進一步的,所述S4包括:

S41:將所述四個連續(xù)的二進制字節(jié)的值分別依次與四個預設值一一對應,并將所述四個連續(xù)的二進制字節(jié)的值分別與跟其一一對應的四個預設值相乘之后再相加,得到所述flash文件的大??;所述四個預設值依次為:1、256、65536和16777216。

從上述描述可知,上述計算方法是依據(jù)swf文件加密的規(guī)則特性得到,具體的計算方式可有多種,如將上述四個連續(xù)的二級制字節(jié)的值分別逆序乘以16777216、65536、256、1之后再相加。

進一步的,所述S6具體為:

將所述n個字節(jié)以文件形式保存,并將保存后的文件以swf為后綴命名。

從上述描述可知,這樣用戶可以直觀地獲知該文件為swf文件,當然,命名不限于上述形式,用戶可自行調整。

進一步的,解析得到的flash文件的數(shù)目為兩個以上,對每個flash文件依次執(zhí)行S2-S6。

從上述描述可知,一個PPT通常會嵌入不止一個flash文件,對該PPT中的所有flash文件都進行上述S2-S6的處理,從而提取出該PPT中所有的swf文件。

請參照圖2,本發(fā)明的另一個技術方案為:

一種解析PPT中內嵌的swf文件的系統(tǒng),包括:

解析模塊1,用于解析PPT文件得到flash文件;

讀取模塊2,用于讀取所述flash文件的二進制流;

第一獲取模塊3,用于若讀取到三個連續(xù)的二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則獲取接下來的四個連續(xù)的二進制字節(jié);

運算模塊4,用于依據(jù)所述四個連續(xù)的二進制字節(jié)的值計算得到所述flash文件的大??;

第二獲取模塊5,用于從所述四個連續(xù)的二進制字節(jié)之后的一位開始獲取n個字節(jié),所述n的值與所述flash文件的大小的值相同;

保存模塊6,用于保存所述n個字節(jié)。

從上述描述可知,本發(fā)明解析PPT中內嵌的swf文件的系統(tǒng)的有益效果在于:通過解析模塊能夠從PPT文件中解析得到flash文件,并通過讀取讀取模塊讀取該flash文件的二進制流,從而第一獲取模塊和運算模塊能夠得到swf文件的大小,第二獲取模塊載根據(jù)該swf文件的大小獲取整個swf文件,并經(jīng)保存模塊保存后,即可對swf文件進行單獨使用。

進一步的,所述運算模塊4具體用于將所述四個連續(xù)的二進制字節(jié)的值分別依次與四個預設值一一對應,并將所述四個連續(xù)的二進制字節(jié)的值分別與跟其一一對應的四個預設值相乘之后再相加,得到所述flash文件的大小;所述四個預設值依次為:1、256、65536和16777216。

進一步的,所述保存模塊6具體用于將所述n個字節(jié)以文件形式保存,并將保存后的文件以swf為后綴命名。

進一步的,解析模塊1解析出來的flash文件的數(shù)目為兩個以上,將每個flash文件依次送入讀取模塊2。

請參照圖3,本發(fā)明的實施例一為:

一種解析PPT中內嵌的swf文件的方法,包括:

S1:解析PPT文件得到flash文件;

S2:讀取所述flash文件的二進制流;

S3:若讀取到三個連續(xù)的二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則獲取接下來的四個連續(xù)的二進制字節(jié);

S41:將所述四個連續(xù)的二進制字節(jié)的值分別依次與四個預設值一一對應,并將所述四個連續(xù)的二進制字節(jié)的值分別與跟其一一對應的四個預設值相乘之后再相加,得到所述flash文件的大小;所述四個預設值依次為:1、256、65536和16777216;

S5:從所述四個連續(xù)的二進制字節(jié)之后的一位開始獲取n個字節(jié),所述n的值與所述flash文件的大小的值相同;

S6:將所述n個字節(jié)以文件形式保存,并將保存后的文件以swf為后綴命名。

若解析得到的flash文件的數(shù)目為多個,則對每個flash文件依次執(zhí)行S2-S6。

下面以一個具體實例說明本發(fā)明的內容:

(1)解析一個含flash文件的PPT文件;

(2)獲取解析得到的文件中ppt\activeX這個文件夾下的所有以bin為后綴的文件;

(3)讀取上述(2)獲取的第一個bin文件的二進制流;

(4)假設該二進制流的第4個字節(jié)對應的內容為“F”,第5個字節(jié)對應的內容為“S”,第6個字節(jié)對應的內容為“W”,則說明該flash文件為swf文件,繼續(xù)讀取第7、8、9、10這四個字節(jié)的二進制值;

(5)將第7個字節(jié)的二進制值乘以1、第8個字節(jié)的二進制值乘以256、第9個字節(jié)的二進制值乘以65536、第10個字節(jié)的二進制值乘以1677216,并將相乘得到的結果相加之后得到該swf文件的大小;

(6)從第11個字節(jié)開始,獲取與該swf文件的大小的值數(shù)量相同的連續(xù)的字節(jié),以文件形式保存,并以swf為后綴命名;

按照上述過程,依次讀取上述(2)獲取的其他所有bin文件的二進制流,并進行相同處理得到所有swf文件。

請參照圖2,本發(fā)明的實施例二為:

一種解析PPT中內嵌的swf文件的系統(tǒng),包括:

解析模塊1,用于解析PPT文件得到flash文件;

讀取模塊2,用于讀取所述flash文件的二進制流;

第一獲取模塊3,用于若讀取到三個連續(xù)的二進制字節(jié)對應的內容依次為“F”、“W”和“S”,則獲取接下來的四個連續(xù)的二進制字節(jié);

運算模塊4,用于將所述四個連續(xù)的二進制字節(jié)的值分別依次與四個預設值一一對應,并將所述四個連續(xù)的二進制字節(jié)的值分別與跟其一一對應的四個預設值相乘之后再相加,得到所述flash文件的大?。凰鏊膫€預設值依次為:1、256、65536和16777216;

第二獲取模塊5,用于從所述四個連續(xù)的二進制字節(jié)之后的一位開始獲取n個字節(jié),所述n的值與所述flash文件的大小的值相同;

保存模塊6,用于將所述n個字節(jié)以文件形式保存,并將保存后的文件以swf為后綴命名;

若解析模塊1解析出來的flash文件的數(shù)目為兩個以上,將每個flash文件依次送入讀取模塊2。

綜上所述,本發(fā)明提供的解析PPT中內嵌的swf文件的方法及系統(tǒng),能夠將PPT中內嵌的swf文件提取出來單獨使用,提高了資源的復用率。

以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等同變換,或直接或間接運用在相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
屏山县| 当雄县| 青神县| 体育| 永嘉县| 嘉定区| 普兰县| 永新县| 赣州市| 汝州市| 寿光市| 南召县| 大渡口区| 怀柔区| 乳山市| 永州市| 阳新县| 灌南县| 邳州市| 万全县| 攀枝花市| 定州市| 翁源县| 马尔康县| 永寿县| 科尔| 迁安市| 阿拉善右旗| 通州区| 金湖县| 望都县| 玛沁县| 易门县| 雅安市| 东平县| 永昌县| 务川| 渝中区| 常山县| 遂川县| 元江|