AST插件类编写小技巧

举报
悦来客栈的老板 发表于 2022/01/23 02:43:56 2022/01/23
【摘要】 现在混淆的js越来越卷了,越来越多的混淆js把唯一一个还原的突破点放在了一个毫不起眼的地方,令人眼花缭乱。 而越来越多的字符串解密则放进了 while - switch 控制流,有时候不得不将部分控制流还原了再进行字符串的替换,可谓费时费力。 有时候为了好管理插件,不得不区...
现在混淆的js越来越卷了,越来越多的混淆js把唯一一个还原的突破点放在了一个毫不起眼的地方,令人眼花缭乱。

而越来越多的字符串解密则放进了 while - switch 控制流,有时候不得不将部分控制流还原了再进行字符串的替换,可谓费时费力。

有时候为了好管理插件,不得不区分解密字符串的代码和ast的代码,这里分享一下我的经验。

1.我们把解密字符串的代码放进一个js文件里,如 decodeStr.js

2.把需要用到的函数名和变量全部改为全局函数和全局变量。

如 var QI = global;  ==> QI = global;  

function add(a,b) {return a + b;} ==> add = function (a,b) {return a + b;} 

2.在 ast还原的文件里,直接导入 decodeStr.js 即可以使用里面的全局函数和全局变量了。

const GlobalVar = require("./decodeStr");

这样就区分了解密字符串的代码和ast文件。

非常的舒服。

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/122632352

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。