Android 反编译解决方案
使用工具
apktool
谷歌下载地址:https://code.google.com/p/android-apktool/downloads/listdex2jar
谷歌下载地址:http://code.google.com/p/dex2jar/downloads/listjd-gui
谷歌下载地址:http://code.google.com/p/innlab/downloads/list
工具介绍
apktool
作用:资源文件获取,能够提取出图片文件和布局文件进行使用查看dex2jar
作用:将apk反编译成java源代码(classes.dex转化成jar文件)jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源代码文件
反编译流程
一、apk反编译得到程序的源码、图片、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat。apktool.jar 。将须要反编译的APK文件放到该文件夹下
打开命令行界面(执行-CMD) ,定位到apktool目录。输入下面命令:apktool.bat d -f test.apk test
(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的文件夹名称,即为:apktool.bat d -f [apk文件 ] [输出目录])
说明获取成功,之后发如今目录下多了个test文件。点击便能够查看该应用的全部资源文件了。
假设你想将反编译完的文件又一次打包成apk,那你能够:输入apktool.bat b test(你编译出来目录)便可,效果例如以下:
之后在之前的test文件下便能够发现多了2个目录:
build
构建文件
dist
里面存放着打包出来的APK文件
二、Apk反编译得到Java源码
下载上述工具中的dex2jar和jd-gui ,解压
将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到当中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的)。将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 目录内,
在命令行下定位到dex2jar.bat所在文件夹,输入dex2jar.bat classes.dex。效果例如以下:
在改文件夹下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便能够看到源代码了。效果例如以下:
![]()
三、图形化反编译apk(本人未使用过)
上述步骤一、二讲述了命令行反编译apk。如今提供一种图形化反编译工具:Androidfby
首先。下载上述反编译工具包,打开Androidfby文件夹。双击Android反编译工具.exe,就能够浏览打开要反编译的apk