已测试,可以反编译出源代码。以下为参考,感谢作者
很多时候,我们出于学习或者安全测试等的目的,需要对andorid app的安装文件进行反编译来查看源代码,下面我们来一起搭建Mac os 下的反编译环境。
安装环境
建立基本文件夹
1 | mkdir -p ~/study/apkkiller/soft/bin |
andorid app的安装文件为apk包,要反编译apk文件,需要下载apktool和dex2jar这两个软件,它们均托管在google code上:
http://code.google.com/p/android-apktool/
http://code.google.com/p/dex2jar/
从以上两个页面找到下载地址,这里我们找到的是 apktool1.5.2 和 dex2jar-0.0.9.15的下载地址:
1 | cd ~/study/apkkiller/soft/src |
解压后文件存放在如下目录:
1 | ~/study/apkkiller/soft/src/apktool1.5.2 |
为了方便使用,建立两个软连接:
1 | ln -s ~/study/apkkiller/soft/src/apktool1.5.2/apktool.jar ~/study/apkkiller/soft/bin/apktool |
测试反编译环境
下面开始来反编译我们的测试apk文件,看看环境是否可以正常运行
1 | cd ~/study/apkkiller |
要查看反编译后的文件,可以下载jd-gui
工具,打开上面生成的./output/test/source/classes_dex2jar.jar
文件即可,
该工具可以将源码包都导出来。jd-gui从下面的地址下载:
1 | http://jd.benow.ca/ |
apk的资源文件都存在上面我们解压的文件夹./output/test/source/test
中,里面有很多xml文件,但是是加密的,无法直接查看。这时,就需要用到apktool工具了:
1 | java -jar ~/study/apkkiller/soft/bin/apktool d ./test.apk ./output/test/source/test_resource |
将导出的源码和资源文件合并,就得到我们想要的结果了。
原文链接:http://tabalt.net/blog/decompile-andoroid-app-on-mac/
本博文章如无说明均为原创,转载时请注明以上链接