JavaScript 数组反混淆

标签 javascript arrays node.js regex deobfuscation

已解决:Replace array-mapped variables with the actual variable name/string?

我正在尝试解码一些 JS,我已经完成了大部分,但是,我在这里遇到了困难。该代码执行如下操作:

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

除了文件大约有 12k 行,数组中有超过 1.4k 的东西。 有没有一种方法可以将 arr[0] 替换为 arr[0] 的实际值(在示例中,它将是“值”),然后保存文件?我尝试使用 RegExp 但一无所获。

我们将不胜感激。

最佳答案

一个简单的想法是在当前范围内使用数组,并使用目标 javascript 文件内容作为 replace() 方法的输入字符串:

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];
}))

关于JavaScript 数组反混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43672776/

相关文章:

javascript - 如何使函数立即调用,然后每 5000 毫秒调用一次

javascript - TypeError : expect(. ..).toBeA 不是函数

arrays - 调用 append 后 slice 的行为是否定义明确?

arrays - 具有 max(abs(x),abs(y)) 的元素 x(i) 或 y(i) 的 MATLAB 向量

node.js - 使用 watch 从 grunt 运行 Node 应用程序

asp.net - Node.js 密码加密与 Asp.Net 中相同

javascript - 在 For 循环中创建数组而不运行数组

c# - 将十六进制字符串转换为图像

node.js - 使用SSL的Socket.io导致404()错误

javascript - jquery 从数组中选择每个元素