很多搞开发的童鞋都知道,抄袭+改良 = 创新 。 所以我们就需要破解别人开发的ANDROID 源码,来学习一下人家的经验。废话不多说 下面我就讲讲 怎样破解ANDROID APK程序
要破解APK程序 首先我们要明白 ANDROID 程序生成的过程:
首先 它是由 JAVA ----》CLASS----》DEX----》APK
JAVA 到 CLASS 文件 是由JDK所编译 , 而CLASS 到DEX文件 则是由ANDROID平台工具DX(在SDK 的 platform-tools文件夹下)所生成。最后的打包生成APK文件则是由
APPT工具生成(platform-tools文件夹下)
我们了解ANDROID APK程序 生成过程,那接下来 我们就来讨论一下该如何 反编译。
首先我们要做的 是解压APK文件,解压以后我们先来打开AndroidManifest.xml 发现里面全部都是乱码啊········
这是因为ANDROID 在编译过程 对所有的XML文件都进行了 编译。
所以我们在做反编译的时候 不光要编译他的源码 还得编译他的XML文件。
现在我们首先 把它的XML文件恢复过来。在这里我们就用到一个工具叫APKTOOL.jar 上GOOGLECODE下载就可以 记住连带批处理文件一起下载哦
下载完以后 把他解压到 ANDROID 平台工具PLATFORM-TOOLS下面 这是为了和你系统的PATH路径相匹配。
这样我们第一步的准备工作就已经做好了 ,接下来我们打开DOS 在里面输入
apktool d filename.apk
如果编译正确的话DOS将会显示如下:
接下来你就会在你的文件夹中 看到已经编译好的文件 这回你再打开文件夹里面XML文件 就应该是正常的了。
XML文件编译好了 我们就应该来编译源代码了, ANDROID 编译后的文件是DEX 类型的 就像JAVA 通过JDK编译成CLASS文件的原理一样。
所以现在我们从DEX文件入手。
具体思路如下 DEX---->JAR---->CLASS---->JAVA
首先我们把DEX转换成JAR文件 ,再利用JAR装换到JAVA就很方便了。
那我们先利用dex2jar-0.0.9.13 他就能把DEX转换成JAR文件
下载DEX2JAR 相应解压到 ANDROID SDK 下的平台工具里面
在DOS 下输入 dex2jar filename.dex
如果出现如上图所显示的信息 那么恭喜你 已经把DEX编译成JAR文件了
最后一步是把JAR编译成JAVA文件 这里我们就需要XJad 这个软件了
下载完以后我们打开XJAD 点击文件 ----》反编译JAR文件 找到你刚才生成的JAR文件 就可以。