我为一位朋友编写了一个小型python程序,其中一项任务是对运行在其上的机器上的Office版本和产品密钥进行审核。
我能够很容易地在注册表中找到32位/64位密钥,但是我的算法似乎在新的Office 2010系统上崩溃了。
我的第一个问题是,现在HKLM\Software\Microsoft\Office\14.0\Common\Registration下有HKLM\Software\Microsoft\Office\14.0\Common\Registration条目,尽管似乎只有一个条目有一个DigitalProductID,但是这个条目没有关于套件的信息。(只是其中的个别产品)
我需要提取安装的office版本,即Office 2010 Home & Student,我在密钥中唯一能找到的就是Office 2010。
奇怪的是,当安装H&S时,具有全名w/ edition的早期office版本的关键条目现在报告专业。
而且,DigitalProductID的解码算法似乎也发生了变化,2000-2007年正确解码ID的代码现在似乎产生了完全错误的代码。
我找不到任何关于office 2010的信息,所有的结果都指向旧版本&与我以前制作这个工具的版本相同。
我需要做的是:
Office 2010 Home & Student)
发布于 2011-07-26 14:09:39
您必须阅读DigitalProductID中的另一节
在CSharp中我使用了
(int ilByte = 52;ilByte <= 66;ilByte++)
读取必要的部分来计算O2K - O2K7的产品密钥.
对于Office 2010,您需要使用
(int ilByte = 808;ilByte <= 822;ilByte++)
若要读取生成产品密钥的字节,请执行以下操作。
关于套房,我也不知道从哪里把它从注册表。也许有必要联系WMI了解这些信息。
发布于 2011-08-05 12:59:23
Office 2010的位置可能是正确的,但是解码密钥的算法必须与2007年不同。
今天,我们在3台新笔记本电脑中输入了3个新的CD键,而旧的2007年工作算法返回了一个错误的CD键。
https://stackoverflow.com/questions/6462462
复制相似问题