目前网上有很多Windows 8的激活工具和方法,有电话激活、KMS激活以及所谓的永久激活工具,五花八门。我目前使用的180天有效期的KMS激活,主要是因为安全,不会涉及到修改系统文件。我认为这是目前最方便最可靠的方式,可以看看我写的这篇文章:Windows 8 KMS超简单傻瓜式激活方法。有点偏离话题了,本文讨论的是伪激活问题。什么是伪激活?原理是什么?对系统有损害吗?怎么知道我的Windows系统是不是伪激活?带着这些疑问,一步步来揭开谜团。

Windows 8伪激活

一个伪激活的案例分析

  前两天出现了一个号称能通过正版验证的Win8激活工具,该工具只有2.37MB大小,号称永久激活,而且可以通过slmgr.vbs验证,并提示永久激活。经过本人亲测,该软件属于典型的伪激活,该软件所谓的激活机理是替换系统文件来开启被禁用的功能,然后修改slmgr.vbs让系统强制通过验证,,实就是让没有验证的系统也写上windows已激活的标志而已,该软件如果通过upgrade或者其他任何方式与微软链接都会立即被查出!将该软件解包后会出现另一个EXE文件,再次解包后才会出现源文件,其实就是一个替换的批处理,除了替换一些dll外还会修改slmgr.vbs.。下面是我解析出来的该软件替换后的slmgr.vbs与正版系统slmgr.vbs之间的不同,该软件一共对slmgr.vbs进行了三处删改:

1、移除了1026行处的内容:

LineOut GetResource(“L_MsgLicenseStatusExtendedGrace_1″)

2、移除了1493行到1511行的内容:

ElseIf ls = 5 Then
LineOut GetResource("L_MsgLicenseStatusNotification_1")
strErr = CStr(Hex(objProduct.LicenseStatusReason))
if (objProduct.LicenseStatusReason = HR_SL_E_NOT_GENUINE) Then
strOutput = Replace(GetResource("L_MsgNotificationErrorReasonNonGenuine"), "%ERRCODE%", strErr)
ElseIf (objProduct.LicenseStatusReason = HR_SL_E_GRACE_TIME_EXPIRED) Then
strOutput = Replace(GetResource("L_MsgNotificationErrorReasonExpiration"), "%ERRCODE%", strErr)
Else
strOutput = Replace(GetResource("L_MsgNotificationErrorReasonOther"), "%ERRCODE%", strErr)
End If
LineOut strOutput
ElseIf ls = 6 Then
LineOut GetResource("L_MsgLicenseStatusExtendedGrace_1")
gpMin = objProduct.GracePeriodRemaining
gpDay = GetDaysFromMins(gpMin)
strOutput = Replace(GetResource("L_MsgLicenseStatusTimeRemaining"), "%MINUTE%", gpMin)
strOutput = Replace(strOutput, "%DAY%", gpDay)
LineOut strOutput

3、移除了1541行到1536行的内容:

If bKmsClient Then
If (objProduct.VLActivationTypeEnabled = 1) Then
LineOut GetResource("L_MsgVLActivationTypeAD")
ElseIf (objProduct.VLActivationTypeEnabled = 2) Then
LineOut GetResource("L_MsgVLActivationTypeKMS")
ElseIf (objProduct.VLActivationTypeEnabled = 3) Then
LineOut GetResource("L_MsgVLActivationTypeToken")
Else
LineOut GetResource("L_MsgVLActivationTypeAll")
End If
If IsADActivated(objProduct) Then
DisplayADClientInformation objService, objProduct
ElseIf IsTokenActivated(objProduct) Then
DisplayTkaClientInformation objService, objProduct
ElseIf ls <> 1 Then
LineOut GetResource("L_MsgPleaseActivateRefreshKMSInfo")
Else
DisplayKMSClientInformation objService, objProduct
End If
End If
If (bKmsServer Or (iIsPrimaryWindowsSku = 1) Or (iIsPrimaryWindowsSku = 2)) Then
DisplayKMSInformation objService, objProduct
End If

  移除的结果就是无论系统是否通过正版验证都会提示是正版的,其实根本就没有激活,至于是不是会黑屏之类的我就不清楚了,也没必要去了解,总之不推荐这样的方式。

查看电脑是不是伪激活的方法

  伪激活怎么识别出来呢?由于Windows系统文件已经被替换了,所以直接是不好看出来的,做得不好的伪激活可能在换壁纸等时候看出来,做得好的就不那么好看出来了。不过有一个方法还是可以看出来的,就是先恢复Windows的系统文件,以管理员身份打开命令提示符CMD,输入sfc /scannow,等待系统扫描文件,并自动把被替换的文件恢复后,再次输入slmgr.vbs -xpr,就可以得到真正的激活结果了。