工具介绍
apktool
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
dex2jar
作用:将apk反编译成java源码(classes.dex转化成jar文件)
下载地址:dex2jar - Browse Files at SourceForge.net
. classes.dex是由.apk改成.zip获得
jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源码文件
下载地址:Java Decompiler
一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:
java -jar apktool.jar d -f D:\decompiler\apks\in\video.apk -o D:\decompiler\apks\out\video
D:\decompiler\apks\in\videoshow.apk
D:\decompiler\apks\out
-o 是2.0版本之后新加参数
-f 指定是否覆盖 如果磁盘有输出路径文件夹 则需指定 否则 不需指定
二、Apk反编译得到Java源代码
1. 假设你要反汇编的是app.apk,那么先改名成app.zip
2. 解压
3. 在解压出来的里面找到classes.dex,这个就是目标的程序的二进制文件
4. 将classes.dex放到dex2jar文件下,然后Windows命令界面定位到dex2jar文件下,运行d2j-dex2jar.bat classes.dex
5. 生成classes-dex2jar.jar,这个就是转换后的JAR文件了
6. 执行jd-gui,找到刚才生成的JAR文件,打开之。
7. 偷偷乐吧,90%以上的Java源代码跃然眼前.
注意:如果不能直接打开jd-gui-1.6.6.jar,可以用dos命令打开D:\decompiler>java -jar jd-gui-1.6.6.jar