很多软件注册时候的“机器码”是从哪里得来的?
这个是根据硬件特征生成的,比如网卡MAC,硬盘序列号,CPU序列号什么的,因为这些特征基本是独一无二的,所以拿来加密后做机器码来用效果很好,当然,也有些软件用的是系统特征,比如系统用户名称,计算机名称什么的,不过这些特征不稳定,用户一旦重装系统,机器码就变化了,原来的注册码就不匹配了
获取机器码有什么用处?如何应用?
硬盘,CPU都有一个无法修改的识别码。
网卡的MAC其实也算一种,但它是可以人为修改的。
软件为了防止盗版,采取了一定的保护措施。
在用户注册的时候会根据用户软件所安装的计算机软硬件信息生成唯一的识别码,一般称作机器码,也叫序列号、认证码、注册申请码等。
机器码一般用作软件能够唯一识别的机器,注册软件时会自动根据硬件配置产生一串序号,这串序号叫机器码,软件提供商一般根据用户所提供的机器码来产生唯一的注册码,这样所使用的软件就可能正常工作了。
机器码是由您的电脑硬件信息产生,不会改变,如果您格式化硬盘或重装系统则可能会改变.如果中了病毒,则也可能会改变。
什么是机器码机器码是计算机的唯一编号,一般取自计算机硬件的序列号。
我们软件的注册系统依赖于此机器码区分不同的计算机。
由于机器码源自某些硬件,所以当您计算机的硬件改变时可能导致机器码改变,而这时我们的注册系统会认为是一台新的计算机,您只需要重新注册它,但重新注册可能出现“已超过最大授权数”的错误,这是因为老的硬件已被作为一台电脑注册的缘故,您只需要按提示申请撤销上一台就可以了。
这是完全正常的,请不用担心,注册码不会失效,这种情况我们会保障注册码可用。
我们取的机器码是来自 硬盘、主板 或 CPU,当这三种硬件改变时可能会致使机器码改变而需要重新注册,其它硬件改变则没有影响。
其中最主要的是硬盘,一般情况下硬盘的改变都需要重新注册。
主板 和 CPU 只有极个别情况下才使用。
什么时候需要机器码一般情况下,您不需要使用也没有必要知道此机器码,因为所有的操作都是自动完成的,没有必要知道它。
只有在技术支持时,如果我们需要您提供机器码,这时您才能用到它。
即使在当您无法完成在线注册时,一般也不需要手工提供机器码,程序自动生成的邮件中就包括了这些信息,万一您需要手工书写 申请注册、申请撤销、申请续订、同步续订期限 等邮件时才需要手工提供这些机器码信息。
获取机器码
所谓机器的机器码其实就是电脑的一些特征码,包括硬盘序列号、CPU编号、BIOS编号等等和硬件有关的编号。
你可以用在VC++中获取这些编号,并用一定的算法将他们组合后,就生成了一个机器码,用这个机器码按照一定的算法生成一个注册码,这样就对你的软件进行了保护,使得只有拥有这个机器码的机器才能安装你的软件。
获取硬盘序列号的方法如下(代码)以驱动器C为例: char m_Volume[256];//卷标名 char m_FileSysName[256]; DWORD m_SerialNum;//序列号 DWORD m_FileNameLength; DWORD m_FileSysFlag; ::GetVolumeInformation("c:\\", m_Volume, 256, &m_SerialNum, &m_FileNameLength, &m_FileSysFlag, m_FileSysName, 256); 执行该函数后,m_Volume就是卷标名字符串,m_SerialNum就是序列号