[转载]apk 反编译-Android新手入门-eoe Android开发者社区_Android开发论坛.
1、反编译器前需要准备以下工具
dex2jar :是将apk中的classes.dex转化成jar文件
jd-gui: 源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码
apktool: apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
2、操作步骤
反编译代码
- 首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录文件夹。
在命令行下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex
生成
classes_dex2jar.jar
- 然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了,如下图:
——————————————————————————————————————————————————————————————————————-
- apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
apktool是 老外写的《Android-apktool》软件,可以帮助我们把APK反编译,生成程序的源代码和图片、XML配置、语言资源等文件。我们对图片和语言资源等文件修改后,可以再把它们编译打包成APK,签名后就是手机可以安装的本地化/修正版APK了。 - 《Android-apktool》软件软件可以访问它的主页下载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。下载后解开,为了方便使用,按作者的推荐把得到的4个文件复制到C:\Windows文件夹里。
这个工具是Java写的,需要你的电脑安装了JRE或者JDK,并在系统环境变量Path里加入java.exe所在路径。
以上准备工作做好后,就可以用它来反编译APK了。
(假设***.apk放在C盘根目录)
01
|
apktool d "C:\***.apk" "C:\***" |
(命令行解释:apktool d 要反编译的文件 输出文件夹)
这样,***.apk就被反编译了,输出内容在C:\***文件夹里。
重打包了。还是在cmd命令行里,输入:
01
|
apktool b “刚刚解压的文件夹路径” "C:\***.apk" |
这个***.apk是没有签名的,所以不能直接装到手机里。签名工具和方法见http://www.hiapk.com/bbs/thread-21261-1-1.html