JBuilder7中有retroguard.jar,可以进行混淆,
也可以用joc.jar

解决方案 »

  1.   

    JB7:
    Project->Project Properties->Build->Obfuscate(check)
    JB就会自动用retroguard.jar来混淆了或到google上搜一下,找到joc.jarjava -jar joc.jar -Xobfuscate:private *.java
      

  2.   

    能否再如何使用上说的具体点
    另:joc.jar如何获得
      

  3.   

    我用java -jar joc.jar -Xobfuscate:public *.java命令把java文件编译成
    了如下的文件,那我怎么运行它呢
    lllIIIlIIlIIIIll.class
      

  4.   

    你的類名很奇怪啊~~~
    直接java lllIIIlIIlIIIIll就可以了啊,有什麼問題嗎?
    用joc.jar,不會把原來的java文件名改名的
      

  5.   

    如果参数是非public的则生成的class文件名没错
    但是如果为public的就不行 会出现lllIIIlIIlIIIIll.class
      

  6.   

    我发现了一个论坛,其中有很多人都遇到过这样的问题
    1.生成的文件名是lllIIIlIIlIIIIll.class,导致无法运行
    2.如果程序中用到javax等jdk中不包含的类,即便在classpath中
    设置了类包,执行java -jar joc.jar -Xobfuscate:public *.java
    还是找不到类
    我用jbuilder6试了混淆几个程序,但是效果不如joc好,用jad返编译
    后还是可以看懂程序还有没有更好的混淆器啊
      

  7.   

    1.可以用JB7,JB8再试一试(可能retrogruad.jar版本更高),还有就是源程序不需要用public方法的话,就尽量用private,我刚才用JB试了一下,效果还可以,变量也是一样。2.用joc.jar的话,我建议用java -jar joc.jar -Xobfuscate:private *.java,这样混淆的级别更高.j2se中也有javax的包,你用的是swing等包,还是j2ee或者其他非j2se的包?
    我刚才试着import javax.swing.*,还是可以build的