论坛某大神分析过程,自己已知加密解密算法都在这两个函数里面,怎么寻找算法,!!!请大家具体教程解法!
encryptionHelper.DecryptString
encryptionHelper.EncryptString
附件奉上
[C#] 纯文本查看 复制代码 private void CheckLicense() //就是这个函数
{
XmlDocument xmlDocument = new XmlDocument();
try
{
this.getRNum();
bool flag = Data.LocalMachine.Contains(Data.MachineString);
if (flag)
{
Data.HasLicense = true;
}
else
{
EncryptionHelper encryptionHelper = new EncryptionHelper();
xmlDocument.Load(Application.StartupPath + "\\Key.xml");
XmlElement xmlElement = (XmlElement)xmlDocument.DocumentElement.GetElementsByTagName("License")[0];
List<string> list = encryptionHelper.DecryptString(xmlElement.InnerText).Split(new char[0]).ToList<string>();
bool flag2 = !(Data.MachineString + "k").Equals(list[0]);
if (flag2)
{
this.button_KaiJiang.Enabled = false;
this.button_StartZhu.Enabled = false;
this.button_StopZhu.Enabled = false;
this.textBox_Error.Text = "机器码:" + Data.MachineString;
this.textBox_Error.Visible = true;
}
else
{
int num = DateTime.Now.DayOfYear + (DateTime.Now.Year - Convert.ToDateTime(list[1]).Year) * 365 - Convert.ToDateTime(list[1]).DayOfYear;
bool flag3 = num >= 0;
if (flag3)
{
int num2 = Convert.ToInt32(list[2]) - num;
bool flag4 = num2 < 0;
if (flag4)
{
num2 = 0;
}
string plainString = string.Concat(new object[]
{
Data.MachineString,
"k ",
DateTime.Now.ToString("yyyy.MM.dd"),
" ",
num2
});
xmlElement.InnerText = encryptionHelper.EncryptString(plainString); //“机器码+K+当前年月日+剩余天数"进行加密
xmlDocument.Save(Application.StartupPath + "\\Key.xml"); //加密后保存在Key.xml中
bool flag5 = num2 == 0;
if (flag5)
{
this.button_KaiJiang.Enabled = false;
this.button_StartZhu.Enabled = false;
this.button_StopZhu.Enabled = false;
this.textBox_Error.Text = "机器码:" + Data.MachineString;
this.textBox_Error.Visible = true;
}
else
{
bool flag6 = Convert.ToInt32(list[2]) < 4; //小于4天开始警告
if (flag6)
{
MessageBox.Show("剩余" + num2 + "天", "授权时间警告");
Data.HasLicense = true;
}
else
{
bool flag7 = Convert.ToInt32(list[2]) > 3;
if (flag7)
{
Data.HasLicense = true; //关键点。
}
}
}
}
else
{
this.button_KaiJiang.Enabled = false;
this.button_StartZhu.Enabled = false;
this.button_StopZhu.Enabled = false;
this.textBox_Error.Text = "机器码:" + Data.MachineString;
this.textBox_Error.Visible = true;
}
}
}
}
catch (Exception)
{
this.button_KaiJiang.Enabled = false;
this.button_StartZhu.Enabled = false;
this.button_StopZhu.Enabled = false;
this.textBox_Error.Text = "机器码:" + Data.MachineString;
this.textBox_Error.Visible = true;
}
}
@郫一农
|