SaveTimeV2破解
来源:dnSpy破解.net注册码求助 - 『脱壳破解讨论求助区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn楼主破解了注册码,但是导入证书界面未破解。
使用楼主反混淆后的SaveTimeV2.dll,逐个form看,发现没有导入证书这个界面。在Ribbon1类中部分按钮事件中,发现如下代码
private void method_57(object sender, RibbonControlEventArgs e)
{
if (Operators.CompareString(ThisAddIn._lic.Lic.UserTag, "Yangruoxi2021", false) == 0)
{
new Form14().Show(new formTop(Class32.smethod_0().Hwnd));
return;
}
SimpleMsgBox.Show("您还不能使用高级功能,请联系作者购买使用", "Savetime提示", SimpleMsgBoxBase.MsgBoxButtons.OkCancel, SimpleMsgBoxBase.MsgBoxStyles.Error);
ThisAddIn._lic.ShowDialog();
}
是使用ThisAddIn._lic.Lic.UserTag,和字符串 "Yangruoxi2021"进行比较
查找 Licencer 类,在Mira.dll中,使用de4dot脱壳后,基本是明文了。
由于是比较固定的字符串,转到LicInfo类中
public string UserTag
{
get
{
}
set
{
}
}
直接修改为
public string UserTag
{
get
{
return "Yangruoxi2021";
}
set
{
}
}
保存后,替换原dll。运行成功。
其实函数,基本已经写明了授权文件验证方法,反向生成即可
public bool CheckLicense()
{
this.ReadLic();
if (this.Lic == null || this.Lic.Tag == "Err")
{
this.LicCode = Licencer.LicCodes.NoLicErr;
return false;
}
if (this.Lic.RegID != this.Get32MD5(this.UserID))
{
this.LicCode = Licencer.LicCodes.LicIdErr;
return false;
}
DateTime now = DateTime.Now;
if (now < this.Lic.RegTime)
{
this.LicCode = Licencer.LicCodes.LessRegTimeErr;
return false;
}
if (now < this.Lic.LastRunTime)
{
this.LicCode = Licencer.LicCodes.LessLastRunTimeErr;
return false;
}
this._lic.LastRunTime = now;
if (now > this.Lic.StopTime)
{
this.LicCode = Licencer.LicCodes.LicOverdueErr;
return false;
}
this.LicCode = Licencer.LicCodes.NormalLic;
return true;
}
看了半天也没懂?还是看了原贴21楼
ReadLic方法有个catch,在这里可以做点儿手脚。
this._lic = new LicInfo(this.GetLicenseID(), this.SoftName, DateTime.MaxValue, "", "Yangruoxi2021");
即可解锁所有功能。
试试看看吧 支持一下! 我在那个回帖里面已经有说明了,明眼人一看就能明白咋回事,只不过不发成品而已,嘻嘻 支持一下! 谢谢分享。 学习了,感谢分享
好东西学习了 谢谢分享,学习下
页:
[1]
2