反编译classes.dex的工具和方法有哪些
这篇文章给大家分享的是有关反编译classes.dex的工具和方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Dex是Android系统中可以在Dalvik虚拟机上直接运行的文件格式。java源代码经过ADT的复杂编译后转换成Dex文件,这是一个逐步优化的过程。Dex文件的指令码就是Dalvik虚拟机专有的一套指令集,专门为嵌入式系统优化过,相比标准java的.class文件,它体积小,运行效率高。纯手打!
反编译classes.dex的工具和方法
需要两个工具baksmali.jar和smali.jar,电脑需配置好java环境
Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。
可以去这里下载,也可以下载本帖附件:http://code.google.com/p/smali/downloads/list
方法:假如你将下载到的baksmali.jar和smali.jar放到F盘干目录下,请将此代码复制到记事本并另存为反编译.bat【注:本帖附件已包含编译/反编译bat文件,可以略去此步】
[url=home.php?mod=space&uid=31513]@echo[/url] off
f:
java -jar baksmali.jar classes.dex
复制代码
再将下面的代码复制另存为编译.bat
@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,签名即可。
感谢各位的阅读!关于"反编译classes.dex的工具和方法有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!