C# 是这样的,
private void zhcuepanduan()
{
this.zhucebool = false;
this.label1.Text = "未注册";
if (this.strPwd == "255")
{
this.label1.Text = "已注册";
this.label1.Visible = true;
}
else
{
try
{
string str = Registry.CurrentConfig.OpenSubKey(@"Software\zhuce").GetValue("data", "Null").ToString();
DateTime time = Convert.ToDateTime(this.DecryptStr(str.Trim(), "0BDFC73BC56346BB"));
TimeSpan span = (TimeSpan) (Convert.ToDateTime(DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss")) - time);
if (span.Days < 0)
{
this.Text = "到期! ";
this.textBoxX1.Enabled = false;
}
else if (span.Days <= 0x3e8)
{
if ((span.Days > 15) && (span.Days < 0x11))
{
this.Text = "还可试用5天! ";
}
else if ((span.Days > 0x11) && (span.Days < 0x13))
{
this.Text = "还可试用4天! ";
}
else if ((span.Days > 0x13) && (span.Days < 0x15))
{
this.Text = "还可试用3天! ";
}
else if ((span.Days > 0x15) && (span.Days < 0x17))
{
this.Text = "还可试用2天! ";
}
else if ((span.Days > 0x17) && (span.Days < 0x19))
{
this.Text = "还可试用1天! ";
}
else if ((span.Days > 0x19) && (span.Days < 0x2710))
{
this.Text = "到期! ";
this.textBoxX1.Enabled = false;
this.comboBoxEx1.Enabled = false;
}
}
}
catch
{
try
{
string str3 = @"HKEY_CURRENT_CONFIG\Software\zhuce";
object obj2 = this.EncryptStr(DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss"), "0BDFC73BC56346BB");
object obj3 = "0";
Registry.SetValue(str3, "data", obj2, 1);
Registry.SetValue(str3, "pass", obj3, 1);
}
catch
{
}
}
}
}
翻译成 il 文件·
.method private hidebysig instance void zhcuepanduan() cil managed
{
.maxstack 4
.locals init (
[0] class [mscorlib]Microsoft.Win32.RegistryKey key,
[1] string str,
[2] string str2,
[3] valuetype [mscorlib]System.DateTime time,
[4] valuetype [mscorlib]System.DateTime time2,
[5] valuetype [mscorlib]System.TimeSpan span,
[6] string str3,
[7] object obj2,
[8] object obj3,
[9] valuetype [mscorlib]System.DateTime time3,
[10] valuetype [mscorlib]System.DateTime time4)
L_0000: ldarg.0
L_0001: ldc.i4.0
L_0002: stfld bool GZ001.Form1denglu::zhucebool
L_0007: ldarg.0
L_0008: ldfld class [System.Windows.Forms]System.Windows.Forms.Label GZ001.Form1denglu::label1
L_000d: ldstr "\u6b63\u7248\u672a\u6ce8\u518c"
L_0012: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0017: ldarg.0
L_0018: ldfld string GZ001.Form1denglu::strPwd
L_001d: ldstr "255"
L_0022: call bool [mscorlib]System.String::op_Equality(string, string)
L_0027: brfalse.s L_0046
L_0029: ldarg.0
L_002a: ldfld class [System.Windows.Forms]System.Windows.Forms.Label GZ001.Form1denglu::label1
L_002f: ldstr "\u5df2\u6ce8\u518c\u6388\u6743"
L_0034: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0039: ldarg.0
L_003a: ldfld class [System.Windows.Forms]System.Windows.Forms.Label GZ001.Form1denglu::label1
L_003f: ldc.i4.1
L_0040: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Visible(bool)
L_0045: ret
L_0046: ldsfld class [mscorlib]Microsoft.Win32.RegistryKey [mscorlib]Microsoft.Win32.Registry::CurrentConfig
L_004b: ldstr "Software\\CHEN56"
L_0050: callvirt instance class [mscorlib]Microsoft.Win32.RegistryKey [mscorlib]Microsoft.Win32.RegistryKey::OpenSubKey(string)
L_0055: stloc.0
L_0056: ldloc.0
L_0057: ldstr "data"
L_005c: ldstr "Null"
L_0061: callvirt instance object [mscorlib]Microsoft.Win32.RegistryKey::GetValue(string, object)
L_0066: callvirt instance string [mscorlib]System.Object::ToString()
L_006b: stloc.1
L_006c: ldarg.0
L_006d: ldloc.1
L_006e: callvirt instance string [mscorlib]System.String::Trim()
L_0073: ldstr "0BDFC73BC56346AA"
L_0078: call instance string GZ001.Form1denglu::DecryptStr(string, string)
L_007d: stloc.2
L_007e: ldloc.2
L_007f: call valuetype [mscorlib]System.DateTime [mscorlib]System.Convert::ToDateTime(string)
L_0084: stloc.3
L_0085: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now()
L_008a: stloc.s time3
L_008c: ldloca.s time3
L_008e: ldstr "yyyy\u5e74MM\u6708dd\u65e5 HH:mm:ss"
L_0093: call instance string [mscorlib]System.DateTime::ToString(string)
L_0098: call valuetype [mscorlib]System.DateTime [mscorlib]System.Convert::ToDateTime(string)
L_009d: stloc.s time2
L_009f: ldloc.s time2
L_00a1: ldloc.3
L_00a2: call valuetype [mscorlib]System.TimeSpan [mscorlib]System.DateTime::op_Subtraction(valuetype [mscorlib]System.DateTime, valuetype [mscorlib]System.DateTime)
L_00a7: stloc.s span
L_00a9: ldloca.s span
L_00ab: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_00b0: ldc.i4.0
L_00b1: bge.s L_00cf
L_00b3: ldarg.0
L_00b4: ldstr "\u5230\u671f! \u9648\u5de5 \u6ce8\u518c"
L_00b9: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_00be: ldarg.0
L_00bf: ldfld class [DevComponents.DotNetBar2]DevComponents.DotNetBar.Controls.TextBoxX GZ001.Form1denglu::textBoxX1
L_00c4: ldc.i4.0
L_00c5: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Enabled(bool)
L_00ca: br L_01d4
L_00cf: ldloca.s span
L_00d1: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_00d6: ldc.i4 0x3e8
L_00db: bgt L_01d4
L_00e0: ldloca.s span
L_00e2: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_00e7: ldc.i4.s 15
L_00e9: ble.s L_0106
L_00eb: ldloca.s span
L_00ed: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_00f2: ldc.i4.s 0x11
L_00f4: bge.s L_0106
L_00f6: ldarg.0
L_00f7: ldstr "\u8fd8\u53ef\u8bd5\u75285\u5929! \u9648\u5de5 \u6ce8\u518c"
L_00fc: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0101: br L_01d4
L_0106: ldloca.s span
L_0108: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_010d: ldc.i4.s 0x11
L_010f: ble.s L_012c
L_0111: ldloca.s span
L_0113: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_0118: ldc.i4.s 0x13
L_011a: bge.s L_012c
L_011c: ldarg.0
L_011d: ldstr "\u8fd8\u53ef\u8bd5\u75284\u5929! \u9648\u5de5 \u6ce8\u518c"
L_0122: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0127: br L_01d4
L_012c: ldloca.s span
L_012e: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_0133: ldc.i4.s 0x13
L_0135: ble.s L_0152
L_0137: ldloca.s span
L_0139: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_013e: ldc.i4.s 0x15
L_0140: bge.s L_0152
L_0142: ldarg.0
L_0143: ldstr "\u8fd8\u53ef\u8bd5\u75283\u5929! \u9648\u5de5 \u6ce8\u518c"
L_0148: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_014d: br L_01d4
L_0152: ldloca.s span
L_0154: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_0159: ldc.i4.s 0x15
L_015b: ble.s L_0175
L_015d: ldloca.s span
L_015f: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_0164: ldc.i4.s 0x17
L_0166: bge.s L_0175
L_0168: ldarg.0
L_0169: ldstr "\u8fd8\u53ef\u8bd5\u75282\u5929! \u9648\u5de5 \u6ce8\u518c"
L_016e: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0173: br.s L_01d4
L_0175: ldloca.s span
L_0177: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_017c: ldc.i4.s 0x17
L_017e: ble.s L_0198
L_0180: ldloca.s span
L_0182: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_0187: ldc.i4.s 0x19
L_0189: bge.s L_0198
L_018b: ldarg.0
L_018c: ldstr "\u8fd8\u53ef\u8bd5\u75281\u5929! \u9648\u5de5 \u6ce8\u518c"
L_0191: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0196: br.s L_01d4
L_0198: ldloca.s span
L_019a: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_019f: ldc.i4.s 0x19
L_01a1: ble.s L_01d4
L_01a3: ldloca.s span
L_01a5: call instance int32 [mscorlib]System.TimeSpan::get_Days()
L_01aa: ldc.i4 0x2710
L_01af: bge.s L_01d4
L_01b1: ldarg.0
L_01b2: ldstr "\u5230\u671f! \u9648\u5de5 \u6ce8\u518c"
L_01b7: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_01bc: ldarg.0
L_01bd: ldfld class [DevComponents.DotNetBar2]DevComponents.DotNetBar.Controls.TextBoxX GZ001.Form1denglu::textBoxX1
L_01c2: ldc.i4.0
L_01c3: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Enabled(bool)
L_01c8: ldarg.0
L_01c9: ldfld class [DevComponents.DotNetBar2]DevComponents.DotNetBar.Controls.ComboBoxEx GZ001.Form1denglu::comboBoxEx1
L_01ce: ldc.i4.0
L_01cf: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Enabled(bool)
L_01d4: leave.s L_022a
L_01d6: pop
L_01d7: ldstr "HKEY_CURRENT_CONFIG\\Software\\CHEN56"
L_01dc: stloc.s str3
L_01de: ldarg.0
L_01df: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now()
L_01e4: stloc.s time4
L_01e6: ldloca.s time4
L_01e8: ldstr "yyyy\u5e74MM\u6708dd\u65e5 HH:mm:ss"
L_01ed: call instance string [mscorlib]System.DateTime::ToString(string)
L_01f2: ldstr "0BDFC73BC56346AA"
L_01f7: call instance string GZ001.Form1denglu::EncryptStr(string, string)
L_01fc: stloc.s obj2
L_01fe: ldstr "0"
L_0203: stloc.s obj3
L_0205: ldloc.s str3
L_0207: ldstr "data"
L_020c: ldloc.s obj2
L_020e: ldc.i4.1
L_020f: call void [mscorlib]Microsoft.Win32.Registry::SetValue(string, string, object, valuetype [mscorlib]Microsoft.Win32.RegistryValueKind)
L_0214: ldloc.s str3
L_0216: ldstr "pass"
L_021b: ldloc.s obj3
L_021d: ldc.i4.1
L_021e: call void [mscorlib]Microsoft.Win32.Registry::SetValue(string, string, object, valuetype [mscorlib]Microsoft.Win32.RegistryValueKind)
L_0223: leave.s L_0228
L_0225: pop
L_0226: leave.s L_022a
L_0228: leave.s L_022a
L_022a: ret
.try L_01d7 to L_0225 catch object handler L_0225 to L_0228
.try L_0046 to L_01d6 catch object handler L_01d6 to L_022a
}
[课程]Android-CTF解题方法汇总!