Android dex ,xml 文件反编译方法
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
最新文章
- pdf生成器
- [MongoDB]mapReduce
- img标签src=";";和background-image:url();引发两次请求页面bug
- ACM/ICPC 之 Prim范例(ZOJ1586-POJ1789(ZOJ2158))
- ACM: HDU 5418 Victor and World - Floyd算法+dp状态压缩
- JQuery知识快览之五—操作属性和结构
- JAVA EE企业级开发四步走完全攻略 [转]
- VS 2005部署应用程序提示“应用程序无法正常启动( 0x0150002)” 解决方案
- JNI与多线程
- button 自动刷新当前页面
- [CSS3] 学习笔记--CSS盒子模型
- js获取当前页面的URL并且截取?之后的数据,返回json
- Libgdx教程目录
- Mybatis源码之CallableStatementHandler
- 【最小生成树+子集枚举】Uva1151 Buy or Build
- 在IIS上搭建Exceptionless日志收集框架
- (最完美)小米平板3的USB调试模式在哪里开启的流程
- Thread中yield方法
- ubuntu 16.04 修正网卡与ifname对应关系
- Android基础总结+SQlite数据库【申明:来源于网络】