CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

100分求教JAVA混淆器和用法!

楼主lengfengzhuiyue(冷风追月)2004-11-04 10:54:01 在 Java / J2SE / 基础类 提问

100分求教JAVA混淆器和用法!想实现对CLASS代码实现加密而且加密后的程序不经解密还可以运行!!!哪位有好的例子? 问题点数:0、回复次数:10Top

1 楼trumplet(检查)回复于 2004-11-04 10:56:55 得分 0

用混淆器干什么?只想用别人的开源,不想....?Top

2 楼lengfengzhuiyue(冷风追月)回复于 2004-11-04 11:28:38 得分 0

to:trumplet(检查)谢谢!开源是对于程序员来说的!加密是对于用户来说的!再说这也是归学习用!你有好的方法吗?Top

3 楼sylmoon(专注Oracle)回复于 2004-11-04 11:35:57 得分 0

feel   interetingTop

4 楼qgl_fw()回复于 2004-11-04 11:48:29 得分 0

一、JADE的安装。  
   
  在我提供的那个页面的最下面有一行字:2.   Download   Setup.class    
   
  请下载这个Setup.class类文件  
   
  然后,在命令提示符下面,使用java   Setup.class运行,会出现一个图性化安装界面。  
   
  安装到x:\xxx\jade下面  
   
  然后在ClassPath里面设置x:\xxx\jade\lib  
  二、JADE的使用。  
  在命令提示符下面,使用命令java   Jade   +g(使用GUI图性化界面)  
   
  输入你的产品根目录(防止所有类的目录,好比是你resin\doc\web-inf\classes一样)  
  再添加所有的主要类(用来引用其他类的主要类,好比是所有的servlet)  
  点[继续]  
  会问你java和javax等类是否不进行处理,不要管它,继续点[继续]  
  接下来,会让你选择类文件内容搅乱的方式,推荐使用全部,点[继续]  
   
  在检查过类依赖性后,就会进入最最重要的环节,  
  在下方的搅乱将要框内,一定要把改类名这个勾勾去掉(因为,如果你的主类文件不止一个,类名字被改动了,整个就乱掉了,所以,不推荐修改类的名字)  
  然后,在Naming   space   for   obfuscation   name那个文本框里输入你想要做替换的字母列表,可以输入01或者输入oO  
  点[继续]  
  填写一个你希望输出的目录,在随便给配置文件起一个名字(日志文件),再点继续就ok了  
  Top

5 楼qgl_fw()回复于 2004-11-04 11:49:14 得分 0

README   for   JADE   1.0   Beta  
  Thank   you   for   using   Jade   1.0   beta   evaluation.    
   
   
  Jade,   Java   anti-decompiler,   is   designed   by   TDC,   Sun   Microsystems   corp.   It   is   used   to   protect   your   intelligent   right   of   your   Java   product.    
   
  0.   Getting   Start    
   
   
  0.1   How   to   install   Jade  
   
   
  Jade   is   a   self   extracted   package.   You   can   only   input   the   correct   password   "suntdc"   and   the   target   directory   you   want   to   install   Jade.    
   
   
  Jade   can   only   installed   with   JDK1.1.X   and   above.   Please   setup   your   JDK   environment   at   first,   then   run   "java   Setup".    
   
   
  This   excution   will   generate   the   following   directory   structure.    
  Your   Jade   root   dir/    
  -----------   |    
  -----------   +---------bin  
  -----------   |   ---------|  
  -----------   |   ---------+-----jade    
  -----------   |---------   |    
  ------   |   ---------+-----clsedit    
  -----------   |---------    
  -------+---------lib    
  -------|   ------   -   |    
  -------|   --------   +-----Jade.class    
  -----------   |   --------   |  
  -----------   |---------   +.......  
  -----------   |    
  -----------   +---------docs  
  -----------   -----------   |    
  -----------   -----------   +-----userguide-JADE.html    
  -----------   -----------   |  
  -----------   -----------   +.......    
   
   
  0.1   Config   Jade    
   
   
  Jade   has   a   bin   subdirectory,   you   can   add   /bin   to   your   path   environment   and   run   "jade......"   or   you   can   add   /lib   to   your   CLASSPATH   evironment   variable   and   run   "java   Jade   .....",   Both   are   ok.    
   
   
  Anything   about   how   to   run   Jade   please   see   the   user   guide   or   run   Jade   without   any   input   parameters.    
   
  1.   Resources   required.    
   
   
  1.1   Hardware    
   
   
  Jade   is   pure   Java   program,   it   can   be   run   anywhere.    
   
   
  1.2   JDK    
   
   
  Jade   command   mode   can   be   run   with   JDK   1.1.x   and   above,   while   Jade   GUI   uses   some   Swing   API   (javax.swing.*).   Jade   GUI   can   run   with   JDK1.2   or   JDK1.1.x   +   Swing(javax.swing.*).    
   
  2.   Download   Setup.classTop

6 楼qgl_fw()回复于 2004-11-04 11:49:50 得分 0

下载地址:http://cn.sun.com/download/jade/readme.html  
  Top

7 楼qingshan_001(青山)回复于 2004-11-04 12:10:42 得分 0

1.什么是混淆器?    
        由于Java程序运行时是动态连接的,因此编译成的目标文件中包含有符号表,使得Java程序很容易被反编译,混淆器可以打乱class文件中的符号信息,使反向工程变得非常困难。  
        2.现有的混淆器有什么问题?    
        现有的混淆器都是对编译好的class文件进行混淆,这样就需要编译和混淆两个步骤。并不是所有的符号都需要混淆,如果你开发的是一个类库,或者某些类需要  
        3.Java混淆编译器是如何工作的?    
        Java混淆编译器是在Sun   JDK中提供的Java编译器(javac)的基础上完成的,修改了代码生成过程,对编译器生成的中间代码进行混淆,最后再生成class文件,这样编译和混淆只需要一个步骤就可以完成。另外可以在源程序中插入符号保留指令来控制哪些符号需要保留,不需要单独的配置。  
        4.如何安装和运行JOC?    
        下载joc.jar   (http://www.apusic.com/product/cpsy.htm),运行java   -jar,joc.jar就可以启动Java混淆编译器,joc的命令行参数和javac完全相同,但增加   了一个新的参数-Xobfuscate,它的用法如下:    
                -Xobfuscate:<level>    
  其中<level>指定混淆级别,可以是以下几种级别:    
                -Xobfuscate:none                 不进行混淆    
                -Xobfuscate:private           对所有private访问级别的元素进行混淆    
                -Xobfuscate:package           对所有private或package   private元素进行混   淆    
                -Xobfuscate:protected       对所有private,   package   private,   protected元素进行混淆    
                -Xobfuscate:public             对所有的元素都进行混淆    
                -Xobfuscate:all                   相当于-Xobfuscate:public   如果使用-Xobfuscate不带级别参数,则相当于-Xobfuscate:package  
        5.如何使用符号保留指令?    
        除了在命令行用-Xobfuscate参数控制符号混淆级别外,还可以在源代码中使用符号保留指令来控制那些符号需要保留,符号保留指令是一个Java文档注释指令,可以插入在类和类成员的文档注释中,例如:    
                /**    
                  *   This   class   should   preserve.    
                  *   @preserve    
                  */    
                public   class   Foo   {    
                        /**    
                          *   You   can   specify   which   field   should   be   preserved.    
                          *   @preserve    
                          */    
                        private   int   x;    
                        /**    
                          *   This   field   is   not   preserved.    
                          */    
                        private   int   y;        
                        /**    
                          *   You   can   also   preserve   methods.    
                          *   @preserve    
                          */    
                        public   void   hello()   {}    
                        /**    
                          *   This   method   is   not   preserved.    
                          */    
                        private   void   collect()   {}    
                }    
  如果没有@preserve指令,则根据混淆级别及成员的访问级别来确定符号是否保留。            
  对于类的符号保留指令可以附带一个保留级别参数,来控制类成员的符号保留,包    
  括:    
                @preserve                         仅对类名进行保留,类成员的保留根据-Xobfuscate命令行参数决定    
                @preserve   public           保留所有public成员    
                @preserve   protected     保留所有public和protected成员    
                @preserve   package         保留所有public,   protected,   package   private成   员    
                @preserve   private         保留所有成员    
                @preserve   all                 相当于@preserve   private    
        6.JOC有哪些限制?    
        不支持分别编译,必须对所有的源文件进行混淆编译。  
   
  -----同学习,共提高-----  
     
  Top

8 楼lengfengzhuiyue(冷风追月)回复于 2004-11-05 11:21:19 得分 0

TO:qingshan_001(青山)   请问JOC怎么用呀!我用java   -jar   joc.jar   -Xobfuscate:all   Test.java后发现文件生成是IlIlIllIlllIIIlI.class请问这个文件怎么运行?还有怎么才能用JOC直接编译所有的文件?JAVAC不是只能编译一个文件吗?Top

9 楼lengfengzhuiyue(冷风追月)回复于 2004-11-05 11:24:04 得分 0

TO:   qgl_fw()   请问一下JADE怎么用呀!我根据你的方法操作到在检查过类依赖性后,就会进入最最重要的环节,  
  后就出提示了说主类错误路径错误的提示!但是我不用默认选择后是可以过!但是文件又没有被加密过!请问详细操作过程!!!我见过加密后生成的文件有的都是000ooo000这样的!怎么才能加密到这样而且还可以运行呀?Top

10 楼yz790724(想想)回复于 2004-12-13 21:31:19 得分 0

UPTop

相关问题

  • 请介绍一下java 的混淆器的用法,如jade,joc等
  • NET2003混淆器
  • 誰有java混淆器jade或joc,高分相送!!!!!!
  • java 混淆器 有谁在项目中用过吗?
  • 寻免费的效果不错的java混淆器。
  • 哪里能找到好用的java混淆器?
  • java的String类用法
  • 求教定时器用法!
  • Obfuscator(混淆器), you cannot program with it.
  • 请教java中的assert的用法

关键词

  • 编译
  • 文件
  • 编译器
  • 指令
  • 加密
  • 安装
  • 混淆
  • xobfuscate
  • joc
  • preserve

得分解答快速导航

  • 帖主:lengfengzhuiyue

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo