关注它,不迷路。
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
1.需求
星友发过来一个混淆代码,打开一看,长这样:
再看文件末尾:
一堆函数调用。不过不用管,根据Function 函数的特性,我们只需要提取它的实参即可。
2.提取
写个hook Function 函数 的脚本,提取它的实参,保存为文件即可:
const fs = require('fs');
(function () {
let _myFunction = Function;
Function = function () {
let src = arguments[arguments.length - 1];
fd = fs.openSync("ob_ok.js", "w");
fs.writeSync(fd, src);
fs.closeSync(fd);
}
})();
注意,需要放在混淆代码前面执行。因为混淆代码可能报错,因此放在前面可以防止没有被执行到。
加进去后运行该文件,控制太看到报错了:
不过不用担心,文件已经被提前保存下来了:
打开后,发现是一段 ob混淆:
nice! 完整代码请在星球里下载:
https://t.zsxq.com/14augNYMj
今天的文章就分享到这里,后续分享更多的技巧,敬请期待。
欢迎加入知识星球,学习更多AST和爬虫技巧。