我用反编译工具反编了一个系统中的两个class文件, 如果直接把原来的这两个class文件删掉, 把反编后得到的java文件直接拷到该目录下, 系统还能正常运行吗?因为我无法将java文件再编绎成class文件.

解决方案 »

  1.   

    我认为不能,
    我感觉系统中起作用的都是编译好的.class文件,.java文件基本没用,如果把.class删了,即使保留有对应的.java文件,系统也不会自动给编译成.class文件来用。
    我是入门级新手,这只是我的感觉,不知道对不对,也没验证过,期待高人点评
      

  2.   

    假设现在得到的就是源码,如何让它能正确运行,或者如何再编译成class, 很多个包找不到
      

  3.   

    很多包找不到,那你就看少什么包就加什么包吧,反编译后的java文件真的很难看的
      

  4.   

    系统可能不会正常运行。反编译工具只是用来进行代码参考的,即使把反编译的java文件编译成class文件,这个class文件与原class文件是会存在差异的,特别是包和异常。反编译工具得到的代码会加上很多无用的东西。你可以自己试一下,比较一下最简单的“HelloWorld”与一个复杂的程序,把它们编译成class,再用反编译工具编译class文件得到的java文件,比较得到的“HelloWorld”的java文件与原“HelloWorld”文件,会发现基本上差不多,只是反编译得到的“HelloWorld”的java文件在头部多了些解释。复杂的程序就不同了,会存在很大差异。自己试试吧。