.dex文件转换成.class文件
什么是.dex文件
dex文件是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据。 由于dalvik是一种针对嵌入式设备而特殊设计的java虚拟机,所以dex文件与标准的class文件在结构设计上有着本质的区别。 当java程序编译成class后,还需要使用dex工具将所有的class文件整合到一个dex文件,目的是其中各个类能够共享数据,在一定程度上降低了冗余,同时也是文件结构更加经凑,dex文件是传统jar文件大小的50%左右。 dex将原来class每个文件都有的共有信息合成一体,这样减少了class的冗余。
参考文章:将DEX反编译为Java源代码
(1)下载d2j-dex2jar 压缩包,解压,里面长这个样
(2)执行命令,第一个路径是指定生成jar的路径 第二个路径是目标.dex文件路径
d2j-dex2jar.bat -f -o D:/output_jar.jar D:/classes.dex
(3)可以将生成的jar作为zip解压,得到很多class文件
.class文件转成java文件
(1)下载jad工具,官网如下
JAD Java Decompiler Download Mirror
下载解压
(2)进入上图的位置,执行命令
第一个路径是生成结果的文件夹,第二个路径是目标文件或文件夹
单文件转换
jad -d D:/output -s java D:/Test.class
文件夹转换
jad -r -d D:/output -s java D:/test/**/*.class