Android APK 反编译

时间:2022-03-24 18:04:18

 

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,

Android APK 反编译

即可查看其中目录结构:

Android APK 反编译

还可对代码进行搜索:

Android APK 反编译

点击可以查看具体逻辑代码部分。

 

功能强大,还需探索。