发现安卓应用引用第三方工具的方法、系统及存储介质技术方案

技术编号:24089662 阅读:49 留言:0更新日期:2020-05-09 07:30
本发明专利技术公开了一种发现安卓应用引用第三方工具的方法、系统及存储介质,所述方法包括:反编译安卓应用的安装文件,得到反编译之后的文件目录;遍历反编译之后的文件目录,获取代码文件和应用清单文件;解析所述代码文件和应用清单文件得到包名;利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK,如此,整个过程无需实际运行安卓应用,只需要少量的硬件资源执行方法,耗费的时间短,需要的硬件少,准确率高。

Discover the method, system and storage medium of Android application referencing third-party tools

【技术实现步骤摘要】
发现安卓应用引用第三方工具的方法、系统及存储介质
本专利技术涉及计算机领域,尤其涉及一种发现安卓应用引用第三方工具的方法、系统及存储介质。
技术介绍
目前既有的发现安卓应用引用第三方工具的方案中,主要的都是通过监控安卓应用实际运行时候的数据或者状态,或者调用记录来发现第三方SDK,这种方案的实现都需要实际运行安卓应用,需要安卓真机或者是安卓虚拟机,而且大部分APK实际运行都是需要人为操作的,这种方法耗费时间长,需求硬件资源多,消耗人力大,甚至是由于操作覆盖面不广的原因,会导致第三方SDK发现不够完全。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述需要实际运行安卓应用带来的耗费时间长,需求硬件资源多,消耗人力大、发现不够完全的缺陷,提供一种耗费的时间短、需要的硬件少、准确率高的发现安卓应用引用第三方工具的方法、系统及存储介质。本专利技术解决其技术问题所采用的技术方案是:一方面,构造一种发现安卓应用引用第三方工具的方法,所述方法包括:反编译安卓应用的安装文件,得到反编译之后的文件目录;遍历反编译之后的文件目录,获取代码文件和应用清单文件;解析所述代码文件和应用清单文件得到包名;利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。优选地,所述的解析所述代码文件和应用清单文件得到包名,包括:解析所述代码文件的文件目录,根据所述代码文件的文件目录的结构反推得到每个代码文件所使用的包名;解析应用清单文件,得到所述应用清单文件中的所有组件和服务,根据解析得到的组件和服务的属性信息解析出组件和服务所使用的包名;从所有得到的包名中去除重复的包名。优选地,所述方法还包括,在对安卓应用的安装文件进行反编译之前,需要通过文件验证;所述文件验证包括:利用二进制文件打开方式将待验证的安卓应用的安装文件打开,根据打开之后的二进制文件的头部的魔术字判断所打开的文件是否属于APK文件,如果是,则通过验证。优选地,所述方法还包括:输出安卓应用中可能使用的第三方SDK及其相关的信息。本专利技术另一方面还构造了一种发现安卓应用引用第三方工具的系统,所述系统包括:反编译模块,用于反编译安卓应用的安装文件,得到反编译之后的文件目录;代码文件和应用清单文件获取模块,用于遍历反编译之后的文件目录,获取代码文件和应用清单文件;包名获取模块,用于解析所述代码文件和应用清单文件得到包名;第三方SDK发现模块,用于利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。优选地,所述包名获取模块包括:第一包名获取单元,用于解析所述代码文件的文件目录,根据所述代码文件的文件目录的结构反推得到每个代码文件所使用的包名;第二包名获取单元,用于解析应用清单文件,得到所述应用清单文件中的所有组件和服务,根据解析得到的组件和服务的属性信息解析出组件和服务所使用的包名;重复包名去除单元,用于从所有得到的包名中去除重复的包名。优选地,所述系统还包括:文件验证模块,所述文件验证模块用于执行文件验证,并在文件验证通过后才触发反编译模块启动;所述文件验证包括:利用二进制文件打开方式将待验证的安卓应用的安装文件打开,根据打开之后的二进制文件的头部的魔术字判断所打开的文件是否属于APK文件,如果是,则通过验证。优选地,所述系统还包括:输出模块,用于输出安卓应用中可能使用的第三方SDK及其相关的信息。本专利技术另一方面还构造了一种发现安卓应用引用第三方工具的系统,其特征在于,包括处理器和存储器,存储器存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述的方法的步骤。本专利技术另一方面还构造了一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述的方法的步骤。本专利技术的发现安卓应用引用第三方工具的方法、系统及存储介质,具有以下有益效果:本专利技术通过反编译安卓应用的安装文件,得到反编译之后的文件目录,然后遍历反编译之后的文件目录,获取代码文件和应用清单文件;再解析所述代码文件和应用清单文件得到包名,最后利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK,整个过程无需实际运行安卓应用,只需要少量的硬件资源执行方法,耗费的时间短,需要的硬件少,准确率高。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图:图1是本专利技术发现安卓应用引用第三方工具的方法的流程图;图2是本专利技术发现安卓应用引用第三方工具的系统的结构示意图。具体实施方式为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的典型实施例。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本专利技术的公开内容更加透彻全面。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。本说明书中使用的“第一”、“第二”等包含序数的术语可用于说明各种构成要素,但是这些构成要素不受这些术语的限定。使用这些术语的目的仅在于将一个构成要素区别于其他构成要素。例如,在不脱离本专利技术的权利范围的前提下,第一构成要素可被命名为第二构成要素,类似地,第二构成要素也可以被命名为第一构成要素。本专利技术总的思路是:应用中调用的第三方SDK基本上都会在安装文件中发现,所以我们可以针对其安装文件进行一系列解析处理,具体的,反编译安卓应用的安装文件,得到反编译之后的文件目录;遍历反编译之后的文件目录,获取代码文件和应用清单文件;解析所述代码文件和应用清单文件得到包名;利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。如此,整个过程无需实际运行安卓应用,只需要少量的硬件资源执行方法,耗费的时间短,需要的硬件少,准确率高。为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明,应当理解本专利技术实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本专利技术实施例以及实施例中的技术特征可以相互组合。实施例一参考图1,本实施例公开了一种发现安卓应用引用第三方工具的方法,所述方法包括:S100本文档来自技高网
...

【技术保护点】
1.一种发现安卓应用引用第三方工具的方法,其特征在于,所述方法包括:/n反编译安卓应用的安装文件,得到反编译之后的文件目录;/n遍历反编译之后的文件目录,获取代码文件和应用清单文件;/n解析所述代码文件和应用清单文件得到包名;/n利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。/n

【技术特征摘要】
1.一种发现安卓应用引用第三方工具的方法,其特征在于,所述方法包括:
反编译安卓应用的安装文件,得到反编译之后的文件目录;
遍历反编译之后的文件目录,获取代码文件和应用清单文件;
解析所述代码文件和应用清单文件得到包名;
利用解析得到的包名,从预先维护的包名和第三方SDK对应关系数据中查询得到安卓应用中可能使用的第三方SDK。


2.根据权利要求1所述的方法,其特征在于,所述的解析所述代码文件和应用清单文件得到包名,包括:
解析所述代码文件的文件目录,根据所述代码文件的文件目录的结构反推得到每个代码文件所使用的包名;
解析应用清单文件,得到所述应用清单文件中的所有组件和服务,根据解析得到的组件和服务的属性信息解析出组件和服务所使用的包名;
从所有得到的包名中去除重复的包名。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括,在对安卓应用的安装文件进行反编译之前,需要通过文件验证;
所述文件验证包括:利用二进制文件打开方式将待验证的安卓应用的安装文件打开,根据打开之后的二进制文件的头部的魔术字判断所打开的文件是否属于APK文件,如果是,则通过验证。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
输出安卓应用中可能使用的第三方SDK及其相关的信息。


5.一种发现安卓应用引用第三方工具的系统,其特征在于,所述系统包括:
反编译模块,用于反编译安卓应用的安装文件,得到反编译之后的文件目录;
代码文件和应用清单文件获取模块,用于遍历反编译之后的文件目录,获取代码文件和应用清单文件;
包名获...

【专利技术属性】
技术研发人员:匡小虎吴界壁吴丽刘永强周勇林沈智杰景晓军
申请(专利权)人:任子行网络技术股份有限公司深圳市任子行科技开发有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1