最近VisualSVN 1.3.2出来了,trial是30天试用。Reflector反汇编分析了一下代码,采用了xor和md5公私密钥双重加密,由于无法知晓密钥(公钥在VisualSVN.VS.Interface.dll的资源public里),无法制作keygen。
找了几个切入点,都不理想,后来发现更改LicenseConverter.KeyToLicense是个不错的切入点,不管什么情况都产生一个有效的License。
License l = new License();
l.Binding = LicenseBinding.Seat;
l.Capacity = 999;
l.EndTime = DateTime.Now.AddYears(2);
l.LicensedTo = "tong";
l.LicenseId = Guid.NewGuid();
l.PurchaseDate = DateTime.Now.AddDays(-10);
l.PurchaseId = "shareit:1";
l.StartTime = DateTime.Now.AddDays(-2);
l.Type = LicenseType.Corporate;
l.Version = 2;
简单测试了一下可用。
找了几个切入点,都不理想,后来发现更改LicenseConverter.KeyToLicense是个不错的切入点,不管什么情况都产生一个有效的License。
License l = new License();
l.Binding = LicenseBinding.Seat;
l.Capacity = 999;
l.EndTime = DateTime.Now.AddYears(2);
l.LicensedTo = "tong";
l.LicenseId = Guid.NewGuid();
l.PurchaseDate = DateTime.Now.AddDays(-10);
l.PurchaseId = "shareit:1";
l.StartTime = DateTime.Now.AddDays(-2);
l.Type = LicenseType.Corporate;
l.Version = 2;
简单测试了一下可用。