echo094 / decode-js

JS混淆代码的AST分析工具 AST analysis tool for obfuscated JS code
MIT License
649 stars 324 forks source link

v7解密报错 #29

Closed TongLin138 closed 1 year ago

TongLin138 commented 1 year ago

代码链接:https://playcode.io/1560693 其中script.js和script2.js,都是同样错误。

解密报错内容

PS D:\Github\Decode> node src/main.js -t sojsonv7 [-i input.js] [-o output.js] 类型: sojsonv7 输入: input.js 输出: output.js 处理全局加密... Version var: version_ Error: cannot find decrypt variable

echo094 commented 1 year ago

v7部分已更新,但是这两个脚本还嵌套了一层obfuscator混淆,目前存在点问题

TongLin138 commented 1 year ago

在经过v7部分解密后,使用 relative/synchrony 作者的 https://deobfuscate.relative.im/ 工具可以进行部分解密,并且可读性很低(举例:会出现解密不完全,console.log分好多行的情况),期待您进一步的支持。

console.log(
    '触发时段:',
    _0x210cb6.map(
        (_0x370eb7) =>
        (_0x370eb7[0] < 10 ? '0' + _0x370eb7[0] : _0x370eb7[0]) +
        ':' +
        (_0x370eb7[1] < 10 ? '0' + _0x370eb7[1] : _0x370eb7[1]) +
        ':' +
        (_0x370eb7[2] < 10 ? '0' + _0x370eb7[2] : _0x370eb7[2])
    )
)
echo094 commented 1 year ago
console.log(
    '触发时段:',
    _0x210cb6.map(
        (_0x370eb7) =>
        (_0x370eb7[0] < 10 ? '0' + _0x370eb7[0] : _0x370eb7[0]) +
        ':' +
        (_0x370eb7[1] < 10 ? '0' + _0x370eb7[1] : _0x370eb7[1]) +
        ':' +
        (_0x370eb7[2] < 10 ? '0' + _0x370eb7[2] : _0x370eb7[2])
    )
)

这段代码原本的逻辑就是这样的(分别给时分秒补成2位),上面工具的结果是对的。

我提到的问题是在代码块解混淆阶段错误合并了一些非混淆用的Object。

echo094 commented 1 year ago

obfuscator解混淆应该不报错了

TongLin138 commented 1 year ago

是的,不报错了。感谢作者❤。