zoukankan      html  css  js  c++  java
  • visual SVN 反编译破解

    今天发现visual SVN 过期了。网上搜索了一下,发现了下面的贴子。

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

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

      1. 安装 

    安装最新版的Visual SVN。

      2. 反编译

      使用reflector对安装目录下的binVisualSVN.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) 设置相应断点,根据需要调试即可

    我返编译了一个版本,目前是可以用的

    VisualSvn-4.0.12破解版.rar

    下载地址: http://pan.baidu.com/s/1c0cyEek

  • 相关阅读:
    .NET: 如何在宿主中动态加载所有的服务
    SharePoint : 自定义权限设置中可能遇到的问题
    在javascript中进行cookie的读写操作
    .NET : 如何读取数据库中的bmp图片数据
    Microsoft Security Essential
    利用ashx和ajax实现表格的异步填充
    IPV6
    Windows 7 : 开发人员资源
    SQL Server : 使用SQL Express的User Instance特性
    .NET : 如何在Windows Forms中使用DataRepeater控件
  • 原文地址:https://www.cnblogs.com/sjns/p/4632642.html
Copyright © 2011-2022 走看看