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

来源:互联网 发布:淘宝企业店铺升级天猫 编辑:程序博客网 时间:2024/04/27 04:06

工具下载: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的官方网址:https://sourceforge.net/projects/dex2jar/
JD-GUI的官方网址:http://jd.benow.ca/

三、用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/sunboy_2050/article/details/6727581

原创粉丝点击