好像不能直接该class文件吧!不过你不能把它反编译后改source嘛!

解决方案 »

  1.   

    好象不行把。这个就象exe文件的二进制代码一样,手工恐怕没办法改的。
      

  2.   

    可以修改也
    但是要熟悉jvm的规范,和java字节码,我以前曾经浅尝过和class文件的格式
      

  3.   

    怎么不可能,不是有牛指教写java的中间代码的吗?哈哈
      

  4.   

    我到是有一个jvm规范,不过很老。jvm1.01的。
    谁有新的?sun上的是网页,太多了。pdf的最好。
    我是想改inet opta 2000,
    使用jad1.57反编译。
    只能读逻辑,再次编译失败!
    关于重编译,见
    http://www.csdn.net/expert/topic/747/747596.xml?temp=.5202906
      

  5.   

    嘿嘿……
    我也想改.class文件!
      

  6.   

    可以修改class文件的,java核心高级特性那本书里面在讲到字节码验证的时候就使用过修改以后可以通过验证和不能通过验证的啊。其中一个例子是关于方法里面的局部变量没有初始化是不能编译通过的,但是修改class文件后可以达到这个效果,但是在运行时会有异常。
      

  7.   

    想直接修改class,前提是对字节码的意义非常的清除,结合javap可以很好的做到修改class,这些也仅仅是我通过使用javap和看书得到的理论上的结论。具体我也没有那么做过,一般都是反编译,这样来得快捷。
      

  8.   

    cherami(cherami):
    对,直接修改class只要符合jvm规范就可以了。
    直接反编译现在跟定时不能奏效的了,因为class已经针对反编译器进行了处理。
    那么,javap得到的编码,能编译成class么,怎么做?我没有找到资料,太少。