1、解压apk文件:更改后缀名为.rar,使用相关软件解压;
2、还原.jar文件:
这一步需要用到一个工具 dex2jar (谷歌的代码库里有 http://code.google.com/p/dex2jar/)
下载完了,解压,然后把第一步的 产物(即那个classes.dex文件)放到 dex2jar的解压目录里
(解压目录里 有 dex2jar.bat 文件,检查一下,没有的话 说明目录不对)
cmd 命令行 ,目录切换到 dex2jar的目录下(linux 系统的话 执行那个 .sh文件)
“ dex2jar.bat classes.dex”
看到命令行 的 “Done” 之后, dex2jar 文件夹里 就会有“classes.dex.dex2jar.jar” 文件了,
这个就是 传说中的 jar包了
3、查看.jar文件:这一步就是反编译 ,需要工具辅助,我这里用到的工具是jd-gui(http://java.decompiler.free.fr/?q=jdgui)
下载相关软件并运行.exe文件,打开第2步生成的jar文件,即可查看反编译后的源代码
分析:
该方法未被混淆的代码可完全反编译出来,几乎是源码,只有细微不一样,但不影响阅读;
被混淆的代码就成了这样(如下图),类名完全变样,阅读混乱:
总结:
这种方法反编译文件是使用解压rar文件的方式获取资源文件的,因此能获取到图片的资源文件,但是布局、配置文件出现乱码,没有可读性;
想查看布局文件,可使用“一键apktool”工具,它可以完全编译出布局文件、配置文件和图片资源文件,缺点就是编译源码基本会出异常,我目前还没成功用它编译出源码;
Java反编译工具合集,使用性不强,没有成功使用,还得下载什么Java文件,我电脑上开发安卓明明具备Java的开发环境的呀,果断删除!