本文主要是介绍《移动安全》(4)逆向工程之安卓APK反编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对apk反编译有个组合套餐:apktool、dex2jar、jd-gui,apktool的作用是将apk文件解压,获取资源文件,提取图片文件和布局文件进行查看;dex2jar的作用是将apk反编译成java源码(classes.dex转化成jar文件);jd-gui浏览jar包的源码文件。由于侧重点不同,当我们有不同的需求时,可以选择不同的工具从而获取不同的资源。
1.安装apktool
官方安装说明:https://ibotpeaches.github.io/Apktool/install/
下面以安装windows版为例:
(1)打开wrapper script文件链接,右键另存为apktool.bat文件。
链接:https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/windows/apktool.bat
(2)下载apktool.jar文件,如最新版本:apktool_2.3.4。
链接:https://bitbucket.org/iBotPeaches/apktool/downloads/
(3)将下载的版本重命名为apktool.jar并和apktool.bat存放在同一目录下。
(4)cmd切换到apktool目录运行命令:apktool d <path>.apk,对指定路径的apk的资源文件、源码文件解码。
(5)如果解压包不包含classes.dex文件,在上述命令行添加-s,表示禁止将dex文件解码成smali,如下:
2.安装dex2jar
(1)下载dex2jar,链接:
https://www.softpedia.com/get/Programming/Other-Programming-Files/dex2jar.shtml
(2)打开cmd命令行,切换到dex2jar所在目录,运行命令:
d2j-dex2jar <path>.dex
(3)可以看到在dex2jar根路径下生成了对应的jar包文件,该文件统一命名为:classes-dex2jar.jar
3.安装jd-gui
(1)下载jd-gui,链接: http://jd.benow.ca/。
(2)解压jd-gui-windows-1.4.0.zip,双击运行jd-gui.exe,选择想要打开的classes-dex2jar.jar文件。
这篇关于《移动安全》(4)逆向工程之安卓APK反编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!