[发明专利]一种Android程序存储加密的方法在审
申请号: | 202011572783.2 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112560068A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 李敬昌;修志远;李亚;苏璇;陈震 | 申请(专利权)人: | 山东云缦智能科技有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F9/455 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 李桂存 |
地址: | 250101 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 程序 存储 加密 方法 | ||
一种Android程序存储加密的方法,通过hook Android虚拟机的核心读写方法,对读写流程进行拦截并修改,不影响应用开发者的正常读写调用流程,自动进行加解密。该方式支持结合sqlite数据库、SharedPreferences使用,由于文件在native层写入时已整体加密,安全性相对较高,而且应用开发者存储与获取加密信息时无需知晓加密方式,整个流程对应用开发者是无感知的,具备一定的通用性与封装性。对保存在加密文件夹里的信息起到一定的保护作用。
技术领域
本发明涉及Android系统技术领域,具体涉及一种Android程序存储加密的方法。
背景技术
Android程序在运行中需要将一些数据持久化保存,例如用户帐户信息、首页展示信息、热更新资源、程序设置项、频道列表等数据,存储形式有sqlite数据库、SharedPreferences等,最终会以文件的形式保存在设备存储中。在某些情况下,如设备处于root状态下,程序存储的文件可以被第三方人员轻易拿到,文件泄漏后可能会造成账号被盗、关键信息泄漏等后果,造成一定的损失。
一般会对关键信息进行加密处理,以避免以上情况的发生。普通方式加密需要应用开发者在每次存储关键信息的时候都会调用加密方法,读取的时候再去调用对应的解密方法,过程较为繁琐,而且容易遗漏部分关键信息。
发明内容
本发明为了克服以上技术的不足,提供了一种安全性相对较高,整个流程对应用开发者是无感知的,具备一定的通用性与封装性的Android程序存储加密的方法。
本发明克服其技术问题所采用的技术方案是:
一种Android程序存储加密的方法,包括如下步骤:
a)Android程序设定加密文件路径;
b)hook文件读写的关键函数,用自定义函数替换关键函数,所述自定义函数包括包括read、fatat、write;
c)应用程序写入文件,运行至自定义write函数中;
d)在自定义read函数中判断,如果文件位于加密文件夹内,则加密待写入的Buffer参数后,调用正常写入流程,如果文件位于加密文件夹外,调用正常写入流程;
e)应用程序读取文件,运行至自定义fatat函数中;
f)在自定义fatat函数中判断,如果文件位于加密文件夹内,将文件解密后映射到buffer_size参数中,如果文件位于加密文件夹外,调用正常读取流程;
g)应用程序读取文件,并运行至自定义的read函数中;
h)在自定义write函数中判断,如果文件位于加密文件夹内,则将文件解密后字节流复制给Buffer参数,如文件位于加密文件外,调用正常读取流程。
进一步的,步骤b)中的关键函数为Android native函数。
进一步的,步骤b)中hook Android底层的方法为:
b-1)读取maps,定位关键函数的内存地址;
b-2)保留hook地址当前的值,用于返回;
b-3)将hook地址的值替换为新的值;
b-4)清除hook地址所在内存页的处理器指令缓存。
进一步的,步骤d)中加密方法为3DES加密或AES加密或RSA加密。
本发明的有益效果是:通过hook Android虚拟机的核心读写方法,对读写流程进行拦截并修改,不影响应用开发者的正常读写调用流程,自动进行加解密。该方式支持结合sqlite数据库、SharedPreferences使用,由于文件在native层写入时已整体加密,安全性相对较高,而且应用开发者存储与获取加密信息时无需知晓加密方式,整个流程对应用开发者是无感知的,具备一定的通用性与封装性。对保存在加密文件夹里的信息起到一定的保护作用。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云缦智能科技有限公司,未经山东云缦智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011572783.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便于破开瓶口的盖子
- 下一篇:一种基于阻抗测量的结冰探测系统及探测方法