我知道这个问题已经被问了无数次了,但是我特别需要一个能够正确处理枚举类型(因为我正在反编译的jar包中使用了很多枚举)的反编译器。我测试了JAD和JD-GUI,它们都不能正确处理。
有人能推荐一个反编译器吗?最好能在Linux下工作,并且可以轻松处理整个jar包而不需要我编写shell脚本。
编辑: 具体来说,我遇到了这样的问题:
switch(myEnum) {
case A: ...
case B: ...
}
它们被反编译(无论是JAD还是JD-GUI)后,通常会呈现出以下样式:
switch ($SWITCH_TABLE$com$MyType()[myEnum.ordinal()]) {
case 1:
case 2:
}
其中$SWITCH_TABLE$com$MyType()
要么未声明,要么编译错误。