台灣最大程式設計社群網站
線上人數
3177
 
會員總數:246323
討論主題:189853
歡迎您免費加入會員
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
SWF加密
價值 : 100 QP  點閱數:5487 回應數:6
樓主

nobo
中級專家
4569 67
4476 1256
發送站內信

捐贈 VP 給 nobo
請問哪一種軟體能把swf加密
且加密安全性強
一般的破解程式不容易破的

本篇文章發表於2006-10-19 11:46
1樓
最有價值解答

AirCanada
捐贈 VP 給 AirCanada 檢舉此回應
dear nobo
以下是在google上看到的
您參考看看
(ps:您上次用txt的方式真的很smart喔^^)

----------------------------------------------------------------------------------

說出來,好像有點異想天開的感覺.因為我現在想的是將來AS3編譯的SWF的加密方案,而我現在的AS3依然是0狀態,說出來的東西沒什麼根據.而且,到時候,加密和破解技術發展到什麼層次,也不能預測.所以,我完全是在憑空想像.

從luzhugao發表了關於SWF的加密與破解一帖到現在,我看到了不少討論這方面的帖子(包括特別重要的禁止緩存),結論都是"防君子不能防小人".

儘管在前段時間,我跟luzhugao的破解與反破解之爭中,luzhugao是勝利者,但是,這說明他已經在加密的道路上取得成功了嗎?答案是否定的,當初的挑戰是有條件的,就是作為破解方的我,不能使用從緩存裡找文件的辦法.因此,他只是那場遊戲裡的勝方,在反破解的道路上,他依然還是要敗給破解方.

以上的狀況是由當前最流行的加密和破解軟件的特點決定的.
常用破解軟件:碩思閃客精靈,ASV(Action Script Viewer);
常用加密軟件:Flashincrypt,SWF Encrypt.
在用Flash直接生成的SWF裡,上面兩款破解軟件一般都能成功把SWF轉成FLA.而加密軟件則針對破解軟件而進行放破解處理,Flashincrypt加密後,運行一般正常,且碩思已經無法還原,但是ASV可以.SWF Encrypt則是兩樣都能防,可惜在對複雜文件加密的過程中,容易出錯.
在這種情況下,luzhugao對他的SWF做了如下加密操作:
網頁裡頭放進的SWF不是他的大文件,而是一個小SWF,裡頭用loadMovie調用他的大SWF.其中,小SWF用SWF Encrypt來加密,不會出錯,但是大SWF沒辦法,只能用Flashincrypt,因此,只要不允許在緩存裡找,能找到大SWF就很難了.
但是,大SWF依然會存在於緩存裡頭.在緩存裡找出來,用ASV就把核心代碼拿到手了.
曾看到過很多禁止緩存的文章,其實最終都不能成功.大多數都只是隱藏.而且,哪怕給你藏住了,有心人可以用FF瀏覽你的SWF,讓緩存赤裸裸地露出來.

現在,我假設當加密與破解軟件都升級到AS3版本的時候,依然保持著上述的特點,那麼,我就有了一個加密AS3寫的SWF的想法.當然,我現在只能想,沒有任何理論支持.
既然緩存無法禁止,那麼,就只能考慮對SWF進行加密了.但是,如果只用上面的辦法,始終無法防ASV.
聽說AS3可以讀寫二進制了,記得我以前學VB編程的時候,是可以用程序自己寫加密函數來對文件進行二進制加密的.所以就想到了通過腳本自己加密的辦法.
步驟如下:
1 把你要放到網上的SWF準備好.
2 用AS3寫一個二進制的加密函數(注意:一定要可逆的,就是要配有一個解密函數).然後,用腳本進行如下操作:
二進制讀入SWF文件->得到一個BytesArray->加密算法得到新的BytesArray->用後台程序把新的ByteArray保存為SWF.
3 寫一個小的SWF文件,裝載被加密的SWF,這裡自己設想一個MCLoader類,但不知道能不能寫出來.
二進制讀入加密SWF文件->得到加密的BytesArray->用解密算法把BytesAray還原成原始SWF的數據->用自己設想的MCLoader類調用loadClip方法,參數不是SWF的路徑,而是一個BytesArray->根據BytesArray把SWF顯示出來.

那麼,裝載影片的SWF依然還是比較簡單,就一個裝載動作,加一個解密函數,可以用SWF Encrypt加密,而被裝載的大SWF可以不需要再用軟件加密,因為你自己已經用自定義的加密算法作了處理.人家拿到手以後,估計沒辦法破解.因為ASV我想再聰明,都不會知道你用的二進制加密算法如何.要破到的話,必須知道你的加密或者解密算法.但是你的解密算法已經被SWF Encrypt保護了.加密算法是後台使用的,不會放到網上.

----------------------------------------------------------------------------------

http://www.flashincrypt.com/

1. 直接對生成的swf文件加密,試用版有加密15個swf文件的限制;
2. 支持 Flash 5, Flash MX, Flash MX 2004
3. 支持 Actionscript 2.0
4. 支持批處理
5. 保護flash 資源及腳本不被反編譯工具破解

Ps:目前知名的反編譯工具
Sothink decompiler mx 2005
Action script view 4.06
Litro swf extractor 2.02
打開加密過的swf文件均會顯示錯誤∼!
本篇文章回覆於2006-10-20 13:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

AirCanada
捐贈 VP 給 AirCanada 檢舉此回應
hi nobo

保護swf文件加密

Flash密碼
1.防asv反編譯:
在代碼的前面加上:
function a ( ) { 0 ( ) }

2.保護swf文件加密:
在動畫的第一幀加入檢測url 的代碼:
web=getproperty(" ", _url);
test=web.「indexof 」("your url ", "0.000000d");
if(test==「-1」){
gotoAndStop(88); //此幀數任一。
elseif( not(test=="-1")){
gotoAndPlay( getproperty(「 」, -currentframe+1));
}
}

----------------------------------------------------

工具

http://www.weni.cn/index.php?play=reply&id=41
re (WENI)
本篇文章回覆於2006-10-20 13:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

nobo
捐贈 VP 給 nobo 檢舉此回應
不好意思我比較想要的是能有辦法swf不要讓別人變成fla嗎
因為圖檔對我來說很重要......
本篇文章回覆於2006-10-20 18:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

AirCanada
捐贈 VP 給 AirCanada 檢舉此回應
如果swf沒鎖的話
它開一個新的fla
就算把你的swf匯入
也是變成一格一格的
如有鎖的話
它就無法把你的swf匯入fla了...
本篇文章回覆於2006-10-20 21:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

fjsdlk
檢舉此回應
因為本質上 swf 是開放的格式.
在加上無論使用那一種加密, 但一定得讓 flash player 可以正常使用
所以所有的工具讓是放君子不放小人啦
本篇文章回覆於2007-07-30 13:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

白果喵
捐贈 VP 給 白果喵 檢舉此回應
又是一篇版拖上來的歷史『古蹟』...
本篇文章回覆於2007-07-30 18:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.