[发明专利]发现安卓应用引用第三方工具的方法、系统及存储介质在审
| 申请号: | 201911236575.2 | 申请日: | 2019-12-05 |
| 公开(公告)号: | CN111124486A | 公开(公告)日: | 2020-05-08 |
| 发明(设计)人: | 匡小虎;吴界壁;吴丽;刘永强;周勇林;沈智杰;景晓军 | 申请(专利权)人: | 任子行网络技术股份有限公司;深圳市任子行科技开发有限公司 |
| 主分类号: | G06F8/74 | 分类号: | G06F8/74;G06F8/53 |
| 代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 郭伟刚;张蓉 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 发现 应用 引用 第三 工具 方法 系统 存储 介质 | ||
本发明公开了一种发现安卓应用引用第三方工具的方法、系统及存储介质,所述方法包括:反编译安卓应用的安装文件,得到反编译之后的文件目录;遍历反编译之后的文件目录,获取代码文件和应用清单文件;解析所述代码文件和应用清单文件得到包名;利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK,如此,整个过程无需实际运行安卓应用,只需要少量的硬件资源执行方法,耗费的时间短,需要的硬件少,准确率高。
技术领域
本发明涉及计算机领域,尤其涉及一种发现安卓应用引用第三方工具的方法、系统及存储介质。
背景技术
目前既有的发现安卓应用引用第三方工具的方案中,主要的都是通过监控安卓应用实际运行时候的数据或者状态,或者调用记录来发现第三方SDK,这种方案的实现都需要实际运行安卓应用,需要安卓真机或者是安卓虚拟机,而且大部分APK实际运行都是需要人为操作的,这种方法耗费时间长,需求硬件资源多,消耗人力大,甚至是由于操作覆盖面不广的原因,会导致第三方SDK发现不够完全。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述需要实际运行安卓应用带来的耗费时间长,需求硬件资源多,消耗人力大、发现不够完全的缺陷,提供一种耗费的时间短、需要的硬件少、准确率高的发现安卓应用引用第三方工具的方法、系统及存储介质。
本发明解决其技术问题所采用的技术方案是:
一方面,构造一种发现安卓应用引用第三方工具的方法,所述方法包括:
反编译安卓应用的安装文件,得到反编译之后的文件目录;
遍历反编译之后的文件目录,获取代码文件和应用清单文件;
解析所述代码文件和应用清单文件得到包名;
利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。
优选地,所述的解析所述代码文件和应用清单文件得到包名,包括:
解析所述代码文件的文件目录,根据所述代码文件的文件目录的结构反推得到每个代码文件所使用的包名;
解析应用清单文件,得到所述应用清单文件中的所有组件和服务,根据解析得到的组件和服务的属性信息解析出组件和服务所使用的包名;
从所有得到的包名中去除重复的包名。
优选地,所述方法还包括,在对安卓应用的安装文件进行反编译之前,需要通过文件验证;
所述文件验证包括:利用二进制文件打开方式将待验证的安卓应用的安装文件打开,根据打开之后的二进制文件的头部的魔术字判断所打开的文件是否属于APK文件,如果是,则通过验证。
优选地,所述方法还包括:
输出安卓应用中可能使用的第三方SDK及其相关的信息。
本发明另一方面还构造了一种发现安卓应用引用第三方工具的系统,所述系统包括:
反编译模块,用于反编译安卓应用的安装文件,得到反编译之后的文件目录;
代码文件和应用清单文件获取模块,用于遍历反编译之后的文件目录,获取代码文件和应用清单文件;
包名获取模块,用于解析所述代码文件和应用清单文件得到包名;
第三方SDK发现模块,用于利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。
优选地,所述包名获取模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于任子行网络技术股份有限公司;深圳市任子行科技开发有限公司,未经任子行网络技术股份有限公司;深圳市任子行科技开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911236575.2/2.html,转载请声明来源钻瓜专利网。





