[发明专利]一种基于AST的Javascript混淆方法在审
申请号: | 201911069021.8 | 申请日: | 2019-11-05 |
公开(公告)号: | CN110826032A | 公开(公告)日: | 2020-02-21 |
发明(设计)人: | 周誉淼 | 申请(专利权)人: | 浪潮卓数大数据产业发展有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
地址: | 214029 江苏省无锡市滨*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ast javascript 混淆 方法 | ||
本发明公开一种基于AST的Javascript混淆方法,涉及数据保护技术领域;根据抽象语法树将Javascript文件分解成若干节点,不同形式的语句分为不同的节点类型,将Javascript文件的代码进行压缩,并根据不同的节点类型将Javascript文件的代码重新组合,其中利用插入无用代码的方式随机生成一段代码插入到Javascript文件的原代码的任意位置中,进行代码重新组合;和/或利用.操作符替换的方式将Javascript文件的代码重新组合,和/或利用函数参数去除的方式将Javascript文件的代码重新组合,实现Javascript混淆。
技术领域
本发明公开一种基于AST的Javascript混淆方法,涉及数据保护技术领域。
背景技术
当前互联网技术发展迅速,PC端、移动端互联网应用技术呈指数增长,与此同时带来了关键技术代码泄漏问题。对于大多数WEB项目,可分为独立的前端、后端两部分,后端代码通常由编译器编译为字节码文件后运行,如Java的.class文件,使用者无法直接看到源代码实现,从而保护了代码的安全。然而对于前端代码,Javascript是由浏览器直接解释执行,可以轻易的通过F12或Ctrl+U查看源代码,即使是移动端应用,也可以通过解压apk安装包的方式获取源代码,因此,Javascript代码非常容易泄露,已被窃取和篡改。
抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
本发明提供一种基于AST的Javascript混淆方法,利用AST抽象语法树原理,对Javascript代码进行分析、拆解,将代码按照既定方式重新组合,以此实现代码压缩和代码转义功能,降低其可读性,保护互联网应用前端页面不被窃取、篡改。
发明内容
本发明针对现有技术的问题,提供一种基于AST的Javascript混淆方法,实现了Javascript代码混淆功能,通过对代码的压缩和转义,生成难以被人阅读的同时,从而达到保护代码的目的。
本发明提出的具体方案是:
一种基于AST的Javascript混淆方法,根据抽象语法树将Javascript文件分解成若干节点,不同形式的语句分为不同的节点类型,将Javascript文件的代码进行压缩,并根据不同的节点类型将Javascript文件的代码重新组合,
其中利用插入无用代码的方式随机生成一段代码插入到Javascript文件的原代码的任意位置中,进行代码重新组合;
和/或利用.操作符替换的方式将Javascript文件的代码重新组合,
和/或利用函数参数去除的方式将Javascript文件的代码重新组合,
实现Javascript混淆。
所述的方法中Javascript文件的语句包括以下形式:EmptyStatement、ExpressionStatement、VariableDeclaration、FunctionDeclaration、WhileStatement、DoWhileStatement、IfStatement、SwitchStatement、BlockStatement、ReturnStatement、BreakStatement、ContinueStatement、ForStatement、ForInStatement及ForOfStatement。
所述的方法中函数参数去除的方式是:将函数声明中需要传参的函数的参数删除,而在函数体中声明同名变量,并初始化为传参实际值。
所述的方法中通过去除不必要的空格和换行回车,将Javascript文件的代码进行压缩。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮卓数大数据产业发展有限公司,未经浪潮卓数大数据产业发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911069021.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑领域的砂石干燥除湿设备
- 下一篇:一种避免遮挡的三维激光扫描系统