Android APK反编译
2012-01-17 17:00 爱研究源码的javaer 阅读(515) 评论(0) 编辑 收藏 举报android apk包可以反编译,但是多数应用程序包都混淆过代码。
一. 下载dex2jar,将apk中的classes.dex转换成jar文件。详细步骤如下:
1. 将apk文件后缀改为zip文件,解压后得到其中的classes.dex(java文件编译再通过dx工具打包而成的)。
2. 解压下载的dex2jar,将classes.dex文件复制到dex2jar.bat所在目录,打开命令行窗口定位到dex2jar.bat目录。
运行dex2jar.bat classes.dex,生成classes.dex.dex2jar.jar文件。
二. 下载JD-GUI工具,反编译Jar包的源代码,可以直接查看
运行JD-GUI(jd-gui.exe),打开上面生成的jar包,即可看到源代码。
三.反编译apk中的图片,xml配置,语言资源等文件。
这次用到的是apktool,下载apktool1.4.1.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2(两个包都下载)
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
在命令行窗口中定位到apktool.bat文件,运行如下命令:apktool d C:\*.apk C:\*文件夹,命令行解释:apktool d
[apk文件 ] [输出文件夹],反编译的文件一定要放到C盘的根目录下。
四. 将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可.
打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹:
build
dist
其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下。
参考:csdn博客