首页
社区
课程
招聘
[求助]请教一下这个.NET代码如何修改才是注册版?
发表于: 2014-1-8 16:51 9494

[求助]请教一下这个.NET代码如何修改才是注册版?

2014-1-8 16:51
9494
新手,第一次接触.NET程序。好不容易才反编译出来。爆破也不会,注册机更加不会弄了。呵呵。看了两天,也找了些.NET资料来看,还是看不懂。。特此发上来求助一下如何才可以做到爆破或者弄注册机。先谢谢各位。

这个是关于里面的那个代码。


 
  private void frmRegister_Load(object sender, EventArgs e)
{
    this.Text = "程序注册";
    this.vmethod_6().TabIndex = 0;
    this.vmethod_4().Text = Conversions.ToString(Class1.smethod_0().Registry.GetValue(@"HKEY_CURRENT_USER\Software\NanfangSoft .net\Bagua213", "Name", Environment.UserName));
    switch (Class15.bool_31)
    {
        case false:
            this.string_0 = Conversions.ToString(Class1.smethod_0().Registry.GetValue(@"HKEY_CURRENT_USER\Software\NanfangSoft .net\Bagua213", "PCNB", ""));
            if (this.string_0 != Class14.string_0)
            {
                Class1.smethod_0().Registry.SetValue(@"HKEY_CURRENT_USER\Software\NanfangSoft .net\Bagua213", "PCNB", Class14.string_0);
            }
            this.vmethod_0().Text = Class14.string_0;
            this.vmethod_6().TabIndex = 0;
            this.short_0 = 0;
            break;

        case true:
            this.vmethod_2().Text = "您已经注册了本程序。谢谢!";
            this.short_0 = 1;
            this.vmethod_8().TabIndex = 0;
            break;
    }
    this.vmethod_0().ReadOnly = true;
}

 


这个是注册界面的代码。。

private void method_0(object sender, EventArgs e)
{
    if (Class15.bool_31)
    {
        this.Close();
    }
    else if (Strings.Len(Class14.string_0) == 0)
    {
        Interaction.MsgBox("机器码不能为空,如不能解决,请与官方联系。", MsgBoxStyle.ApplicationModal, null);
    }
    else
    {
        Conversions.ToString(Class1.smethod_0().Registry.GetValue(@"HKEY_CURRENT_USER\Software\NanfangSoft .net\Bagua213", "PCNB", ""));
        if (Strings.Trim(this.vmethod_4().Text) == Conversions.ToString((int) (Conversions.ToInteger(Strings.Left(Class14.string_0, 4)) ^ 0x14096f)))
        {
            this.vmethod_2().Text = "关闭程序,通过'控制面板/添加删除程序'卸载程序,并重新安装,然后再重新注册。";
            try
            {
                if (Class1.smethod_0().FileSystem.FileExists(Class17.string_8 + @"\sysliuy213.dll"))
                {
                    Class1.smethod_0().FileSystem.DeleteFile(Class17.string_8 + @"\sysliuy213.dll");
                }
                Class1.smethod_0().Registry.CurrentUser.OpenSubKey(@"Software\NanfangSoft .net\Bagua213", true).DeleteValue("BaguaSoft213");
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                ProjectData.ClearProjectError();
            }
        }
        else
        {
            int num;
            int num2;
            string str = Strings.Trim(this.vmethod_0().Text);
            string str7 = Strings.Trim(this.vmethod_6().Text);
            string expression = Strings.Mid(str7, 1, 4) + Strings.Mid(str7, 9, 4);
            string str8 = Strings.Mid(str7, 5, 1);
            string str6 = Strings.Mid(str7, 7, 1);
            if (((str8 == "6") | (str8 == "7")) | (str8 == "B"))
            {
                str8 = "1";
            }
            if (((str8 == "8") | (str8 == "9")) | (str8 == "C"))
            {
                str8 = "2";
            }
            string str4 = "20" + str8 + Strings.Mid(str7, 6, 1);
            if (((str6 == "6") | (str6 == "7")) | (str6 == "B"))
            {
                str6 = "1";
            }
            if (((str6 == "4") | (str6 == "5")) | (str6 == "A"))
            {
                str6 = "0";
            }
            string str5 = str6 + Strings.Mid(str7, 8, 1);
            if ((str7.Length == 13) & (Strings.Mid(str7, 13, 1) == "1"))
            {
                try
                {
                    if (Class1.smethod_0().FileSystem.FileExists(Class17.string_8 + @"\sysliuy213.dll"))
                    {
                        Class1.smethod_0().FileSystem.DeleteFile(Class17.string_8 + @"\sysliuy213.dll");
                    }
                    Class1.smethod_0().Registry.CurrentUser.OpenSubKey(@"Software\NanfangSoft .net\Bagua213", true).DeleteValue("BaguaSoft213");
                }
                catch (Exception exception2)
                {
                    ProjectData.SetProjectError(exception2);
                    ProjectData.ClearProjectError();
                }
            }
            try
            {
                num = Conversions.ToInteger(str4);
                num2 = Conversions.ToInteger(str5);
            }
            catch (Exception exception3)
            {
                ProjectData.SetProjectError(exception3);
                this.vmethod_2().Text = "注册码不对!";
                ProjectData.ClearProjectError();
                return;
            }
            if ((((((num < 0x7dd) | (num > 0x7ee)) | (num2 < 1)) | (num2 > 12)) | (num < DateAndTime.Now.Year)) | ((num == DateAndTime.Now.Year) & (num2 < DateAndTime.Now.Month)))
            {
                this.vmethod_2().Text = "注册码不对!";
            }
            else if (this.short_0 == 1)
            {
                this.method_1(this.vmethod_8(), new EventArgs());
            }
            else if (Strings.Len(Strings.Trim(this.vmethod_4().Text)) == 0)
            {
                this.vmethod_2().Text = "您没有输入姓名。";
            }
            else if (Strings.Len(expression) == 0)
            {
                this.vmethod_2().Text = "您没有输入注册码。";
            }
            else if (Class15.smethod_15(ref str, ref expression) & !File.Exists(Class17.string_8 + @"\sysliuy213.dll"))
            {
                Class1.smethod_0().Registry.SetValue(@"HKEY_CURRENT_USER\Software\NanfangSoft .net\Bagua213", "Name", this.vmethod_4().Text);
                Class17.smethod_11(ref str, ref Strings.UCase(expression), ref str4, ref str5);
                Class17.bool_0 = true;
                this.vmethod_2().Text = "注册成功!点击'退出',您现在可以使用本程序了。";
            }
            else
            {
                this.vmethod_2().Text = "注册码不对!";
            }
        }
    }
}



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 6575
活跃值: (4531)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
shandiao
2014-1-8 18:54
0
雪    币: 6575
活跃值: (4531)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
删掉。。。
2014-1-8 19:13
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
多谢指点。。算法。我还需要继续头痛,呵呵,。,。
2014-1-8 19:27
0
雪    币: 18
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
有源码,你可以直接修改程序(自己弄个注册程序)。
2014-1-8 20:01
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
新手啊。。不会做这个。。

期待完美爆破方法。。
2014-1-9 09:02
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个有源码,照着注册和检测部分写出来就行了
2014-1-25 22:11
0
雪    币: 22
活跃值: (443)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
.net不难
2014-1-26 21:36
0
雪    币: 340
活跃值: (207)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
9
.NET 单间个相同的环境 直接调用反出来的程序,在适当的时候传递进参数 然后适当的时候取出注册吗就可以了,感觉.net 还是比较简单的,因为可以直接反编译出代码。只在不行再中间码修改下直接让他不注册就好了
2014-1-30 14:30
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢指导,能联系一下你吗?
2014-2-3 21:23
0
雪    币: 41
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
瞎猫碰死耗子,好像是破了,要不你看看我的,可用不,改了两个逻辑判断

链接: http://pan.baidu.com/s/1kT1GDy3 密码: ve9j
上传的附件:
2014-6-25 15:06
0
雪    币: 41
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
链接: http://pan.baidu.com/s/1kT1GDy3 密码: ve9j
2014-6-25 15:19
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
请问是用哪个工具进行源码修改的?
我这里也是有这样一个程序,我通过IL找到注册的源码,自己写了个注册机能行。但在XP系统中这个注册机没起用。我是想能直接修改代码就能破解C#程序,但没找到相关工具实现源码修改。C、C++的还好的,直接反汇编改就是了。这个整不来,介绍下?
2014-11-27 16:51
0
雪    币: 170
活跃值: (45)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
14
写一个loader,把Bagua.exe加入到程序引用,主程序写上以下的代码,编译后,每次启动loader,就是已注册版本。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace loader
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            System.Threading.Thread th = new System.Threading.Thread(Crack);
            th.Start();
            Assembly asm = Assembly.Load("Bagua");
            Type form0 = asm.GetType("Form0");
            var main = form0.GetMethod("Main", BindingFlags.Static | BindingFlags.NonPublic);
            main.Invoke(null, new object[]{args});
        }

        static void Crack()
        {
            var k = 0;
            while (k < 1000)
            {
                Assembly asm = Assembly.Load("Bagua");
                if (asm != null)
                {
                    Type t = asm.GetType("Class15");
                    if (t != null)
                    {
                        var fi = t.GetField("bool_31" ,BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
                        if (fi != null)
                        {
                            fi.SetValue(null, true);
                        }
                    }
                    t = asm.GetType("Class17");
                    if (t != null)
                    {
                        var fi = t.GetField("bool_0" ,BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
                        if (fi != null)
                        {
                            fi.SetValue(null, true);
                        }
                    }
                }
                k++;
                System.Threading.Thread.Sleep(100);
            }
        }
    }
}
2014-11-29 13:10
0
雪    币: 124
活跃值: (40)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
15
这个软件不错啊 周末有时间研究下
2015-3-21 02:36
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
14楼的loade不错,谢谢
2015-5-8 16:45
0
游客
登录 | 注册 方可回帖
返回
//