class g 为验证及注册表中注册码判断类.
class f.a()为[STAThread]
class b为注册窗口
class h 为主功能窗口.
混淆方式为switch还带嵌套,晕
f.a()大致如下:(没完全反混淆了,但能看明白了)
[STAThread]
private static void a()
{
// This item is obfuscated and can not be translated.
b b;
bool flag;
//Application.Run(new h());//爆
//return;//爆
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
g g = new g();
string str = "";
string str2 = "";
string str3 = "";
int num = 0x1b;
Label_003B:
switch (num)
{
case 1:
case 4:
Application.Run(new h());
num = 2;
goto Label_003B;
case 2:
case 11:
case 0x25:
case 0x27:
return;
case 3:
flag = !g.e("MaplotusSerials");
num = 0;
goto Label_003B;
case 5:
break;
case 6:
flag = !(str2 == str3);
num = 0x1c;
goto Label_003B;
case 7:
MessageBox.Show("未注册,只可访问20个博客!", "提示");
num = 0x1a;
goto Label_003B;
case 8:
flag = b.b() != -10;
num = 0x12;
goto Label_003B;
case 9:
num = 40;
goto Label_003B;
case 10:
case 0x24:
num = 4;
goto Label_003B;
case 12:
b = new b();
b.Text = "用户注册";
b.ShowDialog();
flag = b.b() == 0;
num = 0x11;
goto Label_003B;
case 13:
if (1 != 0)
{
}
goto Label_023E;
case 14:
MessageBox.Show("未注册,只可访问20个博客!", "提示");
num = 0x10;
goto Label_003B;
case 15:
flag = b.b() != -10;
num = 0x15;
goto Label_003B;
case 0x10:
num = 13;
goto Label_003B;
case 0x11:
if (flag)
{
goto Label_02AE;
}
num = 0x23;
goto Label_003B;
case 0x12:
if (flag)
{
num = 0x25;
}
else
{
num = 14;
}
goto Label_003B;
case 0x13:
goto Label_0164;
case 20:
goto Label_02E6;
case 0x15:
if (!flag)
{
num = 7;
}
else
{
num = 11;
}
goto Label_003B;
case 0x16:
goto Label_0192;
case 0x17:
if (str.Length == 8)
{
num = 9;
goto Label_003B;
}
goto Label_0338;
case 0x18:
if (flag)
{
goto Label_02E6;
}
num = 15;
goto Label_003B;
case 0x19:
str = g.c(Encoding.Default.GetString(g.d("MaplotusKeys")));
str2 = g.b().ToUpper();
str3 = g.a(Encoding.Default.GetString(g.d("MaplotusSerials"))).Replace("-", "").ToUpper();
num = 0x17;
goto Label_003B;
case 0x1a:
num = 20;
goto Label_003B;
case 0x1b:
if (!g.e("MaplotusKeys"))
{
num = 0x13;
}
else
{
num = 0x1d;
}
goto Label_003B;
case 0x1c:
if (flag)
{
b = new b();
b.Text = "用户注册";
b.ShowDialog();
flag = b.b() == 0;
num = 0x18;
}
else
{
num = 0x20;
}
goto Label_003B;
case 0x1d:
num = 3;
goto Label_003B;
case 30:
if (flag)
{
goto Label_023E;
}
num = 8;
goto Label_003B;
case 0x1f:
goto Label_02AE;
case 0x20:
str2 = str2.Insert(8, "-").Insert(0x11, "-").Insert(0x1a, "-");
flag = g.a(str2.ToUpper(), str.ToUpper()) == 0;
num = 0x29;
goto Label_003B;
case 0x21:
if (!flag)
{
num = 0x22;
}
else
{
num = 0x27;
}
goto Label_003B;
case 0x22:
MessageBox.Show("未注册,只可访问20个博客!", "提示");
num = 0x2a;
goto Label_003B;
case 0x23:
flag = b.b() != -10;
num = 0x21;
goto Label_003B;
case 0x26:
num = 6;
goto Label_003B;
case 40:
if (str2.Length != 0x20)
{
goto Label_0338;
}
num = 0x26;
goto Label_003B;
case 0x29:
if (flag)
{
break;
}
num = 12;
goto Label_003B;
case 0x2a:
num = 0x1f;
goto Label_003B;
default:
if (!flag)
{
num = 0x19;
}
else
{
b = new b();
b.Text = "用户注册";
b.ShowDialog();
flag = b.b() == 0;
num = 30;
}
goto Label_003B;
}
num = 0x24;
goto Label_003B;
Label_023E:
num = 1;
goto Label_003B;
Label_02AE:
num = 5;
goto Label_003B;
Label_02E6:
num = 10;
goto Label_003B;
Label_0338:
num = 0x16;
goto Label_003B;
}