首页
论坛
专栏
课程

[.NET平台] [求助].net的分析

2008-12-16 09:10 6894

[.NET平台] [求助].net的分析

2008-12-16 09:10
6894
我没破解过.net程序,最近正在学习这方面也找了好多资料,但还是不太明白请高手多多指教!谢谢!!

注册部分:
private void button1_Click(object sender, EventArgs e)
{
    if (this.regist_code.Text.ToString() == this.Encrypt(this.cpu_id.Text.ToString()))   //不知道这个Encrypt 在干什么、而.ToString哪个是不是转换为十六进制?
    {
        if (this.RegCDRomSn(this.regist_code.Text.ToString()))
        {
            MessageBox.Show("注册成功");
        }
        else
        {
            MessageBox.Show("注册失败,请检查是否您的注册表被写保护,或者防病毒软件开启了注册表保护功能");
        }
    }
    else
    {
        MessageBox.Show("注册码不正确,请查看是否输入正确");
    }
}
=======================================================================
Encrypt部分:

protected string Encrypt(string pToEncrypt)
{
    string str;
    byte[] buffer = new byte[] { 0x19, 0x17, 0x18, 0x19, 0x17, 0x11, 0x15, 0x18 };
    byte[] buffer2 = new byte[] { 0x17, 0x19, 0x18, 0x16, 0x17, 0x11, 0x15, 0x18 };
    DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
    try
    {
        byte[] bytes = Encoding.Unicode.GetBytes(pToEncrypt);
        provider.Key = buffer;
        provider.IV = buffer2;
        MemoryStream stream = new MemoryStream();
        CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write);
        stream2.Write(bytes, 0, bytes.Length);
        stream2.FlushFinalBlock();
        StringBuilder builder = new StringBuilder();
        foreach (byte num in stream.ToArray())
        {
            builder.AppendFormat("{0:X2}", num);
        }
        builder.ToString();
        str = builder.ToString();
    }
    catch
    {
        str = pToEncrypt;
    }
    finally
    {
        provider = null;
    }
    return str;
}
==============================================================
RegCDRomSn部分:

public bool RegCDRomSn(string sn)
{
    try
    {
        Registry.LocalMachine.OpenSubKey("Software", true).CreateSubKey("jokemaster").SetValue("jokemaster", sn);
        return true;
    }
    catch
    {
        return false;
    }
}

=================================================================
机器码:BFEBFBFF00000F29

请高手帮分析一下我把这三关键部分都帖上来了!!
谢谢!!!

[公告][征集寄语] 看雪20周年年会 | 感恩有你,一路同行

最新回复 (19)
freetofly 2008-12-16 09:18
2
0
文本后面,也就是 this.regist_code.Text.ToString()和this.cpu_id.Text.ToString()
两个的ToString方法,你可以忽略不计
没意义

剩下的你都已经有算法了,不知道你还要问的是什么
细心 2008-12-16 09:23
3
0
那出来的注册码是多少?
我不知道.tostring是怎样算的?
hezhichun 2008-12-16 10:18
4
0
tostring 和注册码计算没关系
细心 2008-12-16 10:21
5
0
还是不明白,那么解释一下怎么计算出注册码?
网络断魂 3 2008-12-16 10:56
6
0
DES双重加密,

两个数组就是密钥,
bobylove 2008-12-16 11:34
7
0
给个程序下载地址,这段时间在研究NET
细心 2008-12-16 15:07
8
0
软件下载地址:
http://www.skycn.com/soft/42396.html
bobylove 2008-12-16 15:59
9
0
L_00b9: brtrue.s L_008a
修改掉
tankaiha 29 2008-12-16 18:55
10
0
建议楼主先把.NET基础编程知识补一下...
ToString...
rekingchai 2008-12-16 19:32
11
0
DES加密啊。。。反汇编的代码已经很明确了
细心 2008-12-17 11:47
12
0
大哥能不能推存.net的基本书吗?
stalker 8 2008-12-17 12:32
13
0
这位大哥就写了一本
微软.NET程序的加密与解密
细心 2008-12-17 13:26
14
0
我没钱买!!也不是在中国.hmmmmmm
细心 2008-12-17 13:38
15
0
C#知识类库
上传的附件:
woodwu 2009-1-13 21:59
16
0
单海波编写的<<微软.NET程序的加密与解密>>非常不错,对于认识.et程序的内部和调试等很有帮助,我受益非浅.
本人估计tankaiha就是单海波了,从他的内功看
crackdung 2009-1-14 10:54
17
0
只是一些很基本的内容
jerryme 2009-2-22 22:56
18
0
机器码:BFEBFBFF00000F29
注册码:根据那个函数算出来就是了,pToEncrypt就是机器码的值

试试看吧
crackdung 2009-2-22 23:07
19
0
简单方法复制代码,建立简单例子在你vs项目,添加所需的控件,调试你项目,就能知道注册码,如果是混淆流程,就不能这样简单了
icersg 2009-2-22 23:34
20
0
复制&粘贴了一下,不知道对不对。
机器码:BFEBFBFF00000F29
注册码:8DFCF1DD0AAA7BDAC1B5039DF3EB112D5B11D686E81CB1E604C2B832F0845976925937BCE2117235
游客
登录 | 注册 方可回帖
返回