代码改变世界

Android APK 反编译

2014-07-21 10:26  追逐*星空  阅读(150)  评论(0)    收藏  举报

      Android APK 反编译有点老生长谈了,但我初次接触,还是有必要将过程简单记录一下。

      废话不多说,开始work啦!

      工具下载:

      我下载的是windows环境下的工具,具体如下:

             apktool  :资源文件获取,可以提取出图片文件和布局文件进行使用查看

             dex2jar :将apk反编译成java源码(classes.dex转化成jar文件)

             jd-gui    :查看APK中classes.dex转化成出的jar文件,即源码文件

      反编译过程:

             1. 在apktool工具的目录中,执行 apktool.bat d -f  test.apk[apk文件 ]   test[输出文件夹]

             2. 将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到dex2jar工具目录中,执行dex2jar.bat   classes.dex,便能得到一个classes_dex2jar.jar的文件

             3. 用jd-gui目录中的jd-gui.exe 打开之前生成的classes_dex2jar.jar文件,便可以看到源码了

      如果code经过混淆,那么类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名,而且里面有些方法也无法完全反编译出来