[发明专利]一种编程语言结构混淆处理方法、智能终端及存储介质有效
| 申请号: | 201910629655.8 | 申请日: | 2019-07-12 |
| 公开(公告)号: | CN110309631B | 公开(公告)日: | 2021-04-06 |
| 发明(设计)人: | 冉辽;龙柏林;杜洋;肖巍 | 申请(专利权)人: | 北京智游网安科技有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/60;G06F8/30;G06F8/35 |
| 代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;陈专 |
| 地址: | 100000 北京市海淀区东北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 编程 语言 结构 混淆 处理 方法 智能 终端 存储 介质 | ||
本发明公开了一种编程语言结构混淆处理方法、智能终端及存储介质,所述方法包括:通过词法分析和语法分析,从源代码中提取特征结构;将提取的所述特征结构进行加密或者变换处理生成多个函数模板,并将所述特征结构进行加密处理生成代码模板;将所述函数模板中的源码替换为函数调用、成员函数调用或者变量的形式,并将所述代码模板中的源码替换为解密代码的形式。本发明通过模板替换的方式,混淆了代码结构,API的隐藏可以防止源码泄露,增加了软件保护的强度。
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种编程语言结构混淆处理方法、智能终端及存储介质。
背景技术
JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类;它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
现有技术中常见的JavaScript代码混淆,主要是对代码进行压缩,函数名称、变量名称、去空格、去注释等,JavaScript代码业务逻辑,代码结构,核心API直接被暴露,有些混淆工具也只是做下简单编码,使其结构改变,但是也能很容易的破解出来,导致源代码泄露,软件被复制。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于提供一种编程语言结构混淆处理方法、智能终端及存储介质,旨在解决现有技术中源代码泄露,软件被复制的问题。
为实现上述目的,本发明提供一种编程语言结构混淆处理方法,所述编程语言结构混淆处理方法包括如下步骤:
通过词法分析和语法分析,从源代码中提取特征结构;
将提取的所述特征结构进行加密或者变换处理生成多个函数模板,并将所述特征结构进行加密处理生成代码模板;
将所述函数模板中的源码替换为函数调用、成员函数调用或者变量的形式,并将所述代码模板中的源码替换为解密代码的形式。
可选地,所述的编程语言结构混淆处理方法,其中,所述特征结构包括:字符串、常数、布尔类型、数组、函数调用、实参参数和运算表达式。
可选地,所述的编程语言结构混淆处理方法,其中,所述函数模板包括:字符串函数模板、常数函数模板、布尔类型函数模板、数组函数模板、函数调用函数模板和运算表达式函数模板。
可选地,所述的编程语言结构混淆处理方法,其中,所述字符串函数模板的生成为:通过词法分析和语法分析,提取源码中的字符串,进行拼接、乱序、切割、移位、倒序、截取、编码和算法加密操作生成乱序数组,生成字符串函数函数模板;
所述常数函数模板的生成为:通过词法分析和语法分析,提取源码中的常数进行拼接、乱序、切割、移位、倒序、编码和算法加密操作生成乱序数组,生成常数函数模板;或者通过词法分析和语法分析,提取源码中的常数,进行加、减、乘、除、取余、取模、编码和算法加密,生成常数函数模板;
所述布尔类型函数模板的生成为:通过词法分析和语法分析,提取源码中的布尔类型,生成布尔类型函数模板;
所述数组函数模板的生成为:通过词法分析语法分析,提取源码中的数组,进行拆分,合并、拼接、乱序、切割、移位、倒序、截取、编码和算法加密,生成乱序的字符串、数组、变量或者对象,生成数组函数模板;
所述函数调用函数模板的生成为:通过词法分析和语法分析,提取源码中的全局函数声明,生成函数调用函数模板;
所述运算表达式函数模板的生成为:通过词法分析和语法分析,提取源码中的运算表达式,生成运算表达式函数模。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智游网安科技有限公司,未经北京智游网安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910629655.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种Java代码加密方法及装置
- 下一篇:基于多通道变换域特征的零水印算法





