Flash中字符串常量的简单混淆

时间:2013-10-05 15:56:56

标签: actionscript-3 flash actionscript

我不是F 睫毛专家。

我有一个用ActionScript 3编码的游戏的FLA文件。

游戏里面有一个字符串,"www.mywebsite.com"

当有人打开此FLA并搜索“.com”或“mywebsite.com”时,我希望找到任何内容。所以我决定以某种方式编码该字符串。但我从来没有在Flash中编码,所以我不知道从什么开始,谷歌没有帮助。

基本上我想做的就是替换这一行:

var url1 = 'www.mywebsite.com';

有这样的东西并且功能齐全。

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

即使是XOR或其他简单的字符串操作算法也不错。

如果不将任何非标准库导入Flash,我有哪些选项?

1 个答案:

答案 0 :(得分: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,那意味着他有权改变它:p

当然还有更简单的方法:

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

但这没什么好玩的!