echo094 / decode-js

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

obfuscator: 处理variableDeclaration时语句顺序错误导致变量定义前被访问 #114

Closed djc-Sherlock closed 2 months ago

djc-Sherlock commented 2 months ago

Which plugin are you reporting a bug for?

obfuscator

Version of Node

v18.16.0

Input code

https://playcode.io/1977912 这个用obfuscator的解密成功后,运行脚本不成功。 会报错 Cannot set properties of undefined (setting 'lib') TypeError: Cannot set properties of undefined (setting 'lib') 可以帮忙看看是否是解密的问题嘛

Additional context

No response

echo094 commented 2 months ago

你这个原始脚本也不能运行啊

djc-Sherlock commented 2 months ago

你这个原始脚本也不能运行啊 完整脚本已更新 https://playcode.io/1977912 麻烦看下

echo094 commented 2 months ago

问题找到了,在处理如下所示的代码时:

var a8 = {}, a9 = a8.lib = {}

语句转换成了:

a8.lib = {}
var a8 = {}
var a9 = a8

导致a8在定义前就被访问了。