Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Sandor

Ветеран


Консультант


Сообщения: 5350
Благодарности: 1341

Профиль | Отправить PM | Цитировать


Здравствуйте!

Закройте все программы, временно выгрузите антивирус, файрволл и прочее защитное ПО.

Выполните скрипт в AVZ (Файл - Выполнить скрипт):

Код: Выделить весь код
{Исправление в службах в реестре, значения ImagePath.
Данный скрипт распространяется свободно и может быть модицифирован по согласованию с авторами - представителями SafeZone.cc
При публикации скрипта данный комментарий и ссылка на VirusNet.Info обязателена. }
var DescriptionTextWuauServ, DispayNameTextWuauServ, DescriptionTextBITS: String;
 DispayNameTextBITS, FullPathSystem32, NameFolderSystem32, FileServiceDll: String;  
 ImagePathStr, RootStr, SubRootStr, LangID: string;
 AllRoots, AllKeys, RootsRestored, KeysRestored, KeysFixed: integer;
 FinishMsg, RestoreMsg, FixMsg, CheckMsg: String; 
 RegSectMsg, ParamMsg, ParamValueMsg, InRegSectMsg, CorrectMsg, RestMsg: String;

procedure CheckAndRestoreSection(Root: String);
begin
 Inc(AllRoots);
 if RegKeyExistsEx('HKLM', Root) then
   RegKeyResetSecurity('HKLM', Root)
 else
  begin
    Inc(RootsRestored);
    RegKeyCreate('HKLM', Root);
    AddToLog(RegSectMsg + Root + RestMsg);
   end;
end;

procedure CheckAndRestoreSubSection;
begin
  CheckAndRestoreSection(SubRootStr);
end;

procedure RestoredMsg(Root, Param: String);
begin
  AddToLog(ParamMsg + Param + InRegSectMsg + Root + RestMsg);
  Inc(KeysRestored);
end;

procedure FixedMsg(Root, Param: String);
begin
  AddToLog(ParamValueMsg + Param + InRegSectMsg + Root + CorrectMsg);
  Inc(KeysFixed);
end;

procedure RestoreStrParam(Root, Param, Value: String);
begin
  RegKeyStrParamWrite('HKLM', Root, Param, Value);
  RestoredMsg(Root, Param);
end;

procedure CheckAndRestoreStrParam(Root, Param, Value: String);
begin
  Inc(AllKeys);
  if not RegKeyParamExists('HKLM', Root, Param) then
    RestoreStrParam(Root, Param, Value);
end;

procedure CheckAndRestoreIntParam(Root, Param: String; Value: Integer);
begin
 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', Root, Param) then 
  begin
    RegKeyIntParamWrite('HKLM', Root, Param, Value);
    RestoredMsg(Root, Param);
  end;
end;

procedure CheckAndRestoreMultiSZParam(Param, Value: String);
begin
 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', RootStr, Param) then
  begin
    ExecuteFile('REG ADD HKLM\' + RootStr + ' /v ' + Param + Value, '', 0, 10000, true);
    RestoredMsg(RootStr, Param);
  end;
end;

// Исправление значения параметра ImagePath для служб 'wuauserv' и 'BITS'
procedure ImagePathFix(Node, Srv: String);
var RegStr: String;
begin
 RegStr := 'SYSTEM\' + Node + '\Services\' + Srv;
 if RegKeyExistsEx('HKLM', RegStr) then
  begin
    Inc(AllKeys);
    RegKeyResetSecurity('HKLM', RegStr);
    RegKeyStrParamWrite('HKLM', RegStr, 'ImagePath', ImagePathStr);
    FixedMsg(RegStr, 'ImagePath');
  end;
end;

{ Выполнение исправление всех ключей в ветках -
   'HKLM\SYSTEM\CurrentControlSet\Services\BITS' и 'HKLM\SYSTEM\CurrentControlSet\Services\wuauserv'}
procedure CorrectRegistryRoot(DescriptionText, DisplayNameText, Srv: String);
var FileServiceDll, CCSNumber: string;
     i : integer;
begin
 if Srv = 'BITS' then
   FileServiceDll := FullPathSystem32 + 'qmgr.dll'
 else
   FileServiceDll := FullPathSystem32 + 'wuauserv.dll';
 RootStr:= 'SYSTEM\CurrentControlSet\Services\' + Srv;

 CheckAndRestoreSection(RootStr);

 CheckAndRestoreStrParam(RootStr, 'Description', DescriptionText);
 CheckAndRestoreStrParam(RootStr, 'DisplayName', DisplayNameText);
 CheckAndRestoreStrParam(RootStr, 'ObjectName', 'LocalSystem');

 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', RootStr, 'ImagePath') then
   RestoreStrParam(RootStr, 'ImagePath', ImagePathStr)
 else
  begin
    Dec(AllKeys);
    if LowerCase(RegKeyStrParamRead('HKLM', RootStr, 'ImagePath')) <> LowerCase(ImagePathStr) then
      for i:= 0 to 999 do
       begin
         if i > 0 then
           CCSNumber := FormatFloat('ControlSet000', i)
         else
           CCSNumber := 'CurrentControlSet';
         ImagePathFix(CCSNumber, Srv);
      end;
   end;

 CheckAndRestoreIntParam(RootStr, 'ErrorControl', 1);
 CheckAndRestoreIntParam(RootStr, 'Start', 2);
 CheckAndRestoreIntParam(RootStr, 'Type', 32);

 if Srv = 'BITS' then
  begin
    CheckAndRestoreMultiSZParam('DependOnService', ' /t REG_MULTI_SZ /d RpcSs');
    CheckAndRestoreMultiSZParam('DependOnGroup', ' /t REG_MULTI_SZ');
  end;

 SubRootStr:= RootStr + '\Enum';
 CheckAndRestoreSubSection;

 CheckAndRestoreStrParam(SubRootStr, '0', 'Root\LEGACY_' + UpperCase(Srv) + '\0000');
 CheckAndRestoreIntParam(SubRootStr, 'Count', 1);
 CheckAndRestoreIntParam(SubRootStr, 'NextInstance', 1);

 SubRootStr := RootStr + '\Security';
 CheckAndRestoreSubSection;

 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', SubRootStr, 'Security') then
  begin
    RegKeyBinParamWrite('HKLM', SubRootStr, 'Security', '01,00,14,80,78,00,00,00,84,00,00,00,14,00,00,00,30,00,00,00,02,00,1c,00,01,00,00,00,02,80,14,00,ff,00,0f,00,01,01,00,00,00,00,00,01,00,00,00,00,02,00,48,00,03,00,00,00,00,00,14,00,9d,00,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,00,00,14,00,ff,01,0f,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00');
    RestoredMsg(SubRootStr, 'Security');
  end;

 SubRootStr:= RootStr + '\Parameters';
 CheckAndRestoreSubSection;

 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', SubRootStr, 'ServiceDll') then
  begin
    RegKeyParamWrite('HKLM', SubRootStr, 'ServiceDll', 'REG_EXPAND_SZ', FileServiceDll);
    RestoredMsg(SubRootStr, 'ServiceDll');
  end
 else if LowerCase(RegKeyStrParamRead('HKLM', SubRootStr, 'ServiceDll')) <> LowerCase(FileServiceDll) then
  begin
    RegKeyParamWrite('HKLM', SubRootStr, 'ServiceDll', 'REG_EXPAND_SZ', FileServiceDll);
    FixedMsg(SubRootStr, 'ServiceDll');
  end
end;

{ Главное выполнение }
begin
ExecuteFile('net.exe', 'stop tcpip /y', 0, 15000, true);
SearchRootkit(true, true);
SetAVZGuardStatus(True);
 QuarantineFile('C:\Documents and Settings\nachis\Application Data\Eldods.exe', '');
 QuarantineFile('C:\DOCUME~1\nachis\LOCALS~1\Temp\Rar$EXa0.385\GreenChristmasTree.exe', '');
 QuarantineFile('C:\Documents and Settings\nachis\Главное меню\Программы\Yandex\Yandex.lnk','');
 QuarantineFile('C:\Documents and Settings\nachis\Главное меню\Программы\Yandex\Yаndех.lnk','');
 QuarantineFile('C:\Documents and Settings\All Users\Главное меню\Программы\Оpеrа.lnk','');
 QuarantineFile('C:\Documents and Settings\All Users\Главное меню\Программы\Яндекс\Элементы Яндекса\Страница Элементов Яндекса для Intеrnеt Ехplоrеr.lnk','');
 QuarantineFile('C:\Documents and Settings\nachis\Local Settings\Application Data\Yandex\browser.bat','');
 QuarantineFile('C:\launcher.bat','');
 QuarantineFile('C:\Documents and Settings\All Users\Application Data\help.bat','');
 DeleteFile('C:\Documents and Settings\nachis\Local Settings\Application Data\Yandex\browser.bat','');
 DeleteFile('C:\launcher.bat','');
 DeleteFile('C:\Documents and Settings\All Users\Application Data\help.bat','');
 DeleteFile('C:\Documents and Settings\nachis\Application Data\Eldods.exe', '32');
 DeleteFile('C:\DOCUME~1\nachis\LOCALS~1\Temp\Rar$EXa0.385\GreenChristmasTree.exe', '32');
 ClearLog;
 ExpRegKey('HKLM', 'SYSTEM\CurrentControlSet\Services\wuauserv', 'wuauserv.reg');
 ExpRegKey('HKLM', 'SYSTEM\CurrentControlSet\Services\BITS', 'BITS.reg');
 LangID:= RegKeyStrParamRead('HKLM', 'SYSTEM\CurrentControlSet\Control\Nls\Language', 'InstallLanguage'); 
 if LangID = '0419' then
  begin
    DescriptionTextWuauServ := 'Включает загрузку и установку обновлений Windows. Если служба отключена, то на этом компьютере нельзя будет использовать возможности автоматического обновления или веб-узел Центра обновления Windows.';
    DispayNameTextWuauServ := 'Автоматическое обновление';
    DescriptionTextBITS := 'Обеспечивает передачу данных между клиентами и серверами в фоновом режиме. Если служба BITS отключена, такие возможности, как Windows Update, не могут правильно работать.';
    DispayNameTextBITS := 'Фоновая интеллектуальная служба передачи (BITS)';
    AddToLog('Операционная система - русская');
    FinishMsg := '–––– Восстановление завершено ––––';
    RestoreMsg := 'Восстановлено разделов\параметров: ';
    FixMsg := 'Исправлено параметров: ';
    CheckMsg := 'Проверено разделов\параметров: ';
    RegSectMsg := 'Раздел реестра HKLM\';
    ParamMsg := 'Параметр ';
    ParamValueMsg := 'Значение параметра ';
    InRegSectMsg := ' в разделе реестра HKLM\';
    CorrectMsg := ' исправлено на оригинальное.';
    RestMsg := 'восстановлен.';
  end
 else if LangID = '0409' then
  begin
    DescriptionTextWuauServ := 'Enables the download and installation of Windows updates. If this service is disabled, this computer will not be able to use the Automatic Updates feature or the Windows Update Web site.';
    DispayNameTextWuauServ := 'Automatic Updates'; 
    DescriptionTextBITS := 'Transfers data between clients and servers in the background. If BITS is disabled, features such as Windows Update will not work correctly.';
    DispayNameTextBITS := 'Background Intelligent Transfer Service';
    AddToLog('Operation system - english');
    FinishMsg := '–––– Restoration finished ––––';
    RestoreMsg := 'Sections\parameters restored: ';
    FixMsg := 'Parameters corrected: ';
    CheckMsg := 'Sections\parameters checked: ';
    RegSectMsg := 'Registry section HKLM\';
    ParamMsg := 'Parameter ';
    ParamValueMsg := 'Value of parameter ';
    InRegSectMsg := ' in registry section HKLM\';
    CorrectMsg := ' corrected on original.';
    RestMsg := ' restored.';
  end;
 AddToLog('');

{ Определение папки X:\Windows\System32\ }
 NameFolderSystem32 := RegKeyStrParamRead('HKLM', 'SYSTEM\CurrentControlSet\Control\Windows', 'SystemDirectory');
 ImagePathStr := NameFolderSystem32 + '\svchost.exe -k netsvcs';
 Delete(NameFolderSystem32, 1, pos('\', NameFolderSystem32) - 1);
 FullPathSystem32 := GetEnvironmentVariable('WinDir') + NameFolderSystem32 + '\';
 
 AllRoots := 0;
 AllKeys := 0;
 RootsRestored := 0;
 KeysRestored := 0;
 KeysFixed := 0;

 CorrectRegistryRoot(DescriptionTextBITS, DispayNameTextBITS, 'BITS');
 CorrectRegistryRoot(DescriptionTextWuauServ, DispayNameTextWuauServ, 'wuauserv');

 AddToLog('');
 AddToLog(FinishMsg);
 AddToLog('');
 AddToLog(RestoreMsg + IntToStr(RootsRestored) + ' \ ' + IntToStr(KeysRestored));
 AddToLog(FixMsg + IntToStr(KeysFixed));
 AddToLog(CheckMsg + IntToStr(AllRoots) + ' \ ' + IntToStr(AllKeys));
 SaveLog(RegKeyStrParamRead('HKEY_CURRENT_USER', 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', 'Desktop') + '\Correct_wuauserv&BITS.log');
 RegKeyParamDel('HKEY_CURRENT_USER','Software\Microsoft\Windows\CurrentVersion\Run','Eldods');
 RegKeyParamDel('HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\Green Christmas Tree','command');
BC_ImportALL;
ExecuteSysClean;
BC_Activate;
RebootWindows(true);
end.
Компьютер перезагрузится.
После выполнения скрипта на рабочем столе появится текстовый файл Correct_wuauserv&BITS.log. Его необходимо прикрепить к следующему посту.


Выполните такой скрипт:

Код: Выделить весь код
begin
CreateQurantineArchive(GetAVZDirectory+'quarantine.zip'); 
end.
Файл quarantine.zip из папки с распакованной утилитой AVZ отправьте с помощью этой формы или (если размер архива превышает 8 MB) на этот почтовый ящик: quarantine <at> safezone.cc (замените <at> на @) с указанием ссылки на тему в теме (заголовке) сообщения и с указанием пароля: virus в теле письма.



Ярлыки
Цитата:
C:\Documents and Settings\nachis\Главное меню\Программы\Yandex\Yandex.lnk
C:\Documents and Settings\nachis\Главное меню\Программы\Yandex\Yаndех.lnk
C:\Documents and Settings\All Users\Главное меню\Программы\Оpеrа.lnk
C:\Documents and Settings\All Users\Главное меню\Программы\Яндекс\Элементы Яндекса\Страница Элементов Яндекса для Intеrnеt Ехplоrеr.lnk
исправьте с помощью утилиты ClearLNK.
Отчет в виде файла ClearLNK-<Дата>.log прикрепите к следующему сообщению.

Повторите логи по правилам. Для повторной диагностики запустите снова Autologger. В первом диалоговом окне нажмите ОК, удерживая нажатой клавишу Shift.

-------

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:06, 26-10-2015 | #3