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

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

Аватара для icotonev

Старожил


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

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


Удалять с помощью МБАМ следующие строки:

Код: Выделить весь код
Зараженные папки:
I:\Program Files\Common Files\wm\keys (Trojan.KeyLog) -> No action taken.

Зараженные файлы:
I:\Program Files\ABBYY FineReader 8.0 Professional Edition\twk-fr8fixpatch.exe (Trojan.Dropper) -> No action taken.
I:\WINDOWS\innounp.exe (Malware.Packer.Gen) -> No action taken.
I:\Documents and Settings\Admin\Application Data\wiaserva.log (Malware.Trace) -> No action taken.
I:\Program Files\Common Files\keylog.txt (Malware.Trace) -> No action taken.
Скрипт AVZ.
Выполните скрипт AVZ. Меню Файл - Выполнить скрипт, вставляем написаный скрипт - кнопка Запустить, после выполнения компьютер перезагрузится.
Код: Выделить весь код
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
 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(CheckMsg + IntToStr(AllRoots) + ' \ ' + IntToStr(AllKeys));
 AddToLog(RestoreMsg + IntToStr(RootsRestored) + ' \ ' + IntToStr(KeysRestored));
 AddToLog(FixMsg + IntToStr(KeysFixed));
 SaveLog(RegKeyStrParamRead('HKEY_CURRENT_USER', 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', 'Desktop') + '\Correct_wuauserv&BITS.log');
end.

Подготовка логи по Краткие правила

+

Новый лог МБАМ

На рабочем столе у вас появится файл Correct_wuauserv&BITS.log прикрепите также его к следующему сообщению.

Последний раз редактировалось Drongo, 27-08-2010 в 14:20. Причина: Незабывайте просить лог от скрипта - Correct_wuauserv&BITS.log. :)))

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

Отправлено: 14:11, 27-08-2010 | #4