建议先用JAD反编译,然后对不能通过编译的class用DJ反编译,再不行就只有自己动手抠代码了。嵌套类反编译出来的文件通常没有用,可以直接删掉。凡是稍微大一点的程序,几乎没有说可以直接反编译出来就通过编译的,很多地方需要自己修改,不要想偷懒了。goto语句通常是用来实现循环的,跟着语句逻辑走一遍就知道怎么写回原来的循环语句。最糟糕的情况,在代码中会夹杂Java汇编指令,网上可以找到Java虚拟机的指令集,遇到这种情况就对照指令集的说明写出功能相同的语句吧。

解决方案 »

  1.   

    请介绍更好的反编译编译工具,要能直接对特定目录下的所有包和文件反编译,最好是exe而非命令行程序,谢谢!
      

  2.   

    小颖Java源代码反编译超级引挚V1.4版能反编译整个目录的class
    而且不是命令行的
      

  3.   

    我一直信赖JAD,蛮不错!
    其他的也差不多。其实命令行,你只要记住jad -sjava不就行了吗?
      

  4.   

    goto的我认为都是switch-case, 
    因为只要前面一个case进去了而没有break,后面的那个case也会跟着走到,这个流程和goto的完全一样