《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > Flash動(dòng)畫(huà)的加密方法
Flash動(dòng)畫(huà)的加密方法
2016年微型機(jī)與應(yīng)用第05期
呂光金
上海財(cái)經(jīng)大學(xué)浙江學(xué)院,浙江 金華 321015
摘要: 隨著Flash動(dòng)畫(huà)商業(yè)價(jià)值的不斷提升,各種加密和解密軟件也應(yīng)運(yùn)而生,如何有效地保護(hù)動(dòng)畫(huà)作品是一個(gè)值得探討的問(wèn)題。首先對(duì)Flash文件進(jìn)行了解析,然后闡述了幾種保護(hù)Flash動(dòng)畫(huà)的加密方法,并對(duì)幾款相關(guān)的加密軟件進(jìn)行了測(cè)試比較,得出用加殼打包類(lèi)軟件進(jìn)行加密比較安全。
Abstract:
Key words :

  呂光金

  (上海財(cái)經(jīng)大學(xué)浙江學(xué)院,浙江 金華 321015)

      摘要:隨著Flash動(dòng)畫(huà)商業(yè)價(jià)值的不斷提升,各種加密和解密軟件也應(yīng)運(yùn)而生,如何有效地保護(hù)動(dòng)畫(huà)作品是一個(gè)值得探討的問(wèn)題。首先對(duì)Flash文件進(jìn)行了解析,然后闡述了幾種保護(hù)Flash動(dòng)畫(huà)的加密方法,并對(duì)幾款相關(guān)的加密軟件進(jìn)行了測(cè)試比較,得出用加殼打包類(lèi)軟件進(jìn)行加密比較安全。

  關(guān)鍵詞:Flash動(dòng)畫(huà);知識(shí)產(chǎn)權(quán)保護(hù);加密;特征提取

0引言

  Flash是Micromedia公司開(kāi)發(fā)的一款動(dòng)畫(huà)制作軟件。許多愛(ài)好者運(yùn)用Flash制作出優(yōu)秀的動(dòng)畫(huà)作品,并上傳至閃客帝國(guó)、TOMFlash動(dòng)畫(huà)頻道等專業(yè)網(wǎng)站進(jìn)行學(xué)習(xí)與交流,極大地推動(dòng)了Flash等多媒體技術(shù)以及動(dòng)畫(huà)的傳播與發(fā)展[1]。隨著Flash作品的商業(yè)價(jià)值的劇增,各種加密和解密軟件也應(yīng)運(yùn)而生,個(gè)別用戶非法運(yùn)用解密軟件嚴(yán)重?fù)p害了用戶的知識(shí)產(chǎn)權(quán)。如運(yùn)用碩思閃客精靈軟件,將SWF文件反編譯成FLA文件提取各個(gè)元素。為了防止作品未經(jīng)許可被盜用或惡意修改,有必要對(duì)SWF作品加密方法進(jìn)行研究。

  關(guān)于動(dòng)畫(huà)加密,國(guó)內(nèi)外一些學(xué)者和公司進(jìn)行了相應(yīng)的研究,如Micromedia公司在Flash軟件中自帶了防止導(dǎo)入功能。慧峰信源科技有限公司研發(fā)的網(wǎng)刃平臺(tái)支持對(duì)SWF文件和FLA文件的加密。文獻(xiàn)[2]對(duì)Flash動(dòng)畫(huà)的內(nèi)容特征提取進(jìn)行了深入的研究,并用VC++軟件開(kāi)發(fā)了一個(gè)提取平臺(tái)。文獻(xiàn)[4]提出了基于Flash動(dòng)畫(huà)的信息隱藏算法。文獻(xiàn)[5]對(duì)SWF文件的版權(quán)保護(hù)設(shè)計(jì)了一個(gè)加密器,在一定程度上防止了反編譯軟件的攻擊。文獻(xiàn)[6]對(duì)基于AES的Flash加密方式進(jìn)行了研究。文獻(xiàn)[7]對(duì)運(yùn)用AESCCM模式進(jìn)行數(shù)據(jù)加密進(jìn)行了研究。目前為止,雖然理論研究較多,但是實(shí)踐很少,對(duì)現(xiàn)有的軟件介紹幾乎沒(méi)有,因此,本文先對(duì)SWF文件進(jìn)行解析,然后對(duì)現(xiàn)有的SWF加密軟件和方法進(jìn)行探討與實(shí)踐。

1Flash文件解析

  Flash能把文本、圖形、圖像、動(dòng)畫(huà)、聲音、視頻以及交互方式等融合為一個(gè)整體[1],制作成基于“流技術(shù)”的動(dòng)畫(huà)。 Flash動(dòng)畫(huà)的文件格式主要有兩種,即源文件格式(*.FLA文件)和播放文件格式(*.SWF文件),源文件可以通過(guò)Flash動(dòng)畫(huà)制作軟件修改和編輯,播放文件需要通過(guò)其他專業(yè)軟件反編譯后才能修改,本文所指文件為SWF格式文件。

  SWF文件與XML文件的內(nèi)部結(jié)構(gòu)相似[2],采用二進(jìn)制標(biāo)簽對(duì)動(dòng)畫(huà)文件中的各個(gè)對(duì)象、效果以及交互方式進(jìn)行定義。SWF文件由三部分組成:文件頭(Header)、文件主體(Body,由多個(gè)Tag組成)、文件結(jié)束標(biāo)簽(End Tag),其結(jié)構(gòu)如圖1所示。

 

001.jpg

  文件頭定義了SWF動(dòng)畫(huà)的基本信息,如文件的版本、文件大小、是否壓縮、幀頻、影格大小、總的幀數(shù)等[3]。SWF中的標(biāo)簽又可以分為定義型標(biāo)簽和控制型標(biāo)簽兩種。標(biāo)簽的組織順序可以任意排列,但必須遵循先定義后引用、先定義后控制的規(guī)則,聲音流標(biāo)簽必須按順序播放,結(jié)束標(biāo)簽只能有一個(gè),而且必須是最后一個(gè)。部分加密軟件是通過(guò)修改SWF的文件頭,從而導(dǎo)致SWF解析器在對(duì)SWF文件解析時(shí)出錯(cuò)來(lái)達(dá)到加密目的。

2Flash動(dòng)畫(huà)加密方法

  傳統(tǒng)的數(shù)字版權(quán)保護(hù)主要有以下幾種:(1)通過(guò)在產(chǎn)品中內(nèi)置注冊(cè)體系的軟件保護(hù)方式。(2)在外面加一個(gè)加密外殼,從而保證程序不被別人盜用或改寫(xiě)。(3)通過(guò)硬件方式對(duì)軟件產(chǎn)品進(jìn)行保護(hù),主要采用USB卡、加密狗等。前兩種一般統(tǒng)稱為軟保護(hù)。第(3)種為硬件加密方法,一般認(rèn)為硬件加密最安全,但是必須用光盤(pán)分發(fā),不能通過(guò)互聯(lián)網(wǎng)大范圍傳播,在SWF動(dòng)畫(huà)加密中一般不采用。

  2.1運(yùn)用Flash自帶的防止導(dǎo)入功能

  Flash作品的保護(hù)或加密,最原始的辦法就是防止導(dǎo)入。即防止將SWF導(dǎo)入到Flash軟件中提取各種特征元素。比如,當(dāng)把一份優(yōu)秀的SWF動(dòng)畫(huà)發(fā)布到網(wǎng)上后,經(jīng)過(guò)一段時(shí)間,會(huì)發(fā)現(xiàn)動(dòng)畫(huà)中的各種元素(Flash中稱為元件)出現(xiàn)在了別人的動(dòng)畫(huà)中。為了防止導(dǎo)入Flash動(dòng)畫(huà)提取元素,可以通過(guò)Flash軟件本身的“防止導(dǎo)入”功能實(shí)現(xiàn)簡(jiǎn)單的加密。具體方法是,在Flash “文件”菜單下,選擇“發(fā)布設(shè)置”命令,然后選擇“Flash” 選項(xiàng)卡,選取“防止導(dǎo)入”,在下面的密碼區(qū)輸入“防止導(dǎo)入”的密碼進(jìn)行發(fā)布。該密碼只有在源文件中可以看到。

  2.2運(yùn)用ActionScript編程

  在Flash軟件中,可以運(yùn)用ActionScript編寫(xiě)代碼控制動(dòng)畫(huà)的播放以及與用戶實(shí)現(xiàn)交互,也可以通過(guò)編寫(xiě)代碼對(duì)動(dòng)畫(huà)進(jìn)行加密。ActionScript是一種程序設(shè)計(jì)語(yǔ)言,它的語(yǔ)法結(jié)構(gòu)與JavaScript的語(yǔ)法結(jié)構(gòu)基本相似,在播放時(shí),由Flash Player中的ActionScrip虛擬機(jī)來(lái)解釋并執(zhí)行[8]。Flash的最新版本是FlashCS6,腳本語(yǔ)言為ActionScript3.0,簡(jiǎn)稱AS3。在用Flash制作動(dòng)畫(huà)時(shí),可以運(yùn)用AS3腳本語(yǔ)言在程序代碼中設(shè)置口令、時(shí)間鎖、地址限制、屏蔽右鍵和限制下載等功能。

  2.2.1設(shè)置口令或時(shí)間限制

  例如,下面的代碼實(shí)現(xiàn)了根據(jù)口令或在限定時(shí)間內(nèi)播放動(dòng)畫(huà)的功能。

  stop();

  Daylimit=new Date(2016,1,1);

  todayDate=new Date();

  _root.onEnterFrame =function(){

  if(Key.isDown(13)){

  if(a=="password")||(todayDate<Daylimit)

  { fscommand("fullscreen","true");gotoAndPlay(2);}

  else fscommand("quit","true");}}

002.jpg

  圖2Flash讀取XML文件過(guò)程這種代碼編寫(xiě)方法通俗易懂,安全性也較低。可以進(jìn)一步改進(jìn),將密碼與時(shí)間存儲(chǔ)在獨(dú)立存放的XML文件中,然后通過(guò)讀取XML文件內(nèi)容生成密碼和比對(duì)時(shí)間,但是程序編寫(xiě)要復(fù)雜得多。Flash讀取XML文件的內(nèi)容需要有路徑的定義、URL的請(qǐng)求和加載過(guò)程,與讀取外部圖片或聲音的方法類(lèi)似但調(diào)用的類(lèi)不同。讀取XML的過(guò)程如圖2所示。

  2.2.2運(yùn)用LoadMovie()命令

  在把Flash作品發(fā)布成SWF文件之前,可以將源文件分割成多個(gè)子文件,然后把各個(gè).fla子文件分別發(fā)布成播放文件(如“child1.swf”、“child2.swf”等),并放在不同的路徑下,以相互嵌套的方式調(diào)用,可以起到保護(hù)作品的作用。因?yàn)楫?dāng)該作品被其他用戶下載時(shí),用戶只能下載它的主文件,而其他子文件不能被下載。運(yùn)用LoadMovie()函數(shù)調(diào)用Flash子文件的方法為:LoadMovie(“某路徑下的子文件childx.swf”,“mySWF”)。其中的路徑可以是相對(duì)路徑或絕對(duì)路徑,x必須為具體數(shù)字,如child1.swf。

  2.3運(yùn)用Flash專業(yè)加密軟件

  運(yùn)用專業(yè)軟件對(duì)Flash作品進(jìn)行加密更安全,但是一般都需要付費(fèi),如 GeneralEncryptor 、Swfkit、DoSWF等。這些軟件對(duì)SWF加密主要使用了動(dòng)態(tài)內(nèi)存修改技術(shù)(DMM)、ActionScript 混淆技術(shù)、加殼打包技術(shù)、綁定硬件(CPU、網(wǎng)卡、硬盤(pán))技術(shù)等。

  2.3.1動(dòng)態(tài)內(nèi)存修改技術(shù)

  動(dòng)態(tài)內(nèi)存修改技術(shù)類(lèi)加密軟件有DoSWF、Flashincrypt和SWFEncrypt等,它們都是SWF文件加密工具,能防止SWF文件被反編譯成源文件,通常使用動(dòng)態(tài)內(nèi)存修改技術(shù)和腳本混淆技術(shù)進(jìn)行保護(hù)。DoSWF軟件采用一些工具做代碼混淆,降低了程序的可讀性,即使被破解了,也很難看懂,這種方法其實(shí)可以稱之為加密代碼。但是加密后的文件會(huì)明顯變大,為了避免加密后文件過(guò)大的問(wèn)題,可以在加密前先將FLA源文件分解并生成多個(gè)SWF文件,然后再進(jìn)行逐個(gè)加密。

  2.3.2加殼打包技術(shù)

  Swfkit是一款優(yōu)秀的加殼打包軟件,它不僅能創(chuàng)建 Flash播放程序或屏幕保護(hù)程序,而且能為它們建立安裝程序。用該軟件打包的EXE文件不容易被還原,因?yàn)樗虬母袷讲煌贔lash軟件中打包的EXE,而且調(diào)用IE中的Flash控件進(jìn)行播放,因此,F(xiàn)lashtool、Exe2swf等軟件無(wú)法將其反編譯;利用碩思閃客精靈、ImperatorFLA、閃客精靈之錘等破解軟件也不能提取作品中的元素。常用的加殼打包類(lèi)加密軟件還有網(wǎng)刃數(shù)字版權(quán)保護(hù)平臺(tái)、FlashJestor、Swfkit、Iceprojector、Swishstudio等。

  2.3.3硬件綁定模式

  GeneralEncryptor不僅支持SWF文件加密,而且也支持FLA文件加密。用戶可以選擇不同的硬件綁定模式對(duì)用戶機(jī)器進(jìn)行綁定,如選定CPU、主板、Flash硬盤(pán)、網(wǎng)卡等設(shè)備進(jìn)行“一機(jī)一碼”方式的授權(quán);它還支持水印效果、播放次數(shù)限制、有效期設(shè)置。常用的硬件綁定類(lèi)加密軟件還有FlashEncryptor、EasySWF、SWFprojection等。

3幾種加密軟件的比較

  為了驗(yàn)證SWF加密軟件的功能,制作了一個(gè)Flash動(dòng)畫(huà),并選用了幾種常用加密和解密軟件的試用版進(jìn)行了相關(guān)實(shí)驗(yàn),結(jié)果如表1所示。

003.jpg

  通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),(1)Exe2swf解密軟件功能較強(qiáng),能將Flash播放器生成的EXE文件解密成SWF文件,并通過(guò)解析SWF文件讀取文件頭,顯示文件的基本信息,包括:文件版本、文件大小、是否壓縮、影格大小、影格比例、總幀數(shù)。(2)SWFEncrypt、DoSWF等軟件的加密功能一般,加密后生成的SWF文件明顯變大,而且能被碩思閃客精靈解密并提取元素;(3)加殼打包類(lèi)軟件的加密功能比較強(qiáng)大,不能被Exe2swf解密,只是加密后生成的EXE文件明顯變大。由此可知,從安全角度考慮,加密時(shí)建議選取加殼打包的方法。

4結(jié)束語(yǔ)

  本文針對(duì)Flash動(dòng)畫(huà)的加密方法進(jìn)行了探討與實(shí)踐。雖然市場(chǎng)上出現(xiàn)了各種各樣的SWF加密軟件,但是仍無(wú)法抵制一些著名的專業(yè)解密軟件和破解方法。因此,只有不斷增強(qiáng)全民的知識(shí)產(chǎn)權(quán)保護(hù)意識(shí),倡導(dǎo)購(gòu)買(mǎi)或使用經(jīng)過(guò)授權(quán)的作品或軟件,才能將盜版現(xiàn)象降低到最低限度。

參考文獻(xiàn)

  [1] 詹青龍,吳學(xué)會(huì),宗哲玲. Flash二維動(dòng)畫(huà)設(shè)計(jì)與制作[M]. 北京:清華大學(xué)出版社,2010.

  [2] 徐振國(guó),孟祥增.Flash動(dòng)畫(huà)的內(nèi)容特征提取研究[J].電化教育研究,2015(6):5560.

  [3] 倪應(yīng)華,金炳堯.SWF矢量動(dòng)解析框架設(shè)計(jì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010(3):202205.

  [4] 張曉彥,張曉明.基于Flash動(dòng)畫(huà)的信息隱藏算法[J].計(jì)算機(jī)工程,2010(1):181183.

  [5] 王繼州,袁雪霞.一種SWF文件保護(hù)簡(jiǎn)單實(shí)現(xiàn)方案[J].數(shù)字技術(shù)與應(yīng)用,2012(8):169171.

  [6] 鄒蕾. 基于AES的Flash加密實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2014(22):115116.

  [7] 仇國(guó)慶,包俊杰,曹冬梅,等. 基于AES算法的ZigBee網(wǎng)絡(luò)加密方法研究[J].電子技術(shù)應(yīng)用,2014,40(4):5658.

  [8] 陳銀鳳. Flash中利用Action Script3.0實(shí)現(xiàn)圖像的扭曲效果[J].微型機(jī)與應(yīng)用,2012,31(16):3537.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99精品热视频| 久久精品人人做人人爽| 欧美一区二区三区视频在线观看| 亚洲破处大片| …久久精品99久久香蕉国产| 国产在线不卡精品| 国产亚洲精品久久久久久| 国产精品人成在线观看免费| 欧美视频亚洲视频| 欧美日韩精品高清| 欧美区日韩区| 欧美乱妇高清无乱码| 欧美男人的天堂| 欧美精品久久一区| 欧美精品乱人伦久久久久久| 欧美激情第一页xxx| 欧美好吊妞视频| 欧美激情中文字幕在线| 牛夜精品久久久久久久99黑人| 久久亚洲视频| 久久综合色婷婷| 狼人天天伊人久久| 六月婷婷久久| 欧美激情一区二区久久久| 欧美肥婆在线| 欧美日韩国产限制| 国产精品高清免费在线观看| 国产精品久久久久久久9999| 国产精品日韩专区| 国产亚洲欧美一区二区三区| 国外成人在线视频网站| 在线视频国内自拍亚洲视频| 亚洲国产视频a| 一本色道久久综合亚洲精品不卡 | 亚洲午夜一区二区三区| 亚洲欧美成人综合| 久久精品二区| 日韩午夜在线观看视频| 亚洲一区二区黄色| 久久超碰97人人做人人爱| 久久蜜桃精品| 欧美精品午夜| 国产女人水真多18毛片18精品视频| 国产日韩一区二区三区在线播放| 狠狠综合久久av一区二区小说| 亚洲国产欧美一区| 亚洲一区免费| 亚洲精品久久久久久久久久久| 亚洲视频在线观看视频| 欧美一区午夜视频在线观看| 久热精品视频在线观看| 欧美日韩在线视频一区二区| 国产欧美精品在线播放| 在线观看一区| 亚洲性视频网址| 久久精品一区二区三区中文字幕| 亚洲美女免费视频| 欧美亚洲一区三区| 欧美电影专区| 国产日产精品一区二区三区四区的观看方式| 黄色成人av| 一区二区三区**美女毛片| 欧美在线国产精品| 中文有码久久| 每日更新成人在线视频| 国产精品激情偷乱一区二区∴| 好男人免费精品视频| 99视频一区| 亚洲二区三区四区| 亚洲资源av| 久久综合伊人| 国产精品一区二区男女羞羞无遮挡| 1024国产精品| 香蕉久久一区二区不卡无毒影院 | 欧美亚洲日本一区| 欧美金8天国| 国一区二区在线观看| 99精品视频免费观看| 亚洲第一福利在线观看| 亚洲欧美日韩一区在线观看| 欧美激情视频网站| 黄色国产精品| 亚洲综合电影一区二区三区| 99国内精品| 免费久久99精品国产| 国产欧美 在线欧美| 亚洲乱码精品一二三四区日韩在线| 欧美制服丝袜| 亚洲一区精品视频| 欧美片网站免费| 亚洲高清资源综合久久精品| 久久高清福利视频| 午夜一区二区三区在线观看| 欧美日韩hd| 亚洲电影一级黄| 亚洲国产成人高清精品| 欧美在线国产精品| 国产精品久久久久国产a级| 亚洲精品国产精品国自产观看浪潮| 欧美在线观看视频一区二区三区| 亚洲综合首页| 国产精品av免费在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美一级视频一区二区| 欧美日韩成人在线视频| 在线精品亚洲| 久久成人在线| 久久久久成人网| 国产日韩精品一区二区| 亚洲午夜一区二区| 亚洲欧美日韩国产精品| 欧美视频一区二区三区在线观看| 91久久国产精品91久久性色| 亚洲肉体裸体xxxx137| 玖玖玖国产精品| 在线精品福利| 亚洲精品美女在线观看| 男人的天堂亚洲| 亚洲成色www8888| 亚洲国产欧美一区| 蜜桃久久av| 亚洲韩国精品一区| 99re8这里有精品热视频免费| 牛人盗摄一区二区三区视频| 亚洲国产成人在线| 亚洲三级性片| 欧美精品色网| 一本不卡影院| 午夜天堂精品久久久久 | 亚洲三级影院| 亚洲一二三四区| 欧美亚日韩国产aⅴ精品中极品| 一区二区三区精品视频在线观看| 中日韩美女免费视频网址在线观看 | 欧美极品欧美精品欧美视频| 亚洲人成小说网站色在线| 日韩亚洲在线观看| 欧美日韩国产精品一卡| 99成人在线| 欧美一级专区| 国内外成人免费激情在线视频网站| 久久精品一区二区三区四区 | 久久av资源网| 欧美a级片一区| 日韩视频精品在线| 小嫩嫩精品导航| 精品69视频一区二区三区| 亚洲欧洲日韩在线| 欧美三级视频在线观看| 亚洲专区一区| 另类图片综合电影| 亚洲青色在线| 香蕉乱码成人久久天堂爱免费| 国产一区日韩一区| 999在线观看精品免费不卡网站| 欧美视频在线不卡| 欧美一区国产一区| 欧美成人精品在线视频| 一区二区三区高清不卡| 欧美在线看片| 亚洲大片免费看| 亚洲综合社区| 在线观看中文字幕亚洲| 亚洲视频电影在线| 国产一区二区三区日韩| 亚洲精选在线观看| 国产精品视频yy9099| 久久精品女人天堂| 欧美日韩中文字幕在线视频| 欧美一区成人| 欧美精品一区二区精品网| 亚洲免费网址| 欧美国产另类| 午夜在线成人av| 欧美精品二区| 欧美一区在线视频| 欧美日韩理论| 久久国产手机看片| 欧美三级第一页| 亚洲国产精品精华液2区45| 欧美日韩亚洲精品内裤| 久久精品国产精品亚洲综合| 欧美调教vk| 亚洲国产一区视频| 国产精品色婷婷久久58| 亚洲美女啪啪| 狠狠干成人综合网| 亚洲砖区区免费| 亚洲三级免费观看| 久久亚洲国产精品一区二区| 亚洲无线一线二线三线区别av| 免费久久精品视频| 欧美一级理论性理论a| 欧美精品啪啪| 亚洲第一网站| 国产精品日韩一区| 一本色道久久综合亚洲精品不| 国产综合色一区二区三区 | 国产视频在线观看一区| 亚洲午夜久久久久久尤物|