2012-01-27 35 views
1

我想知道,如果我有一個專有的Flash代碼(例如:一些很酷的動畫,它真的只是客戶端的東西,它的例子),並且要使用HTML5重寫它,是否有可能隱藏代碼?或者至少讓它難以看到(與右鍵單擊,查看源代碼不同,那麼您可以複製粘貼代碼)。例如:要看到或重複使用閃光燈,您必須對其進行逆向工程。HTML5隱藏代碼像閃存

+4

作爲一般規則,人們對盜取你的「超酷動畫」的興趣遠沒有你想像的那麼大。 – ceejayoz 2012-01-27 20:01:31

+0

@ceejayoz好..它不是真的動畫..這只是一個例子,使問題明確:) – Harts 2012-01-27 21:59:33

+0

我的觀點適用於超過動畫。 – ceejayoz 2012-01-27 22:05:09

回答

1

不,沒有辦法做到這一點。逆向工程swf文件對於swf-decompiler和trillix等程序來說也是微不足道的,所以它並不重要。主要的一點是不要在客戶端代碼中放置任何重要的東西,這樣您就不會受到影響。從服務器發送到客戶端以在客戶端進行處理的任何事情都可以被在所述客戶端上運行的代理攔截,並被解編譯/反彙編。正如另一位用戶聲稱你可以使用.htaccess來限制對服務器端腳本的訪問(在服務器上執行的腳本),但是你不能完全「隱藏」將要在客戶端機器上執行的任何內容。

可能是我在做這件事情時看到的最好的嘗試是由Google爲他們的Flash地圖api完成的,他們給了他們一個在他們的SDK中使用的swc,只有接口,然後在運行時獲取實現另一個瑞士法郎的形式,問題是瑞士法郎也可以被攔截,然後反編譯。假設他們在執行代碼的機器上具有管理員權限,那麼在個人計算機上執行的某些內容不會隱藏。 (這不是HTML或Flash的謬誤,任何語言都是如此,C創建程序集,具有正確的知識可以進行反向設計)。

2

可以混淆您的代碼,使人們很難讀它 使用http://javascriptobfuscator.com/default.aspx

對於爲例此:

var a="Hello World!"; 
function MsgBox(msg) 
{ 
    alert(msg+"\n"+a); 
} 
MsgBox("OK"); 

將成爲這樣的:

var _0xb75d=["\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21","\x0A","\x4F\x4B"];var 
a=_0xb75d[0];function MsgBox(_0x4338x3){alert(_0x4338x3+_0xb75d[1]+a);} 
;MsgBox(_0xb75d[2]); 

爲了保護您可以使用反彙編的swf文件:http://www.kindi.com/

+0

如果你的代碼無論如何都很複雜,並且你使用了任何縮小 - 這足以讓99.99%的可能會盜取你的_cool animation_的人收起來。 – c69 2012-01-27 20:26:34