楼主: n0b0dy
收起左侧

[卡巴教程] 自动激活 x 自动更新订阅 x 如何更优雅地使用测试版激活码

  [复制链接]
kakolukia
发表于 2026-7-17 14:40:37 | 显示全部楼层

我安装是正常的,但计划任务是否会成功循环试用还有待考证
rierman
发表于 2026-7-17 14:42:10 | 显示全部楼层
kakolukia 发表于 2026-7-17 14:40
我安装是正常的,但计划任务是否会成功循环试用还有待考证

我刚才也成功安装
kakolukia
头像被屏蔽
发表于 2026-7-17 14:48:52 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
n0b0dy
 楼主| 发表于 2026-7-26 22:16:38 | 显示全部楼层
# Changelog

## 2026-07-26

### Changed
- 修改安装后的自动激活逻辑,彻底解决安装过程中计划任务启动过早导致的真激活失败和计划任务启动过迟导致的伪激活失败问题

- 自动更新订阅的间隔修改为 60 天

- 支持从 UNC 路径安装


## 2025-09-26

### Changed
- 以低 CPU 优先级运行 startup.exe,希望能避免破坏应用程序完整性


## 2025-05-26

### Changed
- 优化了计划任务的运行条件:
  - 在使用电池的情况下也可运行计划任务
  - 仅在连接网络时运行计划任务
  - 若错过预定运行时间,计划任务将在系统下一次登录后补运行

# FAQ
- Q: 失效了?

  A: 并没有

- Q: 是否可以开启自我保护?

  A: 建议开启

- Q: 是否支持 Win 7?

  A: 不知道

- Q: 为什么“应用程序的完整性已被破坏”,如何解决?

  A: 卸载,重试

- Q: 如何升级到新版本?

  A: 手动卸载当前版本,再用批处理安装新版本

- Q: 如何第一时间收到补丁?

  A: 删除第 75 行中的 “@REM ”

  1. @echo off
  2. REM Set the current directory (UNC-path compatible)
  3. pushd "%~dp0" 2>nul || pushd "%TEMP%"

  4. REM Step 1: Get admin rights
  5. NET FILE 1>NUL 2>NUL
  6. if '%errorlevel%' == '0' ( goto :gotAdmin ) else ( powershell Start-Process '%0' -Verb runAs & exit /B )

  7. :gotAdmin
  8. REM Step 2: Get version information from startup.exe
  9. setlocal EnableDelayedExpansion
  10. for /f "usebackq delims=" %%i in (`powershell -command "& {(Get-Item '%~dp0startup.exe').VersionInfo.ProductVersion}"`) do (
  11.     set "fullversion=%%i"
  12. )
  13. REM Extract just the first two segments (e.g., 21.20 from 21.20.8.505)
  14. for /f "tokens=1,2 delims=." %%a in ("!fullversion!") do (
  15.     set "majorversion=%%a.%%b"
  16. )
  17. echo Detected Kaspersky version: !majorversion!

  18. REM Step 3: Ask user to choose
  19. :autoRenewal
  20. echo.
  21. echo Would you like to enable automatic license renewal?
  22. set /p renewal="Enter your choice (y/n): "
  23. if "%renewal%"=="y" (
  24.     goto :editionSelection
  25. ) else if "%renewal%"=="n" (
  26.     goto :installation
  27. ) else (
  28.     echo Invalid choice.
  29.     goto :autoRenewal
  30. )

  31. :editionSelection
  32. echo.
  33. echo Please select Kaspersky edition:
  34. echo 1. Standard
  35. echo 2. Plus
  36. echo 3. Premium
  37. echo.
  38. set /p edition="Enter your choice (1-3): "

  39. if "%edition%"=="1" (
  40.     set "editionName=Kaspersky Standard"
  41.     set "licenseKey=GAJPU-UTD18-3B2JJ-62CQ2"
  42. ) else if "%edition%"=="2" (
  43.     set "editionName=Kaspersky Plus"
  44.     set "licenseKey=GE86F-9WQRM-KK5PG-1ZE2W"
  45. ) else if "%edition%"=="3" (
  46.     set "editionName=Kaspersky Premium"
  47.     set "licenseKey=5AP55-UFAT1-QUMNN-7CUDZ"
  48. ) else (
  49.     echo Invalid choice.
  50.     goto :editionSelection
  51. )

  52. echo.
  53. echo Selected edition: %editionName%

  54. :installation
  55. REM Step 4: Run "startup.exe" without self protection
  56. echo.
  57. echo Installing Kaspersky with self protection disabled...
  58. start "" /low "%~dp0startup.exe" /pSELFPROTECTION=0 /pACTIVATIONCODE=%licenseKey%

  59. REM Step 5: Monitor registry key and modify values during installation
  60. echo.
  61. echo Monitoring and updating registry values...
  62. :checkRegistry
  63. REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\KasperskyLab\AVP%majorversion%\environment" /v "ProductStatus" >nul 2>&1
  64. if %errorlevel% equ 0 (
  65.     echo Registry found, applying modifications...
  66.     REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\KasperskyLab\AVP%majorversion%\environment" /v "ProductStatus" /t REG_SZ /d "" /f >nul 2>&1
  67.     @REM REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\KasperskyLab\AVP%majorversion%\environment" /v "UpdateTarget" /t REG_SZ /d "" /f >nul 2>&1
  68.     echo Registry modifications completed.
  69.     goto :setupTask
  70. ) else (
  71.     goto :checkRegistry
  72. )

  73. :setupTask
  74. if "%renewal%"=="n" (
  75.     goto :done
  76. )

  77. REM Step 6: Manage scheduled task for license renewal
  78. :search
  79. REM Clear previous value
  80. set "avp="

  81. REM Search for avp.com under Kaspersky Lab directory
  82. for /f "delims=" %%A in ('dir /b /s /a-d "C:\Program Files (x86)\Kaspersky Lab\avp.com" 2^>nul') do (
  83.     set "avp=%%A"
  84. )

  85. if not defined avp (
  86.     timeout /t 5 >nul
  87.     goto :search
  88. )

  89. echo.
  90. echo Found avp.com at: %avp%
  91. echo Creating new license renewal task to run every 60 days...

  92. set "taskname=Kaspersky License Renewal"
  93. set "xmlfile=%TEMP%\task.xml"

  94. REM Creating new license renewal task...
  95. schtasks /create /tn "%taskname%" /tr "\"%avp%\" LICENSE /add %licenseKey%" /sc DAILY /mo 60 /f >nul 2>&1

  96. REM Exporting the task to XML...
  97. schtasks /query /tn "%taskname%" /xml > "%xmlfile%"

  98. REM Modifying XML settings...

  99. powershell -Command ^
  100.   "$xml = [xml](Get-Content '%xmlfile%');" ^
  101.   "$nsmgr = New-Object System.Xml.XmlNamespaceManager($xml.NameTable);" ^
  102.   "$nsmgr.AddNamespace('ns', $xml.DocumentElement.NamespaceURI);" ^
  103.   "$settings = $xml.SelectSingleNode('//ns:Settings', $nsmgr);" ^
  104.   "if (-not $settings) { $settings = $xml.CreateElement('Settings', $xml.DocumentElement.NamespaceURI); $xml.Task.AppendChild($settings) | Out-Null };" ^

  105.   "if (-not $settings.SelectSingleNode('ns:StartWhenAvailable', $nsmgr)) {" ^
  106.     "$node = $xml.CreateElement('StartWhenAvailable', $xml.DocumentElement.NamespaceURI);" ^
  107.     "$node.InnerText = 'true'; $settings.AppendChild($node) | Out-Null" ^
  108.   "} else { $settings.SelectSingleNode('ns:StartWhenAvailable', $nsmgr).InnerText = 'true' };" ^

  109.   "if (-not $settings.SelectSingleNode('ns:DisallowStartIfOnBatteries', $nsmgr)) {" ^
  110.     "$node = $xml.CreateElement('DisallowStartIfOnBatteries', $xml.DocumentElement.NamespaceURI);" ^
  111.     "$node.InnerText = 'false'; $settings.AppendChild($node) | Out-Null" ^
  112.   "} else { $settings.SelectSingleNode('ns:DisallowStartIfOnBatteries', $nsmgr).InnerText = 'false' };" ^

  113.   "if (-not $settings.SelectSingleNode('ns:RunOnlyIfNetworkAvailable', $nsmgr)) {" ^
  114.     "$node = $xml.CreateElement('RunOnlyIfNetworkAvailable', $xml.DocumentElement.NamespaceURI);" ^
  115.     "$node.InnerText = 'true'; $settings.AppendChild($node) | Out-Null" ^
  116.   "} else { $settings.SelectSingleNode('ns:RunOnlyIfNetworkAvailable', $nsmgr).InnerText = 'true' };" ^

  117.   "$xml.Save('%xmlfile%')" >nul 2>&1

  118. REM Re-importing modified task...
  119. schtasks /delete /tn "%taskname%" /f >nul 2>&1
  120. schtasks /create /tn "%taskname%" /xml "%xmlfile%" /f >nul 2>&1

  121. del "%xmlfile%" 2>nul

  122. echo Task updated successfully.
  123. echo.

  124. echo.
  125. echo Selected edition: %editionName%
  126. echo Using version: %majorversion%
  127. echo License key: %licenseKey%

  128. :done
  129. echo Process completed successfully.
  130. endlocal
  131. popd
  132. timeout /t 10
复制代码




家驹
头像被屏蔽
发表于 2026-7-31 08:54:29 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
azmw
发表于 2026-8-10 09:33:27 | 显示全部楼层
测试win7也可用,一次安装就搞定。感谢大佬
255255
发表于 2026-8-11 07:55:45 | 显示全部楼层
这个一次安装成功
a119599273
发表于 2026-8-12 20:42:32 | 显示全部楼层


感谢,正常使用
RnJ4
发表于 2026-8-14 04:39:31 | 显示全部楼层
等到期了试一下
RnJ4
发表于 2026-8-14 04:43:30 | 显示全部楼层
不卸载正式版,进PE改注册表ProductStatus项可行吗?
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-10-21 21:43 , Processed in 0.077209 second(s), 4 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表