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

  • 相关阅读:
    复杂报表的存储过程
    Jquery中使用setInterval和setTimeout
    Jquery EasyUi实战教程布局篇
    枚举enum
    myGeneration代码生成器
    带有分页的存储过程
    应用临时表的存储过程
    缓存类的写法
    HDU4706 Children's Day
    HDU4706 Children's Day
  • 原文地址:https://www.cnblogs.com/sjns/p/4632642.html
Copyright © 2011-2022 走看看