[发明专利]安卓APK启动时签名认证的方法及其装置在审
申请号: | 201780001547.5 | 申请日: | 2017-03-16 |
公开(公告)号: | CN107690643A | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | 宋孝亮 | 申请(专利权)人: | 深圳大趋智能科技有限公司 |
主分类号: | G06F21/44 | 分类号: | G06F21/44 |
代理公司: | 深圳市明日今典知识产权代理事务所(普通合伙)44343 | 代理人: | 王杰辉 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | apk 启动 签名 认证 方法 及其 装置 | ||
1.一种安卓APK启动时签名认证的方法,其特征在于,所述方法包括:
获取由原始的APK安装文件转换而成的签名SGN文件,并加载安装后的APK的可执行代码转换而成的OAT签名文件;
判断所述OAT签名文件是否与签名SGN文件一致;
若是,加载APK,否则,禁止启动APK。
2.如权利要求1所述的安卓APK启动时签名认证的方法,其特征在于,所述原始的APK安装文件转换成签名SGN文件的方法,包括,
将原始的APK安装文件转换成OAT格式文件;
通过HASH256+RSA2048算法计算所述OAT格式文件中的oatdata和oatexec段,得到签名SGN文件。
3.如权利要求2所述的安卓APK启动时签名认证的方法,其特征在于,所述通过HASH256+RSA2048算法计算所述OAT格式文件中的oatdata和oatexec段,得到签名SGN文件步骤之后,还包括,
将所述签名SGN文件放入到原始的APK打包文件目录META-INF下;
重新打包所述APK文件,将新的APK文件安装到安卓系统中。
4.如权利要求1所述的安卓APK启动时签名认证的方法,其特征在于,所述并加载安装后的APK的可执行代码转换而成的OAT签名文件的步骤,包括,
将所述OAT签名文件加载至AndroidART虚拟机的内存内。
5.如权利要求2所述的安卓APK启动时签名认证的方法,其特征在于,所述并加载安装后的APK的可执行代码转换而成的OAT签名文件的步骤,包括,
将所述OAT签名文件加载至AndroidART虚拟机的内存内。
6.如权利要求3所述的安卓APK启动时签名认证的方法,其特征在于,所述并加载安装后的APK的可执行代码转换而成的OAT签名文件的步骤,包括,
将所述OAT签名文件加载至AndroidART虚拟机的内存内。
7.如权利要求3所述的安卓APK启动时签名认证的方法,其特征在于,所述判断所述OAT签名文件是否与签名SGN文件一致的步骤,包括,
判断APK对应的META-INF下的所述签名SGN文件是否被篡改,
若是,则禁止启动APK,否则计算所述OAT签名文件的Oatdata和oatexec段的HASH256值;
判断所述OAT签名文件的HASH256值和META-INF下的所述签名SGN文件中保存的HASH256值是否一致,
若一致,则签名验证成功,加载APK,
若不一致,则禁止启动APK。
8.一种安卓APK启动时签名认证的装置,其特征在于,包括:
签名文件获取单元,用于获取由原始的APK安装文件转换而成的签名SGN文件,并加载安装后的APK的可执行代码转换而成的OAT签名文件;
更改判断单元,用于判断所述OAT签名文件是否与签名SGN文件一致,若是,加载APK,否则,禁止启动APK。
9.如权利要求8所述的安卓APK启动时签名认证的装置,其特征在于,还包括转化单元,用于将原始的APK安装文件转换成OAT格式文件,并,通过HASH256+RSA2048算法计算所述OAT格式文件中的oatdata和oatexec段,得到签名SGN文件。
10.如权利要求9所述的安卓APK启动时签名认证的装置,其特征在于,还包括复原单元以及打包单元,
所述复原单元,用于将所述签名SGN文件放入到原始APK打包文件目录META-INF下;
所述打包单元,用于重新打包所述APK文件,将新的APK文件安装到安卓系统中。
11.如权利要求8所述的安卓APK启动时签名认证的装置,其特征在于,所述签名文件获取单元包括有加载模块,所述加载模块,用于将所述OAT签名文件加载至AndroidART虚拟机的内存内。
12.如权利要求8所述的安卓APK启动时签名认证的装置,其特征在于,所述更改判断单元包括文件篡改判断模块以及数值判断模块;
所述文件篡改判断模块,用于判断APK对应的META-INF下的所述签名SGN文件是否被篡改,若已经被篡改,APK启动失败,否则,计算所述OAT签名文件的Oatdata和oatexec段的HASH256值;
所述数值判断模块,用于判断所述OAT签名文件的HASH256值和META-INF下的所述签名SGN文件中保存的HASH256值是否一致,若一致,则签名验证成功,加载APK,或者,若不一致,则禁止启动APK。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大趋智能科技有限公司,未经深圳大趋智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780001547.5/1.html,转载请声明来源钻瓜专利网。