JavaScript数组反混淆

解决: 将数组映射variablesreplace为实际variables名称/string?

我试图解码一些JS,我已经完成了很大一部分,但是,我被困在这里。 代码做这样的事情:

var arr = ["value", "value1", "value2"]; console.log(arr[0]); 

除了文件大约是12K行,数组中有1.4K以上的东西。 有没有办法,我可以用arr[0]的实际值replacearr[0] (在这个例子中,它会是“value”),然后保存文件? 我尝试使用RegExp,但无处可去。

任何帮助将不胜感激。

一个简单的想法是将数组放在当前作用域中,并使用目标javascript文件内容作为replace()方法的inputstring:

 var arr = ['hello', 'my', 'world'] var str = ` var arr = ['hello', 'my', 'world'] console.log('arr[2]') console.log('arr[0]') console.log('arr[1]') ` console.log(str.replace(/\b(\w+)\[(\d+)]/g, function(match, $p1, $p2) { return window[$p1][$p2]; }))