您的位置:首页 > 其它

VISUALSVN 5.1.2 破解

2015-12-30 14:05 183 查看
在VS2012上安装VISUALSVN就费了好大的劲,没想到没用多久就提示我试用期要到了,原来还有这档子事儿啊。。。。

于是一上午的时间就游荡在网上搜索各种“破解”“补丁”,然而,并没有什么用。

最终凭借我的聪明才智自己成功破解了它,好吧,我也不知道成功没有,只是达到了教程的结果,主要是感谢这位啦(http://www.tuicool.com/articles/QnAFJv/),步骤都是照着他的来的,我在这里会写的详细一点。

当你的VISUALSVN提示你还有XX天就要过期的时候,你就可以这么干啦~~~

 

开始之前的友情提示:A:反编译的il文件最好不要放在dll文件同一目录下,可以新建一个文件夹放桌面或其他你自己觉得比较好找的地方,这样重新编译过后的dll文件就可以直接剪切过去。

B:不要打开VS2012

 

1.进入.NET Framework命令提示(其实这里我就找了好久,现在想想挺傻,不知道.NET
Framework命令提示符是个什么鬼);



2、输入: ildasm  “VisualSVN安装目录\bin\VisualSVN.Core.L.dll”
/out=输出路径文件名.il,回车,就可以在D:soft里看到生成的.il文件啦

 


3、把生成的.il文件拖进记事本或者是NotePad++里打开,找到KeyToLicenseUnsafe(class
VisualSVN.Core.IDecoderdecoder,string key)这个东西,大概在3377行的样子,找的时候最好是只复制KeyToLicenseUnsafe然后Ctrl+F,不然可能会找不到,我估计是那个换行符的原因。

 


4、本来是只有50多行的,我们要把它替换掉:

从3381行开始,到3420行结束,换成
.maxstack 2
.locals init (classVisualSVN.Core.Licensing.License V_0,
classVisualSVN.Core.Licensing.License V_1,
classVisualSVN.Core.Licensing.License V_2)
IL_0000: nop
IL_0001: newobjinstance void VisualSVN.Core.Licensing.License::.ctor()
IL_0006: stloc.1
IL_0007: ldloc.1
IL_0008: ldsfldvaluetype [mscorlib]System.DateTime [mscorlib]System.DateTime::MinValue
IL_000d: stfldvaluetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::StartTime
IL_0012: ldloc.1
IL_0013: ldc.i4.1
IL_0014: stfldvaluetype VisualSVN.Core.Licensing.LicenseBindingVisualSVN.Core.Licensing.License::Binding
IL_0019: ldloc.1
IL_001a: ldc.i40x7ffffffe
IL_001f: stfld int32VisualSVN.Core.Licensing.License::Capacity
IL_0024: ldloc.1
IL_0025: ldsfldvaluetype [mscorlib]System.DateTime [mscorlib]System.DateTime::MaxValue
IL_002a: stfldvaluetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::EndTime
IL_002f: ldloc.1
IL_0030: ldc.i4.2
IL_0031: stfldvaluetype VisualSVN.Core.Licensing.LicenseType VisualSVN.Core.Licensing.License::Type
IL_0036: ldloc.1
IL_0037: ldstr “100”
IL_003c: stfldstring VisualSVN.Core.Licensing.License::PurchaseId
IL_0041: ldloc.1
IL_0042: call string[mscorlib]System.Environment::get_UserName()
IL_0047: stfldstring VisualSVN.Core.Licensing.License::LicensedTo
IL_004c: ldloc.1
IL_004d: stloc.0
IL_004e: ldloc.0
IL_004f: ldloc.0
IL_0050: ldfldvaluetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::StartTime
IL_0055: stfldvaluetype [mscorlib]System.DateTime VisualSVN.Core.Licensing.License::PurchaseDate
IL_005a: ldloc.0
IL_005b: stloc.2
IL_005c: br.sIL_005e
IL_005e:ldloc.2 IL_005f: ret

 

 


这里我复制的他的代码结果编译的时候出现两个错误,一个是

IL_0037: ldstr “100”
双引号是中文,改成英文字符就好了;

还有一个是IL_005e:ldloc.2 IL_005f: ret
两个IL之间没有空格,也报错,添加一个空格就好了,再保存。

 

5、将改后的.il文件变异成.dll文件:

ilasm D:\soft\VisualSVN.Core.L.il /dll

 


 

得到的dll文件在.il文件的同一目录下,而生成的dll文件名就是我们需要的,就不用再改啦(注意:文件名一定是:VisualSVN.Core.l.dll)。

现在直接用生成的dll文件把安装目录下的同名文件覆盖掉就OK啦,然后再打开VS2012的VisualSVN---About,(我是重启电脑后再打开的)就变成这样的啦:

 


这也是原教程的结果,至少没再提示我还有XX天就过期啦。

不想自己动手的同志就直接去下载吧:http://download.csdn.net/detail/sinat_30907827/9383846
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息