反编译后,我的Java文件包含字节代码

时间:2011-08-17 10:31:24

标签: java decompiling

我使用JD GUI Java反编译器反编译了jar文件。只有一个文件不包含实际的java代码,它包含字节代码....如何摆脱这个?

public String loginAtStartup(String cmd, String dn, String loginId,
String passwd, String tserver, String port, int retry) { 

// Byte code:
    //   0: getstatic
84\011com/ibm/nisource/softphone/SoftPhone:log\011Lorg/apache/log4j/Logger;
    //   3: new 196\011java/lang/StringBuffer
    //   6: dup
    //   7: ldc_w 439
    //   10: invokespecial
201\011java/lang/StringBuffer:<init>\011(Ljava/lang/String;)V
    //   13: getstatic
72\011com/ibm/nisource/softphone/SoftPhone:props\011Ljava/util/Properties;
    //   16: ldc_w 441
    //   19: invokevirtual
185\011java/util/Properties:getProperty\011(Ljava/lang/String;)Ljava/lang/String;
    //   22: invokevirtual
205\011java/lang/StringBuffer:append\011(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   25: ldc_w 443
    //   28: invokevirtual
205\011java/lang/StringBuffer:append\011(Ljava/lang/String;)Ljava/lang/StringBuffer;

我希望有java代码而不是这个...为什么这个字节码没有转换为Java代码?以及如何从中获取Java代码?

1 个答案:

答案 0 :(得分:3)

可能是.class文件已经obfuscated,并且一些反编译器在看到模糊代码并且无法正确反编译.class文件时会感到困惑。