安卓应用程序安装包的信息获取方法和装置制造方法及图纸

技术编号:10301366 阅读:116 留言:0更新日期:2014-08-07 07:42
本发明专利技术提供了一种安卓应用程序安装包的信息获取方法和装置。所述方法包括:反编译安卓应用程序安装包得到相应的布局文件和字节码文件;通过设置屏幕控件从所述字节码文件得到相应的编码;根据所述编码在所述布局文件中查找得到对应的控件名称。所述装置包括:反编译模块,用于反编译安卓应用程序安装包得到相应的布局文件和字节码文件;编码获取模块,用于通过设置屏幕控件从所述字节码文件得到相应的编码;查找模块,用于根据所述编码在所述布局文件中查找得到对应的控件名称。采用本发明专利技术能在无源代码的情况下获取控件信息。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种安卓应用程序安装包的信息获取方法和装置。所述方法包括:反编译安卓应用程序安装包得到相应的布局文件和字节码文件;通过设置屏幕控件从所述字节码文件得到相应的编码;根据所述编码在所述布局文件中查找得到对应的控件名称。所述装置包括:反编译模块,用于反编译安卓应用程序安装包得到相应的布局文件和字节码文件;编码获取模块,用于通过设置屏幕控件从所述字节码文件得到相应的编码;查找模块,用于根据所述编码在所述布局文件中查找得到对应的控件名称。采用本专利技术能在无源代码的情况下获取控件信息。【专利说明】安卓应用程序安装包的信息获取方法和装置
本专利技术涉及移动设备应用技术,特别是涉及一种安卓应用程序安装包的信息获取方法和装置。
技术介绍
随着移动设备的发展,移动设备的性能越来越优越,在采用了安卓系统的移动设备中,各种安卓应用程序安装包被安装于其中,以满足用户需求。在众多的安卓应用程序安装包中,对某一安卓应用程序安装包进行反编译的可能性是非常高的,通过对安卓应用程序安装包的反编译等处理来获取所需要的信息。然而,仅仅通过反编译安卓应用程序安装包所得到的布局文件是无法获知控件的信息的,难以实现无源代码情况下也能获取安卓应用程序安装包中控件的信息。
技术实现思路
基于此,提供一种能在无源代码的情况下获取控件信息的安卓应用程序安装包的息获取方法。此外,还有必要提供一种能在无源代码的情况下获取控件信息的安卓应用程序安装包的信息获取装置。一种安卓应用程序安装包的信息获取方法,包括如下步骤:反编译安卓应用程序安装包得到相应的布局文件和字节码文件;通过设置屏幕控件从所述字节码文件得到相应的编码;根据所述编码在所述布局文件中查找得到对应的控件名称。一种安卓应用程序安装包的信息获取装置,包括:反编译模块,用于反编译安卓应用程序安装包得到相应的布局文件和字节码文件;编码获取模块,用于通过设置屏幕控件从所述字节码文件得到相应的编码;查找模块,用于根据所述编码在所述布局文件中查找得到对应的控件名称。上述安卓应用程序安装包的信息获取方法和装置,对安卓应用程序安装包进行反编译将得到布局文件和字节码文件,通过设置屏幕控件从字节码文件中得到相应的编码,进而根据该编码查找得到控件名称,实现了在无源代码的情况下也能够获取相应的控件信息,大大地便得了安卓应用程序安装包的研发。【专利附图】【附图说明】图1为一个实施例中安卓应用程序安装包的信息获取方法的流程图;图2为另一个实施例中安卓应用程序安装包的信息获取方法的流程图;图3为一个实施例中安卓应用程序安装包的信息获取装置的结构示意图;图4为另一个实施例中安卓应用程序安装包的信息获取装置的结构示意图。【具体实施方式】如图1所示,在一个实施例中,一种安卓应用程序安装包的信息获取方法,包括如下步骤:步骤S110,反编译安卓应用程序安装包得到相应的布局文件和字节码文件。本实施例中,安卓应用程序安装包用于为移动设备提供相应的安卓应用程序,以便于为用户在移动设备的使用提供各种功能,其中,安卓应用程序安装包为后缀为apk的文件,简称 apk (Android Package, Android 安装包)。对安卓应用程序安装包进行反编译,将得到相应的布局文件和若干个字节码文件,其中,布局文件为XML (extensible Markup Language,可扩展标识语言)文件。在一个实施例中,上述步骤SllO的具体过程为:通过命令行运行平台中运行的命令运行反编译工具,并通过反编译工具对安卓应用程序安装包进行反编译,得到安卓应用程序安装包对应的布局文件和字节码文件。本实施例中,命令行运行平台用于运行命令,以实现相应的功能,其中,命令行运行平台可以是CMD (co_and)组件,相应的,所运行的命令也将为CMD命令。CMD组件也称命令提示符窗口,是windows系统所提供的组件,用于实现用户与windows系统之间的沟通和交流。通过在命令行运行平台中运行相应命令,以定位反编译工具所在的文件夹,进而利用反编译命令使得反编译工具对应安卓应用程序安装包进行反编译,其中,反编译工具可以是ApkTool,对于CMD组件而目,反编译命令可以是“apktool dl23.apk”,在这一反编译命令中,apktool为反编译工具,d为反编译参数,123.apk为进行反编译的安卓应用程序安装包。如图2所示,在一个实施例中,上述步骤SllO之后还包括如下步骤:步骤S210,检查安卓应用程序安装包是否存放于反编译工具所在的文件夹,若是,则进入步骤S110,若否,则进入步骤S230。本实施例中,反编译工具所在的文件夹为反编译工具对安卓应用程序安装包进行反编译时的工作文件夹。对反编译工具所在的文件夹进行检查,以判断即将进行反编译的安卓应用程序安装包是否存放于反编译工具所在的文件夹中,若是,则可直接进行反编译,若即将进行反编译的安卓应用程序安装包并未存入于反编译工具所在的文件夹中,则需要提取安卓应用程序安装包,并复制到反编译工具所在的文件夹中。步骤S230,提取安卓应用程序安装包并复制到反编译工具所在的文件夹中。步骤S130,通过设置屏幕控件从字节码文件得到相应的编码。本实施例中,设置屏幕控件,即SetCountView,用于设置图形界面中布局所使用的资源,字节码文件中记录了十六进制编码所代表的控件标识,因此,可通过设置屏幕控件从字节码文件中提取得到相应的编码。在一个实施例中,上述步骤S130的具体过程为:开启字节码文件,通过安卓应用程序安装包中活动组件的设置屏幕控件从开启的字节码文件中提取十六进制编码。本实施例中,字节码文件是对安卓应用程序安装包中的java文件进行反编译后得到的,通常为smali文件。获取安卓应用程序安装包中任一活动组件,并通过该活动组件中的设置屏幕控件对字节码文件进行十六进制编码的提取。步骤S150,根据编码在布局文件中查找得到对应的控件名称。本实施例中,由于布局文件和字节码文件中的格式以及编码方式各不相同,因此,需要经由通过字节码文件所得到的编码在布局文件中进行查找,以得到与提取的编码相同的控件标识,进而得到控件标识所对应的控件名称。在一个实施例中,上述步骤S150的具体过程为:根据十六进制编码在布局文件中进行查找,以得到布局文件中控件标识与十六进制编码相一致的条目,从查找得到的条目中提取出控件名称。本实施例中,布局文件中包含了若干个条目,其中,每一条目都将记录了控件标识以及该控件标识所对应的控件名称,因此,根据十六进制编码在布局文件中进行查找,可得到包含了十六进制编码的条目,进而得到这一十六进制编码所对应的控件名称。上述安卓应用程序安装包的信息获取方法能够高效地在较为复杂的文件中分析得到字节码文件所包含的控件信息,即控件标识和控件名称,大大的方便了安卓应用程序的反编译过程。如图3所示,在一个实施例中,一种安卓应用程序安装包的信息获取装置,包括反编译模块110、编码获取模块130和查找模块150。反编译模块110,用于反编译安卓应用程序安装包得到相应的布局文件和字节码文件。本实施例中,安卓应用程序安装包用于为移动设备提供相应的安卓应用程序,以便于为用户在移动设备的使用提供各种功能,其中,安卓应用程序本文档来自技高网...
安卓应用程序安装包的信息获取方法和装置

【技术保护点】
一种安卓应用程序安装包的信息获取方法,包括如下步骤:反编译安卓应用程序安装包得到相应的布局文件和字节码文件;通过设置屏幕控件从所述字节码文件得到相应的编码;根据所述编码在所述布局文件中查找得到对应的控件名称。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐铮
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1