反编译和重新打包Android的dex文件

  反编译和重新打包Android的dex文件需要用到两个jar包,可访问 http://code.google.com/p/smali/ 地址去下载(如果地址没变的话),这两个文件分别是 baksmali-1.2.6.jar 和 smali-1.2.6.jar (后面跟的是版本号;当前版本为1.2.6)。作用和使用方法如下:




一、baksmali-1.2.6.jar

(1)作用:用于反编译 dex文件的。执行反编译后会在当前目录下产生一个 out 文件夹,这个文件夹中的资源(全部是扩展名为 .smali 的文件)即是反编译结果。

(2)使用方法: java -jar baksmali-1.2.6.jar classes.dex   (尾部的dex文件是使用压缩工具[如WinRAR]从apk文件中释放出来的)




二、smali-1.2.6.jar

(1)作用:用于将smali资源(即:smali文件或包含smali文件的目录)重新打包为dex文件。

(2)使用方法: java -jar smali-1.2.6.jar out  (尾部的out即为前面反编译dex文件时所产生的目录名;执行后产生一个out.dex文件,将其重命名为classes.dex并替换掉apk文件中的同名文件即完成重新打包Android的dex文件)




三、余尾

        结合使用这两个jar包,可以反编译dex文件,也可以将反编译结果重新打包为dex文件。那么在重新打包之前,可以进行一些操作,以完成类似“软件汉化”的目的;当然,也可以有其他不可告人之目的,呵呵。。。

http://www.hiapk.com/bbs/thread-59184-1-1.html

你可能感兴趣的:(thread,html,android,Google,bbs)