一种apk的加固方法、电子设备及存储介质技术

技术编号:26791512 阅读:23 留言:0更新日期:2020-12-22 17:06
本发明专利技术公开一种apk的加固方法、电子设备及存储介质,方法包括对待加固源代码编译,以得到dex文件;对所述dex文件加密,以得到第一dex文件;基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序;对所述解密程序加密,以得到第一解密程序;将所述解密程序与所述第一解密程序配置为so文件;将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk。本发明专利技术使用插件化的方式,将待加固的代码打包到dex文件中,对该dex文件进行加密后与用于解密已加密的dex文件的解密程序进行加密处理后一起打包到apk中,增加获取应用程序源代码文件的难度,从而提高对应用程序代码的保护力度。

【技术实现步骤摘要】
一种apk的加固方法、电子设备及存储介质
本专利技术涉及应用安全处理
,特别是涉及一种apk的加固方法、电子设备及存储介质。
技术介绍
随着Android开放系统的发展,Android系统占据了大量的移动终端时长,已逐渐成为了移动终端的普及的操作系统,同时基于该系统的软件应用也越来越多,但是开发这发布的Android应用使用Java语言开发,容易被其他人恶意反编译,从而获取应用中重要信息,这样,很容易被逆向而造成损失。目前,应用加固的方法有很多,但大多加固方法启动时过程比较复杂,运行效率低。因此,现有技术还有待于发展和改进。
技术实现思路
基于此,本专利技术提供一种apk的加固方法、电子设备及存储介质,用以解决现有技术中apk的加固安全性低的技术问题。第一方面,本专利技术实施例提供了一种apk的加固方法,包括:对待加固源代码编译,以得到dex文件;对所述dex文件加密,以得到第一dex文件;基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序;对所述解密程序加密,以得到第一解密程序;将所述解密程序与所述第一解密程序配置为so文件;将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk。可选地,所述对待加固源代码编译,以得到dex文件具体包括:构建JAVA运行环境,获取待加固源代码;利用集成开发工具对所述待加固源代码执行编译命令,以得到dex文件。可选地,所述对所述dex文件加密,以得到第一dex文件具体包括:利用gradle插件对所述dex文件采用加密算法加密,以得到加密的dex文件;获取待加固apk的签名;将所述签名作为密钥以对所述加密的dex文件进行加密运算,得到签名后的加密的dex文件,并将所述签名后的加密的dex文件作为第一dex文件。可选地,所述加密算法包括对称加密算法和非对称加密算法。可选地,所述基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序具体包括:确定用于解密所述第一dex文件的解密密钥;利用集成开发工具编译出解密程序,其中,所述解密程序配置有所述解密密钥。可选地,所述解密程序为native解密程序,所述native解密程序处于系统框架的native层。可选地,所述将所述解密程序与所述第一解密程序配置为so文件具体包括:利用C语言或C++语言分别编译所述解密程序和所述第一解密程序,以得到so文件。可选地,所述将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk具体包括:将所述第一dex文件配置为apk的资源文件;将所述apk的资源文件以及所述so文件按照预设系统规则生成目标apk。第二方面,本专利技术实施例还提供了一种电子设备,所述电子设备包括处理器和与所述处理器连接的存储器,所述存储器存储有存储有一个或者多个程序,所述处理器用于执行:对待加固源代码编译,以得到dex文件;对所述dex文件加密,以得到第一dex文件;基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序;对所述解密程序加密,以得到第一解密程序;将所述解密程序与所述第一解密程序配置为so文件;将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk。第三方面,本专利技术实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种apk的加固方法,所述apk的加固方法包括以下步骤:对待加固源代码编译,以得到dex文件;对所述dex文件加密,以得到第一dex文件;基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序;对所述解密程序加密,以得到第一解密程序;将所述解密程序与所述第一解密程序配置为so文件;将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk。与现有技术相比,本专利技术实施例具有以下优点:根据本专利技术实施方式提供的方法,所述apk的加固方法包括以下步骤:对待加固源代码编译,以得到dex文件;对所述dex文件加密,以得到第一dex文件;基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序;对所述解密程序加密,以得到第一解密程序;将所述解密程序与所述第一解密程序配置为so文件;将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk。本专利技术使用插件化的方式,将待加固的代码打包到dex文件中,对该dex文件进行加密后与用于解密已加密的dex文件的解密程序进行加密处理后一起打包到apk中,这样,增加获取应用程序源代码文件的难度,从而提高对应用程序代码的保护力度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种apk的加固方法的流程示意图。图2为本专利技术实施例中一种电子设备的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了进一步理解本申请的技术方案,下面结合附图加以说明:请参阅图1,图1是本专利技术提供的一种apk的加固方法的流程图,应该说明的是,本专利技术实施方式的apk的加固方法并不限于图1所示的流程图中的步骤及顺序,根据不同的需求,流程图中的步骤可以增加、移除或者改变顺序。如图1所示,本专利技术提供的apk的加固方法包括以下步骤:S10、对待加固源代码编译,以得到dex文件。在本实施例中,由于Android系统支持的应用格式主要以apk形式存在,该apk(Androidapplicationpackage)Android应用程序包,是Android操作系统使用的一种类似SymbianSis或Sisx应用程序包文件格式,用于分发和安装移动应用及中间件。Android应用程序的代码想在Android设备上运行,要先进行编译,被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。APK文件内包含被编译的代码文件(.dex)、文件资源(resources)、ssets、证书(certificates)、清单文件(manifestfile)。本文档来自技高网
...

【技术保护点】
1.一种apk的加固方法,其特征在于,所述apk的加固方法包括以下步骤:/n对待加固源代码编译,以得到dex文件;/n对所述dex文件加密,以得到第一dex文件;/n基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序;/n对所述解密程序加密,以得到第一解密程序;/n将所述解密程序与所述第一解密程序配置为so文件;/n将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk。/n

【技术特征摘要】
1.一种apk的加固方法,其特征在于,所述apk的加固方法包括以下步骤:
对待加固源代码编译,以得到dex文件;
对所述dex文件加密,以得到第一dex文件;
基于所述第一dex文件,生成用于解密所述第一dex文件的解密程序;
对所述解密程序加密,以得到第一解密程序;
将所述解密程序与所述第一解密程序配置为so文件;
将所述第一dex文件配置为apk的资源文件,并与所述so文件得到目标apk。


2.根据权利要求1所述apk的加固方法,其特征在于,所述对待加固源代码编译,以得到dex文件具体包括:
构建JAVA运行环境,获取待加固源代码;
利用集成开发工具对所述待加固源代码执行编译命令,以得到dex文件。


3.根据权利要求2所述apk的加固方法,其特征在于,所述对所述dex文件加密,以得到第一dex文件具体包括:
利用gradle插件对所述dex文件采用加密算法加密,以得到加密的dex文件;
获取待加固apk的签名;
将所述签名作为密钥以对所述加密的dex文件进行加密运算,得到签名后的加密的dex文件,并将所述签名后的加密的dex文件作为第一dex文件。


4.根据权利要求3所述apk的加固方法,其特征在于,所述加密算法包括对称加密算法和非对称加密算法。


5.根据权利要求1所述apk的加固方法,其特征在于,所述基于所述第...

【专利技术属性】
技术研发人员:韩强
申请(专利权)人:深圳创维RGB电子有限公司
类型:发明
国别省市:广东;44

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

1