Ⅰ 什么是dex文件
dex文件是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据。
由于dalvik是一种针对嵌入式设备而特殊设计的java虚拟机,所以dex文件与标准的class文件在结构设计上有着本质的区别。
当java程序编译成class后,还需要使用dex工具将所有的class文件整合到一个dex文件,目的是其中各个类能够共享数据,在一定程度上降低了冗余,同时也是文件结构更加经凑,dex文件是传统jar文件大小的50%左右。
dex将原来class每个文件都有的共有信息合成一体,这样减少了class的冗余。
从宏观上来说dex的文件结果很简单,实际上是由多个不同结构的数据体以首尾相接的方式拼接而成。
(1)dexjar编译出来文件小扩展阅读:
Android的系统架构和其操作系统一样,采用了分层的架构。
从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
dex文件的作用:
dex文件的作用是记录整个工程(通常是一个Android工程)的所有类文件的信息。
dex文件的结构:
8位字节的二进制流文件;各个数据紧密排列,无间隙,减少了文件体积,加快加载速度;整个工程的类信息都存放在一个dex文件中(不考虑dex分包的情况下);同样地,可以通过010Editor来查看dex文件信息。
参考资料:网络-Android
Ⅱ dex转jar内存不足
dex转祥知jar内存不足的原因是文件太大谨和消。根据查询相关资料显示,dex转jar时文件太大会文件溢出,导致出现内存不足的现象。其解决办法是修改d2jinvoke.bat,多给点内存。使用dex-tools-2.1-SNAPSHOT版本,之前的版本不支持多dex。dex是电子交换器,数字交叉连接设棚枣备,就是常说的电子交换器。
Ⅲ dex2jar编译问题
你前面生锋陵成jar的时候就失败了 dex2jar.bat classes.dex 这一步没有成功。你要看打印的信息的可能兄基隐是你的dex版羡厅本比较低。
Ⅳ 如何利用dex2jar反编译APK
1、下载dex2jar和JD-GUI
2、找到我核顷们准备测试用的apk,并将 后缀.apk改为.zip
3、将test.zip解压,并查看目录,找到classes.dex
4、并将这个文件拷至dex2jar工具存放目录下桐嫌
5、打开控制台,使用cd指令进入到dex2jar工具存放的目录下改轮陆,如图
6、进入到dex2jar目录下后,输入“dex2jar.bat classes.dex”指令运行 执行完毕,查看dex2jar目录,会发现生成了classes.dex.dex2jar.jar文件
7、上一步中生成的classes.dex.dex2jar.jar文件,可以通过JD-GUI工具直接打开查看jar文件中的代码
Ⅳ 如何利用dex2jar反编译APK
1
下载dex2jar和JD-GUI,
2
找到我们准备测试用的apk,并将 后缀.apk改为.zip
3
将test.zip解压,并查看目录,找到classes.dex
4
并将这个文件拷至dex2jar工具存放目录下
5
打开控制台,使用cd指令进入到dex2jar工具存放的目录下,如图
6
进入到dex2jar目录下后,输入“dex2jar.bat classes.dex”指令运行
执行完毕,查看dex2jar目录,会发现生成了classes.dex.dex2jar.jar文件
7
上一步中生成的classes.dex.dex2jar.jar文件,可以通过JD-GUI工具直接打开查看jar文件中的代码
Ⅵ 如何利用dex2jar反编译APK
本篇讲述如何利用dex2jar反编译APK,笔者亲试可用,希望对大家有帮助
工具/原料
电脑
dex2jar
JD-GUI
方法/步骤
下载dex2jar和JD-GUI,在参考资料中添加了这两个工具的网络网盘下载地址供读者下载使用(笔者亲测)
找到我们准备测试用的apk,并将 后缀.apk改为.zip
将test.zip解压,并查看目录,找到classes.dex
并将这个文件拷至dex2jar工具存放目录下
打开控制台,使用cd指令进入到dex2jar工具存放的目录下
进入到dex2jar目录下后,输入“dex2jar.bat classes.dex”指令运行
执行完毕,查看dex2jar目录,会发现生成了classes.dex.dex2jar.jar文件
上一步中生成的classes.dex.dex2jar.jar文件,可以通过JD-GUI工具直接打开查看jar文件中的代码
Ⅶ 我把APK提出dex文件.dex文件编程JAR文件 Jar文件反编译成文件夹,文件夹里的class文件编程Java怎么变回去
这个应该是变不回模晌去了吧,反编译旦困锋.class之后得到的.java文件有很多错误,只能用来看看大概的程序代码。可以将.dex反编译成.smali(用apktool)然后根据.java的源码来修改.smali文件尺派,最后用apktool反编译.smali成.dex。