【技术实现步骤摘要】
发现安卓应用引用第三方工具的方法、系统及存储介质
本专利技术涉及计算机领域,尤其涉及一种发现安卓应用引用第三方工具的方法、系统及存储介质。
技术介绍
目前既有的发现安卓应用引用第三方工具的方案中,主要的都是通过监控安卓应用实际运行时候的数据或者状态,或者调用记录来发现第三方SDK,这种方案的实现都需要实际运行安卓应用,需要安卓真机或者是安卓虚拟机,而且大部分APK实际运行都是需要人为操作的,这种方法耗费时间长,需求硬件资源多,消耗人力大,甚至是由于操作覆盖面不广的原因,会导致第三方SDK发现不够完全。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述需要实际运行安卓应用带来的耗费时间长,需求硬件资源多,消耗人力大、发现不够完全的缺陷,提供一种耗费的时间短、需要的硬件少、准确率高的发现安卓应用引用第三方工具的方法、系统及存储介质。本专利技术解决其技术问题所采用的技术方案是:一方面,构造一种发现安卓应用引用第三方工具的方法,所述方法包括:反编译安卓应用的安装文件,得到反 ...
【技术保护点】
1.一种发现安卓应用引用第三方工具的方法,其特征在于,所述方法包括:/n反编译安卓应用的安装文件,得到反编译之后的文件目录;/n遍历反编译之后的文件目录,获取代码文件和应用清单文件;/n解析所述代码文件和应用清单文件得到包名;/n利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。/n
【技术特征摘要】
1.一种发现安卓应用引用第三方工具的方法,其特征在于,所述方法包括:
反编译安卓应用的安装文件,得到反编译之后的文件目录;
遍历反编译之后的文件目录,获取代码文件和应用清单文件;
解析所述代码文件和应用清单文件得到包名;
利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。
2.根据权利要求1所述的方法,其特征在于,所述的解析所述代码文件和应用清单文件得到包名,包括:
解析所述代码文件的文件目录,根据所述代码文件的文件目录的结构反推得到每个代码文件所使用的包名;
解析应用清单文件,得到所述应用清单文件中的所有组件和服务,根据解析得到的组件和服务的属性信息解析出组件和服务所使用的包名;
从所有得到的包名中去除重复的包名。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括,在对安卓应用的安装文件进行反编译之前,需要通过文件验证;
所述文件验证包括:利用二进制文件打开方式将待验证的安卓应用的安装文件打开,根据打开之后的二进制文件的头部的魔术字判断所打开的文件是否属于APK文件,如果是,则通过验证。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
输出安卓应用中可能使用的第三方SDK及其相关的信息。
5.一种发现安卓应用引用第三方工具的系统,其特征在于,所述系统包括:
反编译模块,用于反编译安卓应用的安装文件,得到反编译之后的文件目录;
代码文件和应用清单文件获取模块,用于遍历反编译之后的文件目录,获取代码文件和应用清单文件;
包名获...
【专利技术属性】
技术研发人员:匡小虎,吴界壁,吴丽,刘永强,周勇林,沈智杰,景晓军,
申请(专利权)人:任子行网络技术股份有限公司,深圳市任子行科技开发有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。