反编译和重新打包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

更多相关文章

  1. 修改Android Studio默认配置文件路径
  2. Android XML文件中的@、?、@+的该怎么理解?
  3. android studio开发环境配置(指定SDK及卸载)附安装文件网盘地址(win
  4. Android编译过程总结及android中各种img文件的作用以及系统启动
  5. AndroidManifest.xml文件详解(manifest)

随机推荐

  1. Android(安卓)2.1 源码结构分析
  2. 虚拟键盘弹出时挡住EditText的解决方案
  3. Android剪切图片
  4. Android之使用ContentResolver对通信录中
  5. Android代码速查,写给新手的朋友们
  6. Android(安卓)Framework 动态修改机器型
  7. 丰富多彩的Android(安卓)onTouch事件
  8. android 更换皮肤项目
  9. android4.0创建AVD后,打开虚拟机黑屏问题
  10. android ndk安装是使用