我想制作一个程序并将其出售,所以我想制作某种许可系统。我在谷歌上发现的是:
http://www.codeproject.com/Articles/28678/Generating-Unique-Key-Finger-Print-for-a-Computer
我在Ubuntu的VirtualBox中运行Windows 7(32位)。我得到了相同的UID,但是当我重新启动Windows时,我得到了一个新的UID。我只是想有些人会购买我的程序,他们可能会从VirtualBox运行它,所以这将是一个问题。
你们有什么建议吗?
即使这是一种更简单的方法,但即使重新启动我的VBox也不会改变。
答案 0 :(得分:0)
你不需要在整个DRM流程中陷入困境,总有更聪明的人在那里,有人会想出如何绕过它。
如果你真的担心:
按照iTunes允许您授权最多5台计算机访问媒体库的方式进行思考。
答案 1 :(得分:0)
即使已经花费了很多时间,我也想为这个问题添加一个可能的解决方案,指出我在尝试生成具有该代码的指纹并遇到相同问题时遇到的事情。
identifier
函数仅为每个wmiProperty
检索 wmiClass
的第一个非空值。您应该意识到的第一件事是:每个wmiClass
可能不所返回的内容都属于同一ManagementObject。因此,如果某物变为“不是第一个对象”,则这也可能会影响您的指纹。
请注意,将Win32_DiskDrive
用作wmiClass
是危险的,因为插入USB设备通常会导致该设备被识别为第一个设备(而不是硬盘驱动器),并随着您的更改指纹插入或拔出设备。即使这种情况没有发生,但如果主驱动器为空(我遇到的磁盘签名是 eg ),则wmiProperty
之一仍可以从USB设备中取出。
一种可能的解决方案是通过选中InterfaceType
排除所有USB设备,并排除所有与“ USB”匹配的设备,或者至少我是这样做的。