Dex 文件是Android上运行于delvik的java二进制文件,如果你对其中的内容感兴趣而开发人员没有公布源代码,你可以用如下方法反编译dex文件:

1 解压system.img

用xyaffs2解压system.img 等你所需要解压的img文件:

xyaffs2 img_file output_dir

xyaffs2可以从如下地址下载:

http://limodev.cn/download/xyaffs.tar.gz



2 从输出目录找到你感兴趣的apk包,用unzip解压apk文件包:

unzip ContactsProvider.apk



3 用dex2jar工具将解压后的文件夹中的classes.dex转换成jar文件:

dex2jar.sh classes.dex

或者

dex2jar.bat classes.dex

dex2jar的下载地址如下:

http://code.google.com/p/dex2jar/



4 用unzip解压jar文件:

unzip classes.dex.dex2jar.jar



5 用DJ java decompiler 反编译jar包中的class文件

DJ一般有图形化界面,操作很简单,可以单个文件反编译,也可以批量反编译。DJ的下载地址如下:

http://members.fortunecity.com/neshkov/dj.html

安装好之后,安装目录下有一个jad.exe文件,执行:jad -o -r -dF:/src -sjava F:/classes/**/*.class


-o- overwrite output files without confirmation (default: no) 无需确定覆写文件


-r- restore package directory structrure 恢复包目录结构


-s - output file extension (by default '.jad') 如果不设置为-sjava,则默认扩展名为.jad


其他的,F:/classes/**/*.class 中的两颗接连的星,表示任意层次的子目录。



6 用AXMLPrinter反编译xml文件:

java -jar AXMLPrinter2.jar AndroidManifest.xml AndroidManifest2.xml


AXMLPrinter的下载地址如下:

http://android4me.googlecode.com/files/AXMLPrinter2.jar

详细说明:http://android.662p.com/thread-4958-1-1.html

更多相关文章

  1. android/java 计算大文件的sha1值
  2. Android开发的文件格式概述
  3. Android 重新编译frameworks/base/core/res资源文件
  4. 反编译Android apk文件
  5. 第13天android:向sd卡写文件
  6. Android模拟J2ME的JSR75的文件管理开发

随机推荐

  1. Android第一行代码学习笔记Chapter1&2
  2. Android组件 子菜单(SubMenu)
  3. Android新特性之RecyclerView的简单使用
  4. Android开发指南(33) —— Multimedia an
  5. Android 4.0 虚拟按键、手机模式、平板模
  6. android日常问题及解决方案
  7. Android release 签名大包出错
  8. Android启动模式之singleinstance的坑
  9. android 4.0以上横竖屏切换不销毁activit
  10. Android开发之adapter