Перейти к содержанию

Рекомендуемые сообщения

Опубликовано
Доброго времени суток!
У меня появилась такая проблема:
Сделал в проекте механизм самообновления через загрузчик программы. То есть запускается RegistratorLoader.exe, который проверяет наличие обновлений и запускает потом RegistratorFOG.exe - основную программу. Так вот антивирусы на машинах клиентов (в частности Аваст, Касперский, Nod, AVG) завопили, что RegistratorLoader.exe - это вирус HEUR:Trojan-Downloader.Win32.Generic (по Касперскому)
Подскажите, пожалуйста, как можно попробовать изменить код, чтобы антивирусы перестали ругаться? С проблемами подобного типа никогда не разбирался, видимо поэтому даже не знаю в какую сторону думать...
Среда Delphi XE7
Код:

program RegistratorLoader;


uses

WinInet, shellapi, windows, sysutils;



function AppVersion: string;

var

dwHandle: THandle;

dwSize: DWORD;

lpData, lpData2: Pointer;

uiSize: UINT;

begin

Result:= '';

dwSize:= GetFileVersionInfoSize(PChar('RegistratorFOG.exe'), dwSize);

dwHandle:= 0;

if dwSize <> 0 then

begin

GetMem(lpData, dwSize);

if GetFileVersionInfo(PChar('RegistratorFOG.exe'), dwHandle, dwSize, lpData)

then

begin

uiSize:= Sizeof(TVSFixedFileInfo);

VerQueryValue(lpData, '\', lpData2, uiSize);

with PVSFixedFileInfo(lpData2)^ do

Result:= Format('%d.%02d.%02d.%02d', [HiWord(dwFileVersionMS),

LoWord(dwFileVersionMS), HiWord(dwFileVersionLS),

LoWord(dwFileVersionLS)]);

end;

FreeMem(lpData, dwSize);

end;

end;



function GetInetFile(const fileURL, FileName: String): boolean;

const

BufferSize = 1024;

var

hSession, hURL: HInternet;

Buffer: array [1 .. BufferSize] of Byte;

BufferLen: DWORD;

f: File;

sAppName: string;

function ExtractFileName(const FileName: string): string;

var

I: Integer;

begin

for I:= High(FileName) downto Low(FileName) do

if FileName[I] = '\' then

break;

Result:= Copy(FileName, I + 1, length(FileName) - I);

end;



begin

Result:= False;

sAppName:= ExtractFileName(paramstr(0));

hSession:= InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,

nil, nil, 0);

try

hURL:= InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);

try

AssignFile(f, FileName);

Rewrite(f, 1);

repeat

InternetReadFile(hURL, @Buffer, Sizeof(Buffer), BufferLen);

BlockWrite(f, Buffer, BufferLen)

until BufferLen = 0;

CloseFile(f);

Result:= True;

finally

InternetCloseHandle(hURL)

end

finally

InternetCloseHandle(hSession)

end

end;



var

NewVer, isCritical, message_: string;

T: Text;

AcceptUpd: Integer;

uTyp: Cardinal;

fl: boolean;



begin

GetInetFile('https://dl.dropboxusercontent.com/###/version', 'version');

AssignFile(T, 'version');

ReSet(T);

ReadLn(T, NewVer);

ReadLn(T, isCritical);

CloseFile(T);

deletefile('version');

fl:= False;

if NewVer <> AppVersion then

begin

if isCritical = 'Critical' then

begin

uTyp:= MB_ICONWARNING + MB_YESNO;

message_:= 'Доступно критическое обновление программы. Обновить?';

fl:= True;

end

else

begin

uTyp:= MB_ICONQUESTION + MB_YESNO;

message_:= 'Доступно обновление программы. Обновить?';

fl:= True;

end;

if fl then

if messagebox(0, PChar(message_), PChar('Обновление RegistratorFOG'),

uTyp) = idYes then

begin

if GetInetFile

('https://dl.dropboxusercontent.com/###/RegistratorFOG.exe',

'RegistratorFOG.new') then

begin

deletefile('RegistratorFOG.exe');

RenameFile('RegistratorFOG.new', 'RegistratorFOG.exe');

end;

end;

end;

ShellExecute(0, 'open', 'RegistratorFOG.exe', nil, nil, 1);



end.

 

 

 

Опубликовано

Скорее всего, такой механизм обновления, когда сначала запускается одна программа, что то скачивает, запускает вторую является подозрительным. 

Посмотрите, как сделано в других решениях и сделайте аналогично. Как вариант - отправить программу в ЛК, что бы там убрали детект на неё.

Опубликовано

Скорее всего, такой механизм обновления, когда сначала запускается одна программа, что то скачивает, запускает вторую является подозрительным. 

Посмотрите, как сделано в других решениях и сделайте аналогично. Как вариант - отправить программу в ЛК, что бы там убрали детект на неё.

Понимаю, конечно же, что код можно как-то "перестроить", чтобы не срабатывало. А вот как реализовано в других решениях? Пробовал и "всё в одном" - тот же эффект. Как сделано в других решениях? Если брать уже готовые продукты - код все равно от пользователя скрыт, а решений в интернете не нашел, которые бы так же, как, например, обновление браузера, Team-viewer'a или флэш-плеера, срабатывали хорошо и без "алертов".

Опубликовано

Выкладывайте на сервере помимо обновленного приложения текстовый файл с его md5. При проверке обновлений выкачивайте md5 и сравнивайте с файлом на компьютере. Если такой алгоритм?

Опубликовано

Выкладывайте на сервере помимо обновленного приложения текстовый файл с его md5. При проверке обновлений выкачивайте md5 и сравнивайте с файлом на компьютере. Если такой алгоритм?

Уточню описание работы моего механизма обновления (хотя по коду в принципе видно). Скачивается файл с информацией о версии, и если она различается с текущей - программа обновляет основной .exe. Если я вместо скачки файла version буду скачивать файл, содержащий контрольную сумму и ее сравнивать - что изменится? Не понимаю, что от этого изменится, но.... попробую

Опубликовано

 

 


Подскажите, пожалуйста, как можно попробовать изменить код, чтобы антивирусы перестали ругаться?
настроить исключения в антивирусах
Опубликовано

Уточню описание работы моего механизма обновления (хотя по коду в принципе видно). Скачивается файл с информацией о версии, и если она различается с текущей - программа обновляет основной .exe. Если я вместо скачки файла version буду скачивать файл, содержащий контрольную сумму и ее сравнивать - что изменится? Не понимаю, что от этого изменится, но.... попробую

Вы интересовались, как у других сделано обновление. Я взял пример с текстового редактора Notepad++. У них приложение запрашивает из сети файл:

http://downloads.sourceforge.net/project/npppluginmgr/xml/plugins.md5.txt

Антивирусы на это дело не ругаются  :)

Опубликовано

@Daemvil,

Варианты для решения проблем с Касперским:

1. Участвовать в Whitelist: http://whitelist.kaspersky.ru/whitelist-for-partners-ru

2. Добавить на каждом ПК с антивирусом приложение в исключения.

3. Изменить механизм обновления приложения.

4. Временно отключить антивирус перед обновлением приложения.

Опубликовано
Решил проблему следующим образом: программа-апдейтер в случае наличия обновлений скачивает главный .exe, изменив расширение на .update. Затем запускает основную программу, которая проверяет наличие файла с расширением .update, и в случае нахождения оного подменяет свой .exe этим обновлением и перезапускается. Антивирусы вроде теперь молчат ))
код:


program RegistratorLoader;
 
uses
  WinInet, shellapi, windows, sysutils;
 
function AppVersion: string;
var
  dwHandle: THandle;
  dwSize: DWORD;
  lpData, lpData2: Pointer;
  uiSize: UINT;
begin
  Result:= '';
  dwSize:= GetFileVersionInfoSize(PChar('RegistratorFOG.exe'), dwSize);
  dwHandle:= 0;
  if dwSize <> 0 then
  begin
    GetMem(lpData, dwSize);
    if GetFileVersionInfo(PChar('RegistratorFOG.exe'), dwHandle, dwSize, lpData)
    then
    begin
      uiSize:= Sizeof(TVSFixedFileInfo);
      VerQueryValue(lpData, '\', lpData2, uiSize);
      with PVSFixedFileInfo(lpData2)^ do
        Result:= Format('%d.%02d.%02d.%02d', [HiWord(dwFileVersionMS),
          LoWord(dwFileVersionMS), HiWord(dwFileVersionLS),
          LoWord(dwFileVersionLS)]);
    end;
    FreeMem(lpData, dwSize);
  end;
end;
 
function GetInetFile(const fileURL, FileName: String): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array [1 .. BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
  function ExtractFileName(const FileName: string): string;
  var
    I: Integer;
  begin
    for I:= High(FileName) downto Low(FileName) do
      if FileName[I] = '\' then
        break;
    Result:= Copy(FileName, I + 1, length(FileName) - I);
  end;
 
begin
  Result:= False;
  sAppName:= ExtractFileName(paramstr(0));
  hSession:= InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
    nil, nil, 0);
  try
    hURL:= InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
    try
      AssignFile(f, FileName);
      Rewrite(f, 1);
      repeat
        InternetReadFile(hURL, @Buffer, Sizeof(Buffer), BufferLen);
        BlockWrite(f, Buffer, BufferLen)
      until BufferLen = 0;
      CloseFile(f);
      Result:= True;
    finally
      InternetCloseHandle(hURL)
    end
  finally
    InternetCloseHandle(hSession)
  end
end;
 
var
  NewVer, isCritical, message_: string;
  T: Text;
  AcceptUpd: Integer;
  uTyp, res: Cardinal;
  fl: boolean;
  exeName, verName: string;
 
procedure WinExec(const ACmdLine: String; const ACmdShow: UINT = SW_SHOWNORMAL);
var
  SI: TStartupInfo;
  PI: TProcessInformation;
  CmdLine: String;
begin
  Assert(ACmdLine <> '');
 
  CmdLine:= ACmdLine;
  UniqueString(CmdLine);
 
  FillChar(SI, Sizeof(SI), 0);
  FillChar(PI, Sizeof(PI), 0);
  SI.cb:= Sizeof(SI);
  SI.dwFlags:= STARTF_USESHOWWINDOW;
  SI.wShowWindow:= ACmdShow;
 
  SetLastError(ERROR_INVALID_PARAMETER);
{$WARN SYMBOL_PLATFORM OFF}
  Win32Check(CreateProcess(nil, PChar(CmdLine), nil, nil, False,
    CREATE_DEFAULT_ERROR_MODE
    {$IFDEF UNICODE} or CREATE_UNICODE_ENVIRONMENT{$ENDIF}, nil, nil, SI, PI));
{$WARN SYMBOL_PLATFORM ON}
  CloseHandle(PI.hThread);
  CloseHandle(PI.hProcess);
end;
 
begin
  exeName:= 'RegistratorFOG';
  verName:= 'version';
  GetInetFile('https://dl.dropboxusercontent.com/u/24818729/RegRepo/' +
    verName, verName);
  AssignFile(T, verName);
  ReSet(T);
  ReadLn(T, NewVer);
  ReadLn(T, isCritical);
  CloseFile(T);
  deletefile(verName);
  fl:= False;
  if NewVer <> AppVersion then
  begin
    if isCritical = 'Critical' then
    begin
      uTyp:= MB_ICONWARNING + MB_YESNO;
      message_:= 'Доступно критическое обновление программы. Обновить?';
      fl:= True;
    end
    else
    begin
      uTyp:= MB_ICONQUESTION + MB_YESNO;
      message_:= 'Доступно обновление программы. Обновить?';
      fl:= True;
    end;
    if fl then
      if messagebox(0, PChar(message_), PChar('Обновление RegistratorFOG'),
        uTyp) = idYes then
      begin
        if not GetInetFile
          ('https://dl.dropboxusercontent.com/u/24818729/RegRepo/' + exeName +
          '.exe', exeName + '.update') then
          messagebox(0, PChar('Ошибка обновления'),
            PChar('Обновление RegistratorFOG'), MB_ICONERROR + MB_OK);
      end;
  end;
 
  WinExec(exeName + '.exe');
 
end.

 

  • Согласен 2
Опубликовано

неверное решение. все решается через

 

 


исключения в антивирусах
  • Не согласен 1
Опубликовано

 

неверное решение. все решается через

 

 

исключения в антивирусах

 

Не согласен, обоснуйте, что это единственно верное решение. Каждый выбирает сам. Например:

1. далеко не на всех машинах антивирусы позволяют добавлять в исключения (настройка автоматических действий при какой-либо опасности)

2. некоторые антивирусы после добавления в исключения через некоторое время снова блокируют программу, а некоторые и вовсе не дают добавить в исключения (пример: mcAfee как-то давно взял и удалил половину моих скомпилированных программ, перенеся на карантин, сказав, что это вирусы, без возможности добавить в "исключения". Правда, потом вернул часть, но осадок остался)) )

3. согласитесь, намного приятней, когда пользователь запускает программу, и сразу все работает, без каких-либо манипуляций с антивирусом. А из-за некоторых мнительных пользователей может пострадать репутация разработчика.

  • Согласен 1
Опубликовано

 

Решил проблему следующим образом: программа-апдейтер в случае наличия обновлений скачивает главный .exe, изменив расширение на .update. Затем запускает основную программу, которая проверяет наличие файла с расширением .update, и в случае нахождения оного подменяет свой .exe этим обновлением и перезапускается. Антивирусы вроде теперь молчат ))
код:

 

program RegistratorLoader;
 
uses
  WinInet, shellapi, windows, sysutils;
 
function AppVersion: string;
var
  dwHandle: THandle;
  dwSize: DWORD;
  lpData, lpData2: Pointer;
  uiSize: UINT;
begin
  Result:= '';
  dwSize:= GetFileVersionInfoSize(PChar('RegistratorFOG.exe'), dwSize);
  dwHandle:= 0;
  if dwSize <> 0 then
  begin
    GetMem(lpData, dwSize);
    if GetFileVersionInfo(PChar('RegistratorFOG.exe'), dwHandle, dwSize, lpData)
    then
    begin
      uiSize:= Sizeof(TVSFixedFileInfo);
      VerQueryValue(lpData, '\', lpData2, uiSize);
      with PVSFixedFileInfo(lpData2)^ do
        Result:= Format('%d.%02d.%02d.%02d', [HiWord(dwFileVersionMS),
          LoWord(dwFileVersionMS), HiWord(dwFileVersionLS),
          LoWord(dwFileVersionLS)]);
    end;
    FreeMem(lpData, dwSize);
  end;
end;
 
function GetInetFile(const fileURL, FileName: String): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array [1 .. BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
  function ExtractFileName(const FileName: string): string;
  var
    I: Integer;
  begin
    for I:= High(FileName) downto Low(FileName) do
      if FileName[I] = '\' then
        break;
    Result:= Copy(FileName, I + 1, length(FileName) - I);
  end;
 
begin
  Result:= False;
  sAppName:= ExtractFileName(paramstr(0));
  hSession:= InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
    nil, nil, 0);
  try
    hURL:= InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
    try
      AssignFile(f, FileName);
      Rewrite(f, 1);
      repeat
        InternetReadFile(hURL, @Buffer, Sizeof(Buffer), BufferLen);
        BlockWrite(f, Buffer, BufferLen)
      until BufferLen = 0;
      CloseFile(f);
      Result:= True;
    finally
      InternetCloseHandle(hURL)
    end
  finally
    InternetCloseHandle(hSession)
  end
end;
 
var
  NewVer, isCritical, message_: string;
  T: Text;
  AcceptUpd: Integer;
  uTyp, res: Cardinal;
  fl: boolean;
  exeName, verName: string;
 
procedure WinExec(const ACmdLine: String; const ACmdShow: UINT = SW_SHOWNORMAL);
var
  SI: TStartupInfo;
  PI: TProcessInformation;
  CmdLine: String;
begin
  Assert(ACmdLine <> '');
 
  CmdLine:= ACmdLine;
  UniqueString(CmdLine);
 
  FillChar(SI, Sizeof(SI), 0);
  FillChar(PI, Sizeof(PI), 0);
  SI.cb:= Sizeof(SI);
  SI.dwFlags:= STARTF_USESHOWWINDOW;
  SI.wShowWindow:= ACmdShow;
 
  SetLastError(ERROR_INVALID_PARAMETER);
{$WARN SYMBOL_PLATFORM OFF}
  Win32Check(CreateProcess(nil, PChar(CmdLine), nil, nil, False,
    CREATE_DEFAULT_ERROR_MODE
    {$IFDEF UNICODE} or CREATE_UNICODE_ENVIRONMENT{$ENDIF}, nil, nil, SI, PI));
{$WARN SYMBOL_PLATFORM ON}
  CloseHandle(PI.hThread);
  CloseHandle(PI.hProcess);
end;
 
begin
  exeName:= 'RegistratorFOG';
  verName:= 'version';
  GetInetFile('https://dl.dropboxusercontent.com/u/24818729/RegRepo/' +
    verName, verName);
  AssignFile(T, verName);
  ReSet(T);
  ReadLn(T, NewVer);
  ReadLn(T, isCritical);
  CloseFile(T);
  deletefile(verName);
  fl:= False;
  if NewVer <> AppVersion then
  begin
    if isCritical = 'Critical' then
    begin
      uTyp:= MB_ICONWARNING + MB_YESNO;
      message_:= 'Доступно критическое обновление программы. Обновить?';
      fl:= True;
    end
    else
    begin
      uTyp:= MB_ICONQUESTION + MB_YESNO;
      message_:= 'Доступно обновление программы. Обновить?';
      fl:= True;
    end;
    if fl then
      if messagebox(0, PChar(message_), PChar('Обновление RegistratorFOG'),
        uTyp) = idYes then
      begin
        if not GetInetFile
          ('https://dl.dropboxusercontent.com/u/24818729/RegRepo/' + exeName +
          '.exe', exeName + '.update') then
          messagebox(0, PChar('Ошибка обновления'),
            PChar('Обновление RegistratorFOG'), MB_ICONERROR + MB_OK);
      end;
  end;
 
  WinExec(exeName + '.exe');
 
end.

 

А если имя файла будет "flashplayer.update" ,то антивирусы опять ругаться начнут  :)

  • Улыбнуло 1
Опубликовано

А если имя файла будет "flashplayer.update" ,то антивирусы опять ругаться начнут  :)

Понять бы еще логику, почему антивирусы блокируют программы, которые такие действия совершают. Ничего зловредного ведь не происходит.

 

Опубликовано

 

А если имя файла будет "flashplayer.update" ,то антивирусы опять ругаться начнут  :)

Понять бы еще логику, почему антивирусы блокируют программы, которые такие действия совершают. Ничего зловредного ведь не происходит.

 

 

На самом деле приведенный код - типичный Trojan-Downloader ... начинать нужно с простого:

1. Не запускать этот код при старте приложения (или в виде отдельного приложения, как в примере), а встроить его в свое обновляемое приложение. Получим одним EXE меньше и меньше реакции от антивирусов. Далее в приложении делаем меню "проверить наличие новой версии", запускающее код проверки версии. При желании можно запускать его автоматом скажем раз в N>5 дней, делая пометку в реестре о дате последней проверки (но никак не при каждом запуске, я как админ большой сети задушил столько подобных обновляторов, которые лезут по 20 раз на дню версии проверять - давно уже со счета сбился... Положительный момент -= антивирус не будет ругаться при каждом старте, даже если его эвристике что-то не понравится

2. Качать обновления с своего сайта, посвященного приложению, а на с файлопомойки типа dropboxusercontent.com

3. Проверять обновления в два приема - сначала качать сведения о обновлении, а в случае надобности потом его самого. Методика обновления в примере уж не обижайтесь, пример того, как не надо это делать ... а если файл например битым скачается например ?! Мы тупо его запустим, даже не зная, что там.

Правильно это делается так:

3.1 на шаге 2 в сведениях об обновлении принимаем не только актуальную версию файла, но и его MD5 (на месте MD5 - любой хеш по желанию) и размер файла

3.2 в запросе подтверждения сообщаем юзеру, что будет закачано N кб (может, у него канал медленный и десмяток бегабайт ему качать не очень хочется), после подтверждения юзером обновления качаем файл куда-то в TEMP. При этом делаем цикл InternetReadFile в отдельном потоке (или вызываем Application.ProcessMessages хотя бы), показываем прогресс-индикатор, чтобы при длительной закачке при тормозном канале было понятно, что приложение не висит, а качает. Для отображения прогресс-индикатора используем размер, полученный на шаге 2

3.3 скачав, проверяем его размер и MD5. Если не совпадает, то был некий глюк закачки - можно попробовать еще раз, если не выйдет - выдать юзеру ошибку, что дескать обновиться не удается (в коде этого нет)

3.4 MD5 совпала - значит, загрузили что нужно. далее приложению нужно обновить самого себя. Это очень просто: 

- удаляем файл *.old в каталоге нашего приложения

- переименовываем свое приложение в *.old (полное текущее имя нашего EXE - Application.ExeName). Убеждаемся, что это сработало (файл запущенного EXE блокирован на удаление, но вот переименовывать его можно без проблем !). Если не может переименовать свой файл, то скорее всего нет прав на это, о чем и информируем юзера и завершаем обновление

- копируем загруженный на шаге 2.3 файл под именем Application.ExeName. Если успешно - хорошо, удаляем копию загруженного файла из Temp, если нет - переименовываем свой EXE назад в Application.ExeName и ругаемся на ошибку

- Сообщаем юзеру, что приложение успешно обновлено и нужно его перезапустить - запускаем приложение Application.ExeName и завершаем работу. Вуаля, запустилась новая версия.  

Файл *.old можно убивать при запуске, если он найдется, а можно и оставить - таким образом всегда после обновления останется предыдущая версия приложения на всякий случай и можно откатиться на нее в случае глюков

4. Добавить к своему приложению цифровую подпись. Наличие ЦП всегда хорошо, хотя и не обязательно.

  • Спасибо (+1) 1

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • KeksWin365
      Автор KeksWin365
      Всем привет. Собрал новый ПК на Win 11, стоит стандартный Defender. Раньше (лет 5 назад) все говорили, что он слабый, и нужно ставить сторонний антивирус. А сейчас 2026 год - слышал, что Defender подтянулся и ловит почти всё. Но при этом друзья говорят: "Ты что, без Касперского сидишь? Это самоубийство". ПК нужен для работы (банк, документы) и игр (стим, торренты иногда). Боюсь подцепить что-то с сомнительных сайтов. Что посоветуете? Хватит Defender'а или всё же поставить что-то платное? Очень не хочется платить 3000 рублей в год, если и так норм
    • allerkogo228
      Автор allerkogo228
      Здравствуйте.
      Столкнулся с проблемой на компьютере с Windows 11 после установки антивируса Kaspersky. Сразу после установки система начала работать нестабильно: периодически появляются ошибки Windows, зависания, замедления работы и иногда всплывающие сообщения о сбоях служб или компонентов безопасности.
      До установки Kaspersky система работала нормально, никаких критических ошибок не было. После установки антивируса заметил, что:
      — увеличилось время загрузки Windows
      — иногда долго открываются программы
      — появляются кратковременные фризы при работе в браузере и проводнике
      — периодически возникают сообщения об ошибках Windows (без точного указания причины)
      — иногда пропадает интернет-соединение, на несколько секунд
      — наблюдаются повышенные нагрузки на процессор и диск
      Пробовал перезагружать компьютер, обновлять Windows и сам Kaspersky до последней версии, отключать некоторые функции защиты, но полностью проблема не исчезает. Удалять антивирус пока не хотелось бы, так как он был приобретён официально и нужен для постоянной защиты системы.
      Интересуют следующие вопросы:
      Может ли Kaspersky конфликтовать с Windows 11 или её последними обновлениями? Есть ли известные проблемы совместимости с драйверами или службами системы? Нужно ли отключать встроенный Защитник Windows вручную, или это происходит автоматически? Какие настройки Kaspersky могут вызывать нагрузку или нестабильность системы? Есть ли способ проверить, действительно ли проблемы вызваны антивирусом, а не чем-то другим? Какие логи или отчёты нужно предоставить для диагностики проблемы? Конфигурация системы:
      — Операционная система: Windows 11 (версия указать)
      — Тип системы: 64-бит
      — Процессор: (указать модель)
      — Оперативная память: (указать объём)
      — Накопитель: SSD/HDD (указать)
      — Версия Kaspersky: (указать точную версию продукта)
      — Установлены ли другие программы безопасности: нет / да (указать)
      Если кто-то сталкивался с подобной ситуацией или знает, как правильно настроить систему для стабильной работы с Kaspersky на Windows 11, буду благодарен за помощь и рекомендации.
      Спасибо.
    • Николай PO
      Автор Николай PO
      Добрый день! Помогите пожалуйста. Производительность ноутбука на windows 11, не устанавливаются определенные антивирусы (malwarebytes и другие).
      Данная проблема на двух ноутбуках:
      1.появились мелкие подлагивания в играх иногда в других программах;
      2.не устанавливается антивирус malwarebytes, при установки других антивирусов и запуске проверки появляется синий экран;
      3.инструмент smartfix не устанавливается полностью;
      4. переустановка операционной системы не помогла;
      5.установка на другой ssd не помогла;
      6. переустановка биос не помогла.
      Прикрепляю результаты сканирования в Farbar Recovery Scan ToolAddition.txtFRST.txt
    • Tenobran
      Автор Tenobran
      Добрый день, подскажите может ли антивирус Касперского Endpoint security 12.8 делать антивирусную проверку кватизированных моделей в формате "gguf"
    • прохожанка
      Автор прохожанка
      Добрый день.
      Подскажите, пожалуйста, какой антивирус выбрать для организации при следующих условиях:
      -55 компов, из них 1 макбук
      -основная работа в 1с, расположенной на удаленном сервере
      -канал настроен на микротике
      -сетевые папки расположены на виртуальном сервере
      -используются виртуальные машины, расположенные на другом виртуальном сервере.
      Вопросы нубские, предполагаю, но я не спец. Меня озадачили подыскать антивирус, но я заблудилась в предлагаемых вариантах ((
      хэлп ми, плиз
      зы: что мне узнать у более знающих, чтобы картина была понятнее?
×
×
  • Создать...