破解Visual SVN

  以前很少在visual studio中用直接用SVN,都在使用小乌龟,最后发现用多了,还是用个集成的插件比较好,虽然有个开源的,但感觉不太好用,还是visual SVN比较好用,以前也不想着自己去破解它,今天偶然在搜到文章

http://www.heiqu.com/show-71200-1.html

一看是用.Net写的,大喜,破解就太简单了。本来按照上文进行破解,结果有个问题,一直显示没有正确的license,于是开始更强的破解,其实是因为我对IL不熟悉,就开始用C#进行破解,以下是破解过程。

  1. 安装 

安装最新版的Visual SVN。

  2. 反编译

  使用reflector对安装目录下的bin\VisualSVN.Core.L.dll进行反编译,导出源代码。

  3. 使用visual studio打开源码工程

  搜索IsValid函数,找到LicenseValidator.IsValid函数,函数体内所有代码删掉,直接

   return true;

4. 生成license

  在LicenseConverter.cs文件中找到函数LicenseConverter.KeyToLicense( )函数,这个是添加license的时候点击OK按钮后执行的函数,要根据输出的key生成license,删掉所有代码,该函数改为:
public static License KeyToLicense(IDecoder decoder, string key)
{
License l = new License();
l.EndTime = DateTime.Now.AddYears(100);
l.Capacity = int.MaxValue/2;
l.LicensedTo = "My God";
l.LicenseId = new Guid();
l.PurchaseDate = DateTime.Parse("2012-12-31 0:0:0");
l.PurchaseId = "IDoNotKnowEither";
l.StartTime = DateTime.Now.AddYears(-100);
l.Type = LicenseType.Corporate;
l.Binding = LicenseBinding.Seat;
return l;

  }

然后再编译,生成DLL替换安装目录下的同名文件即可。

说说l.Capacity = int.MaxValue/2;,开始本来写的是int.MaxValue,后来发现代码里有对这个值的校验,于是就除了2,本来减1也可以,无所谓了,地球上都没那么多机器,随便写个值也够用了,如果感觉100年不够用的话可以自己去改,呵呵。


对插件DLL的调试方法:

1) 启动VS打开插件的源码,然后再启动一个VS

2) 在包含源码的VS进程中使用Debug->Attach to Process命令,然后选择另外一个VS进程

3) 设置相应断点,根据需要调试即可


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值