APK:Android应用程序包(英语:Android application package,APK)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), assets,证书(certificates),和清单文件(manifest file)。
知道apk后,了解一下反编译apk:
反编译一个APK的工具:
ApkTool:是一款应用在Apk上的逆向工程的工具,它有编译、反编译、签名等功能,可利用ApkTool查看apk的xml文件、AndroidManifest.xml和图片等。
dex2jar:顾名思义,这款工具的作用主要是将dex文件转换成jar文件,转换成jar后我们才好借助JD-GUI来查看反编译dex后的代码;
JD-GUI:一款Java反编译器GUI,通过它我们能查看到反编译后的dex的代码,通常需要配合dex2jar使用;
但此篇博文介绍使用 jadx-gui
在File 菜单栏 选中 一个apk,
即可查看其中目录结构:
还可对代码进行搜索:
点击可以查看具体逻辑代码部分。
功能强大,还需探索。