[发明专利]脚本混淆方法有效
| 申请号: | 201810445003.4 | 申请日: | 2018-05-10 |
| 公开(公告)号: | CN110196718B | 公开(公告)日: | 2023-07-25 |
| 发明(设计)人: | 张小龙;袁丽娜;胡育辉 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/14 |
| 代理公司: | 北京励诚知识产权代理有限公司 11647 | 代理人: | 贾玉姣 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 脚本 混淆 方法 | ||
1.一种脚本混淆方法,其特征在于,包括:
接收浏览器发送的脚本请求;
将所述脚本请求所请求的脚本转换成抽象语法树;
对所述抽象语法树按照预定的转换规则进行转换;
根据转换后的抽象语法树生成新的脚本;
将生成的新的脚本发送给所述浏览器;
所述对所述抽象语法树按照预定的转换规则进行转换包括:
将所述抽象语法树中的关键字提取出来放到数组中,将提取的关键字用数组下标的方式进行替换;
将所述抽象语法树的所有根节点包裹在一个立即执行函数中,并将提取的关键字通过所述立即执行函数的数组参数的形式传递进来;
所述脚本混淆方法还包括:
将通过所述立即执行函数传递的参数赋给至少两个变量,并在引用所述参数时,随机使用所述至少两个变量中的一个。
2.根据权利要求1所述的方法,其特征在于,还包括:
对提取的关键字中的字符串进行编码和/或加密处理;和/或,
对提取的关键字中的数字进行进制转换。
3.根据权利要求1所述的方法,其特征在于,所述对所述抽象语法树按照预定的转换规则进行转换包括:
对所述抽象语法树作用域内私有对象的属性进行压缩。
4.根据权利要求1所述的方法,其特征在于,所述对所述抽象语法树按照预定的转换规则进行转换包括:
在所述抽象语法树中,随机构建结点,并在构建的结点上插入废代码。
5.根据权利要求1所述的方法,其特征在于,所述对所述抽象语法树按照预定的转换规则进行转换包括:
对所述抽象语法树中控制流的逻辑进行转换。
6.根据权利要求1所述的方法,其特征在于,所述对所述抽象语法树按照预定的转换规则进行转换包括:
对所述抽象语法树中的控制台函数进行重写,使所述抽象语法树中的控制台失效。
7.根据权利要求1所述的方法,其特征在于,所述对所述抽象语法树按照预定的转换规则进行转换包括:
在所述抽象语法树的关键逻辑处插入断点,并通过时间逻辑进行控制。
8.根据权利要求1所述的方法,其特征在于,所述对所述抽象语法树按照预定的转换规则进行转换包括:
探测所述抽象语法树中的脚本执行域名,进行域名锁定,以使除所述抽象语法树中的脚本执行域名之外的其他域名执行脚本进入死循环逻辑。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810445003.4/1.html,转载请声明来源钻瓜专利网。





