[发明专利]一种基于AST的Javascript混淆方法在审
申请号: | 201911069021.8 | 申请日: | 2019-11-05 |
公开(公告)号: | CN110826032A | 公开(公告)日: | 2020-02-21 |
发明(设计)人: | 周誉淼 | 申请(专利权)人: | 浪潮卓数大数据产业发展有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
地址: | 214029 江苏省无锡市滨*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ast javascript 混淆 方法 | ||
1.一种基于AST的Javascript混淆方法,其特征是根据抽象语法树将Javascript文件分解成若干节点,不同形式的语句分为不同的节点类型,将Javascript文件的代码进行压缩,并根据不同的节点类型将Javascript文件的代码重新组合,
其中利用插入无用代码的方式随机生成一段代码插入到Javascript文件的原代码的任意位置中,进行代码重新组合;
和/或利用.操作符替换的方式将Javascript文件的代码重新组合,
和/或利用函数参数去除的方式将Javascript文件的代码重新组合,
实现Javascript混淆。
2.根据权利要求1所述的方法,其特征是Javascript文件的语句包括以下形式:EmptyStatement、ExpressionStatement、VariableDeclaration、FunctionDeclaration、WhileStatement、DoWhileStatement、IfStatement、SwitchStatement、BlockStatement、ReturnStatement、BreakStatement、ContinueStatement、ForStatement、ForInStatement及ForOfStatement。
3.根据权利要求1或2所述的方法,其特征是函数参数去除的方式是:将函数声明中需要传参的函数的参数删除,而在函数体中声明同名变量,并初始化为传参实际值。
4.根据权利要求3所述的方法,其特征是通过去除不必要的空格和换行回车,将Javascript文件的代码进行压缩。
5.根据权利要求1或4所述的方法,其特征是Javascript文件分解成若干节点,判断当前节点是否为已知节点,若不是已知节点,则按照Javascript文件的源文件的内容输出;若是已知节点,则判断所述的已知节点是子节点还是父节点,根据已知节点的类型进行代码重新组合的处理。
6.一种基于AST的Javascript混淆工具,其特征是包括分解模块、压缩模块及处理模块,
分解模块根据抽象语法树将Javascript文件分解成若干节点,不同形式的语句分为不同的节点类型,压缩模块将Javascript文件的代码进行压缩,处理模块根据不同的节点类型将Javascript文件的代码重新组合,
其中利用插入无用代码的方式随机生成一段代码插入到Javascript文件的原代码的任意位置中,进行代码重新组合;
和/或利用.操作符替换的方式将Javascript文件的代码重新组合,
和/或利用函数参数去除的方式将Javascript文件的代码重新组合,
实现Javascript混淆。
7.根据权利要求6所述的工具,其特征是处理模块中函数参数去除的方式是:将函数声明中需要传参的函数的参数删除,而在函数体中声明同名变量,并初始化为传参实际值。
8.根据权利要求6或7所述的工具,其特征是压缩模块通过去除不必要的空格和换行回车,将Javascript文件的代码进行压缩。
9.根据权利要求8所述的工具,其特征是分解模块将Javascript文件分解成若干节点,判断当前节点是否为已知节点,若不是已知节点,则按照Javascript文件的源文件的内容输出;若是已知节点,则判断所述的已知节点是子节点还是父节点,根据已知节点的类型进行代码重新组合的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮卓数大数据产业发展有限公司,未经浪潮卓数大数据产业发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911069021.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑领域的砂石干燥除湿设备
- 下一篇:一种避免遮挡的三维激光扫描系统