论坛首页 综合技术论坛

一个SVN Client工具的小手术

浏览 2478 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-01-12  
  最近有个小项目用SVN作版本控制(以前都用StarTeam,为了支持开源,选择了SVN),想找个好用的SVN客户端工具,以前用过小海龟,但不喜欢往资源管理器上加插件,本来资源管理器就已经够乱的了,还加插件,无法忍受!而且,系统重装后还得重装小海龟,麻烦!在网上搜罗好久,找到了SmartSVN,挺好的,只以专业版要钱。虽说基础版功能对于一般的用户也足够了,但追求尽善尽美一直是我的性格,于是去官网申请了一个专业版试用License。试用License在1月14日即将到期,该动动手术了。
  手术工具有两个:jshrink(2.39版)和rej(0.7版),如果不清楚这两个工具是啥东东的兄弟,请记住还有一个网站叫“google“,有一种方式叫“搜索”。
    首先,用rej打开smartsvn.jar包,查找关键字“expired”,然后根据再查找引用该关键字的地方,最后定位到校验Lincese签名的地方,查找过程很啰嗦就不多讲了,找到的位置是smartsvn.tG类中的
static private void a(al a1, java.security.MessageDigest m2)
方法,用jshrink反编译后如下:
  static private void a(al a1, java.security.MessageDigest m2) throws abp {
    byte[] b3;
    byte[] b4;
    int i6;
    b3 = a1.a();
    b4 = tG.a(m2, 16);
    Math.min(b3.length, b4.length);
    l5 = return;
    i6 = 0;
    while (i6 < l5) {
      if (b3[i6] != b4[i6]) {
        throw new abp("Invalid signature");
      }
      i6++;
    }
  }

看来只要想办法在while循环之前跳出方法就行了。于时再用rej打开,找到Math.min(b3.length, b4.length);语句,在它的下面增加一个“return”,然后保存。再到
“用户主目录\.smartsvn\3“目录下打开license文件(纯文本的),将其中的:
DemoUntil=2008-1-14
改为
DemoUntil=2010-1-14
,再启动SmartSVN,它提示过期日期是2010-1-14,成功了!SmartSVN不再校验License的签名,可以把试用版到期时间改为任意有效日期了。至此,手术算是基本成功了,可以无限期地使用SmartSVN的专业版功能了。
  前面我说过,追求尽善尽美是我的性格,每次启动喋喋不休地提示我是试用版本,累不累啊?!想办法除掉试用版提示。
  再用rej打开smartsvn.jar,再查找关键字“expired”,最后找到smartsvn.Ql类的static public String a(java.util.Date d1)方法,反编译后如下:
  static public String a(java.util.Date d1) {
    return new StringBuffer().append("Your Professional demo license will expire on ").append(java.text.DateFormat.getDateInstance().format(d1)).append(".").toString();
  }

试用版提示框上显示的就是这句话,只要找到引用这句话的地方,应该是说出提示框的位置吧,继续找,找到smartsvn.vf类的public final void a(dj d1)方法,反编译如下:
  public final void a(dj d1) {
    sW.b();
    d1.c(Ql.a(a), Ql.h());
  }

看来d1.c(Ql.a(a), Ql.h());这句就是烦人对话框的出生地了,用rej在这句话前加个“return”,保存,再启动SmartSVN,没再出现烦人的提示框了!在干净的天空下呼吸是如此地自由!!
  为了避免招来跟陈福寿一样的麻烦,我就不在这里贴手术后的smartsvn.jar包了。下面我贴一下我修改过的试用License、SmartSVN基础版和专业版界面截图。
  • 描述: SmartSVN专业版主界面截图
  • 大小: 43.5 KB
  • 描述: SmartSVN基础版主界面截图
  • 大小: 37.3 KB
  • smartsvn-3_0_5_crack.rar (1.3 MB)
  • 描述: smartsvn-3_0_5_crack.jar smartsvn3.0.5版手术摘除“肿瘤”过程记录
  • 下载次数: 189
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics