代码之家  ›  专栏  ›  技术社区  ›  Thorbjørn Ravn Andersen

有什么比jad更准确的反编译器可以让Eclipse摆脱<-未对齐->?

  •  4
  • Thorbjørn Ravn Andersen  · 技术社区  · 14 年前

    不幸的是,我已经看到越来越多的<-未对齐->注释潜入,这很可能是因为jad希望类文件是有序的,而java6运行时库显然不是这样。因此,在写入文件时,如果一条指令说“this is line 100”,则会写入99个空行,如果下一条指令说“this is for line 10”,则jad无法倒带以将该输出放在那里,而只是打印出一条注释,说明这是在错误的位置。

              protected HttpURLConnection(URL url, Proxy proxy, Handler handler1)
                {
    /* <-MISALIGNED-> */ /* 603*/        super(url);
    /* <-MISALIGNED-> */ /* 192*/        ps = null;
    /* <-MISALIGNED-> */ /* 196*/        errorStream = null;
    /* <-MISALIGNED-> */ /* 199*/        setUserCookies = true;
    /* <-MISALIGNED-> */ /* 200*/        userCookies = null;
    /* <-MISALIGNED-> */ /* 220*/        currentProxyCredentials = null;
    /* <-MISALIGNED-> */ /* 221*/        currentServerCredentials = null;
    /* <-MISALIGNED-> */ /* 222*/        needToCheck = true;
    /* <-MISALIGNED-> */ /* 223*/        doingNTLM2ndStage = false;
    /* <-MISALIGNED-> */ /* 224*/        doingNTLMp2ndStage = false;
    /* <-MISALIGNED-> */ /* 226*/        tryTransparentNTLMServer = NTLMAuthentication.supportsTransparentAuth();
    /* <-MISALIGNED-> */ /* 227*/        tryTransparentNTLMProxy = NTLMAuthentication.supportsTransparentAuth();
    /
    

    现在的问题是,是否有另一个反编译器生成更精确的输出行。实际的反编译并不需要非常出色,但是我非常喜欢Java堆栈跟踪视图所期望的反编译。如果它与Jadclipse配合得很好,那就更好了。

    3 回复  |  直到 14 年前
        1
  •  2
  •   RonK    14 年前

    调试的格式问题来自 jadclipse 而不是来自 jad . 杰德

    反编译工具安装 DebugAlignWriter

    if((align = getAlignTarget(aLine)) != -1)
    {
       if(align < curLine)
       {
          if(curLine != 0)
          {
              out.write(10);
          }
          out.write("/* <-MISALIGNED-> */ ");
          out.write(aLine);
          curLine++;
       }
       else if(align == curLine)
       {
          out.write(aLine);
       }
       else
       {
          for(; align > curLine; curLine++)
          {
              out.write(10);
          }
          out.write(aLine);
       }
    

    }

    基本上,它尝试从 .

    所以根本原因是 产生不一定按读取顺序的输出。不幸的是我不能解释为什么 杰德 这样做。根据 没有办法控制秩序。

    反编译工具安装 如果你 JadClipse->格式化->在打开大括号之前不插入换行符 -会的 减少 数量 /* <-MISALIGNED-> */

    另外,如果你检查了 选项它可以增加 /*<-未对齐->*/ 所以要避免。

        2
  •  1
  •   esandrei    13 年前

    JD-Eclipse

    它还没有“对齐调试代码”功能,但我自己添加了一个。我已经用了一年了。

    here . 更多细节自述文件.txt

        3
  •  0
  •   Peter DeWeese    14 年前

    推荐文章