[发明专利]软件加密及解密方法、装置、电子设备和存储介质在审
申请号: | 202111160381.6 | 申请日: | 2021-09-30 |
公开(公告)号: | CN113836582A | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 陈帅;韩丹 | 申请(专利权)人: | 西安诺瓦星云科技股份有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/60 |
代理公司: | 西安亚信智佳知识产权代理事务所(普通合伙) 61241 | 代理人: | 骆怡洁 |
地址: | 710075 陕西省西安市高新区丈八*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件加密 解密 方法 装置 电子设备 存储 介质 | ||
本公开实施例是关于一种软件加密及解密方法、装置、电子设备和存储介质。该加密方法包括:获取存储于安卓应用程序包中的预设文件中的密钥;采用加密算法根据所述密钥对所述安卓应用程序包中的目标可执行文件进行加密,所述目标可执行文件包括除主可执行文件以外的所有可执行文件;将加密后的目标可执行文件与所述安卓应用程序包中未进行加密的其余文件一起重新打包,生成新的安卓应用程序包。上述加密方法通过设置密钥采用加密算法对安卓软件应用程序包中的非主可执行文件进行加密,对源代码进行了安全性保护,使得他人难以反编译软件的源代码。
技术领域
本公开实施例涉及安卓应用数据保护技术领域,尤其涉及一种软件加密及解密方法、装置、电子设备和存储介质。
背景技术
目前,市面上安卓应用软件的破解方式层出不穷,经常遇到安卓应用被反编译,加塞广告,植入病毒,重新签名后发布的情况,使用者不小心就会中招。各种安全问题,不仅让用户深受其扰,更是让广大开发者焦头烂额。
相关技术中,常通过代码混淆的方式对软件的源代码进行保护,通过对源代码的压缩与名称修改,从而使得源代码不容易读懂。但是反编译源代码文件后,虽然源代码文件不易阅读,但是经过破译者的深入研究,仍然可以读懂真实的源代码,从而进行反编译。
因此,有必要改善上述相关技术方案中存在的一个或者多个问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种软件加密及解密方法、装置、电子设备和存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
第一方面,本发明提供了一种软件加密方法,包括:
获取存储于安卓应用程序包中的预设文件中的密钥;
采用加密算法根据该密钥对安卓应用程序包中的目标可执行文件进行加密,该目标可执行文件包括除主可执行文件以外的所有可执行文件;
将加密后的目标可执行文件与安卓应用程序包中未进行加密的其余文件一起重新打包,生成新的安卓应用程序包。
可选的,预设文件为程序函数库文件,密钥为在安卓软件代码编写过程中写入。
该技术方案的有益效果在于,程序函数库文件具有不易被反编译的特点,因此将密钥存储于程序函数库文件中安全性较高。
可选的,加密算法为对称加密算法。
该技术方案的有益效果在于,对称加密算法的算法公开、计算量小、加密速度快、加密效率高。
可选的,对称加密算法为DES加密算法,其中,密钥为64位密钥。
该技术方案的有益效果在于,DES加密算法的密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合。
第二方面,本发明提供了一种软件加密装置,包括:
密钥获取模块,用于获取存储于安卓应用程序包中的预设文件中的密钥;
加密模块,用于采用加密算法根据密钥对安卓应用程序包中的目标可执行文件进行加密;
文件打包模块,用于将加密后的目标可执行文件与安卓应用程序包中未进行加密的其余文件一起重新打包,生成新的安卓应用程序包。
第三方面,本发明提供了一种软件解密方法,包括:
启动安卓软件,加载主可执行文件;
从安卓应用程序包中的预设文件中获取密钥;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安诺瓦星云科技股份有限公司,未经西安诺瓦星云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111160381.6/2.html,转载请声明来源钻瓜专利网。