echo094 / decode-js

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

全局简单混淆嵌套局部V7混淆 #40

Closed GameAttacker closed 12 months ago

GameAttacker commented 1 year ago

打乱过的,如果直接运行程序会提示找不到某个变量

https://playcode.io/1614947

echo094 commented 1 year ago

这个脚本将一段局部代码进行了jsjiami.com.v7方式的混淆,然后对整个脚本进行了其它方式的混淆,所以需要先对全局代码解混淆(这部分现版本尚未实现),然后提取出那段代码进一步解混淆。

针对这种问题,近期会参照其它工具分离常用(不限定混淆器)的解混淆模块,并新增一个处理简单混淆的插件。

GameAttacker commented 1 year ago

辛苦大佬大半夜解答

echo094 commented 1 year ago

你尝试一下测试分支add_common_plugin的版本:

git clone -b add_common_plugin https://github.com/echo094/decode-js.git

首先使用common插件解简单混淆:

npm run decode -- -t common

然后挑出V7混淆的部分解专用混淆:

npm run decode -- -t sojsonv7
GameAttacker commented 1 year ago

https://playcode.io/1614947

image

并未输出文件。

echo094 commented 1 year ago

你没有复制全,这种混淆的最后一行也是var xxx = 'jsjiami.com.v7';(可以去混淆网站看一下样例),而恰好这段代码的原始代码就是你少复制的那3行,前面的都是混淆器增加的内容。