最近有个小项目用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
分享到:
- 2008-01-12 13:35
- 浏览 3463
- 评论(0)
- 论坛回复 / 浏览 (0 / 2478)
- 查看更多
相关推荐
SVNClient华为工具是一款专为华为公司内部开发和协作设计的版本控制系统客户端。Subversion(SVN)是一种广泛使用的集中式版本控制系统,它允许团队成员协同工作,跟踪代码更改,管理和恢复历史版本。华为SVNClient...
SVN(Subversion)是一种...总的来说,华为SVNClient作为一个定制化的SVN客户端,旨在提高华为内部团队的协作效率,提供便捷的版本控制体验。对于使用该客户端的开发者来说,理解SVN的基本概念和操作流程是至关重要的。
【mac华为SVNClient】是华为公司在Mac操作系统上推出的一款版本控制系统客户端,它相当于Windows平台下的QuidwayClient。SVN(Subversion)是一种广泛应用于软件开发中的版本控制系统,用于管理文件和目录的历史版本...
Subversion是一个开源的版本控制系统,用于跟踪文件和目录的更改,便于团队在软件开发过程中进行协同工作。 1. SVN基础概念: - 版本库(Repository):存储项目所有历史版本的地方。 - 工作副本(Working Copy)...
华为Windows SVNClient就是这样一个工具,它为开发者提供了图形化的界面,简化了与SVN服务器的交互过程。 该客户端支持的主要功能包括: 1. **代码提交**:用户可以将本地的代码修改提交到SVN仓库,保留每一次修改...
【华为SVNClient for mac 3.1.2.38】是一款专为苹果Mac操作系统设计...总之,华为SVNClient for mac 3.1.2.38为Mac用户提供了一个强大而便捷的版本控制解决方案,旨在提升开发效率,促进团队协作,保障项目的顺利进行。
华为SVNClient是华为公司推出的一款专为软件版本控制系统Subversion(简称SVN)设计的客户端工具,它主要用于协助开发者在华为的开发环境中进行代码版本控制和协同工作。SVN是一种分布式版本控制系统,可以帮助团队...
SVN Client是著名的集中式项目管理工具,可以满足项目团队友好的管理项目文档、代码、工具等,用户只要知道项目的地址、用户名、密码,即可与SVN Server进行项目的提交、更新、清除等操作,提升团队统一化管理的效率...
Virtual SVN Client 6.0.4 是一个专为Visual Studio 2017设计的版本控制系统客户端工具。它使得在Visual Studio开发环境中管理Subversion(SVN)仓库变得更为便捷。Subversion是一种开源的版本控制系统,用于跟踪...
"svnclient.rar"是一个包含SVN客户端工具的压缩包,可能是为了方便部署和配置部门内部的SVN环境。以下是关于SVN客户端及其配置过程的一些关键知识点: 1. **SVN客户端**:SVN客户端是用户与SVN服务器交互的界面,它...
Syncro SVN Client作为其图形化界面,提供了一个直观且用户友好的平台,使得开发者可以更方便地进行版本控制操作。 标题中的“v9”指的是该客户端的版本号,通常每个版本都会有性能改进、新功能添加或已知问题修复...
【标题】"svnserver(64)+svnclient(64)" 涉及的主要知识点是Subversion(简称SVN)的64位版本,包括服务器端(svnserver)和客户端(svnclient)。 Subversion是一种广泛使用的版本控制系统,用于管理软件项目的源...
SVN Client是著名的集中式项目管理工具,可以满足项目团队友好的管理项目文档、代码、工具等,用户只要知道项目的地址、用户名、密码,即可与SVN Server进行项目的提交、更新、清除等操作,提升团队统一化管理的效率...
它是一个免费的、开源的GUI工具,与Windows资源管理器无缝集成,使得用户可以通过直观的图形界面进行SVN操作。"TortoiseSVN-1.9.5.27581-x64-svn-1.9.5.msi" 文件是TortoiseSVN的安装程序,适用于64位Windows系统,...
Syncro SVN Client v8.1 破解。支持svn1.7!
综上所述,本资源提供的SVN Client汉化包及安装包是为Windows 64位用户提供便捷的版本控制工具,通过汉化,降低了操作门槛,提高了开发效率。正确安装和使用SVN客户端,对于任何参与软件开发的团队而言都是至关重要...
然后,`svn的使用教程.rar`是一个关于SVN客户端使用的教程,可能包含如何安装客户端、克隆(Checkout)仓库、提交(Commit)更改、更新(Update)最新版本、解决冲突(Merge Conflicts)等基本操作。对于开发者来说...
【标题】:“svn client 4.0”指的是Subversion(简称svn)客户端的4.0版本,这是一个在软件开发中广泛使用的版本控制系统。Subversion帮助团队管理代码版本,跟踪文件和目录的更改,并允许成员协作。 【描述】:...