APK反编译工具:Apktool,Dex2jar,JD-GUI

2015-9-19 5:44:20 | 浏览:
评论数:0

工具下载:http://pan.baidu.com/share/link?shareid=2338878455&uk=2147770900

一、用Apktool反编译和编译的方法

评价:它仅将DEX文件反编译成Smali源码;XML文件能生成明码格式,且较好!

在命令行下,定位到apktool.bat文件夹,用以下命令进行反编译!

命令格式:apktool.bat d -f [apk文件] [输出文件夹]

比如:apktool.bat d -f SerialPort.apk SerialPort

将反编译完的文件重新打包成apk,也很简单!

命令格式:apktool.bat b [反编译输出的文件夹]

比如:apktool.bat b SerialPort

Android-apktool的官方网址:

https://code.google.com/p/android-apktool/downloads/list

二、用Dex2jar,JD-GUI,AXMLPrinter反编译的方法

评价:它能将DEX文件反编译成Java源码;AXMLPrinter2处理XML时,常报错。

查看源码:

1、首先将apk文件后缀改为zip并解压,得到classes.dex和AndroidManifest.xml。

2、将classes.dex复制到dex2jar.bat所在目录,命令行下定位到该目录。

3、运行命令:dex2jar.bat classes.dex;会生成classes_dex2jar.jar。

4、用jd-gui工具打开它,即可看到源码,并可以全部导出!

查看XML:

5、将解压得到的AndroidManifest.xml文件放到AXMLPrinter2.jar所在目录,

双击该目录下的XmlDecode.bat,可以生成xml对应的txt,它即是解码后的XML。

Dex2jar的官方网址:

http://code.google.com/p/dex2jar/downloads/list

JD-GUI的官方网址:

http://java.decompiler.free.fr/?q=jdgui

三、用Smali2Java反编译的方法

很简单,直接在图像界面下,打开APK文件,即可查看Java源码。

缺点是不能将Java文件整个导出,只能保存单个文件,并且资源用的都是ID。

Smali2java官方地址:http://www.hensence.com/cn/smali2java

四、用APK改之理(APKIDE)反编译的方法

APK改之理(ApkIDE)是个集成了Apktool,Dex2jar,JD-GUI的工具。

直接用它可查看Smali源码,再用JD-GUI可查看Java源码并导出。

APKIDE官方地址:http://www.popotu.com/apkide.html

来源:http://blog.csdn.net/gaojinshan/article/details/9413897

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。