[发明专利]代码文件的混淆方法、装置、电子设备和存储介质在审
申请号: | 202010820864.3 | 申请日: | 2020-08-14 |
公开(公告)号: | CN112115428A | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 高迪;夏冰;于大鹏;兰丽;蒲志明 | 申请(专利权)人: | 咪咕文化科技有限公司;中国移动通信集团有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 白淑君 |
地址: | 100032*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 文件 混淆 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种代码文件的混淆方法、装置、电子设备及存储介质,该方法包括:根据第一语法树确定操作符节点和操作数节点;根据操作符节点和操作数节点对应的节点内容创建基础函数文件;根据操作数节点对应的节点内容和基础函数文件创建代理函数文件;根据代理函数文件对第一语法树进行修改,获得第二语法树,根据第二语法树获得混淆代码文件。本发明的实施例提供了一种代码文件的混淆方法、电子设备和存储介质,通过识别语法树中的操作符节点和操作数节点,将操作符和操作数的执行功能用基础函数实现,再通过代理函数代理操作符功能,使其映射到基础函数上,可实现操作符和操作数的混淆,增加破解代码文件的逆向难度。
技术领域
本发明涉及机器学习和视频分析技术领域,尤其是涉及一种代码文件的混淆方法、装置、电子设备和存储介质。
背景技术
随着互联网技术的蓬勃发展,WEB应用拥有了众多手机、PC、智能家居等用户的青睐。然而,受到WEB发展的限制,网页H5中的JavaScript脚本是公开在WEB应用前端浏览器上的。攻击者很容易获取并篡改代码,给网站带来很大的安全隐患,从而损害用户的隐私和利益。因此,保护脚本代码安全的加固技术变得很重要,其中混淆技术将原有的脚本代码,变换成与之运行功能相同但是很难读懂的代码的技术,大大增加破解者难度。
现有JavaScript代码保护技术分两类:一、对JavaScript进行代码加密,实现保护效果,其本质是加密。二、对JavaScript代码数据流(常量、变量、函数名等)进行混淆的混淆技术。
无论是带代码进行加密,还是对变量还是常量等数据流混淆,都很容易根据操作符逆向出代码逻辑。
发明内容
针对现有技术存在的问题,本发明实施例提供一种代码文件的混淆方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供一种代码文件的混淆方法,包括:
获取源代码文件对应的第一语法树,根据所述第一语法树确定操作符节点和属于所述操作符节点的操作数节点;
根据所述操作符节点和所述操作数节点各自对应的节点内容创建基础函数文件;
根据所述操作数节点对应的节点内容,和所述基础函数文件创建代理函数文件;
根据所述代理函数文件对所述第一语法树进行修改,获得第二语法树,根据所述第二语法树获得所述源代码文件对应的混淆代码文件。
进一步地,所述根据所述代理函数文件对所述第一语法树进行修改,获得第二语法树,包括:
将所述代理函数文件转换为更新用语法树,将所述更新用语法树在所述第一语法树中替换操作符节点和属于所述操作符节点的操作数节点,获得第二语法树。
进一步地,根据所述操作数节点对应的节点内容,和所述基础函数文件创建代理函数文件,包括:
配置代理函数文件的第一配置信息和第二配置信息,所述第一配置信息用于对函数的结构框架进行限定,所述第二配置信息用于对函数调用的参数进行限定;
根据所述第一配置信息确定代理函数文件的文件框架,所述文件框架包含用于函数调用的参数列表;
根据所述操作数节点对应的节点内容确定第一参数值,根据所述基础函数文件确定第二参数值;
根据所述第二配置信息将所述第一参数值和所述第二参数值置于所述文件框架中的参数列表中,获得代理函数文件。
进一步地,所述第一配置信息包括:
代理函数文件的函数层级数目;
代理函数文件的参数列表数目;
代理函数文件的每层级分配参数数目;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于咪咕文化科技有限公司;中国移动通信集团有限公司,未经咪咕文化科技有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010820864.3/2.html,转载请声明来源钻瓜专利网。