这篇文字主要是针对MAC笔记本反编译APK的教程,都是最新的,首先需要的工具罗列出来:
apktool dex2jar JD-JUI 主要就是这3个工具了。
apktool作用:主要是用来反编译res下面的xml文件。
dex2jar作用:主要是用来反编译APK查看源代码的。
JD-JUI作用: 查看dex2jar反编译出来的jar文件。
如果APK混淆后,一般只能清除的查看出xml文件的内容也就是res下的所有文件,代码基本看不懂,也就是一些a b c 这样的名字,不可大致可以看看基本的,看看里面用的什么技术等等。
本人也是网上学习,google教程来做的这次教程,全都是用的最新的工具,apktool目前最新是: apktool_2.0.0rc3.jar,官网下载地址: https://bitbucket.org/iBotPeaches/apktool/downloads
好了我先上google原文的安装教程:
Installation for Apktool 2.x
- Windows:
-
- Download Windows wrapper script (Right click, Save Link As apktool.bat)
- Download apktool-2 (find newest here)
- Rename downloaded jar to apktool.jar
- Move both files (apktool.jar & apktool.bat) to your Windows directory (Usually C://Windows)
- If you do not have access to C://Windows, you may place the two files anywhere then add that directory to your Environment Variables System PATH variable.
- Try running apktool via command prompt
- Linux:
-
- Download Linux wrapper script (Right click, Save Link As apktool)
- Download apktool-2 (find newest here)
- Rename downloaded jar to apktool.jar
- Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
- Make sure both files are executable (chmod +x)
- Try running apktool via cli
- Mac OS X:
-
- Download Mac wrapper script (Right click, Save Link As apktool)
- Download apktool-2 (find newest here)
- Rename downloaded jar to apktool.jar
- Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
- Make sure both files are executable (chmod +x)
- Try running apktool via cli
Note - Wrapper scripts are not needed, but helpful so you don't have to type
java -jar apktool.jar over and over.
3个平台的都有,这次我主要用的是mac OS X ,所以本人教程也是下载MAC下面对应的软件,1. 下载wrapper script,其实就是一个脚本,直接点击是查看这个脚本需要自己右击:wrapper script 然后选择 连接存储为.. 名字为:
apktool,OK 这个下载完毕,
2. 下载apktool,点击find newest here 进去后
是这个样子的,点击 apktool_2.0.0rc3.jar,下载就行,下载完毕后重名为:
apktool.jar.
3. 将刚刚两个文件
apktool.jar &
apktool 复制到
/usr/local/bin 好处就是再任何目录都可以执行apktool 这个命令。
4. 进入cd
/usr/local/bin 这个目录,执行 chmod +x apktool 这样你就可以执行apktool的命令了,
好了以上做完后你就可以反编译apk文件,然后查看到所有的xml文件了。随便哪个目录执行:apktool d apk所在目录 ,
我的是apktool d /Users/niehua/Downloads/72bd839852bf76584c3640558a5a8b84.apk ,这样就在用户的目录下
生成了这个文件夹,因为我没有指定目录,所以就默认再用户的目录下生成了这个文件夹,打开
基本就能查看所有的xml文件了,绝对杠杠的。
以上就是apktool工具的运用,没有深入研究,也就会这个如果哪位有深入的研究一起探讨。
现在就进行apk源代码的研究了,那就需要用到我们的
dex2jar 工具了,官网下载地址: https://code.google.com/p/dex2jar/downloads/list 目前最新版本是; dex2jar-0.0.9.15, 下载后进行解压,完毕后cd 进入到解压的这个目录,执行
chmod +x dex2jar.sh 这样就可以执行dex2jar的命令了。为了执行方便,你也可以把这个命令添加到path环境变量里面去,这里我就不说了,自己google查询,在dex2jar当前目录执行:./dex2jar.sh apk路径,我的例子是:
成功后会显示成功出去路径,也就再你APK的当前目录会多出个Coscos_2.01_cesshi_dex2jar.jar,也就你APK名字的jar文件,然后就用我们的第3个工具进行查看了,
JD-JUI工具
JD-JUI工具:官网下载地址: http://jd.benow.ca/,我是MAC本所以就下载MAC对应的就行,下载好后打开,
点击左边文件夹打开刚刚反编译好的jar文件,
基本就是这样了,大致看看吧,因为混淆过的代码,好了,MAC反编译旅程完毕,谢谢大家。
有些可能要,我已经下载好了,提供给大家:下载地址,http://download.csdn.net/detail/kaixing20/8244619
下载文件结构说明:
官网下载没有动的:意思就是从官网下载下来没有按照教程里面做过,就是原封不动的文件,自己看着教程就可以完全操作了,
已经修改过后的:意思是把我现在有的已经能够执行的文件复制过来的,你只需复制到相应的目录就可以执行了。
好了,又不懂的大家再提问一起学习吧。对了最新的apktool有个好处就是支持最新的安卓5.0反编译。