一种基于动态加载的鸿蒙系统代码加密方法、系统及终端技术方案

技术编号:33247853 阅读:19 留言:0更新日期:2022-04-27 18:03
本发明专利技术公开了一种基于动态加载的鸿蒙系统代码加密方法、系统及终端,所述方法包括:通过对dex格式代码文件进行加密,并转存到HAP安装包的资源文件目录下,同时在HAP启动入口apk的Application类中注入解密引擎的相关调用,在HAP运行时,调用启动入口apk的Application类时,通过解密引擎完成加密dex的解密以及加载;能够有效对抗逆向工具的静态反编译行为,有效降低鸿蒙安装包面临的被反编译的风险,完善了鸿蒙的安全生态。善了鸿蒙的安全生态。善了鸿蒙的安全生态。

【技术实现步骤摘要】
一种基于动态加载的鸿蒙系统代码加密方法、系统及终端


[0001]本专利技术涉及代码加密
,尤其涉及一种基于动态加载的鸿蒙系统代码加密方法、系统、终端及存储介质。

技术介绍

[0002]鸿蒙系统(Harmony OS)是一款面向万物互联时代的、全新的分布式操作系统,是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言,带来简捷、流畅、连续、安全可靠的全场景交互体验。
[0003]Harmony OS应用发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(Harmony OS Ability Package)包以及描述APP Pack属性的pack.info文件组成。其中,zip格式的HAP安装包中保存了应用的dex格式代码文件(dex文件就是Android虚拟机运行的程序,开发人员发布Android APP时,首先把java代码编译为class字节码,然后通过Dx工具把class字节码转为dex文件格式)、apk格式的启动入口文件以及一些资源、配置类文件。
[0004]鸿蒙系统是新生事物,目前配套的安全产品缺失,主要是目前鸿蒙系统的安装包被反编译时缺乏安全保护。
[0005]因此,现有技术还有待于改进和发展。

技术实现思路

[0006]本专利技术的主要目的在于提供一种基于动态加载的鸿蒙系统代码加密方法、系统及终端,旨在解决现有技术中鸿蒙系统的安装包被反编译时缺乏安全保护的问题。
[0007]为实现上述目的,本专利技术提供一种基于动态加载的鸿蒙系统代码加密方法,所述基于动态加载的鸿蒙系统代码加密方法包括如下步骤:
[0008]获取HAP包中的dex格式代码文件,解析所述dex格式代码文件,并删除所述HAP包中原始的dex格式代码文件;
[0009]将解析得到的dex格式代码文件进行加密处理,并将加密后的dex格式代码文件重命名为密文dex源码文件;
[0010]将所述密文dex源码文件压缩后保存到所述HAP包的assets资源目录下,并将解密引擎库压缩后保存在所述HAP包的libs目录下;
[0011]使用反编译工具修改所述HAP包中的入口apk,并将解密引擎的相关调用注入到入口apk中;
[0012]将所述HAP包进行重新签名以完成加密,并将加密后的HAP包安装到移动终端后运行时,启动入口apk;
[0013]在入口apk执行Application类时,调用解密引擎,并通过解密引擎对assets资源目录保存的所述密文dex源码文件进行解密;
[0014]解密引擎通过系统提供的类加载器调用相关动态加载接口完成对所述密文dex源
码文件的加载,使得加密后的HAP包完成代码解密和加载后正常运行。
[0015]可选地,所述的基于动态加载的鸿蒙系统代码加密方法,其中,所述加密处理具体为:
[0016]将解析得到的dex格式代码文件进行压缩,再将压缩包通过国密算法进行加密。
[0017]可选地,所述的基于动态加载的鸿蒙系统代码加密方法,其中,所述解密引擎的相关调用用于调用解密引擎内部的解密算法,以完成所述密文dex源码文件的解密还原。
[0018]可选地,所述的基于动态加载的鸿蒙系统代码加密方法,其中,所述反编译工具包括smali和baksmali。
[0019]可选地,所述的基于动态加载的鸿蒙系统代码加密方法,其中,所述Application类为HAP包运行时启动的的一个类。
[0020]可选地,所述的基于动态加载的鸿蒙系统代码加密方法,其中,所述密文dex源码文件为ijiami.dat文件。
[0021]可选地,所述的基于动态加载的鸿蒙系统代码加密方法,其中,所述HAP包为鸿蒙系统Ability的部署包。
[0022]此外,为实现上述目的,本专利技术还提供一种基于动态加载的鸿蒙系统代码加密系统,其中,所述基于动态加载的鸿蒙系统代码加密系统包括:
[0023]获取解析模块,用于获取HAP包中的dex格式代码文件,解析所述dex格式代码文件,并删除所述HAP包中原始的dex格式代码文件;
[0024]加密命名模块,用于将解析得到的dex格式代码文件进行加密处理,并将加密后的dex格式代码文件重命名为密文dex源码文件;
[0025]压缩保存模块,用于将所述密文dex源码文件压缩后保存到所述HAP包的assets资源目录下,并将解密引擎库压缩后保存在所述HAP包的libs目录下;
[0026]修改注入模块,用于使用反编译工具修改所述HAP包中的入口apk,并将解密引擎的相关调用注入到入口apk中;
[0027]签名安装模块,用于将所述HAP包进行重新签名以完成加密,并将加密后的HAP包安装到移动终端后运行时,启动入口apk;
[0028]调用解密模块,用于在入口apk执行Application类时,调用解密引擎,并通过解密引擎对assets资源目录保存的所述密文dex源码文件进行解密;
[0029]加载运行模块,用于解密引擎通过系统提供的类加载器调用相关动态加载接口完成对所述密文dex源码文件的加载,使得加密后的HAP包完成代码解密和加载后正常运行。
[0030]此外,为实现上述目的,本专利技术还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于动态加载的鸿蒙系统代码加密程序,所述基于动态加载的鸿蒙系统代码加密程序被所述处理器执行时实现如上所述的基于动态加载的鸿蒙系统代码加密方法的步骤。
[0031]此外,为实现上述目的,本专利技术还提供一种存储介质,其中,所述存储介质存储有基于动态加载的鸿蒙系统代码加密程序,所述基于动态加载的鸿蒙系统代码加密程序被处理器执行时实现如上所述的基于动态加载的鸿蒙系统代码加密方法的步骤。
[0032]本专利技术通过对dex格式代码文件进行加密,并转存到HAP安装包的资源文件目录下,同时在HAP启动入口apk的Application类中注入解密引擎的相关调用,在HAP运行时,调
用启动入口apk的Application类时,通过解密引擎完成加密dex的解密以及加载;能够有效对抗逆向工具的静态反编译行为,有效降低鸿蒙安装包面临的被反编译的风险,完善了鸿蒙的安全生态。
附图说明
[0033]图1是本专利技术基于动态加载的鸿蒙系统代码加密方法的较佳实施例的流程图;
[0034]图2是本专利技术基于动态加载的鸿蒙系统代码加密方法的较佳实施例中加密前后HAP文件内部结构对比图;
[0035]图3是本专利技术基于动态加载的鸿蒙系统代码加密方法的较佳实施例中加密前后HAP文件启动入口APK文件Application代码的示意图;
[0036]图4是本专利技术基于动态加载的鸿蒙系统代码加密方法的较佳实施例中代码加密流程的示意图;
[0037]图5是本专利技术基于动态加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于动态加载的鸿蒙系统代码加密方法,其特征在于,所述基于动态加载的鸿蒙系统代码加密方法包括:获取HAP包中的dex格式代码文件,解析所述dex格式代码文件,并删除所述HAP包中原始的dex格式代码文件;将解析得到的dex格式代码文件进行加密处理,并将加密后的dex格式代码文件重命名为密文dex源码文件;将所述密文dex源码文件压缩后保存到所述HAP包的assets资源目录下,并将解密引擎库压缩后保存在所述HAP包的libs目录下;使用反编译工具修改所述HAP包中的入口apk,并将解密引擎的相关调用注入到入口apk中;将所述HAP包进行重新签名以完成加密,并将加密后的HAP包安装到移动终端后运行时,启动入口apk;在入口apk执行Application类时,调用解密引擎,并通过解密引擎对assets资源目录保存的所述密文dex源码文件进行解密;解密引擎通过系统提供的类加载器调用相关动态加载接口完成对所述密文dex源码文件的加载,使得加密后的HAP包完成代码解密和加载后正常运行。2.根据权利要求1所述的基于动态加载的鸿蒙系统代码加密方法,其特征在于,所述加密处理具体为:将解析得到的dex格式代码文件进行压缩,再将压缩包通过国密算法进行加密。3.根据权利要求1所述的基于动态加载的鸿蒙系统代码加密方法,其特征在于,所述解密引擎的相关调用用于调用解密引擎内部的解密算法,以完成所述密文dex源码文件的解密还原。4.根据权利要求1所述的基于动态加载的鸿蒙系统代码加密方法,其特征在于,所述反编译工具包括smali和baksmali。5.根据权利要求1所述的基于动态加载的鸿蒙系统代码加密方法,其特征在于,所述Application类为HAP包运行时启动的的一个类。6.根据权利要求1所述的基于动态加载的鸿蒙系统代码加密方法,其特征在于,所述密文dex源码文件为ijiami.dat文件。7.根据权利要求1所述的基于动态加载的鸿蒙系统代码...

【专利技术属性】
技术研发人员:李鹏飞冉山川
申请(专利权)人:深圳爱加密科技有限公司
类型:发明
国别省市:

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

1