Android APK 反编译

Posted risk2s

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android APK 反编译相关的知识,希望对你有一定的参考价值。

 

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文件中怎么反编译

反编译Android APK及防止APK程序被反编译

反编译修改Android apk的版本号

apk 反编译

有没有反编译工具,可以把APK完全反成一个android项目的? , 这个android逆向助手只