所谓工欲善其事必先利其器,首先从官网拿到最新的反编译工具:

APK反编译工具:

  • dex2jar:https://github.com/pxb1988/dex2jar(原网址:http://code.google.com/p/dex2jar/downloads/list)
  • Apktool:http://ibotpeaches.github.io/Apktool/(原网址:http://code.google.com/p/android-apktool/downloads/list)
  • jd-gui:http://jd.benow.ca/
然后我们把下到的工具放到同一个目录:如我放在D:\apkTools目录,重命名apktool为apktool.jar,因为下到的apktool带有版本号如apktool_2.1.1.jar;把其它工具解压
就得到


准备一个测试apk(eclipse或androidstudio打包,混淆文件为eclipse或androidstudio默认带的),如Test_android.apk,复制一个副本重命名为 Test_android.zip,然后解压,你就可以看到一些东西了,不过这种方式看到的大部分文件内容都是乱码,基本不可读。不过不用担心,通过apktool我们就可以得到除代码文件外的大部分刻可读文件了,具体步骤如下:
  1. apktool的路径配置到系统环境变量中,
  2. D:\apkTools>apktool d Test_android.apk(cmd命令行执行)


之后就得到反编译的Test_android文件夹,里面的资源文件基本和原文件一样,还原率超高。

不过对于java文件就看不了,因为这种方式得到的是.smali文件,必须通过另一种方式。如图

CMD:d2j-dex2jar ../Test_android.apk

经过这一步之后就生成了一个jar文件,在


之后用jd-gui.exe打开Test_android-dex2jar.jar,就得到了源代码,



最后奉上写此篇博文用到的最新工具,希望对大家有用!


Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐