Javascript数组转换器

时间:2016-01-04 16:35:46

标签: javascript jquery

如何更改javascript数组中的字符串。我想将数组代码更改为字符串。 如何更改javascript数组中的字符串。我想将数组代码更改为字符串。

如何得到这个;

var _0x1576 = ["SayHello", "GetCount", "Message : ", "You are welcome."];

function NewObject(_0x7aa7x2) {
    var _0x7aa7x3 = 0;
    this.SayHello = function (_0x7aa7x4) {
        _0x7aa7x3++;
        alert(_0x7aa7x2 + _0x7aa7x4);
    };
    this.GetCount = function () {
        return _0x7aa7x3
    };
}
var obj = new NewObject("Message : ");
obj.SayHello("You are welcome.");

这;

var _0x1576 = ["SayHello", "GetCount", "Message : ", "You are welcome."];

function NewObject(_0x7aa7x2) {
    var _0x7aa7x3 = 0;
    this[_0x1576[0]] = function (_0x7aa7x4) {
        _0x7aa7x3++;
        alert(_0x7aa7x2 + _0x7aa7x4);
    };
    this[_0x1576[1]] = function () {
        return _0x7aa7x3
    };
}
var obj = new NewObject(_0x1576[2]);
obj.SayHello(_0x1576[3]);

1 个答案:

答案 0 :(得分:0)

编辑:所以你有一些代码,其中所有的变量名都被数字或索引替换为这个全局的名字数组,你希望能够读取它。已有answer to this question,其中包含指向一系列有用的反混淆工具的链接。

你的案例看起来相当简单 - 看起来你可以只进行一次字符串搜索和替换,每次索引时都会替换数组值。正则表达式/_0x1576\[(\d+)\]/g应该找到使用整数索引访问变量_0x1576的所有内容。内部组(\d+)应该为您提供找到它的索引。您可以使用类似的东西来对您的源进行反混淆处理。但是,有些名字在混淆过程中丢失了;即无法恢复0x7aa7x4函数中参数SayHello的名称。您必须阅读该方法,了解其目的是什么,并尝试自己想出一个有意义的名称。

但是有一个问题 - 你有多少代码?如果字符串数组中只有几个名字,那么@Nina Scholz的建议似乎相当合理。只需在文本编辑器中逐个浏览它们,然后使用“查找和替换”功能。