您的位置:首页 > 编程语言 > Java开发

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

2013-06-03 00:00 295 查看
偶然间闲逛的时候发现了dex2jar这个开源项目,地址是http://code.google.com/p/dex2jar/

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

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

注意:其中jd-gui不仅可以打开.jar文件,将其转换成java源码,同时也可以将任何.class文件转换成.java的文件。

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

如果进行汉化

需要两个工具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,签名即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: