一种安卓应用的自动反编译方法及装置制造方法及图纸

技术编号:37207339 阅读:16 留言:0更新日期:2023-04-20 22:59
本发明专利技术提供一种安卓应用的自动反编译方法及装置,方法包括:获取待反编译的目标APK文件和反编译结果输出目录;其中,结果输出目录用于存储对目标APK文件反编译完成后得到的源码文件;检查反编译工具是否存在;其中,反编译工具包括apktool工具包、dex2jar工具包、jd

【技术实现步骤摘要】
一种安卓应用的自动反编译方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种安卓应用的自动反编译方法及装置。

技术介绍

[0002]一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。
[0003]apk反编译就是通过使用apk编译工具,将apk文件中的源文件和资源反编译出来,得到的源文件和资源文件可以进行处理后再进行编译,以达到个性化定制、汉化apk等目的。现有的apk反编译过程需要人工来下载各种反编译工具,并手动执行指令,浪费大量时间和人力,效率不高且容易出现人为错误。

技术实现思路

[0004]本专利技术提供一种安卓应用的自动反编译方法、装置、电子设备与存储介质,用以解决现有的反编译过程过于依赖人工操作的问题,通过提前加载各种反编译工具,对安卓Android的APK应用文件反编译的整个过程进行整合、实现了自动化,大大提高了反编译的效率。
[0005]本专利技术提供一种安卓应用的自动反编译方法,包括:获取待反编译的目标APK文件和反编译结果输出目录;其中,所述结果输出目录用于存储对所述目标APK文件反编译完成后得到的源码文件;检查反编译工具是否存在;其中,所述反编译工具包括apktool工具包、dex2jar工具包、jd

gui工具包;在所述反编译工具存在的情况下,依次调用apktool工具包、dex2jar工具包、jd

gui工具包,完成对所述目标APK文件的自动反编译,得到源码文件,并将所述源码文件输出至反编译结果输出目录。
[0006]根据本专利技术提供的安卓应用的自动反编译方法,所述依次调用apktool工具包、dex2jar工具包、jd

gui工具包,完成对所述目标APK文件的自动反编译,得到源码文件,包括:调用所述apktool工具包,对所述目标APK文件进行反编译,得到资源文件;其中,所述资源文件包括.apk文件;将所述.apk文件重命名为.zip文件,基于所述.zip文件,解压得到.dex文件;调用所述dex2jar工具包,对所述.dex文件进行反编译,得到.jar文件;调用所述jd

gui工具包,打开所述.jar文件得到源码文件。
[0007]根据本专利技术提供的安卓应用的自动反编译方法,所述.dex文件有多个,在所述调用所述dex2jar工具包之前,包括:判断所述.dex文件是否全部完成了反编译,在所述.dex文件全部完成反编译的情
况下,转入执行所述调用所述jd

gui工具包的步骤。
[0008]根据本专利技术提供的安卓应用的自动反编译方法,包括:在所述.dex文件没有全部完成反编译的情况下,继续调用所述dex2jar工具包,对所述.dex文件进行反编译,直至所述.dex文件全部完成反编译。
[0009]根据本专利技术提供的安卓应用的自动反编译方法,在所述获取待反编译的目标APK文件和反编译结果输出目录之后,包括:检查输入目录和输出目录,在输入目录中设置完成目标APK文件,且输出目录中设置完成反编译结果输出目录的情况下,转入执行所述检查反编译工具是否存在的步骤。
[0010]根据本专利技术提供的安卓应用的自动反编译方法,包括:在输入目录和输出目录均为未设置完成的情况下,返回执行所述获取待反编译的目标APK文件和反编译结果输出目录的步骤。
[0011]根据本专利技术提供的安卓应用的自动反编译方法,包括:在所述反编译工具包不存在的情况下,结束自动反编译过程。
[0012]本专利技术还提供一种安卓应用的自动反编译装置,包括:目标APK文件选定模块,用于获取待反编译的目标APK文件和反编译结果输出目录;其中,所述结果输出目录用于存储对所述目标APK文件反编译完成后得到的源码文件;检查模块,用于检查反编译工具是否存在;其中,所述反编译工具包括apktool工具包、dex2jar工具包、jd

gui工具包;反编译模块,用于在所述反编译工具存在的情况下,依次调用apktool工具包、dex2jar工具包、jd

gui工具包,完成对所述目标APK文件的自动反编译,得到源码文件,并将所述源码文件输出至反编译结果输出目录。
[0013]本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述安卓应用的自动反编译方法。
[0014]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述安卓应用的自动反编译方法。
[0015]本专利技术提供的安卓应用的自动反编译方法、装置、电子设备与存储介质,通过获取待反编译的目标APK文件和反编译结果输出目录;其中,所述结果输出目录用于存储对所述目标APK文件反编译完成后得到的源码文件;检查反编译工具是否存在;其中,所述反编译工具包括apktool工具包、dex2jar工具包、jd

gui工具包;在所述反编译工具存在的情况下,依次调用apktool工具包、dex2jar工具包、jd

gui工具包,完成对所述目标APK文件的自动反编译,得到源码文件,并将所述源码文件输出至反编译结果输出目录。本专利技术通过提前加载各种反编译工具,对安卓Android的APK应用文件反编译的整个过程进行整合,实现了自动化的反编译过程,只需要选择一个需要反编译的APK应用文件,后续的操作都交给程序去执行,静待程序反编译的结果即可,大大提高了反编译的效率。
附图说明
[0016]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一
些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本专利技术提供的安卓应用的自动反编译方法的流程示意图;图2是本专利技术提供的安卓应用的自动反编译装置的结构示意图;图3是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0018]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]下面结合图1

图3描述本专利技术的安卓应用的自动反编译方法、装置、电子设备与存储介质。
[0020]图1为本专利技术提供的安卓应用的自动反编译方法的流程图,如图1所示,在一具体实施例中,本专利技术提供的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安卓应用的自动反编译方法,其特征在于,包括:获取待反编译的目标APK文件和反编译结果输出目录;其中,所述结果输出目录用于存储对所述目标APK文件反编译完成后得到的源码文件;检查反编译工具是否存在;其中,所述反编译工具包括apktool工具包、dex2jar工具包、jd

gui工具包;在所述反编译工具存在的情况下,依次调用apktool工具包、dex2jar工具包、jd

gui工具包,完成对所述目标APK文件的自动反编译,得到源码文件,并将所述源码文件输出至反编译结果输出目录。2.根据权利要求1所述的安卓应用的自动反编译方法,其特征在于,所述依次调用apktool工具包、dex2jar工具包、jd

gui工具包,完成对所述目标APK文件的自动反编译,得到源码文件,包括:调用所述apktool工具包,对所述目标APK文件进行反编译,得到资源文件;其中,所述资源文件包括.apk文件;将所述.apk文件重命名为.zip文件,基于所述.zip文件,解压得到.dex文件;调用所述dex2jar工具包,对所述.dex文件进行反编译,得到.jar文件;调用所述jd

gui工具包,打开所述.jar文件得到源码文件。3.根据权利要求2所述的安卓应用的自动反编译方法,其特征在于,所述.dex文件有多个,在所述调用所述dex2jar工具包之前,包括:判断所述.dex文件是否全部完成了反编译,在所述.dex文件全部完成反编译的情况下,转入执行所述调用所述jd

gui工具包的步骤。4.根据权利要求3所述的安卓应用的自动反编译方法,其特征在于,包括:在所述.dex文件没有全部完成反编译的情况下,继续调用所述dex2jar工具包,对所述.dex文件进行...

【专利技术属性】
技术研发人员:郑海东于万斌陈斌刘纪云胡鹏飞熊志新黄磊张向勇
申请(专利权)人:北京国科天迅科技有限公司
类型:发明
国别省市:

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

1