# dex2jar

## dex2jar软件包说明

dex2jar包括以下组件:

用于读取Dalvik可执行文件. DEX/.odex的dex读取器。 有一个与ASM相似的轻量级API。

-用于转换的dex翻译器。 以dex-ir格式读取dex命令,经过几个调整,转换为ASM格式。

– dex-ir在翻译器中使用,用于表示dex指令。

-深度工具。 处理. class文件。 例如,修改apk文件或模糊化jar文件等。

– d2j-smali [反汇编待发行dex文件并将其恢复为smali文件; 或者从smali文件编译到dex文件中。 与smali/baksmali不同,它的语法相同,但该工具支持desc类型的转义。 “Lcom/dex2jar\t\u1234; ”

– dex写入器[待发布]使用与dex读取器相同的方法写入数据。

原项目地址:3359 github.com/pxb 1988/de x2 jar /

dex2jar主页| [Kali的dex2jar项目](http://git.Kali.org/gitweb/?) p=packages/dex2jar.git; a=summary )

-作者:潘小博

-证书: Apache-2.0

### dex2jar包中包含的工具

通过调用# # # # d2j-jar 2d exdx将jar转换为dex

“““

root@kali:~# d2j-jar2dex -h

调用d2j-jar2dex –将jar转换为dex。

用法: d2j-jar2dex [参数]

参数:

-f,–force强制写作

-h,–help显示此帮助信息

-o,–output输出. dex文件,缺省路径为$ current _ dir/[ jar-name ]-jar 2d ex.dex

版本: 0.0.9.15

“““

# # d2j-jar-remap -重命名jar文件中的包(package ) /类(class ) /方法(method ) /域(field )

“““

root @ kali :~# d2j-jar-remap-h

d2j-jar-remap–重命名jar文件中的包(package ) /类(class ) /方法(method ) /域(field )

用法: d2j-jar-remap [参数]

参数:

-c,- -用于重构–config的配置文件。 必须指定此项目

-f,–force强制写作

-h,–help显示此帮助信息

-o,–output输出. jar文件。 缺省路径为$ current _ dir/[ jar-name ]-remap.jar

版本: 0.0.9.15

联机帮助文档:https://code.Google.com/p/de x2jar/wiki/deobfuscatejarwithdextool

“““

# # d2j-de x2 Jar将dex转换为jar

“““

root@kali:~# d2j-dex2jar -h

将D2J-DEX2Jar–DEX转换为jar

用法: d2j-dex2jar [参数] 0号文件[其他文件]

选项:

-d,- -调试信息翻译调试信息

-e,–exception-file具体的例外信息文件默认为$ current _ dir/[ file-name ]-error.zip

-f,–force强制写作

-h,–help显示此帮助信息

-n,–not-handle-exception不会捕获dex2jar抛出的异常

-o,–output输出. jar文件。 缺省值为$ current _ dir/[ file-name ]-de x2 jar.jar

-os,–optmize-synchronized同步调整

-p,–print-ir将ir输出到Syste.out

-r,–reuse–在生成reg Java.class文件时重用注册表

-s与–topological-sort/-ts相同

-ts,–topological-sort可以用拓扑逻辑组织块,生成更多的可读代码

-v,–verbose显示进展状况

:版阅读器-1.15、翻译器-0.0.9.15、ir-1.12

“““

# # de x2 jar此工具已弃用。 如果可能的话,请使用d2j-dex2jar

“““

root@kali:~# dex2jar

此工具已被弃用,若可能请使用d2j-dex2jar。

dex2jar 版本: 翻译器-0.0.9.15

dex2jar file1.dexORapk file2.dexORapk …

“`

### d2j-jasmin2jar–将.j文件编译为.class文件

“`

root@kali:~# d2j-jasmin2jar -h

d2j-jasmin2jar — d2j-jasmin2jar – 将.j文件编译为.class文件

用法: d2j-jasmin2jar [参数]

参数:

-e,–encoding 指定.j文件编码方式,默认是UTF-8

-f,–force 强制覆写

-g,–autogenerate-linenumbers 自动生成行号

-h,–help 显示此帮助信息

-o,–output 输出.jar文件,默认是$current_dir/[jar-name]-jasmin2jar.jar

版本: 0.0.9.15

“`

### d2j-jar-access–增加或移除jar文件中对类(class)/方法(method)/域(field)的访问

“`

root@kali:~# d2j-jar-access -h

d2j-jar-access — 增加或移除jar文件中对类(class)/方法(method)/域(field)的访问

用法: d2j-jar-access [参数]

参数:

-ac,–add-class-access 增加对class中内容的访问

-af,–add-field-access 增加对field中内容的访问

-am,–add-method-access 增加对method中内容的访问

-f,–force 强制覆写

-h,–help 显示此帮助信息

-o,–output 指定.j文件输出路径,默认是$current_dir/[jar-name]-access.jar

-rc,–remove-class-access 移除对class中内容的访问

-rd,–remove-debug 移除调试信息

-rf,–remove-field-access 移除对field中内容的访问

-rm,–remove-method-access 移除对method中内容的访问

版本: 0.0.9.15

“`

### d2j-asm-verify–校验jar文件中的.class 文件

“`

root@kali:~# d2j-asm-verify -h

d2j-asm-verify — 校验jar文件中的.class 文件

用法: d2j-asm-verify [参数] <0号jar文件> [其他jar文件]

参数:

-d,–detail 显示详细错误信息

-h,–help 显示此帮助信息

版本: 0.0.9.15

“`

### d2j-dex-dump

“`

root@kali:~# d2j-dex-dump -h

将.dex或.apk文件中的数据dump至out.dump.jar文件中

“`

### d2j-init-deobf–为反混淆jar文件生成初始化配置文件

“`

root@kali:~# d2j-init-deobf -h

d2j-init-deobf — 为反混淆jar文件生成初始化配置文件

用法: d2j-init-deobf [参数]

参数:

-f,–force 强制覆写

-h,–help 显示此帮助信息

-max,–max-length 若长度大于指定的最大值则进行重命名,默认最大值是40

-min,–min-length 若长度小于指定的最小值则进行重命名,默认最小值是2

-o,–output 输出.jar文件,默认是$current_dir/[file-name]-deobf-init.txt

版本: 0.0.9.15

“`

### d2j-apk-sign–用测试证书对apk文件进行数字签名

“`

root@kali:~# d2j-apk-sign -h

d2j-apk-sign — 用测试证书对apk文件进行数字签名。

用法: d2j-apk-sign [参数]

参数:

-f,–force 强制覆写

-h,–help 显示此帮助信息

-o,–output 输出.apk文件,默认路径是$current_dir/[apk-name]-signed.apk

-w,–sign-whole 对整个apk文件进行签名

版本: 0.0.9.15

“`

### d2j-jar2jasmin–反汇编jar文件中的.class文件至jasmin文件

“`

root@kali:~# d2j-jar2jasmin -h

d2j-jar2jasmin — 反汇编jar文件中的.class文件至jasmin文件

用法: d2j-jar2jasmin [参数]

参数:

-d,–debug 反汇编调试信息

-e,–encoding .j文件的编码方式,默认是UTF-8

-f,–force 强制覆写

-h,–help 显示此帮助信息

-o,–output .j文件的输出路径,默认是$current_dir/[jar-name]-jar2jasmin/

版本: 0.0.9.15

“`

### d2j-dex2jar用法示例

“`

root@kali:~# d2j-dex2jar /usr/share/metasploit-framework/data/android/apk/classes.dex

dex2jar /usr/share/metasploit-framework/data/android/apk/classes.dex -> classes-dex2jar.jar

“`