一 测试环境 Mac osx 10.8.3 macbook pro
二 所需软件
apktool ,主要将apk中的xml文件、图片、语言资源文件等反编译成原状态。
dex2jar,主要将apk反编译成jar包文件。
jdgui,把jar包文件转化成可读写的.java 源文件。
下载地址:http://download.csdn.net/detail/kaixing20/8244619
三 配置MAC下的环境变量
为了使软件能在终端命令行下面直接运行,就需要配置他们的环境变量,mac环境变量配置如下:
1.打开终端
2.输入 cd ~ 进入~文件夹
3.输入 touch .bash_profile 回车
4.输入open -e .bash_profile 在TextEdit中打开这个文件
5.设置环境变量语句:export PATH=${PATH}:/XXX/ ,XXX是你执行程序所在的路径(也就是
apktool有路径)
6.假设我的apk文件位于/xiechengfa/test.apk下 , 输入以下命令: apktool d /xiechengfa/test.apk,解压后的文件放在usr的根目录 下。
如图:
7.面只是把xml源文件转换为可读,源代码文件位于smali文件夹下,所有原文件以smli文件后缀,还不是我们可读的文件。下面要用 dex2jar把apk文件反编译成jar文件(dex2jar也要重新设置下环境PATH),假设我的apk文件解压缩后的dex文件位于/xiechengfa/test1/classes.dex下 ,输入以下命令:d2j-dex2jar.sh /xiechengfa/test1/classes.dex
6.假设我的apk文件位于/xiechengfa/test.apk下 , 输入以下命令: apktool d /xiechengfa/test.apk,解压后的文件放在usr的根目录 下。
如图:
7.面只是把xml源文件转换为可读,源代码文件位于smali文件夹下,所有原文件以smli文件后缀,还不是我们可读的文件。下面要用 dex2jar把apk文件反编译成jar文件(dex2jar也要重新设置下环境PATH),假设我的apk文件解压缩后的dex文件位于/xiechengfa/test1/classes.dex下 ,输入以下命令:d2j-dex2jar.sh /xiechengfa/test1/classes.dex
这样就把dex文件解压成相应的jar文件,jar文件也默认生成用户目录下。
8.打开 jdgui程序,打开上面生成的jar包classes-dex2jar.jar,即可看到源代码了