[发明专利]脚本保护方法、装置、计算机可读存储介质和计算机设备有效
| 申请号: | 202010269363.0 | 申请日: | 2020-04-08 |
| 公开(公告)号: | CN111488558B | 公开(公告)日: | 2022-07-22 |
| 发明(设计)人: | 马昊玉;刘忠正;胡育辉;李文豪;杨超 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/12 |
| 代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 董慧;关志琨 |
| 地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 脚本 保护 方法 装置 计算机 可读 存储 介质 设备 | ||
1.一种脚本保护方法,其特征在于,包括:
获取原始脚本,并确定所述原始脚本中的流程控制节点;所述流程控制节点记录有第一执行条件;所述流程控制节点用于在所述流程控制节点的输入变量符合所述第一执行条件时执行流程跳转;
根据所述第一执行条件,对所述原始脚本中的流程控制节点进行代码混淆,得到流程混淆节点;通过所述原始脚本中嵌入的防篡改验证组件,对所述流程混淆节点的代码内容进行校验,得到校验值,所述流程混淆节点用于对根据所述流程混淆节点的代码内容进行校验所得到的所述校验值进行考拉兹运算,并输出考拉兹序列;所述流程混淆节点记录有第二执行条件;所述流程混淆节点还用于根据所述考拉兹序列更新所述第二执行条件,直至所述第二执行条件与所述第一执行条件等价;所述流程混淆节点用于在所述流程混淆节点的输入变量符合所述第二执行条件时执行流程跳转;
根据嵌入有所述防篡改验证组件、神经网络和防篡改响应组件的原始脚本,生成受保护脚本;所述受保护脚本包括所述流程混淆节点;所述受保护脚本用于通过复合函数对所述流程混淆节点输出的考拉兹序列进行运算,得到考拉兹特征值;在运行受保护脚本的过程中,通过所述原始脚本中嵌入的神经网络,根据所述考拉兹特征值和所述流程混淆节点对应的第一节点标识值,输出第二节点标识值;将所述第二节点标识值与所述受保护脚本中各个候选流程节点的第三节点标识值进行匹配,当存在匹配的第三节点标识值时,将匹配的第三节点标识值所对应的候选流程节点,确定为待跳转流程节点,并从所述流程混淆节点跳转至所述待跳转流程节点;所述受保护脚本中的防篡改响应组件还用于当不存在匹配的第三节点标识值时执行代码自毁流程。
2.根据权利要求1所述的方法,其特征在于,所述流程控制节点包括节点原始代码,所述节点原始代码包括所述第一执行条件;所述根据所述第一执行条件,对所述原始脚本中的流程控制节点进行代码混淆,得到流程混淆节点,包括:
确定所述第一执行条件的条件参数,以及,获取流程混淆代码模板;所述流程混淆代码模板包括初始执行条件;
在所述流程混淆代码模板中,将所述初始执行条件的条件参数修改为所述第一执行条件的条件参数,得到流程混淆代码;
将所述流程控制节点的节点原始代码替换为所述流程混淆代码,得到所述流程混淆节点。
3.根据权利要求1所述的方法,其特征在于,所述防篡改验证组件包括代码位置占位符,所述流程控制节点的代码内容在所述原始脚本中具有第一起始位置;在所述根据所述第一执行条件,对所述原始脚本中的流程控制节点进行代码混淆,得到流程混淆节点之后,还包括:
根据所述流程混淆节点的代码内容与所述流程控制节点的代码内容之间的差异,确定代码位置偏移量;
根据所述第一起始位置和所述代码位置偏移量,确定所述流程混淆节点在所述原始脚本中的第二起始位置;
在所述防篡改验证组件的代码位置占位符中写入所述第二起始位置;所述防篡改验证组件用于根据所述第二起始位置定位所述流程混淆节点的代码内容。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述原始脚本中嵌入反调试组件;所述反调试组件用于在检测到对所述受保护脚本的非法调试活动时执行反调试功能。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述第一执行条件,对所述原始脚本中的流程控制节点进行代码混淆,得到流程混淆节点之后,还包括:
随机生成混淆标识符和/或混淆数值类型;
将所述流程混淆节点的代码内容中预设的原始标识符替换为所述混淆标识符,和/或,将所述流程混淆节点的代码内容中预设的原始数值类型替换为所述混淆数值类型。
6.根据权利要求1所述的方法,其特征在于,所述确定所述原始脚本中的流程控制节点,包括:
从所述原始脚本中抽取出抽象语法树;所述抽象语法树包括流程节点;
判断所述流程节点是否包含有流程控制语句;
若是,则将包含有所述流程控制语句的流程节点作为所述流程控制节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010269363.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:多节点式的移动教育平台系统
- 下一篇:一种测试方法及装置





