[发明专利]防解密客户端开发编译方法、装置、电子设备及存储介质在审
申请号: | 202110738031.7 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113434148A | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 陈晟豪 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/14;G06F21/60 |
代理公司: | 北京鸿元知识产权代理有限公司 11327 | 代理人: | 袁文婷;张娓娓 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解密 客户端 开发 编译 方法 装置 电子设备 存储 介质 | ||
本发明涉及研发管理领域,提供一种防解密客户端开发编译方法,首先通过对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于字符串生成抽象语法树,再根据该抽象语法树生成关键代码,并根据该关键代码调用加密符,从而根据加密符在关键代码中查找待加密的常量字符串,并根据常量字符串的类型调用加密函数,而后将基于预设加密算法生成的密文输入加密函数以生成解密函数,并基于解密函数替换常量字符串形成不规则码以完成编译,从而优化代码的保护强度,使得攻击者无法轻易拿到表征代码逻辑信息的字符串,同时为每一个常量字符串随机生成加密密钥使得攻击者破解的难度增加,防止攻击者拿到App业务逻辑的原始信息。
技术领域
本发明涉及研发管理领域,涉及一种开发编译方法,尤其涉及一种防解密客户端开发编译方法、装置、电子设备及计算机可读存储介质。
背景技术
现有iOS开发过程中,开发人员常常将一些表征业务逻辑的字符串或者加密的密钥设置为常量,在标准的App的编译过程中,编译器会用明文的方式把字符串编码存放在Mach-O文件的__TEXT段中,存放并打包完成后的数据包发布到应用市场(App Store)之后,被攻击者下载脱壳后,可以轻易的使用现有的反编译工具(IDA、Hopper)查看这些字符串或者加密密钥,然后结合逆向过程中的一些其他信息(抓包数据、反编译伪代码)能够轻易的破解出现有的业务逻辑,开展攻击(虚拟登陆、爬虫、自动化脚本),给业务造成损失。
比如:若字符串是个域名,那么攻击者可以争对该域名进行DOS(Denial ofService)攻击,造成服务器压力过大,致使正常用户无法访问;若字符串是个服务端加密密钥,那么攻击者可以通过加密密钥拿到服务器的访问权限然后进行信息盗取爬虫;若加密密钥是用户本地资料的加密密钥,攻击者拿到之后就可以通过用户备份的导出数据然后使用密钥破解的方式进行用户资料破解造成用户损失;若字符串包含了代码设计信息,那么攻击者可以通过字符串推断出原代码设计者的设计意图进行APP破解造成损失。
因此,亟需一种能够优化代码的保护强度,使得攻击者无法轻易拿到表征代码逻辑信息的字符串,提高整体安全性的防解密客户端开发编译方法。
发明内容
本发明提供一种防解密客户端开发编译方法、装置、电子设备及计算机可读存储介质,其主要目的在于能够解决传统的客户端开发编译可以轻易的使用现有的反编译工具(IDA、Hopper)查看这些字符串或者加密密钥,然后结合逆向过程中的一些其他信息(抓包数据、反编译伪代码)能够轻易的破解出现有的业务逻辑,开展攻击(虚拟登陆、爬虫、自动化脚本),给业务造成损失的问题。
为实现上述目的,本发明提供的一种防解密客户端开发编译方法,包括:
对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于所述字符串生成抽象语法树;
遍历所述抽象语法树以生成关键代码,并根据所述关键代码调用加密符;
通过所述加密符在所述关键代码中查找待加密的常量字符串,并根据所述常量字符串的类型调用加密函数;
将基于预设加密算法生成的密文输入所述加密函数以生成解密函数,并基于所述解密函数替换所述常量字符串形成不规则码以完成编译。
可选地,所述对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于所述字符串生成抽象语法树,包括:
按照预设命令对代码进行编译操作以形成包含编译代码的源文件;
对所述编译代码进行关于词法分析的顺序扫描以对所述编译代码进行分割生成字符;
对所述字符进行语义分析以生成与所述字符相对应的结构体,并将所述字符的类型与字面值记录在所述结构体的字段中以生成字符串;
将所述字符串内的结构体进行组合以形成完整语义;其中,所述完整语义至少包括表达式、语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110738031.7/2.html,转载请声明来源钻瓜专利网。