[发明专利]安卓APK文件依赖组件识别方法及装置有效
申请号: | 202010657866.5 | 申请日: | 2020-07-09 |
公开(公告)号: | CN112000339B | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 高庆;马森;王文祥;张世琨;朱何龙 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/53 |
代理公司: | 北京华创智道知识产权代理事务所(普通合伙) 11888 | 代理人: | 彭随丽 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | apk 文件 依赖 组件 识别 方法 装置 | ||
本发明实施例提供一种安卓APK文件依赖组件识别方法及装置。其中,方法包括:解析安卓APK文件,获取代码文件和清单文件,根据代码文件和清单文件,获取安卓工程依赖的各组件的文件和package目录;将安卓工程依赖的各组件的文件和package目录与Android SDK部分中各组件的jar的反编译结果进行比较,获取Android SDK部分所依赖的组件;将安卓工程依赖的各组件的文件和package目录与非Android SDK部分的各package依赖的jar的反编译结果进行比较,获取非Android SDK部分所依赖的组件。本发明实施例提供的安卓APK文件依赖组件识别方法及装置,能降低误识别率。
技术领域
本发明实施例涉及计算机软件技术领域,更具体地,涉及一种安卓APK文件依赖组件识别方法及装置。
背景技术
安卓(Android)应用的APK(Android Package)安装文件是一个包含所有代码和资源文件的压缩包,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。
APK文件内包含被编译的代码文件(.dex文件),lib(程序依赖的native库目录),文件资源(resources),原生资源文件(assets),证书(certificates)和清单文件(AndroidManifest文件)。
dex文件是传统的Java程序,Android应用在打包时通过AndroidSDK中的dx工具将Java字节码转换为Dalvik字节码。
lib目录放的是程序依赖的native库文件,一般是用C/C++编写。由于ARM架构的手机占大多数,所以一般的APK只包含ARM和ARM-V7a的so。
res目录是resource的缩写,这个目录存放资源文件。
META-INF目录存放的是签名相关的信息,用于验证APK包的完整性以及保证系统的安全。
现有安卓APK文件依赖组件的静态识别方法,识别lib目录中的本地(native)组件,得不到完整的组件,从而导致误报率较高。
发明内容
本发明实施例提供一种安卓APK文件依赖组件识别方法及装置,用以解决或者至少部分地解决现有技术存在的误报率较高的缺陷。
第一方面,本发明实施例提供一种安卓APK文件依赖组件识别方法,包括:
解析安卓APK文件,获取代码文件和清单文件,根据所述代码文件和清单文件,获取安卓工程依赖的各组件的文件和package目录;
将所述安卓工程依赖的各组件的文件和package目录与所述安卓APK文件中Android SDK部分中各组件的jar的反编译结果进行比较,获取所述安卓APK文件中AndroidSDK部分所依赖的组件;
将所述安卓工程依赖的各组件的文件和package目录与所述安卓APK文件中非Android SDK部分的各package依赖的jar的反编译结果进行比较,获取所述安卓APK文件中非Android SDK部分所依赖的组件。
优选地,所述将所述安卓工程依赖的各组件的文件和package目录与所述安卓APK文件中Android SDK部分中各组件的jar的反编译结果进行比较,获取所述安卓APK文件中Android SDK部分所依赖的组件的具体步骤包括:
对所述Android SDK部分中各组件的jar进行反编译,获取所述Android SDK部分中各组件的java文件和package目录;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010657866.5/2.html,转载请声明来源钻瓜专利网。