如何从启动CD获取许可证密钥?

Modified on: Fri, 05 Jul 2019 03:00:02 +0800

我们最近购买了一段时间使用的服务器,但没有相关的软件,登录等。我们试图删除管理员帐户密码,但这不起作用。我们还尝试对密码进行了一些更深入的编辑,但也没有用。

现在我要做的是现在使用服务器上现有的注册表项重新安装Windows。我已经读过您可以访问注册表中的产品密钥,并使用密码工具(Linux启动CD),我们可以查看注册表。当我尝试这个时,我得到了ProductId(哪个版本的Windows),而不是注册表项。

我试图在Windows Server 2003 R2中读取的操作系统。

作者:dubRun

最佳答案

好的,我可以使用以下方法检索它:

下载AC2T KeyViewer(http://www.ac2tech.com/tools/keyviewer /keyviewer.zip

我使用了密码重置工具(不确定它是什么,它只是我多年来一直使用的工具),它在启动CD上有一个注册表查看器。我导航到了

Microsoft->Windows NT->Current Version->DigitalProductId

一旦我得到了这个值(它真的很长,大约12行十六进制),输入整个KeyViewer应用程序的'Raw Key'选项卡。它应该吐出你的产品密钥。请注意,这在某些版本的Windows Server中不起作用。

我发现的另一个替代方案是以下powershell脚本:

# create table to convert in base 24
$map="BCDFGHJKMPQRTVWXY2346789"
# Read registry Key
$value = (get-itemproperty "HKLM:\\SOFTWARE\Microsoft\Windows NT\CurrentVersion").digitalproductid[0x34..0x42]
# Convert in Hexa to show you the Raw Key
$hexa = ""
$value | foreach {
  $hexa = $_.ToString("X2") + $hexa
}
"Raw Key Big Endian: $hexa"

# find the Product Key
$ProductKey = ""
for ($i = 24; $i -ge 0; $i--) {
  $r = 0
  for ($j = 14; $j -ge 0; $j--) {
    $r = ($r * 256) -bxor $value[$j]
    $value[$j] = [math]::Floor([double]($r/24))
    $r = $r % 24
  }
  $ProductKey = $map[$r] + $ProductKey 
  if (($i % 5) -eq 0 -and $i -ne 0) {
    $ProductKey = "-" + $ProductKey
  }
}
"Product Key: $ProductKey"

在此脚本中,您可以使用以下内容替换$ value变量:

  1. 从无法启动的计算机中找到上述注册表值中的内存位置34到42。
  2. 将每对数字转换为十进制(即A1 = 161)
  3. 使用这些值构建数组,例如。 $ value =(161,...)
  4. 醇>

    运行脚本然后返回产品密钥。

作者:,dubRun

相关问答

添加新评论