工具下载:/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的官方网址:
/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的官方网址:/projects/dex2jar/
JD-GUI的官方网址:http://jd.benow.ca/
三、用Smali2Java反编译的方法
很简单,直接在图像界面下,打开APK文件,即可查看Java源码。
缺点是不能将Java文件整个导出,只能保存单个文件,并且资源用的都是ID。
Smali2java官方地址:/cn/smali2java
四、用APK改之理(APKIDE)反编译的方法
APK改之理(ApkIDE)是个集成了Apktool,Dex2jar,JD-GUI的工具。
直接用它可查看Smali源码,再用JD-GUI可查看Java源码并导出。
APKIDE官方地址:/apkide.html
参考:/sunboy_2050/article/details/6727581