反编译 Class 文件的工具——JAD
本文最后更新于:1 年前
Reference
jad.exe
选项 | 说明 | 描述原文 |
---|---|---|
-a | 以语句为单位生成 JVM 指令,显示语句 | generate JVM instructions as comments (annotate) |
-af | 注释时输出完全限定名称 | output fully qualified names when annotating |
-b | generate redundant braces (braces) | |
-clear | clear all prefixes, including the default ones | |
-d | 输出文件目录 | directory for output files |
-dead | try to decompile dead parts of code (if there are any) | |
-dis | 把以方法体为单位生成 JVM 指令,不显示语句 | disassembler only (disassembler) |
-f | 生成完全限定的名称 | generate fully qualified names (fullnames) |
-ff | output fields before methods (fieldsfirst) | |
-i | print default initializers for fields (definits) | |
-l | split strings into pieces of max | |
-lnc | 输出原始行号 | output original line numbers as comments (lnc) |
-lradix | display long integers using the specified radix | |
-nl | split strings on newline characters (splitstr) | |
-noconv | don’t convert Java identifiers into valid ones (noconv) | |
-nocast | don’t generate auxiliary casts | |
-noclass | don’t convert .class operators | |
-nocode | 不反编译方法体 | don’t generate the source code for methods |
-noctor | 不反编译空参数的构造方法 | suppress the empty constructors |
-nodos | turn off check for class files written in DOS mode | |
-nofd | don’t disambiguate fields with the same names (nofldis) | |
-noinner | turn off the support of inner classes | |
-nolvt | 忽略局部变量表条目方法的参数名、局部变量名都会被混淆 | ignore Local Variable Table entries (nolvt) |
-nonlb | 不要在大括号之前插入换行符 | don’t insert a newline before opening brace (nonlb) |
-o | 覆盖输出文件时不需要确认 | overwrite output files without confirmation |
-p | 在控制台输出不输出文件了 | send all output to STDOUT (for piping) |
-pa | prefix for all packages in generated source files | |
-pc | prefix for classes with numerical names (default: _cls) | |
-pe | prefix for unused exception names (default: _ex) | |
-pf | prefix for fields with numerical names (default: _fld) | |
-pi | pack imports into one line using .* (packimports) | |
-pl | prefix for locals with numerical names (default: _lcl) | |
-pm | prefix for methods with numerical names (default: _mth) | |
-pp | prefix for method parms with numerical names (default:_prm) | |
-pv | pack fields with the same types into one line (packfields) | |
-r | restore package directory structure | |
-radix | display integers using the specified radix (8, 10, or 16) | |
-s | 输出文件的扩展名 | output file extension (default: .jad) |
-safe | generate additional casts to disambiguate methods/fields | |
-space | 关键字 if、while 等 和表达式之间的空格 | output space between keyword (if, while, etc) and expression |
-stat | 显示已处理的类/方法/字段的总数 | show the total number of processed classes/methods/fields |
-t | 缩进使用的空格数 | use |
-t | 使用制表符而不是空格进行缩进 | use tabs instead of spaces for indentation |
-v | 把方法名在方法上面一行顶头打印出来 | show method names while decompiling |
-8 | convert Unicode strings into ANSI strings (ansi) | |
-& | redirect STDERR to STDOUT |
反编译 Class 文件的工具——JAD
https://weichao.io/be22ec3fbfaf/