[CMD] Поиск обновлений от WannaCry

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
WannaCry (также известный как WannaCrypt, WCry и WanaCrypt0r 2.0) — вредоносная программа, сетевой червь и программа-вымогатель денежных средств, поражающая только компьютеры под управлением операционной системы Microsoft Windows. Её массовое распространение началось 12 мая 2017 года

CMD/BATCH:
@echo off & cls
rem  *****************************************************
rem Copyright: Foxik
rem Create: 2017
rem  *****************************************************
Echo  ЙНННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН»
Echo  є                                                                            є
Echo  є                         Џ®ЁбЄ ®Ў®ў«ҐЁ© ®в WannaCry                       є
Echo  є                                                                            є
Echo  ИННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННј
  set x=0
  set "_key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
  For /f "tokens=2*" %%a In ('Reg.exe query "%_key%" /v "CurrentVersion"^|Find "CurrentVersion"') do set "_ver=%%~b"
  If %_ver% == 6.1 Goto 7
  If %_ver% == 6.2 Goto 8
  If %_ver% == 6.3 Goto 81
  If %_ver% == 10.0 Goto 10
Echo %_ver% ‚ҐабЁп Windows Ґ Ї®¤¤Ґа¦Ёў Ґвбп ;( 
:7
Title Windows 7
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012212"
"4012215"
"4012218"
"4015549"
"4015552"
"4019263"
"4019264"
  ) do call:find_KB %%?
echo ’ॡгҐвбп гбв ®ўЁвм ®¤® Ё§ ЇҐаҐзЁб«Ґле ®Ў®ў«ҐЁ©...
GOTO EOF
:8
Title Windows 8 / 2012
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012214"
"4012217"
"4012220"
"4015551"
"4015554"
"4019214"
"4019216"
  ) do call:find_KB %%?
echo ’ॡгҐвбп гбв ®ўЁвм ®¤® Ё§ ЇҐаҐзЁб«Ґле ®Ў®ў«ҐЁ©...
GOTO EOF
:81
Title Windows 8.1
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012213"
"4012216"
"4012219"
"4015550"
"4015553"
"4019213"
"4019215"
  ) do call:find_KB %%?
echo ’ॡгҐвбп гбв ®ўЁвм ®¤® Ё§ ЇҐаҐзЁб«Ґле ®Ў®ў«ҐЁ©...
GOTO EOF
:10
Title Windows 10
  For /f "tokens=2*" %%a In ('Reg.exe query "%_key%" /v "CurrentBuild"^|Find "CurrentBuild"') do set "_build=%%~b"
echo Build: %_build%
  If %_build% == 10240 Goto 10240
  If %_build% == 10586 Goto 10586
  If %_build% == 14393 Goto 14393
:10240
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012606"
"4016637"
"4015221"
"4019474"
  ) do call:find_KB %%?
echo ’ॡгҐвбп гбв ®ўЁвм ®¤® Ё§ ЇҐаҐзЁб«Ґле ®Ў®ў«ҐЁ©...
GOTO EOF
:10586
Echo Џ®ЁбЄ KB ...
for %%? in (
"4013198"
"4016636"
"4015219"
"4019473"
  ) do call:find_KB %%?
echo ’ॡгҐвбп гбв ®ўЁвм ®¤® Ё§ ЇҐаҐзЁб«Ґле ®Ў®ў«ҐЁ©...
GOTO EOF
:14393
Title Windows 10 / 2016
Echo Џ®ЁбЄ KB ...
for %%? in (
"4013429"
"4016635"
"4015217"
"4019472"
  ) do call:find_KB %%?
echo ’ॡгҐвбп гбв ®ўЁвм ®¤® Ё§ ЇҐаҐзЁб«Ґле ®Ў®ў«ҐЁ©...
GOTO EOF
:EOF
pause
exit
:find_KB
  set kb_id=%~1
echo %kb_id%
  wmic qfe get hotfixid | findstr %kb_id%
  if %errorlevel%==0 cls & echo. & echo ЋЎ®ў«ҐЁҐ Ґ вॡгҐвбп... & GOTO EOF
exit /b
 
Последнее редактирование:
  • Like
Реакции: akok

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,704
Реакции
5,007
Баллы
743
Screenshot_1.jpg

Так какое установить то нужно?
 

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
Одно из перечисленных...

И текст у меня и на 8-ке и на 7-ке отображается корректно.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
Dragokas, вот источник https://support.microsoft.com/ru-ru/help/4023262/how-to-verify-that-ms17-010-is-installed
Не много изменил, теперь можно скачать обновление...:Acute:


CMD/BATCH:
@echo off & cls
rem  *****************************************************
rem Copyright: Foxik
rem Create: 2017
rem  *****************************************************
Echo  ЙНННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН»
Echo  є                                                                            є
Echo  є           Џ®ЁбЄ ®Ў®ў«ҐЁ© (MS17-010) Їа®вЁў WannaCry                      є
Echo  є                                                                            є
Echo  ИННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННј
  Set "xOS=x64"& If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set "xOS=x32"
  set x=0
  set "_key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
  For /f "tokens=2*" %%a In ('Reg.exe query "%_key%" /v "CurrentVersion"^|Find "CurrentVersion"') do set "_ver=%%~b"
  If %_ver% == 6.1 Goto 7
  If %_ver% == 6.2 Goto 8
  If %_ver% == 6.3 Goto 81
  If %_ver% == 10.0 Goto 10
Echo %_ver% ‚ҐабЁп Windows Ґ Ї®¤¤Ґа¦Ёў Ґвбп ;( 
:7
Title Windows 7
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012212"
"4012215"
"4012218"
"4015549"
"4015552"
"4019263"
"4019264"
  ) do call:find_KB %%?
set find="http://www.catalog.update.microsoft.com/Search.aspx?q=4019264"
set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows6.1-kb4019264-x86_aaf785b1697982cfdbe4a39c1aabd727d510c6a7.msu"
if "%xOS%"=="x64" set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows6.1-kb4019264-x64_c2d1cef74d6cb2278e3b2234c124b207d0d0540f.msu"
call:install
GOTO EOF
:8
Title Windows 8 / 2012
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012214"
"4012217"
"4012220"
"4015551"
"4015554"
"4019214"
"4019216"
  ) do call:find_KB %%?
set find="http://www.catalog.update.microsoft.com/Search.aspx?q=4019216"
set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows8-rt-kb4019216-x86_cac6186f5370d92721b0128975211b5463e53041.msu"
if "%xOS%"=="x64" set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows8-rt-kb4019216-x64_f27d07976b81b7749b759ff9b780098596cab5d0.msu"
call:install
GOTO EOF
:81
Title Windows 8.1
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012213"
"4012216"
"4012219"
"4015550"
"4015553"
"4019213"
"4019215"
  ) do call:find_KB %%?
set find="http://www.catalog.update.microsoft.com/Search.aspx?q=4019215"
set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows8.1-kb4019215-x86_fe1cafb988ae5db6046d6e389345faf7bac587d7.msu"
if "%xOS%"=="x64" set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows8.1-kb4019215-x64_d06fa047afc97c445c69181599e3a66568964b23.msu"
call:install
GOTO EOF
:10
Title Windows 10
  For /f "tokens=2*" %%a In ('Reg.exe query "%_key%" /v "CurrentBuild"^|Find "CurrentBuild"') do set "_build=%%~b"
echo Build: %_build%
  If %_build% == 10240 Goto 10240
  If %_build% == 10586 Goto 10586
  If %_build% == 14393 Goto 14393
:10240
Echo Џ®ЁбЄ KB ...
for %%? in (
"4012606"
"4016637"
"4015221"
"4019474"
  ) do call:find_KB %%?
set find="http://www.catalog.update.microsoft.com/Search.aspx?q=4019474"
set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows10.0-kb4019474-x64_4ed033d1c2af2daea1298d10da1fad15a482f726.msu"
if "%xOS%"=="x64" set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows10.0-kb4019474-x86_259adeed4a4037f749afab211ff1bc6a771ff7f6.msu"
call:install
GOTO EOF
:10586
Echo Џ®ЁбЄ KB ...
for %%? in (
"4013198"
"4016636"
"4015219"
"4019473"
  ) do call:find_KB %%?
set find="http://www.catalog.update.microsoft.com/Search.aspx?q=4019473"
set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows10.0-kb4019473-x86_5e2b7bce2f1b116288b4f1f78449c66ecc7c7a53.msu"
if "%xOS%"=="x64" set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows10.0-kb4019473-x64_c23b6f55caf1b9d6c14161b66fe9c9dfb4ad475c.msu"
call:install
GOTO EOF
:14393
Title Windows 10 / 2016
Echo Џ®ЁбЄ KB ...
for %%? in (
"4013429"
"4016635"
"4015217"
"4019472"
  ) do call:find_KB %%?
set find="http://www.catalog.update.microsoft.com/Search.aspx?q=4019472"
set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows10.0-kb4019472-x86_9bf106e898b57c20917cd98fd8b8d250333015a5.msu"
if "%xOS%"=="x64" set download="http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/05/windows10.0-kb4019472-x64_dda304140351259fcf15ca7b1f5b51cb60445a0a.msu"
call:install
GOTO EOF
:find_KB
  set kb_id=%~1
echo %kb_id%
  wmic qfe get hotfixid | findstr %kb_id%
  if %errorlevel%==0 cls & echo. & echo ЋЎ®ў«ҐЁҐ Ґ вॡгҐвбп... & GOTO EOF
exit /b
:install
echo.
echo ’ॡгҐвбп гбв ®ўЁвм ®Ў®ў«ҐЁҐ...
echo.
echo 1. ‘Є з вм ®Ў®ў«ҐЁҐ зҐаҐ§ Ўа 㧥а
echo 2. Ќ ©вЁ ®Ў®ў«ҐЁҐ зҐаҐ§ Ўа 㧥а
echo.
Choice /C 12 /M "‚ЎҐаЁвҐ ЇгЄв:"
if %errorlevel%==1 start "" %download%
if %errorlevel%==2 start "" %find%
echo.
exit /b
:EOF
pause
exit
 
Последнее редактирование модератором:

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
Прошу проверить на Windows 10
 
Последнее редактирование модератором:

akok

Команда форума
Администратор
Сообщения
17,443
Реакции
13,358
Баллы
2,203
Win 10
upload_2017-5-21_17-37-7.png

Выбрать пункт не дает +++ опишите, что куда вставлять, рядовой пользователь не поймет, а лучше соберите скрипт и в ресурсы.
 
Последнее редактирование:

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,704
Реакции
5,007
Баллы
743
Не много изменил, теперь можно скачать обновление...:Acute:
И все-таки, а какая польза от этого скрипта?
Выше я выкладывал скрин, где мне предлагается установить какое-то(да еще и без конкретики) обновление, хотя на самом деле у меня все давно установлено еще 5 мая, когда вышел ежемесячный набор исправлений.
Screenshot_2.jpg
А теперь переделанный скрипт мне предлагает еще и открыть или скачать обновление. Считаю, что скрипт должен сперва проверить наличие или отсутствие этих обновлений в системе, а потом уже что-то предлагать.
 

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
akok, а ты на 10-ке запускал?


shestale, так скрипт и проверяет наличие перечисленных обновлений в системе ( любое из которых устраняет уязвимость, согласно Мелкомягким https://support.microsoft.com/ru-ru/help/4023262/how-to-verify-that-ms17-010-is-installed) а потом предлагает установить последнее, на сегодняшний момент.
Вот только не пойму что у вас с текстом? Почему он так отображается?
 

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,704
Реакции
5,007
Баллы
743
а потом предлагает установить последнее, на сегодняшний момент
Я же пишу, что у меня все установлены))) Поэтому скрипт и должен написать, что все ОК и вали отсюда)))
Вот только не пойму что у вас с текстом? Почему он так отображается?
Проблемы с кодировками в скрипте.
 

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
shestale, значит не все ОК, проверьте стоит ли хоть одно из указанных обновлений и какое.... и будем далее разговаривать
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
Вот только не пойму что у вас с текстом? Почему он так отображается?
Последствия деструктивного преобразования OEM -> ANSI -> OEM через форумный движок.
Следует выкладывать скрипт в виде файла или использовать исключительно кодировку ANSI (chcp 1251). Но для обычных пользователей, более приемлемо - первый вариант.
 
Последнее редактирование:
  • Like
Реакции: akok

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
Dragokas, Ни .cmd, ни .bat не могу загрузить
 

akok

Команда форума
Администратор
Сообщения
17,443
Реакции
13,358
Баллы
2,203
Foxik, в архив его в архив.
 

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,704
Реакции
5,007
Баллы
743
shestale, значит не все ОК, проверьте стоит ли хоть одно из указанных обновлений и какое.... и будем далее разговаривать
ОК, третий раз уже пишу что у меня все обновления стоят, и в частности ежемесячное КВ4019264 тоже стоит, а скрипт это не проверяет и предлагает мне еще раз его установить.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
offtpic.
Если бы я делал подобный тестер, то проверял бы не обновление, а статус фичи и версию драйвера.
 

Foxik

Активный пользователь
Сообщения
40
Реакции
20
Баллы
178
shestale, набери в консоле wmic qfe get hotfixid | findstr "4019264"
что пишет? И есть ли в списке 4019264, когда просто wmic qfe get hotfixid?

Dragokas, я не знаю как проверить версию файла средствами консоли(((
 
Сверху Снизу