VisualSVN 5.1.5 破解版 手動破解教程 生成VisualSVN.Core.L.dll文件ide
附上本人用到的命令:工具
ildasm "D:\Program Files (x86)\VisualSVN\bin\VisualSVN.Core.L.dll" /out="D:\Program Files (x86)\VisualSVN\bin\bak\VisualSVN.Core.L.il"spa
ilasm "D:\Program Files (x86)\VisualSVN\bin\bak\VisualSVN.Core.L.il" /output="D:\Program Files (x86)\VisualSVN\bin\bak\VisualSVN.Core.L.dll" /dllcode
1.首先備份當前visualSVN安裝目錄文件bin裏面的VisualSVN.Core.L.dll文件,給本身留條後路。blog
2.用管理員權限打開VS命令提示工具,以下圖↓教程
3.打開後找到剛剛備份好的目錄,並找到文件VisualSVN.Core.L.dll,執行命令 ildasm 「備份文件目錄\VisualSVN.Core.L.dll」 /out=」備份文件目錄\VisualSVN.Core.L.il」,ip
這個時候會獲得一個後綴名爲.il的同名文件。ci
以下圖↓get
4. 用記事本打開獲得的 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::KeyToLicenseUnsafestring
5. 運行下面的代碼,看到successfully表示成功了。將從新編譯的dll文件覆蓋到安裝目錄中就OK了。
ilasm "備份目錄\VisualSVN.Core.L.il" /output="備份目錄\VisualSVN.Core.L.dll" /dll
6.將生成的VisualSVN.Core.L.dll文件替換bin目錄下的VisualSVN.Core.L.dll。