如何恢复混淆的 属性 名称?
How to restore obfuscated property names?
所以我正在解密 javascript 代码,在互联网上看了很长时间后,我不知道如何快速解密它。
代码以包含整个脚本的所有字符串的大型数组开始。
var _$_21e2 = ["jQuery", "userAgent", "test", "onmouseup", "onmousemove", "pink", "greenyellow", "gold"]
数组中还有更多的字符串,但这只是一个例子。
然后在其余代码中,它只是通过 id 从数组中调用字符串。
_$_21e2[29]
我知道我可以手动执行此操作,但大约有 120 个字符串,因此执行此操作会花费太多时间。
有没有办法快速解密这个?提前致谢。
一个简单的regex replace
就可以了:
var _$_21e2 = ["jQuery", "userAgent", "test", "onmouseup", "onmousemove", "pink", "greenyellow", "gold"];
return code.replace(/\[_$_21e2\[(\d+)\]\]/g, function(_, i) {
return "."+_$_21e2[i];
}).replace(/_$_21e2\[(\d+)\]/g, function(_, i) {
return JSON.stringify(_$_21e2[i]);
});
给定 code
作为字符串,这将生成具有人类可读的 属性 名称和文字的代码字符串。
所以我正在解密 javascript 代码,在互联网上看了很长时间后,我不知道如何快速解密它。
代码以包含整个脚本的所有字符串的大型数组开始。
var _$_21e2 = ["jQuery", "userAgent", "test", "onmouseup", "onmousemove", "pink", "greenyellow", "gold"]
数组中还有更多的字符串,但这只是一个例子。
然后在其余代码中,它只是通过 id 从数组中调用字符串。
_$_21e2[29]
我知道我可以手动执行此操作,但大约有 120 个字符串,因此执行此操作会花费太多时间。 有没有办法快速解密这个?提前致谢。
一个简单的regex replace
就可以了:
var _$_21e2 = ["jQuery", "userAgent", "test", "onmouseup", "onmousemove", "pink", "greenyellow", "gold"];
return code.replace(/\[_$_21e2\[(\d+)\]\]/g, function(_, i) {
return "."+_$_21e2[i];
}).replace(/_$_21e2\[(\d+)\]/g, function(_, i) {
return JSON.stringify(_$_21e2[i]);
});
给定 code
作为字符串,这将生成具有人类可读的 属性 名称和文字的代码字符串。