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

来源:互联网 发布:慢性牙周炎 知乎 编辑:程序博客网 时间:2024/05/17 08:49

http://blog.csdn.net/lostinai/article/details/44201971

http://blog.csdn.net/stay_foolish_one/article/details/41659723

http://blog.163.com/ppy2790@126/blog/static/1032422412013112221910595/ (mac下)

一、用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

二、反编译Apk得到Java源代码(windows)
首先要下载两个工具:dex2jar和JD-GUI

前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。

首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;

解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录

运行

dex2jar.bat    classes.dex

生成

classes.dex.dex2jar.jar

2.dex2jar反编译(mac下)

1)将apk文件后缀名直接改为.zip,并解压。得到其中的classes.dex文件 ,它就是java源代码经过编译再通过dx工具打包而成的。

2)将classes.dex文件复制到dex2jar所在的文件夹。

3)命令行下定位到dex2jar目录,运行

   sh dex2jar.sh classes.dex

生成 classes_dex2jar.jar

用jd gui打开就可以看到源代码了。


0 0
原创粉丝点击