将apk文件中的classes.dex反编译成java源码

偶然间闲逛的时候发现了dex2jar这个开源项目,地址是http://code.google.com/p/dex2jar/html

支持把classes.dex 转换成jar文件,在利用jd-gui将jar翻译成java源码,地址是http://java.decompiler.free.frjava

步骤很简单,这里就不累赘了,dex2jar下有个叫作dex2jar.bat的文件,cmd下面以下运行 dex2jar.bat classes.dex(若是在ubuntu下,请使用 dex2jar.sh) 这样就会在同目录下生成classes.dex的jar文件了,我try了下,效果很是好ubuntu

注意:其中jd-gui不只能够打开.jar文件,将其转换成java源码,同时也能够将任何.class文件转换成.java的文件。工具

转载至:http://www.open-open.com/lib/view/open1329489747389.htmlui

若是进行汉化google

须要两个工具baksmali.jar和smali.jar,电脑需配置好java环境 能够去这里下载,也能够下载本帖附件:http://code.google.com/p/smali/downloads/list 方法:假如你将下载到的baksmali.jar和smali.jar放到F盘干目录下,请将此代码复制到记事本并另存为反编译.bat【注:本帖附件已包含编译/反编译bat文件,能够略去此步】翻译

<!-- lang: java -->
@echo off
f:
java -jar baksmali.jar classes.dex


@echo off
f:
cd f:
java -jar smali.jar out

而后你将须要反编译的classes.dex也放入F盘根目录,点击反编译.bat。你会看到弹出的DOS窗口,几秒钟后窗口自动关闭,并在F盘下生成一个out的文件件。这里面有不少.smali的文本文件,咱们所要汉化的非标准资源就隐藏在其中。等你修改翻译完成后,再点击编译.bat,稍等一刻儿,F盘根目录下就会生成编译后的新文件out.dex,你将其更名为classes.dex,打包进apk,签名便可。code

相关文章
相关标签/搜索