工具/原料
电脑 APK文件
方法/步骤
1、首先,找到APK文件,用鼠标右键点击一下,选择“重命名”。
2、接着,将其拓展名“apk"修改为"zip"。
3、接着,再利用解压缩软件将修改出来的“zip”压缩包点击右键-点击“解压到”。
4、打开解压得到的文件夹即解压成功。
简单来说,反编译分析就是一种从源代码层面上分析APP安全性的手段。我们通过审计源码,来发现应用程序可能存在的漏洞。我们知道,APP的反编译有两种反编译方式,dex2jar和apktool。
dex2jar反编译出java源代码, 易读性比较高。
apktool反编译出的是java汇编代码,可以反编译出来smali反汇编代码、res资源文件、assets配置文件、lib库文件、我们可以直接搜索smali文件和资源文件来查找链接等。
准备的工具除了jdk还有以下内容(在Google官网都有):把apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解压到一个盘的根目录下(这里我选择H盘),同时把
AXMLPrinter2.jar,apktool.jar
和你想解包的apk软件也放在同一个目录下,然后“运行--cmd”打开控制台,输入
cd /d h : /进入H盘的根目录然后输入以下内容(
控制台不要关,为了后面方便):其中apktool.jar
是解包工具,d表示解包,
memo.apk是我要解包的软件,
memo表示解包后输出到这个文件夹,等待片刻,就会生成memo文件夹,打开里面会有res文件夹下的所有文件和
AndroidManifest.xml
,用记事本就可以查看了。
以上是获得.xml文件和图片,下面获得里面的.java源代码:用winRar或者好压打开memo.apk
,截图如下:把里面的classes.dex文件解压到H盘根目录下,然后重新打开控制台,输入
dex2jar.bat classes.dex
得到一个名为
classes.dex.dex2jar.jar
的文件,此时用jd-gui.exe打开classes.dex.dex2jar.jar
就可以看到所有源代码了!
如果想把反编译好的文件变回apk文件,只要在控制台输入
apktool.jar b memo就可以了其中b就是重新封包的意思,
memo是你刚才解包出来的文件夹,前提是确保所有文件都在memo文件夹里!!