首页 > 代码库 > linux下的APK反编译软件及过程介绍 .
linux下的APK反编译软件及过程介绍 .
须要工具:
1.apktool apk打包工具
下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2
安装:直接解压就可以,是一个apktool.jar文件。通过
- $java -jar apktool.jar
$java -jar apktool.jar
来执行。依赖于java执行环境
2.dex2jar dex转化jar工具
下载地址:http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
安装:直接解压就可以,是一个目录,里面包括了非常多文件。通过
" href="http://blog.csdn.net/richerg85/article/details/24596823#">?
- $./dex2jar.sh
$./dex2jar.sh
来执行
3.假设你没有unzip。安装此解压工具, zip解压缩工具,用于解压jar包(jar包是zip压缩的,所以能够用其他工具取代)
下载地址:ubuntu $sudo apt-get install unzip
安装: $sudo apt-get install unzip
- $upzip [src_path] -d [dst_path]
$upzip [src_path] -d [dst_path]
来执行
4.jad .class文件反编译工具
下载地址:http://www.varaneckas.com/jad
http://varaneckas.com/jad/jad158e.linux.static.zip
安装:直接解压就可以,是一个可运行文件,通过
./jad
来执行。须要说明的是。这个须要下载static版本号的,假设不行的话,在去第一个链接里找还有一个下载。
接下来。工具准备完成了,最好设定一下环境变量。我们就能够反编译apk了
一、抽取apk资源
运行: $java -jar apktool.jar d [source.apk]
二、反编译源代码
(1)解压apk
" href="http://blog.csdn.net/richerg85/article/details/24596823#">?
- $unzip [source.apk] -d [step_1]
$unzip [source.apk] -d [step_1]
step_1指的是你所须要解压到的文件夹
(2)进入step_1 文件夹,找到classes.dex文件,将dex文件转化成jar文件
- $dex2jar.sh classes.dex
$dex2jar.sh classes.dex
(3)获得一个classes_dex2jar.jar文件。我们如今要再度解压这个文件
" href="http://blog.csdn.net/richerg85/article/details/24596823#">?
- $upzip classes_dex2jar.jar -d [step_3]
$upzip classes_dex2jar.jar -d [step_3]
step_3指的是你解压到的文件夹
(4)我们获得一个step_3文件夹。我们接下来要反编译该文件夹下全部.class文件
- $./jad -o -r -s java -d src step_3/**/*.class
$./jad -o -r -s java -d src step_3/**/*.class
对于上面的參数,能够直接运行./jad查看,或者Readme.txt查看
(5)我们再度获得一个src文件夹,该文件夹下就是反编译好的源代码文件了。
也能够使用JD-GUI工具直接查看classes_dex2jar.jar的class文件。
假设以上命令不运行的话,查看文件夹是否正确。
linux下的APK反编译软件及过程介绍 .