Chinaunix
标题:
生成软件注册码
[打印本页]
作者:
boyatchinaunix
时间:
2014-01-01 22:11
标题:
生成软件注册码
大家好,元旦快乐!
请问,Linux下如何生成软件注册码?
我考虑使用CPUID,但是只有部分很老的CPU才有,这个方法不靠谱。
后来考虑使用硬盘序列号,从网上找了很多代码,都无法运行成功(CentOS6.4 in vmware 9.0)。
#include <linux/types.h>
#include <linux/hdreg.h>
#include <linux/fcntl.h>
int main()
{
int fd,err,i;
/* structure to get disk information and
* returned by HDIO_GET_IDENTITY, as per ANSI ATA2 rev.2f spec
*/
struct hd_driveid hd;
/* open the device */
if( (fd=open("/dev/sda", O_RDONLY ) ) < 0 )
perror("Device Open Error");
/* get required info */
if( (err = ioctl(fd,HDIO_GET_IDENTITY,&hd) ) < 0)
perror("IOCTL err");
else
printf("Serial No = %s\n",hd.serial_no);
return (0);
}
复制代码
这个程序输出:IOCTL err: Invalid argument
如何获取硬盘序列号呢?或者有什么其他的生成注册码的方法?
作者:
井蛙夏虫
时间:
2014-01-02 00:40
hdparm -i /dev/sda可以工作吗?
作者:
boyatchinaunix
时间:
2014-01-02 07:12
[root@centvm~]# hdparm -i /dev/sda
/dev/sda:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
HDIO_GET_IDENTITY failed: Invalid argument
作者:
shan_ghost
时间:
2014-01-02 10:59
看看uuid的开源实现(应该有的吧……
作者:
井蛙夏虫
时间:
2014-01-02 11:58
sdparm --page=sn /dev/sda
或者
smartctl -i /dev/sda
能不能运行?这两个程序都得自己安装
作者:
cuusrname
时间:
2014-01-02 19:21
用cpuid不太好,硬件换了就不行了
硬件加密狗好些
作者:
资深项目经理
时间:
2014-01-02 20:04
MAC+时间限制+randomseed。
作者:
boyatchinaunix
时间:
2014-01-02 20:33
cuusrname 发表于 2014-01-02 19:21
用cpuid不太好,硬件换了就不行了
硬件加密狗好些
确实,这样比较好些。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2