2013-10-05 34 views
-1

我不是F lash專家。Flash中字符串常量的簡單混淆

我有一個遊戲編碼在ActionScript 3

遊戲中有一個字符串中,"www.mywebsite.com"的FLA文件。

我希望當有人打開此FLA並搜索「.com」或「mywebsite.com」找不到任何東西。所以我決定以某種方式編碼該字符串。但我從來沒有用Flash編碼,所以我不知道該從哪裏開始,Google也沒有幫助。

基本上所有我想要做的就是替換這一行:

var url1 = 'www.mywebsite.com'; 

像這樣的東西,併發揮作用。

var url1 = base64_decode('asdahwiyadwaeawr=='); 

即使是XOR或其他簡單的字符串操作算法也不錯。

我沒有將任何非標準庫導入到Flash中有什麼選項?

+0

這裏沒有重複。這是我要求的一個例子。再次閱讀,也許有幫助嗎?我問了一個解決方案,而不需要添加一個庫。您建議的主題是要求我爲此添加一個庫。 – NVG

+0

@nevergone,-1不願意添加庫來解決您的問題。這是解決問題的最合理的方法。 –

+0

@nevergone我以爲Base64編碼器是一個內置的功能;我沒有意識到它是官方的但不是內置Flex庫的一部分。 –

回答

2

任何人通過您的代碼在類似var url = BlaBla_decode("cvxcvxc");可以簡單地用var url = "www.HisWebsite.com替換它尋找...
所以我想你是假設沒有人會通過你的腳本一行一行地去,而是搜索」 .COM 「(這會讓他成爲一個非常懶惰的混蛋)!
一個簡單的解決方案是想出一個函數,它會返回「www.MyWebsite.com」而不寫它; 喜歡的東西:

var url:String = youAreStupid(); 

function youAreStupid():String 
{ 
    return String(f(22) + f(22) + f(22) + "extra.extra" + f(12) + f(24) + f(22) + f(4) + f(1) + f(18) + f(8) + f(19) + f(4) + "extra.extra" + f(2) + f(14) + f(12)).replace(/extra/g, ""); 
} 

function f(n:Number):String 
{ 
    return String.fromCharCode("a".charCodeAt(0) + n); 
} 

我不能不說,這是爲了保護您的文檔跛腳方式,我建議你堅持你的腳本的頂部評論(東西清晰可見):// You won't find it YOU ARE STUPID 現在,如果他有足夠的智能搜索youAreStupid,這意味着他有權更改:對

當然這裏還有更簡單:

String("-Ow-Mw-Gw-!.-Ym-Oy-Uw-Ae-Rb-Es-Si-Ot-Se-T.-Uc-Po-Im-D").replace(/-./g, ""); 

但這沒什麼好玩的!

+0

哈哈。是的,這基本上是我想要的,謝謝! – NVG