阿熊
发贴: 0
积分: 0
|
于 2002-07-31 21:05
参考ror与dlking的贴子 一、在Linux安装的若干问题 1、可能是制作的时候为了加入Crack目录,盘上的link信息都丢掉了,导致内置的Linux/Solaris JRE无法运行,在Linux/Solaris下无法直接安装,需要用以下方法: 先安装一个JDK,最好是JDK 1.3.1_03,假设安装在/usr/java/jdk1.3.1_03下。然后,进入安装盘上的Linux目录,运行 ./ent_install.bin LAX_VM /usr/java/jdk1.3.1_03/bin/java 这是告诉Install Anywhere使用指定的Java VM。 2、在Linux下装完后,JBuilder7不能直接运行,因为JBuilder7自带的JRE已经被破坏了,需要修改{JBuilder7安装目录}/bin/jdk.config。 我的jdk.config: # Set the path for the JDK javapath /usr/java/jdk1.3.1_03/bin/java # Add the tools.jar addpath /usr/java/jdk1.3.1_03/lib/tools.jar .... .... 二、关于JBuilder7注册的问题 Crack目录下有个jbuilder.jar,用来替换{JB7安装目录}/lib/jbuilder.jar。按照.nfo的说明,应该这样做。其实,用于Crack的jbuilder.jar中只有一个文件被改过了,是com.borland.sanctuary.lm.mgr.Verifier.class。这个类是用来校验KEY文件是否合法,只要把这个类解出来,再制作一个很小的jar,放在{JBuilder7安装目录}/patch下就好了。 jar xvf jbuilder.jar com/borland/sanctuary/lm/mgr/Verifier.class jar cvf jb-lm-patch.jar com/borland/sanctuary/lm/mgr/Verifier.class cp jb-lm-patch.jar {JBuilder7安装目录}/patch Windows下方法类似。 其实,这次的Crack做的非常简单,只是将Verifier.class中的唯一的函数verify()的返回值变成了总是true,大可放心使用。下面是反编译的结果。 package com.borland.sanctuary.lm.mgr; import java.io.BufferedInputStream; import java.security.KeyFactory; import java.security.PublicKey; import java.security.Signature; import java.security.spec.X509EncodedKeySpec; import sun.misc.BASE64Decoder; public class Verifier { private static final String[] a ="MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAb6z4QfvW1HhomfbINOMAvWL3WxBOMLCtaau3KAaNrMuiKRfC/qcoOCJ44V1gSEJytYBy8CXzVsCKQI8MhxE1SfM7uWaTbKa+QvtFeGOhIvWUGR/soN/TkVm10m0Tkl+Wej2EiwiI9Pwj31qsLkqNVC8XPsF5nR+SgeDz4NqS9Gs=" }; public static boolean verify(SignedSlip signedslip, String string, int i) { boolean bool = false; try { BASE64Decoder base64decoder = new BASE64Decoder(); byte[] is = base64decoder.decodeBuffer(a[i - 6]); X509EncodedKeySpec x509encodedkeyspec = new X509EncodedKeySpec(is); KeyFactory keyfactory = KeyFactory.getInstance("DSA", "SUN"); PublicKey publickey = keyfactory.generatePublic(x509encodedkeyspec); byte[] is_0_ = base64decoder.decodeBuffer(string); Signature signature = Signature.getInstance("SHA1withDSA", "SUN"); signature.initVerify(publickey); BufferedInputStream bufferedinputstream = new BufferedInputStream(signedslip.toStream()); byte[] is_1_ = new byte[1024]; while (bufferedinputstream.available() != 0) { int i_2_ = bufferedinputstream.read(is_1_); signature.update(is_1_, 0, i_2_); } bufferedinputstream.close(); bool = signature.verify(is_0_); } catch (Exception exception) { System.err.println(exception.toString()); boolean bool_3_ = false; return bool_3_; } //Original code //return bool; return true; } } 现在已经出了一个注册机,也可以使用注册机注册。 三、使用JDK 1.4的问题 单单修改jdk.config是不够的,需要将jbuilder.config中的下面一行注释掉才行。 addbootpath ../lib/TabbedPaneFix.jar 这是我从borland的newsgroup中看到的。 不宜用JDK 1.4,否则class.insight有问题。 四、JBuilder7的新特性 相对于JBuilder6,这个新版加入了很多新特性。我比较关心的是Refactoring功能大大加强了,包括了Reformat、Extract Method等新功能。另外,Dependency Checker的问题也消失了,其它的改进也有不少。 JBuilder7的启动速度比JBuilder6快了一倍(在我的RedHat 7.3下),使用上也方便了不少,而且与OptimizeIt集成了,分析Java程序非常方便。 在文件中搜索东西方便了,在工具条的输入框中输入要查找的东西,回车,回车....方便。按F3也是一样的。 可以生成几种平台下的可执行的程序。例如Windows可以生成2种exe。一种带窗口,一种命令行方式运行的。这个功能挺不错的。以前还得找什么java2exe来,现在不用了!
|