【发布时间】:2011-04-23 08:10:02
【问题描述】:
现在我正在努力寻找最好的 java 反编译器,我找到了这些:
- http://java.decompiler.free.fr/
- http://www.reversed-java.com/fernflower/
- http://dj.navexpress.com/
- http://cavaj-java-decompiler.en.softonic.com/
使用这些反编译器,我可以处理此类的字节码:
public class ss
{
public static void main(String args[])
{
try{
System.out.println("try");
}
catch(Exception e)
{
System.out.println("catch");
}
finally
{System.out.println("finally");}
}
}
我得到了以下结果:
蕨花:
public class ss {
public static void main(String[] var0) {
try {
System.out.println("try");
} catch (Exception var5) {
System.out.println("catch");
} finally {
System.out.println("finally");
}
}
}
DJ Java 反编译器:
import java.io.PrintStream;
public class ss
{
public ss()
{
}
public static void main(String args[])
{
System.out.println("try");
System.out.println("finally");
break MISSING_BLOCK_LABEL_50;
Exception exception;
exception;
System.out.println("catch");
System.out.println("finally");
break MISSING_BLOCK_LABEL_50;
Exception exception1;
exception1;
System.out.println("finally");
throw exception1;
}
}
cavaj:
import java.io.PrintStream;
public class ss
{
public ss()
{
}
public static void main(String args[])
{
System.out.println("try");
System.out.println("finally");
break MISSING_BLOCK_LABEL_50;
Exception exception;
exception;
System.out.println("catch");
System.out.println("finally");
break MISSING_BLOCK_LABEL_50;
Exception exception1;
exception1;
System.out.println("finally");
throw exception1;
}
}
http://java.decompiler.free.fr/:
import java.io.PrintStream;
public class ss
{
public static void main(String[] paramArrayOfString)
{
try
{
System.out.println("try");
}
catch (Exception localException)
{
System.out.println("catch");
}
finally {
System.out.println("finally");
}
}
}
我看到反编译器的最佳结果:http://java.decompiler.free.fr/
为了测试,我写了非常简单的代码。你怎么看,写什么代码来测试反编译器?也许这个想法比 try{} catch(){} finally{} 更好?
【问题讨论】:
-
如果你在 OS X 上,我也会给 Jar Inspector 一个机会:codeland.org
-
@Brent Nash,不幸的是,Jar Inspector 不再维护,并且在 OSX Snow Leopard 下不起作用:(
-
请注意,java.decompiler.free.fr 将不再工作,该项目现在在jd.benow.ca
标签: java decompiler