Topic: JADE是一个保护Java产品以防止其被反编译的工具 |
Print this page |
1.JADE是一个保护Java产品以防止其被反编译的工具 | Copy to clipboard |
Posted by: 阿熊 Posted on: 2002-10-06 10:16 Java特点 Java的设备独立性使得软件实现了“一经编写,随处运行” 。Java的面向网络的特点赋予了计算机更高的能力。Java平台从它一开始产生就是最重要的软件开发平台。 Java软件分配的单位是类。单个的类是指一个类文件。类文件由Java编译器产生,能够装入到任何Java虚机---- 一种翻译器,能够把普通Java平台指令转换成适当的命令,使得设备能够工作。 这是由Java虚机技术来完成的。为实现这一目标,Java虚机必需解释。Java虚机解释时有类的验证器来保证正在运行的类和它自身的整体性。但是静态类就不是那么安全了。有一些工具能把Java类文件反编译以获取机密。目前,全球很多的应用在商业的软件是用Java编写的,保护这些关键的软件变得比以前更重要。 Java软件面临的挑战 目前,由于黑客的频繁活动,使得Java类文件面临着反编译的挑战。有一些工具能够对Java源代码进行反工程,其结果甚至以比普通Java文件更可读的方式, 尽管普通的Java文件(由于代码风格不同)有注释。许可证和软件过期对于用户们来说将变得无用 。因此,防止软件被反编译或使得反编译的结果变得无意义对于Java来说非常重要。 一个Java类文件不一定非要存储在一个真正的文件里;它可以存在存贮器缓冲区,或从一个网络流获得。尽管防火墙和网络协议如TCP/IP有安全策略,黑客仍能打破访问限制获取一些类。尽管这些类能被混淆,他们(黑客)能够一步一步地分析和猜出每个指令的目的。如果这些代码是关键技术部分,例如是大产品的许可证或时间期满部分,反编译和分析指令的努力似乎很值得。如果这些关键类被隐藏或被一个关键字加密,黑客的非法入侵就很困难了。而且,未认证的软件复制对智能产权是普遍的攻击。还没有一个较好的通用方案来解决这类问题。 JADE就是为解决上述问题而设计的。我们用JADE来封装软件,为每个许可证指定一个钥匙,任何人没有这个钥匙不得安装该产品。 JADE的贡献 JADE是能够解决上述问题和能满足用户在这方面需要的第一个工具。它由五部分组成:混淆器、加密器、封装器、类编辑器和输出工具。 混淆器能够保护软件使之不被反编译。它通过混淆类文件使得反编译无效,并把敏感的名字指代变成另一个名字空间,这样可以使反编译的结果毫无疑义。混淆器有“完全”和“快速”两种选项,能处理任何Java产品包括API,应用程序和小程序。它遵从Java虚机规范。 加密器隐藏和加密用户产品的主类,处理的结果是一个类文件。它为编码和反编码提供了提供了一个界面。JADE有一些类用DES完成这个界面。加密和解密的过程对于用户来说是透明的。用户感觉不到使用原始的主类和使用处理后的结果类有什么不同。当然,用户也可以不加密地处理这些主类和产品。 封装器不仅仅处理类文件,它还隐藏和加密在产品根目录下的其它文件。它封装产品并只产生一个类。软件厂商把这个类销售给用户,用户将运行这个类文件,安装买来的软件。封装器使用和加密器相同的安全类。 对于高级Java开发人员,JADE还提供了一个叫做“类编辑器”的工具。它能够直接修改类的代码字节。类编辑器也是一个独立的应用程序,它将把所有的结果生成到jar格式的的文件里。 输出工具把所有的结果生成到一个jar个是的文件中生成到一个jar格式的文件中,这个文件能够被其它的压缩工具如Unzip, Winzip和Jar处理。 JADE是由上面的工具集成起来的应用程序,它由纯Java语言编写。这些应用既能够在命令行下运行,也可以在图形界面环境下交互使用。用户可以分别使用这些功能,也可以按下图中的序列运行一组特征。JADE允许用户把配置参数存到一个文本文件里,并可以编辑它。这样,下一次只要装入该配置文件就可以在相同的参数下运行了。 JADE 是由 Sun 中国技术开发中心开发。 |
2.Perfect product [Re: zua] | Copy to clipboard |
Posted by: menzy Posted on: 2002-12-06 13:29 This product is supplied by Sun, and it has existed for 3 years. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |