The invention relates to a method of code obfuscation, including acquisition and statistical software to be developed the default type code information, the default type code information into a preset type hash value, and save the default type code information with the preset mapping relation between data types of hash values, in the process of compiling the code to develop software in real time, or timing detection of compiled code is contained in the preservation of the default type code information, if detected in compiled code contains preset type code information, according to the mapping of data stored in the code will compile the code to replace the preset information corresponding to the default hash value type. The invention can avoid the attack and reverse in the process of software development, and protect the security of the source code.
【技术实现步骤摘要】
代码混淆方法、装置及计算机可读存储介质
本专利技术涉及软件开发领域,尤其涉及一种代码混淆方法、装置及计算机可读存储介质。
技术介绍
目前,APP开发过程中,为了方便开发与维护,通常将代码编译中的类、变量与函数的命名都设置为具有一定的可读性,并为了安全起见,程序员在编写软件的时候,需要考虑代码的混淆,这样通常需要花费程序员很多精力和时间,即便是如此,目前的APP开发过程中也存在容易造成程序源码泄露的问题,从而导致APP被黑客攻击与逆向。
技术实现思路
本专利技术的目的在于提供一种防止软件开发过程中源码泄露的技术方案,旨在避免软件开发过程中被黑客攻击与逆向,保护软件源码的安全。为实现上述目的,本专利技术提供一种代码混淆方法,包括如下步骤:A、获取并统计待开发软件的预设类型代码信息;B、将各个预设类型代码信息转换成预设类型哈希值,并保存预设类型代码信息与预设类型哈希值的映射关系数据;C、在编译待开发软件的代码过程中,实时或者定时侦测编译的代码中是否含有保存的预设类型代码信息;D、若侦测到编译的代码中含有预设类型代码信息,则根据保存的映射关系数据将编译的代码中的预设类型代码信息替换为与其相对应的预设类型哈希值。进一步地,哈希值的哈希值类型有多个,代码信息的信息类型有多个;将各个预设类型代码信息转换成预设类型哈希值的步骤包括:根据代码信息的信息类型与哈希值的哈希值类型的映射关系,确定各个预设类型代码信息对应的哈希值类型;将各个预设类型代码信息转换成对应的哈希值类型的哈希值。进一步地,保存预设类型代码信息与预设类型哈希值的映射关系数据的步骤包括:新建一个代码编译混淆文件; ...
【技术保护点】
一种代码混淆方法,其特征在于,所述方法包括如下步骤:A、获取并统计待开发软件的预设类型代码信息;B、将各个所述预设类型代码信息转换成预设类型哈希值,并保存所述预设类型代码信息与所述预设类型哈希值的映射关系数据;C、在编译所述待开发软件的代码过程中,实时或者定时侦测编译的代码中是否含有保存的所述预设类型代码信息;D、若侦测到编译的代码中含有所述预设类型代码信息,则根据保存的所述映射关系数据将编译的代码中的所述预设类型代码信息替换为与其相对应的所述预设类型哈希值。
【技术特征摘要】
1.一种代码混淆方法,其特征在于,所述方法包括如下步骤:A、获取并统计待开发软件的预设类型代码信息;B、将各个所述预设类型代码信息转换成预设类型哈希值,并保存所述预设类型代码信息与所述预设类型哈希值的映射关系数据;C、在编译所述待开发软件的代码过程中,实时或者定时侦测编译的代码中是否含有保存的所述预设类型代码信息;D、若侦测到编译的代码中含有所述预设类型代码信息,则根据保存的所述映射关系数据将编译的代码中的所述预设类型代码信息替换为与其相对应的所述预设类型哈希值。2.根据权利要求1所述的代码混淆方法,其特征在于,所述哈希值的哈希值类型有多个,所述代码信息的信息类型有多个;所述将各个所述预设类型代码信息转换成预设类型哈希值的步骤包括:根据代码信息的信息类型与哈希值的哈希值类型的映射关系,确定各个所述预设类型代码信息对应的哈希值类型;将各个所述预设类型代码信息转换成对应的哈希值类型的哈希值。3.根据权利要求1或2所述的代码混淆方法,其特征在于,所述保存所述预设类型代码信息与所述预设类型哈希值的映射关系数据的步骤包括:新建一个代码编译混淆文件;将各个所述预设类型代码信息与对应的所述预设类型哈希值一一关联映射、并存储在所述代码编译混淆文件中;所述代码编译混淆文件中包含映射关系数据表,该映射关系数据表中至少包含两列,一列存储有各个预设类型代码信息,另一列存储有与各个预设类型代码信息对应的预设类型哈希值;相互对应的预设类型代码信息和预设类型哈希值处于该映射关系数据表的同一行,不对应的预设类型代码信息和预设类型哈希值处于该映射关系数据表的不同行。4.根据权利要求1所述的代码混淆方法,其特征在于,在所述步骤B之后,该方法还包括如下步骤:在编译所述待开发软件的代码之前,若收到用户发出的代码混淆的关闭指令,则将保存的所述预设类型代码信息与所述预设类型哈希值的映射关系数据删除,并在编译所述待开发软件的代码过程中不进行代码混淆处理;及/或,若在编译所述待开发软件的代码过程中,收到用户发出的代码混淆的关闭指令,则将已替换的所述预设类型哈希值还原成对应的所述预设类型代码信息,并在代码信息还原完成后将保存的所述预设类型代码信息与所述预设类型哈希值的映射关系数据删除,并在后续编译所述待开发软件的代码过程中不进行混淆处理。5.一种代码混淆装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的代码混淆程序,所述代码混淆程序被所述处理器执行时执行以下步骤:A、获取并统计待开发软...
【专利技术属性】
技术研发人员:何兵,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。