前面手敲一些简要的软件说明:visualSVN server大家都不陌生,服务器上的版本控制系统,一般配套Tortoisesvn(小乌龟)使用。本次介绍的这个visualsvn属于VisualStudio的版本控制插件,可以直接在IDE中做版本控制,方便开发人员同步自己的项目。
解压文件中以及附赠好了破解后的.dll文件,安装好后直接覆盖就可以了。当然如果版本靠后也可以自己动手破解一下。本文提供的是5.1.7版本的破解DLL
下面开始附赠破解教程:
1.首先备份当前安装visualSVN文件的bin目录,万一出错还能反个水。一般默认安装路径是C:\Program Files (x86)\VisualSVN\bin
2.然后运行ildasm,Window中有自带的反编译ildasm工具,位于“C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\”。
3.用ildasm打开刚才备份的bin目录下的VisualSVN.Core.L.dll文件,单击文件菜单点击转储,如图
4.得到同名的il文件:VisualSVN.Core.L.il,用记事本打开得到的 VisualSVN.Core.L.il 文件,在其中搜索 “KeyToLicenseUnsafe”,找到KeyToLicenseUnsafe方法,大概在3188行附近。查找并替换成下面的代码,然后保存
.method public hidebysig static class VisualSVN.Core.Licensing.License KeyToLicenseUnsafe(class VisualSVN.Core.IDecoder decoder, string key) cil managed { // 代码大小 69 (0x45) .locals init (class VisualSVN.Core.Licensing.License V_0, class VisualSVN.Core.Licensing.License V_1, class VisualSVN.Core.Licensing.License V_2) IL_0000: nop IL_0001: newobj instance void VisualSVN.Core.Licensing.License::.ctor() IL_0006: stloc.1 IL_0007: ldloc.1 IL_0008: ldsfld valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::MinValue IL_000d: stfld valuetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::StartTime IL_0012: ldloc.1 IL_0013: ldc.i4.1 IL_0014: stfld valuetype VisualSVN.Core.Licensing.LicenseBinding VisualSVN.Core.Licensing.License::Binding IL_0019: ldloc.1 IL_001a: ldc.i4 0x7ffffffe IL_001f: stfld int32 VisualSVN.Core.Licensing.License::Capacity IL_0024: ldloc.1 IL_0025: ldsfld valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::MaxValue IL_002a: stfld valuetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::EndTime IL_002f: ldloc.1 IL_0030: ldc.i4.2 IL_0031: stfld valuetype VisualSVN.Core.Licensing.LicenseType VisualSVN.Core.Licensing.License::Type IL_0036: ldloc.1 IL_0037: ldstr "100" IL_003c: stfld string VisualSVN.Core.Licensing.License::PurchaseId IL_0041: ldloc.1 IL_0042: call string [mscorlib]System.Environment::get_UserName() IL_0047: stfld string VisualSVN.Core.Licensing.License::LicensedTo IL_004c: ldloc.1 IL_004d: stloc.0 IL_004e: ldloc.0 IL_004f: ldloc.0 IL_0050: ldfld valuetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::StartTime IL_0055: stfld valuetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::PurchaseDate IL_005a: ldloc.0 IL_005b: stloc.2 IL_005c: br.s IL_005e IL_005e:ldloc.2 IL_005f: ret } // end of method LicenseConverter::KeyToLicenseUnsafe
5.用管理员权限打开VS命令提示工具,如下图↓,我装的是VS2015
6. 运行下面的代码,看到successfully表示成功了。将重新编译的dll文件覆盖到安装目录中就OK了。
ilasm "备份目录\VisualSVN.Core.L.il" /output="备份目录\VisualSVN.Core.L.dll" /dll
7.然后运行你的VS就可以看到VisualSVN已经没有Lisence时间限制啦!
P.S. 下面是给懒人的福利了,这是5.1.7版本破解好的Dll,直接替换到安装文件的bin目录下就好啦
链接: https://pan.baidu.com/s/1sldixyt 密码: fjjj