Ⅰ 請問做好的SWF 文件和網頁怎麼防止盜用呢(用什麼軟體加密)
SWF Encrypt
使用高級迷惑技術和經過驗證的加密科技,為你的Flash SWF文件提供了安全保護,可以防止別人反編譯你製作的Flash電影或使用反向過程盜取其ActionScript代碼
這樣SWF 文件的元件,圖片,聲音之類可以還可能被盜用
但ActionScript代碼腳本之類不會被盜用
加密方法流傳不少,此處只談我所知的較為實用的方法:
更改後綴,避開 Flash Saver 等下載工具
此方法可有效避開 Flash Saver 等下載工具。使提取者不得不從緩存中查找文件,一定程度上增加了提取難度。後綴可改為 gif、jpg、txt 等等。雖然可以更改後綴,然而在插入到網頁時,仍然需要以 swf 的形式插入,使用此 swf 來載入改過後綴的影片。
限制 Flash 在指定域名/網址中播放 (Flash 防盜鏈)
url = "http://www.zhugao.cn";
/*
以下判斷網址的前 20 個字元(字元數根據你的網址作相應修改),如果與"url"不一致則播放失敗。註:swf 可以放在任意目錄下,只要網址的前 20 個字元是正確的。
*/
if(_url.substring(0, 20)<>url){
gotoAndStop(2);
/*
這里可以做一些東西,例如:將發布設置中的「本地回放安全性」設為「只訪問網路」,然後在這里做無數的彈窗
onEnterFrame = function(){
getURL("http://www.zhugao.cn", "_blank");
}
*/
}else{
gotoAndPlay(3); //跳到正常播放
}
為了便於閱讀,以下是沒有注釋的代碼:
url = "http://www.zhugao.cn";
if(_url.substring(0, 20)<>url){
gotoAndStop(2);
}else{
gotoAndPlay(3);
}
如果要允許多個域名,可以這樣寫:
url = "http://www.zhugao.cn";
url2 = "http://zhugao.cn";
if((_url.substring(0, 20)==url) || (_url.substring(0, 16)==url2)){
gotoAndPlay(3);
}else{
gotoAndStop(2);
}
注意:用此方法,設計過程中導出時的技巧:
用IE打開先打開指定目標網址,以避免在導出時頻繁彈出窗口,如果無效,請將默認瀏覽器設置成IE,關閉導出時的player窗口即可繼續編輯。有時Flash軟體會因此發生錯誤而被強行結束,導出前請保存文檔,切記!
常用加密工具
SWF Encrypt
可有效防止目前流行的幾乎所有破解工具對其所加密作品的AS查看。2006年10月更新為3.0.12,盡管加密後文件仍然有明顯的增大(視原swf的復雜程度,增大幅度有所不同),然而令人振奮的是,已經支持放射狀漸變,支持Flash8.0。加密技巧:分解swf逐個加密,以盡量避免加密後單個文件體積龐大的問題。
Flashincrypt
可輕易防止閃客精靈目前的版本對其所加密作品的AS查看,加密後的文件幾乎保持原文件大小。遺憾的是不能防止 Action Script Viewer 5.0 以上的版本。
適當應用與javascript結合
加密JS,從而實現間接加密swf。相關工具及例子:
T4nk JS混淆工具
用於javascript的混淆加密。
Encrypt HTML
加密網頁腳本,包括 HTML source code, javascript, VBScript, text, links and graphics 等。
從Flash到JavaScript的通訊,從JavaScript到Flash的通訊
控制 Flash Player 的 JavaScript 方法一覽表:
·播放動畫:Play()
例:(網頁中的 Flash id).Play();
·停止動畫:StopPlay()
·動畫是否正在播放:IsPlaying()
·跳轉到某幀:GotoFrame(frame_number)
·獲取動畫總幀數:TotalFrames()
·回傳當前動畫所在幀數:CurrentFrame()
·使動畫返回第一幀:Rewind()
·放大指定區域:SetZoomRect(left,top,right,buttom)
·改變動畫大小:Zoom(percent)
·使動畫在 x,y 方向上平移:Pan(x_position,y_position,unit)
·返回動畫被載入的百分比:PercentLoaded()
·載入動畫:LoadMovie(level_number,path)
例:(網頁中的 Flash id).LoadMovie(0, "***/***.swf");
·movie_clip 跳轉到指定幀數:TGotoFrame(movie_clip,frame_number)
例:(網頁中的 Flash id).TGotoFrame("_root.實例名.次實例名",幀數);
·movie_clip 跳轉到指定標簽:TGotoLabel(movie_clip,label_name)
例:(網頁中的 Flash id).TGotoLabel("_root.實例名.次實例名","標簽名");
·回傳 movie_clip 當前幀:TCurrentFrame(movie_clip)
·回傳 movie_clip 當前標簽:TCurrentLabel(movie_clip)
·播放 movie_clip:TPlay(movie_clip)
·停止 movie_clip 的播放:TStopPlay(movie_clip)
·獲取變數:GetVariable(variable_name)
·變數賦值:SetVariable(variable_name,value)
·call 指定幀上的 action:TCallFrame(movie_clip,frame_number)
·call 指定標簽上的 action:TCallLabel(movie_clip,label)
·獲取 movie_clip 的指定屬性:TGetProperty(movie_clip,property)
·設置 movie_clip 的指定屬性:TSetProperty(movie_clip,property,number)
在Word中插入Flash
測試環境:WindowsXP / Office2003
可用在獨立文件給客戶看的時候,盡管可以用前述方法從word中提取swf,然而此方法仍然具有一定防範效果。
新建一Word文檔並保存。
在Word中依次單擊下拉菜單「視圖」→「工具欄」→「控制項工具箱」。
在「控制項工具箱」中點擊「其他控制項」,選擇列表中的「Shockwave Flash Object」。
右鍵單擊插入進來的Flash播放控制項,選擇「屬性」。
在「屬性」窗口的「Movie」欄輸入Flash動畫的路徑及文件名,需要用絕對路徑,可採用以下兩種:
file:///C:/test/test.swf
http://www.zhugao.cn/test.swf
將「EmbedMovie」項設置為「True」,使Flash嵌入到Word中。「Height」和「Width」分別為Flash的高和寬。「Scale」默認為ShowAll,為縮放模式,始終顯示Flash中的所有內容,如果改為NoScale則始終按1:1比例,不會縮放Flash中的內容。
單擊控制項工具箱上的「退出設計模式」按鈕,在Word中即可播放Flash了。再次按下該按鈕則暫停播放,進入設計模式。如當時未顯示Flash,請保存退出Word,再打開該Word文檔,點擊「退出設計模式」按鈕即可看到Flash。
打包成加殼exe
用Flash的默認程序打包的exe很容易轉成swf,SWFKit是一款很不錯的加殼打包軟體,不易被還原。
三、後記
破解時需要多種方法或工具綜合使用,加密亦然,需根據用途綜合加密。
對於網路用swf的推薦加密方案:
更改後綴,限制在指定域名播放,分解成多個swf並用SWF Encrypt加密。
此方案主要依賴於SWF Encrypt,重在保護作品的AS,一旦SWF Encrypt遭到破解軟體的有效攻擊,此方案即宣告破產。
Ⅱ 請問FLASH破解加密的第3種方法
當然是有辦法的,不過你要有以下軟體:exe2swf、 swfup、SWF-Browser。
第一步 轉換exe為swf。打開exe2swf程序,在彈出的窗口裡選擇源文件(用EXE保存的Flash文件),會再次彈出一個窗口要求選擇保存路徑(小技巧:可以在exe 文件上直接單擊右健選Convert Flash EXE to SWF)。
第二步 破解swf保護。打開swfup,在程序上單擊右鍵,選Open & Unprotect,在彈出的窗口裡選剛轉換的swf(小技巧:如果在破解時彈出顯示框,提示文件是用3.0以上製作,不要管它直接確定,如果這樣還不能破解,說明文件是只讀的,去掉即可)。
第三步 編輯swf獲取圖片。打開Flash程序,依次選File→Import…來輸入swf文件,即可進行修改編輯(小技巧:最好先復制一段幀,拷貝到新的電影下進行編輯,或保存圖片)。
第四步 獲取swf的音樂。打開SWF-Browser,在左邊的Directory下選擇文件夾,再單擊Search下的Start Search找到swf文件,選中後會開始播放,單擊中間的標題欄處(上面顯示SWF Parser Starus:*.swf-Click here to parse current movie),即可獲取音樂,在右邊的Sound Streams處,單擊下面的音樂文件即可保存(小技巧:可以仔細看看右邊的每個按鈕下的文件,會有驚喜哦)。
當然,破解Flash文件還有很多辦法,不過我個人認為這個辦法是最好、最簡單的。最後,祝大家能夠很好地使用Flash資源,成為一個Flash高手!
Ⅲ Flash加密代碼
加密原理:我們來假設一個情況。
我們要做一個flash,裡面存了一段話,只想給知道密碼的人看。通常的做法是檢測用戶的輸入是否等於密碼,然後顯示。但是由於Flash是開放結構,所以swf文件可以反匯編然後看到密碼,這時候就可以非法的看到要保護的東西了。
但是如果通過一個不可逆的演算法把密碼加密,然後存在swf裡面。然後把用戶輸入的密碼也同樣加密,然後比對加密以後的字串是否相等就可以了。因為swf裡面保存的密碼是不可逆的嘛~~
不可逆的加密演算法有很多種,最流行的就是md系列了,現在的是md5。md5可以計算認可字串的特徵,然後歸結到一個32位元組長的字串裡面,源字串一點點的改動就會造成特稱字串巨大的變化。
據個例子:
"abc"的md5是
"abb"的md5是
為什麼說不可逆呢?
據個例子
問題:1000是由什麼數字相加而成的呢?
答案是不知道~
如果說是兩個數字,那麼我們可以有1+999或者500+500或者……但是三個、四個、直到n個數字呢?也就是說我們不可能知道原來的數字是什麼,猜中的機會很小。而md5也是同樣的原理,將每個字元的特徵值相加再相加,自然就很難猜到原來是什麼東西了~
那麼我們有了密碼檢測了~著時候需要一個可逆的加密演算法來處理我們要保存的東西,因為要還原嘛~~這類演算法很多,我選擇了較流行的des演算法
des函數的定義是這樣的
des ("密碼", "加密文本", 模式)
模式=1的時候,des返回加密後的值
模式=0的時候,des返回解密後的值
但是由於des返回的值不一定是通用字元集裡面的,所以我就做了一點處理,將des的值轉成16進制字串,防止錯誤的產生。
這時候再運行,然後把顯示出來的字串(0x開頭)下來。
然後刪除
test=printHex(des ("沒有md5的密碼", "要保護的字串", 1));
trace(test);
trace(unHex(des ("沒有md5的密碼", test, 0)));
寫入
test="剛才的字串";
這時候你的作品就差不多完成了
然後你要做的就是將用戶輸入的密碼讀入,假設你讀入到了input這個變數裡面。那麼程序就應該寫
if(md5(input)==pass){ trace(unHex(des (pass, test, 0)));}else{
trace("密碼錯誤");}
怎麼樣?其實總共要寫得代碼就只有七行~~很簡單吧。
到底有多安全?我只敢說和錢沒有關系就很安全
Ⅳ 網頁中的flash加密了 怎麼下載下來啊
1.首先使用IE瀏覽完該Flash,接下來依次選擇「工具→Internet選項」,在「常規」升乎豎選項卡中單擊「設置」按鈕,在打開的頃裂窗口中單擊「查看文件」,這樣系統會在資源管理器中打開所有離線瀏覽文件。由於這里文件眾多,我們可以首先在空白區域單擊右鍵,選擇「排列吵大圖標→類型」菜單,這樣可以很快定位到類型為「Shockware Flash Object」的文件,我們要保存的Flash文件就乖乖地躺在這里了,我們只需將其復制到硬碟的其他區域即可。
2.在網頁上單擊右鍵……查看源文件……編輯……查找(輸入swf)開始查找動畫地址就可以了。