liqiang665

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  27 Posts :: 0 Stories :: 14 Comments :: 3 Trackbacks

公告

2008年6月18日 #

最近在用CoolCHM制作电子文档.发现这是一个共享版.在网上搜索到相关的破解方法.即C盘序列号与数字97648123相异或.再把得得到的二进制转换成为整型即得到注册码.
所以写了一个小程序学习一下.
界面如下

主要是一个button1和一个textBox1

代码如下:

 1using System;
 2using System.Collections.Generic;
 3using System.ComponentModel;
 4using System.Data;
 5using System.Drawing;
 6using System.Text;
 7using System.Windows.Forms;
 8using Microsoft.VisualBasic;
 9using System.Management;
10namespace CrackCoolCHM
11{
12    public partial class Form1 : Form
13    {
14        public Form1()
15        {
16            InitializeComponent();
17        }

18
19        private void button1_Click(object sender, EventArgs e)
20        {
21            try
22            {
23                //获取C盘序列号
24                ManagementObject m_objDisk = new ManagementObject("win32_logicaldisk.deviceid='c:'");
25                string strSN = (string)m_objDisk.GetPropertyValue("VolumeSerialNumber");
26                //label2.Text = strSN;
27                //异或的代码
28                char[] YHCode = "97648123".ToCharArray();
29                string YHCodeResult = string.Empty;
30                foreach (char c in YHCode)
31                {
32                    string s1 = Convert.ToString(Convert.ToInt32(c.ToString()), 2);
33                    switch (s1.Trim().Length)
34                    {
35                        case 1:
36                            s1 = "000" + s1;
37                            break;
38                        case 2:
39                            s1 = "00" + s1;
40                            break;
41                        case 3:
42                            s1 = "0" + s1;
43                            break;
44                    }

45                    YHCodeResult += s1;
46                }

47                string Code16 = YHCodeResult;
48                //机器C盘的序列号
49                string MCCode = string.Empty;
50                char[] MachineCode = strSN.ToCharArray();
51                foreach (char c in MachineCode)
52                {
53                    string s1 = Convert.ToString(Convert.ToInt32(c.ToString(), 16), 2);
54                    switch (s1.Trim().Length)
55                    {
56                        case 1:
57                            s1 = "000" + s1;
58                            break;
59                        case 2:
60                            s1 = "00" + s1;
61                            break;
62                        case 3:
63                            s1 = "0" + s1;
64                            break;
65                    }

66
67                    MCCode += s1;
68                }

69                textBox1.Text = Convert.ToUInt32(ReturnXorValue(Code16, MCCode), 2).ToString();
70            }

71            catch(Exception ex)
72            {
73                MessageBox.Show("程序出错:" + ex.Message, "提示信息", MessageBoxButtons.OK);
74            }

75        }

76        string ReturnXorValue(string str1, string str2)
77        {
78            string ret = string.Empty;
79            string tempstr=string.Empty;
80            byte[] b1 = System.Text.Encoding.Default.GetBytes(str1);
81            byte[] b2 = System.Text.Encoding.Default.GetBytes(str2);
82            if (b1.Length != b2.Length) throw new ArgumentException("获取参数出错");
83            else
84            {
85                for (int i = 0; i < b1.Length; i++)
86                {
87                    tempstr = (b1[i] ^ b2[i]).ToString();
88                    ret += tempstr;
89                }

90            }

91            return ret;
92        }

93
94        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
95        {
96            Application.Exit();
97        }

98    }

99}


CoolCHM及注册机下载

 注册机源文件

posted @ 2008-06-18 09:17 青铜时代 阅读(1016) 评论(0) 编辑