首页
社区
课程
招聘
[旧帖] [求助]到这一步不会了,帮忙看看! 0.00雪花
发表于: 2012-4-21 02:10 1250

[旧帖] [求助]到这一步不会了,帮忙看看! 0.00雪花

2012-4-21 02:10
1250
程序未加壳,是Microsoft Visual C# / Basic .NET的,用Reflector载入后查到注册信息:
private void a(object A_0, EventArgs A_1)
{
    try
    {
        string str = this.g().Text.Trim();
        if (bt.c(str))
        {
            if (e.i(str))
            {
                MessageBox.Show("注册成功!重新启动后生效", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                MessageBox.Show("未能注册成功!请检查软件是否安装正确以及数据库是否正确设置", "提示", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            this.Close();
        }
        else
        {
            MessageBox.Show("注册码错误!请联系供应商", "提示", MessageBoxButtons.OK, MessageBoxIcon.Hand);
        }
    }
    catch (Exception exception1)
    {
        ProjectData.SetProjectError(exception1);
        Exception exception = exception1;
        MessageBox.Show("注册码错误!请联系供应商", "提示", MessageBoxButtons.OK, MessageBoxIcon.Hand);
        ProjectData.ClearProjectError();
    }
}
代码转为IL后:
.method private instance void a(object A_0, class [mscorlib]System.EventArgs A_1) cil managed
{
    .maxstack 4
    .locals init (
        [0] string str,
        [1] class [mscorlib]System.Exception exception)
    L_0000: ldarg.0
    L_0001: callvirt instance class [System.Windows.Forms]System.Windows.Forms.TextBox c8::g()
    L_0006: callvirt instance string [System.Windows.Forms]System.Windows.Forms.TextBox::get_Text()
    L_000b: callvirt instance string [mscorlib]System.String::Trim()
    L_0010: stloc.0
    L_0011: ldloc.0
    L_0012: call bool bt::c(string)
    L_0017: brfalse.s L_0051
    L_0019: ldloc.0
    L_001a: call bool [MarcFun]e::i(string)
    L_001f: brfalse.s L_0036
    L_0021: ldstr "\u6ce8\u518c\u6210\u529f\uff01\u91cd\u65b0\u542f\u52a8\u540e\u751f\u6548"
    L_0026: ldstr "\u63d0\u793a"
    L_002b: ldc.i4.0
    L_002c: ldc.i4.s 0x40
    L_002e: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxButtons, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxIcon)
    L_0033: pop
    L_0034: br.s L_0049
    L_0036: ldstr "\u672a\u80fd\u6ce8\u518c\u6210\u529f\uff01\u8bf7\u68c0\u67e5\u8f6f\u4ef6\u662f\u5426\u5b89\u88c5\u6b63\u786e\u4ee5\u53ca\u6570\u636e\u5e93\u662f\u5426\u6b63\u786e\u8bbe\u7f6e"
    L_003b: ldstr "\u63d0\u793a"
    L_0040: ldc.i4.0
    L_0041: ldc.i4.s 0x10
    L_0043: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxButtons, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxIcon)
    L_0048: pop
    L_0049: ldarg.0
    L_004a: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Form::Close()
    L_004f: leave.s L_0087
    L_0051: ldstr "\u6ce8\u518c\u7801\u9519\u8bef\uff01\u8bf7\u8054\u7cfb\u4f9b\u5e94\u5546"
    L_0056: ldstr "\u63d0\u793a"
    L_005b: ldc.i4.0
    L_005c: ldc.i4.s 0x10
    L_005e: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxButtons, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxIcon)
    L_0063: pop
    L_0064: leave.s L_0087
    L_0066: dup
    L_0067: call void [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(class [mscorlib]System.Exception)
    L_006c: stloc.1
    L_006d: ldstr "\u6ce8\u518c\u7801\u9519\u8bef\uff01\u8bf7\u8054\u7cfb\u4f9b\u5e94\u5546"
    L_0072: ldstr "\u63d0\u793a"
    L_0077: ldc.i4.0
    L_0078: ldc.i4.s 0x10
    L_007a: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxButtons, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxIcon)
    L_007f: pop
    L_0080: call void [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.ProjectData::ClearProjectError()
    L_0085: leave.s L_0087
    L_0087: ret
    .try L_0000 to L_0066 catch [mscorlib]System.Exception handler L_0066 to L_0087
}
到了这一步我要怎么样才能查到相要的东东呢?
还有查到一个界面:
private void b(object A_0, EventArgs A_1)
{
    this.i().Text = "机器码:" + dh.b();
    if (bt.b.d())
    {
        string str2;
        this.c().Hide();
        this.h().Hide();
        this.e().Dock = DockStyle.Fill;
        string str = e.i();
        if (str.Length != 0x19)
        {
            str2 = "";
        }
        else
        {
            str2 = Strings.Mid(str, 1, 5) + "-" + Strings.Mid(str, 6, 5) + "-" + Strings.Mid(str, 11, 5) + "-" + Strings.Mid(str, 0x10, 5) + "-" + Strings.Mid(str, 0x15, 5);
        }
        this.e().Text = "\r\n\r\n   已成功注册\r\n\r\n   注册码: " + str2;
        this.e().Show();
    }
    else
    {
        string linkData = "http://www.marcbook.net";
        this.d().Links.Add(0, linkData.Length, linkData);
        this.g().Text = "";
    }
}
这个是不是可以计算出注册码呢?
注册码应该是根据str算出来的是吗?string str = e.i();这句不懂什么意思

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 278
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
注册部分已经写的很清楚了....
2012-4-22 18:53
0
雪    币: 7906
活跃值: (3086)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼主找到的就是注册码计算过程
2012-4-22 19:25
0
游客
登录 | 注册 方可回帖
返回
//