WEB开发网
开发学院软件开发VC 如何在Windows应用程序中实现电子注册功能 阅读

如何在Windows应用程序中实现电子注册功能

 2008-11-13 19:28:28 来源:WEB开发网   
核心提示: 本人仔细分析计算机中ROM区的F000H-FFFFH内容后,发现该区域中记录着很多与硬件配置有关的信息(如CMOS配置信息、主板名称、型号和序列号、主机标志字节和生产日期等),如何在Windows应用程序中实现电子注册功能(2),可以采集其中一处或几处作为注册密钥算法的原始数据(如机器RO

本人仔细分析计算机中ROM区的F000H-FFFFH内容后 ,发现该区域中记录着很多与硬件配置有关的信息(如CMOS配置信息、主板名称、型号和序列号、主机标志字节和生产日期等)。可以采集其中一处或几处作为注册密钥算法的原始数据(如机器ROM区中的F000H:FFF5H-F000H:FFFFH中依次存放主机出厂日期和主机标志字节的内容),这些硬件特有的信息对于不同型号的计算机来说是不可能相同的。因此,完全可以将其作为注册密钥算法的原始数据,而且这些内容在DOS、Windows 3.X和Windows 95下均相同。需要注意的是,如果在实际应用中真的将该采集点作为算法的原始数据,则不应该包括F000:FFF0H开始的前五个字节的内容,原因是该地址已被用作机器热启动时的入口地址,在DOS、Windows 3.X和Windows 95系统中对热启动复合键Ctrl+Alt+Del的处理程序均不同,因此该处的内容在三者之中也都不相同,读者应记住这一点。 

利用上述方法取得注册密钥算法的原始数据后,开发者就可以确定自己的加密算法,这可以通过编程语言中丰富的位操作功能来实现。然后将注册加密算法增加到应用程序中需要限制的部分,并可根据应用程序的实际需要和限制的功能任意设置多处,使盗版者很难解密,从而有效地保护开发者的成果。利用这一方法,即使机器中有多个应用程序使用相同的硬件配置信息采集点,也不可能发生任意加密冲突问题;即便是使用了相同的算法原始数据,由于算法不同,注册密钥也不会完全相同;即使解密者知道加密算法的原始数据,由于无法知道加密算法,再加上加密算法贯穿于整个应用程序,所以很难解密。因此,上述方法可以有效地实现跨越DOS、Windows 3.X和Windows 95平台的电子注册功能。此外,由于ROM 区关键点的内容不可能发生变化,所以即使将来推出新型的操作系统平台,这种方法仍然会很有效。 

上一页  1 2 3 4 5  下一页

Tags:如何 Windows 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接