MadGoat's Blog

导航

[原创]公布读取瑞星注册码的小程序源代码

大概一年多了,瑞星一直都没更改其序列号保存方式。这还是偶在学校时无聊研究的。
偶是菜鸟,就不多说了。
 关键代码如下:

 1            string risingpath;
 2            int i, j = 0long snoffset, idoffset;
 3
 4            //以下读取
 5            //HKEY_LOCAL_MACHINE\SOFTWARE\rising\Rav,并存在risingpath
 6            RegistryKey hklm = Registry.LocalMachine;
 7            RegistryKey software = hklm.OpenSubKey("SOFTWARE"true);
 8            RegistryKey rising = software.OpenSubKey("rising");
 9            RegistryKey rav = rising.OpenSubKey("Rav");
10            risingpath = rav.GetValue("installpath").ToString() + "\\RsConfig.cfg";
11
12            //以下操作RsConfig.cfg
13            File.Copy(risingpath, "C:\\RsConfig.cfg"true);
14
15            FileStream bf = new FileStream("C:\\RsConfig.cfg", FileMode.Open, FileAccess.ReadWrite);
16
17            byte[] key = new byte[8];
18            byte[] data = new byte[bf.Length];
19            byte[] newdata = new byte[bf.Length];
20            byte[] sndata = new byte[] 6711711411410111011683110 };
21            byte[] iddata = new byte[] 6711711411410111011685115101114073068 };
22            byte[] sn = new byte[27];
23
24            //将RsConfig.cfg文件读入data数组,将解密KEY读入key数组
25            bf.Read(data, 0, data.Length);
26            bf.Seek(128, System.IO.SeekOrigin.Begin);
27            bf.Read(key, 08);
28
29            //解密配置文件 
30            for (i = 0; i < data.Length; i++)
31            {
32                newdata[i] = (byte)((int)(data[i]) ^ (int)(key[j]));
33                j++;
34                if (j == 8) j = 0;
35            }

36
37            snoffset = searchchar(newdata, sndata) - 27;
38
39                    
40            for (i = 0; i < 27; i++)
41            {
42                textBox1.Text += ((char)(newdata[snoffset + i])).ToString();
43            }

44            idoffset = searchchar(newdata, iddata) - 15;
45            for (i = 0; i < 12; i++)
46            {
47                textBox2.Text += ((char)(newdata[idoffset + i])).ToString();
48            }

49            bf.Close();
50            File.Delete("C:\\RsConfig.cfg");

posted on 2006-10-09 22:05  MadGoat  阅读(843)  评论(3编辑  收藏  举报