Visual SVN 4.0.8破解筆記


想下載打包好的破解補丁直接到文章底部查看鏈接。

以前一直使用SVN都是用的小烏龜(TortoiseSVN)直接在文件夾下更新上傳,直到現在這個項目才開始用Visual SVN。因為我們項目使用的是VS2012,所以不得不使用當時最新的Visual SVN版本4.0.8,Visual SVN最大的好處就是在VS程序中內置菜單等,可以直接在VS中更新工程。

但是,用着用着問題來了,Visual SVN不是免費的,有試用期…本着只要有收費,就會有破解的思想,我開始在網上瘋狂的尋找破解補丁。然而,我承認我的懶惰是沒有辦法得逞的。因為當時版本還比較新,網上並沒有網友共享出來的破解包,但是卻有一些破解方法。因此我只好跟着破解方法一點一點嘗試,結合多重情況,終於成功破解。下面放出我的破解過程。

首先,我找到了一篇13年的文章,我覺得還挺靠譜的《VisualSVN破解》(http://www.cnblogs.com/poissonnotes/archive/2013/09/06/3304802.html),可是在我嘗試過以后發現,沒有效果…然后堅持不懈的我繼續找…又找到11年的一篇文章,盡管11年的,但是破解思路是不一樣的,而且看起來還比較靠譜《破解Visual SVN》(http://blog.csdn.net/nocky/article/details/6781179)。我又嘗試,失敗-_-!!你能忍嗎?我忍不了了!我又開始嘗試在網上找破解補丁,終於,找到了一個4.0.7的補丁,我想,這應該可以用了吧,可是現實又把我打敗了,依然不行。最后我嘗試總結之前的破解,嘗試我自己的思路。下面才是正題,開始破解:

1. 進入.NET Framework命令提示符(從程序里面的Visual Studio Tools里面可以找到),輸入: ildasm “VisualSVN安裝目錄\bin\VisualSVN.Core.L.dll” /out=輸出路徑文件名.il

如:ildasm “D:ProgramFiles\VisualSVN\bin\VisualSVN.Core.L.dll” /out=D:\file\VisualSVN.Core.L.il

2. 文本編輯器打開剛才輸出的il文件,查找:

KeyToLicenseUnsafe(class VisualSVN.Core.IDecoder decoder,
string key)

將該方法括號內的代碼體對應的鍵值對替換如下:

.maxstack 2
.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

保存。

3. 回到命令行輸入”ilasm 剛才的il文件 /dll”

例如:ilasm D:\VisualSVN.Core.L.il /dll

 

4.編譯得到新的dll重命名后覆蓋原VisualSVN.Core.L.dll。

5.破解完畢,打開VS.NET,點擊VisualSVN菜單->About。效果呈現在你眼前。

SVN About

PS:已編譯好的破解補丁請自行下載:http://download.csdn.net/detail/qq369749721/8115001

我的博客地址:http://90itboy.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM