防解密客户端开发编译方法、装置、电子设备及存储介质制造方法及图纸

技术编号:30167399 阅读:30 留言:0更新日期:2021-09-25 15:24
本发明专利技术涉及研发管理领域,提供一种防解密客户端开发编译方法,首先通过对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于字符串生成抽象语法树,再根据该抽象语法树生成关键代码,并根据该关键代码调用加密符,从而根据加密符在关键代码中查找待加密的常量字符串,并根据常量字符串的类型调用加密函数,而后将基于预设加密算法生成的密文输入加密函数以生成解密函数,并基于解密函数替换常量字符串形成不规则码以完成编译,从而优化代码的保护强度,使得攻击者无法轻易拿到表征代码逻辑信息的字符串,同时为每一个常量字符串随机生成加密密钥使得攻击者破解的难度增加,防止攻击者拿到App业务逻辑的原始信息。防止攻击者拿到App业务逻辑的原始信息。防止攻击者拿到App业务逻辑的原始信息。

【技术实现步骤摘要】
防解密客户端开发编译方法、装置、电子设备及存储介质


[0001]本专利技术涉及研发管理领域,涉及一种开发编译方法,尤其涉及一种防解密客户端开发编译方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]现有iOS开发过程中,开发人员常常将一些表征业务逻辑的字符串或者加密的密钥设置为常量,在标准的App的编译过程中,编译器会用明文的方式把字符串编码存放在Mach

O文件的__TEXT段中,存放并打包完成后的数据包发布到应用市场(App Store)之后,被攻击者下载脱壳后,可以轻易的使用现有的反编译工具(IDA、Hopper)查看这些字符串或者加密密钥,然后结合逆向过程中的一些其他信息(抓包数据、反编译伪代码)能够轻易的破解出现有的业务逻辑,开展攻击(虚拟登陆、爬虫、自动化脚本),给业务造成损失。
[0003]比如:若字符串是个域名,那么攻击者可以争对该域名进行DOS(Denial of Service)攻击,造成服务器压力过大,致使正常用户无法访问;若字符串是个服务端加密密钥,那么攻击者可以通过加密密钥拿到本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种防解密客户端开发编译方法,其特征在于,包括:对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于所述字符串生成抽象语法树;遍历所述抽象语法树以生成关键代码,并根据所述关键代码调用加密符;通过所述加密符在所述关键代码中查找待加密的常量字符串,并根据所述常量字符串的类型调用加密函数;将基于预设加密算法生成的密文输入所述加密函数以生成解密函数,并基于所述解密函数替换所述常量字符串形成不规则码以完成编译。2.如权利要求1所述的防解密客户端开发编译方法,其特征在于,所述对预形成的编译代码进行词法分析与语义分析以生成字符串,并基于所述字符串生成抽象语法树,包括:按照预设命令对代码进行编译操作以形成包含编译代码的源文件;对所述编译代码进行关于词法分析的顺序扫描以对所述编译代码进行分割生成字符;对所述字符进行语义分析以生成与所述字符相对应的结构体,并将所述字符的类型与字面值记录在所述结构体的字段中以生成字符串;将所述字符串内的结构体进行组合以形成完整语义;其中,所述完整语义至少包括表达式、语句;判断所述完整语义的排版是否存在代码语法错误,若存在代码语法错误,则对所述源文件进行报错终止处理,若不存在语法错误,则根据所述完整语义生成抽象语法树。3.如权利要求1所述的防解密客户端开发编译方法,其特征在于,所述遍历所述抽象语法树以生成关键代码,并根据所述关键代码调用加密符,包括:通过遍历所述抽象语法树对所述抽象语法树进行解析处理以生成关于所述抽象语法树中字符串的类型信息;根据所述类型信息生成关键代码;其中,所述关键代码为内存格式;根据所述关键代码依次调用加密符。4.如权利要求3所述的防解密客户端开发编译方法,其特征在于,所述通过所述加密符在所述关键代码中查找待加密的常量字符串,并根据所述常量字符串的类型调用加密函数,包括:使用所述加密符依次对所述关键代码进行优化处理以形成优化码;通过所述加密符中的加密PASS在所述优化码中查找待加密的关键代码;查找与所述关键代码相对应的常量字符串;对所述常量字符串进行类型分析以判断所述常量字符串的属性值调用与所述属性值相对应的加密函数。5.如权利要求4所述的防解密客户端开发编译方法,其特征在于,所述属性值包括cstring和cfst...

【专利技术属性】
技术研发人员:陈晟豪
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1