假设有个TestDecompile.apk
法一: 使用dexdump反编译
工具地址:AndroidSDK/platform-tools/dexdump
首先解压缩TestDecompile.apk
得到一个名为TestDecompile.apk_FILES的夹子,该夹子里面有个classes.dex文件。
有必要说下:classes.dex是java源码编译后生成的java字节码文件。
使用命令:dexdump classes.dex就可以,但是这样的结果是没办法看的。所以就有如下的方法.
法二: 特殊工具
工具1:dex2jar
简介:把dex文件反编译为jar文件的工具
地址:http://code.google.com/p/dex2jar/
工具:jdgui
简介:把jar反编译为java的工具
地址:https://java.decompiler.free.fr/?q=jdgui
解压缩下载的文件。
使用dex2jar解压缩后文件夹里面的dex2jar.sh(Linux下)将classes.dex转换为.jar文件。
命令:./dex2jar.sh ../TestDecompile.apk_FILES/classes.dex
可以得到classes_dex2jar.jar文件。
然后打开jdgui解压缩后文件夹里面的jd-gui文件,然后打开classes_dex2jar.jar就OK了。。。
既然反编译.apk文件如此简单,那么我们肯定需要代码混淆了,,在下一篇再总结。。。
参考文章:http://www.cnblogs.com/feisky/archive/2010/08/05/1793493.html
本文介绍了两种APK文件反编译的方法。第一种方法使用dexdump进行初步反编译;第二种方法则通过dex2jar将classes.dex转换为jar文件,再用jdgui将jar文件还原成可读的Java源码。
147

被折叠的 条评论
为什么被折叠?



