首页 新闻 会员 周边

关于机器码生成试验与问题

0
悬赏园豆:15 [已关闭问题]

网上大部分C#机器码相关的文章都是利用WMI获取硬件信息,我一一测试,结果:
CPU ID -> 不具备唯一性,同一型号可能相同
硬盘SN -> 利用WMI无法读取SATA硬盘的SN
卷SN -> 格式化后就会发生变化,不适合作机器特征码,同时网上也有相应的卷SN修改工具(此外我也不确定硬盘互GHOST会不会产生相同的卷SN,有知道的告诉我3Q)
主伴SN -> 部分主板获取不到
BIOS -> 部分BIOS获取不到
网卡MAC -> 现在很多程序会修改MAC地址,且网卡出故障的机率较高不合适作机器特征码

最重要的一个问题是WMI是读取注册表的,也就是说特征信息可以伪造,尤其是网卡MAC

...郁闷了开始,那么到底有什么比较好的方式来生成机器码呢....望高人指点

x_craft的主页 x_craft | 初学一级 | 园豆:100
提问于:2009-07-28 00:15
< >
分享
其他回答(3)
0

一般来说,CpuID的确可以见到很多相同的,但是能够基本满足需求了。

如果你坚持产生重复率较低的唯一值,那么可以考虑把以上所有的有意义的值综合起来生成一个编码,比如可以通过异或运算或者哈希值等方法复合每个硬件编码,这样能将重复率缩小到一个可以接受的范围。

斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-07-28 02:06
0

呵呵来我的博客看看上面有的呵呵

苏飞 | 园豆:2024 (老鸟四级) | 2009-07-28 05:32
0

用加密狗,一台机器上一个,即便是他想用多台机器,完全随他们只要他们不麻烦,不过这种方法视你软件的性质而定。

博弈IT | 园豆:366 (菜鸟二级) | 2009-07-28 12:25
0

如果软件可破解,机器码基本没用

还是研究怎么反破解吧

机器码可以随机生成(绝对唯一),然后 保存在用户不知道得地方,这种地方多了去

软件和磁盘捆绑。。。。。。

业余清洁工 | 园豆:230 (菜鸟二级) | 2009-08-02 03:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册