VisualSVN 破解

   Tool  SVN    Tool  SVN

备份VisualSVN.Core.L.dll

  • 地址:【C:\Users\obejct.yan\AppData\Local\Microsoft\VisualStudio\15.0_3acf4f69\Extensions\hgbjz5if.jep\VisualSVN.Core.L.dll】
    此为VS2017安装插件地址
  • 备份至新地址:【备份地址\VisualSVN.Core.L.dll】

反编译工具

  • 使用Windows自带反编译工具 ildasm.exe
  • 地址:【C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ildasm.exe】
    *注:此为 Window 10 64 bit 地址
  • 运行 ildasm.exe 并导入备份的DLL文件
    File > Open
  • 导出反编译文件
    File > Dump
    此处直接点击确定即可保存导出文件 VisualSVN.Core.L.il

修改 VisualSVN.Core.L.il 文件

找到 KeyToLicenseUnsafe 函数并替换如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
.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

生产新的 VisualSVN.Core.L.dll

1
ilasm "备份目录\VisualSVN.Core.L.il" /output="备份目录\VisualSVN.Core.L.dll" /dll

最后将新文件替换即可咯~
附上DLL文件

  1. 备份VisualSVN.Core.L.dll包
  2. 反编译工具
  3. 修改 VisualSVN.Core.L.il 文件
  4. 生产新的 VisualSVN.Core.L.dll
React Native 开发环境配置
.Net 使用 MemoryCache