[发明专利]防解密客户端开发编译方法、装置、电子设备及存储介质在审
申请号: | 202110738031.7 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113434148A | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 陈晟豪 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/14;G06F21/60 |
代理公司: | 北京鸿元知识产权代理有限公司 11327 | 代理人: | 袁文婷;张娓娓 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解密 客户端 开发 编译 方法 装置 电子设备 存储 介质 | ||
1.一种防解密客户端开发编译方法,其特征在于,包括:
对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于所述字符串生成抽象语法树;
遍历所述抽象语法树以生成关键代码,并根据所述关键代码调用加密符;
通过所述加密符在所述关键代码中查找待加密的常量字符串,并根据所述常量字符串的类型调用加密函数;
将基于预设加密算法生成的密文输入所述加密函数以生成解密函数,并基于所述解密函数替换所述常量字符串形成不规则码以完成编译。
2.如权利要求1所述的防解密客户端开发编译方法,其特征在于,所述对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于所述字符串生成抽象语法树,包括:
按照预设命令对代码进行编译操作以形成包含编译代码的源文件;
对所述编译代码进行关于词法分析的顺序扫描以对所述编译代码进行分割生成字符;
对所述字符进行语义分析以生成与所述字符相对应的结构体,并将所述字符的类型与字面值记录在所述结构体的字段中以生成字符串;
将所述字符串内的结构体进行组合以形成完整语义;其中,所述完整语义至少包括表达式、语句;
判断所述完整语义的排版是否存在代码语法错误,若存在代码语法错误,则对所述源文件进行报错终止处理,若不存在语法错误,则根据所述完整语义生成抽象语法树。
3.如权利要求1所述的防解密客户端开发编译方法,其特征在于,所述遍历所述抽象语法树以生成关键代码,并根据所述关键代码调用加密符,包括:
通过遍历所述抽象语法树对所述抽象语法树进行解析处理以生成关于所述抽象语法树中字符串的类型信息;
根据所述类型信息生成关键代码;其中,所述关键代码为内存格式;
根据所述关键代码依次调用加密符。
4.如权利要求3所述的防解密客户端开发编译方法,其特征在于,所述通过所述加密符在所述关键代码中查找待加密的常量字符串,并根据所述常量字符串的类型调用加密函数,包括:
使用所述加密符依次对所述关键代码进行优化处理以形成优化码;
通过所述加密符中的加密PASS在所述优化码中查找待加密的关键代码;
查找与所述关键代码相对应的常量字符串;
对所述常量字符串进行类型分析以判断所述常量字符串的属性值调用与所述属性值相对应的加密函数。
5.如权利要求4所述的防解密客户端开发编译方法,其特征在于,
所述属性值包括cstring和cfstring;
若所述常量字符串为C字符串,则所述属性值为cstring;若所述常量字符串为Objective-C字符串,则所述属性值为cfstring。
6.如权利要求5所述的防解密客户端开发编译方法,其特征在于,所述将基于预设加密算法生成的密文输入所述加密函数以生成解密函数,并基于所述解密函数替换所述常量字符串形成不规则码以完成编译,包括:
为所述常量字符串随机生成加密密钥;
通过预设的加密算法,将所述加密密钥与所述常量字符串进行加密处理,生成密文;
将所述加密密钥、所述密文以及所述加密算法的标识符作为所述加密函数的参数共同输入到所述加密函数中以形成解密函数;
通过所述解密函数对所述加密函数进行解密,以使函数体替换所述常量字符串形成不规则码完成编译,其中,所述函数体通过调用与所述属性值相对应的加密函数生成。
7.如权利要求6所述的防解密客户端开发编译方法,其特征在于,所述为所述常量字符串随机生成加密密钥,包括:
通过随机算法生成随机长度的随机数;
基于所述随机数根据md5算法为所述常量字符串随机生成加密密钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110738031.7/1.html,转载请声明来源钻瓜专利网。