预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115048623A(43)申请公布日2022.09.13(21)申请号202210349402.7(22)申请日2022.04.01(71)申请人上海任意门科技有限公司地址201203上海市浦东新区中国(上海)自由贸易试验区碧波路690号3幢203-03室(72)发明人董崇洋张璐陶明龚炳源黄姜恒(74)专利代理机构北京市金杜律师事务所11256专利代理师张平(51)Int.Cl.G06F21/12(2013.01)权利要求书2页说明书12页附图5页(54)发明名称用于加密代码的方法、计算设备和存储介质(57)摘要本公开的实施例涉及用于加密网络前端代码的方法、计算设备和计算机存储介质。该方法包括:在计算设备处,获取源代码;经由经构建的静态分析器,将源代码转换为用于指示程序语法结构的抽象语法树,抽象语法树包括多个节点,多个节点中的每个节点指示源代码中的一程序语法结构,每个节点关联有属性信息;将所转换的抽象语法树映射为预定指令和目标数据的集合,每个预定指令指示为对应操作码数值,目标数据与预定指令相关联;将预定指令和目标数据转化为二进制中间码,以用于经由用户终端处的虚拟机,请求二进制中间码和解释器代码;以及使用解释器代码执行二进制中间码,以生成处理结果。本公开能够有效提高召回的高相关性的帖子的数量。CN115048623ACN115048623A权利要求书1/2页1.一种用于加密网络前端代码的方法,包括:在计算设备处,获取源代码;经由经构建的静态分析器,将所述源代码转换为用于指示程序语法结构的抽象语法树,所述抽象语法树包括多个节点,所述多个节点中的每个节点指示所述源代码中的一程序语法结构,所述每个节点关联有属性信息,所述属性信息用于指示程序语法结构的类型;将所转换的抽象语法树映射为预定指令和目标数据的集合,每个预定指令指示为对应操作码数值,所述目标数据与预定指令相关联;将所述预定指令和目标数据转化为二进制中间码,以用于经由用户终端处的虚拟机,请求所述二进制中间码和解释器代码;以及使用所述解释器代码执行所述二进制中间码,以生成处理结果。2.根据权利要求1所述的方法,其中用于经由用户终端处虚拟机,请求所述二进制中间码和解释器代码包括:确定是否检测到来自所述用户终端处的虚拟机的关于所述网络前端代码的请求;以及响应于确定检测到来自所述用户终端处的虚拟机的关于所述网络前端代码的请求,将所述二进制中间码和解释器代码发送至所述用户终端。3.根据权利要求1所述的方法,其中经由经构建的静态分析器将所述源代码转换为用于指示程序语法结构的抽象语法树包括:将所述源代码的代码字符串分割成语法单元数组,所述源代码为JavaScript源代码;以及基于所述经分割的语法单元数组,建立语法单元之间的关系,以用于生成所述抽象语法树。4.根据权利要求1所述的方法,其中将所转换的抽象语法树映射为预定指令和目标数据的集合包括:响应于确定所转换的抽象语法树的当前节点所指示的程序语法结构指示将第一目标数据赋值为第一目标变量,将所转换的抽象语法树的当前节点映射为第一预定指令的对应操作码数值、第一目标数据、第二预定指令的对应操作码数值和变量区标识,所述第一预定指令用于将第一目标数据压入至当前操作数栈之中,所述第二预定指令用于将当前操作数栈的栈顶的数据放至变量区标识所指示的变量区。5.根据权利要求4所述的方法,其中将第一目标数据压入至当前操作数栈之中包括:响应于确定第一预定指令被执行,将第一目标数据设置到当前操作数栈中的栈指针所指向的位置;以及使得所述栈指针加一。6.根据权利要求4所述的方法,其中将所转换的抽象语法树映射为预定指令和目标数据的集合还包括:响应于确定所转换的抽象语法树的当前节点所指示的程序语法结构指示确定所述第一目标变量与第二目标数据的比较是否为真,将所转换的抽象语法树的当前节点映射为:第三预定指令的对应操作码数值和变量区标识,所述第三预定指令用于将所述变量区标识所指示的变量区的数据压入当前操作数栈之中;第四预定指令的对应操作码数值和所述第二目标数据,所述第四预定指令用于将第二2CN115048623A权利要求书2/2页目标数据压入当前操作数栈之中;第五预定指令的对应操作码数值和比较运算标识,所述第五预定指令用于将当前操作数栈的栈顶的两个数据进行比较运算标识所指示的比较运算,以及将比较运算的结果放在当前操作数栈的栈顶;以及第六预定指令的对应操作码数值和用于指示下一预定指令的位置信息,所述第六预定指令用于确定当前操作数栈的栈顶的数据是否为真,以及如果确定栈顶的数据为假则跳转至所述位置信息所指示的下一预定指令。7.根据权利要求1所述的方法,其中将所述预定指令和目标数据转化为二进制中间码包括:将基于预定指令的对应