欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2024107674329
申请人: 广东工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-11-28
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于深度学习的代码混淆方法,其特征在于,包括:

对分支语句进行预处理,得到所述分支语句对应的包含AST语法树结构信息的序列数据;其中,所述序列数据包括AST语法树的节点-编号序列及叶子节点值-编号序列;

基于所述序列数据构建AST语法树中根节点到各叶子节点的路径集合;

将所述路径集合输入代码混淆模型中,并将所述代码混淆模型的输出结果作为第一密文;其中,所述代码混淆模型是基于融合多重LSTM网络后的编码器-解码器结构和全连接层构建的;

基于DES算法对所述第一密文进行二次加密,得到第二密文;

构建解密模型,基于所述解密模型构建解密函数;

将所述第二密文输入所述解密函数中进行解密,得到对应的第一密文,将所述第一密文输入所述解密函数中的解密模型中进行解密,得到对应分支语句的判断条件;

将所述分支语句的判断条件替换为对解密函数的调用,实现代码混淆。

2.根据权利要求1所述的一种基于深度学习的代码混淆方法,其特征在于,对分支语句进行预处理,得到所述分支语句对应的包含AST语法树结构信息的序列数据,具体包括:构造所述分支语句对应的AST语法树;

对所述AST语法树进行先序遍历并对所述AST语法树中的节点进行编号,基于所述AST语法树中的各节点及对应编号构建所述节点-编号序列;

对所述AST语法树中各叶子节点的值进行编号,基于各所述叶子节点的值及对应编号构建所述叶子节点值-编号序列。

3.根据权利要求1所述的一种基于深度学习的代码混淆方法,其特征在于,基于所述序列数据构建AST语法树中根节点到各叶子节点的路径集合,具体包括:对所述序列数据进行向量化处理,得到各序列所对应的特征向量;

基于各特征向量构建AST语法树中根节点到各叶子节点的路径集合。

4.根据权利要求1所述的一种基于深度学习的代码混淆方法,其特征在于,所述代码混淆模型的处理过程包括:将所述路径集合输入代码混淆模型中的编码器中,输出各路径对应的编码向量,将各路径对应的编码向量和对应的叶子节点值串联输入到全连接层中,得到中间向量集合;

在所述代码混淆模型中的编码器和解码器之间引入注意力机制,并将所述中间向量集合中的各向量的平均值输入所述解码器中,输出与所述分支语句的判断条件相关的序列数据;

对输出的序列数据中的各字符进行标号,并构建字符-编号序列;

在所述字符-编号序列中选择与全连接层中的索引值所对应的字符,基于选取的字符构建第一密文。

5.根据权利要求1所述的一种基于深度学习的代码混淆方法,其特征在于,基于DES算法对所述第一密文进行二次加密,得到第二密文,具体包括:对所述第一密文进行加盐处理,得到加入随机盐值后的第一密文,基于DES算法对加入随机盐值后的第一密文进行加密,得到所述第二密文。

6.根据权利要求1所述的一种基于深度学习的代码混淆方法,其特征在于,将所述第二密文输入所述解密函数中进行解密,得到对应的第一密文,将所述第一密文输入所述解密函数中的解密模型中进行解密,得到对应分支语句的判断条件,具体包括:将所述第二密文作为所述解密函数的输入参数,根据DES算法密钥对所述第二密文进行解密,得到所述第二密文所对应的字符串,去除所述字符串中的首位字符,得到所述第二密文对应的第一密文,将所述第一密文输入所述解密函数中的解密模型中进行解密,输出对应分支语句的判断条件的AST语法树节点集合;

基于所述AST语法树节点集合中的各AST语法树节点结合先序遍历顺序来构建所述AST语法树节点集合对应的AST语法树,将构建的AST语法树转换为对应分支语句的判断条件,完成解密。

7.根据权利要求1所述的一种基于深度学习的代码混淆方法,其特征在于,所述解密模型的构建训练过程具体包括:构建多重依次连接的LSTM网络,并在相邻LSTM网络的前后加入残差连接结构,基于加入残差连接结构后的LSTM网络构建编码器-解码器网络作为初始解密模型;

获取训练数据,所述训练数据包括训练密文及对应的标签,所述标签为所述训练密文所对应的分支语句的判断条件的AST语法树节点进行先序遍历后得到的AST语法树节点集合;

将所述训练数据输入所述初始解密模型中进行解密,将所述训练密文输入编码器中,通过编码器学习所述训练密文的特征信息,将所述特征信息输入解码器中进行解码并输出,并以输出后的初始训练结果与所述训练密文对应的标签之间的损失最小为目标,进行训练,得到所述解密模型。

8.一种基于深度学习的代码混淆系统,其特征在于,包括:

数据预处理模块,用于对分支语句进行预处理,得到所述分支语句对应的包含AST语法树结构信息的序列数据;其中,所述序列数据包括AST语法树的节点-编号序列及叶子节点值-编号序列;基于所述序列数据构建AST语法树中根节点到各叶子节点的路径集合;

第一加密模块,用于将所述路径集合输入代码混淆模型中,并将所述代码混淆模型的输出结果作为第一密文;其中,所述代码混淆模型是基于融合多重LSTM网络后的编码器-解码器结构和全连接层构建的;

第二加密模块,用于根据DES算法对所述第一密文进行二次加密,得到第二密文;

代码混淆模块,用于构建解密模型,基于所述解密模型构建解密函数;将所述第二密文输入所述解密函数中进行解密,得到对应的第一密文,将所述第一密文输入所述解密函数中的解密模型中进行解密,得到对应分支语句的判断条件;将所述分支语句的判断条件替换为对解密函数的调用,实现代码混淆。

9.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据权利要求1-7中任一项所述的一种基于深度学习的代码混淆方法。

10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的一种基于深度学习的代码混淆方法。