Android 反编译
引文: http://www.cnblogs.com/huyipeng/archive/2010/07/25/1784679.html
借言....[总结反编译主要的目的在于学习。利用反编译进行相关的汉化或修改,还是尽量不要吧,毕竟人家写个程序不容易啊!]
第一种:
通过dex2jar工具进行反编译。(dex2jar:http://code.google.com/p/dex2jar/downloads/list 查看Jar包的GUI工具:http://java.decompiler.free.fr/?q=jdgui)
反编译步骤:
1、下载一个.apk程序安装包,将其文件名*.apk改为*.rar后进行解压。我这儿是将南方周末的读报器进行反编译的。
2、 把其中的class.dex拷贝到dex2jar.bat所在目录。运行dex2jar.bat class.dex,将会在其文件夹下生成classes.dex.dex2jar.jar。
3、可以将jar文件重新命名后拷贝到GUI文件夹下,运行JD-GUI工具(它是绿色无须安装的),打开上面的jar文件,即可看到源代码。
与第一种方法相比较,该方法生成的文件全面,代码整齐,虽然有些中文会出现乱码,id等全部是数字代替,但整体结构很完整,不错。
类似的工具还有Dedexer(http://sourceforge.net/projects/dedexer/files/)
具体的应用代码为(先进入jar包所在路径):
java -jar ddx.jar -d <directory> <dex file>
可以再其中加入-o,这样可以生成一个介绍文件内部结构的日志文件。