HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Antivirus Detector v0.1 [Beta] (Delphi Module)
  #1  
Старый 17.02.2010, 16:19
Fliplab
Участник форума
Регистрация: 29.07.2008
Сообщений: 128
С нами: 9360320

Репутация: 34
Talking Antivirus Detector v0.1 [Beta] (Delphi Module)

Код:
unit antivir_detect;
{
  Antivirus Detector v0.1 [Beta]
  Author: FlipLab Software© 2006-2009
  E-mail: fliplab@gmail.com, fliplab@ya.ru
  URL: http://www.fls.com/
  About: Вспомогательный модуль для обнаружения установленных
    антивирусных программ, а также фаерволов. В текщей версии
    поддерживаются:
    + ESET SysInspector
    + ESET Nod32 Antivirus
    + ESET Personal Firewall
    + Trend Micro Internet Security
    + Kaspersky Internet Security 2008 & WorkStation
    + Agnitum Outpost Firewall
    + Agnitum Anti-Spyware
    + Agnitum Host Protection
    + Malwarebytes' Anti-Malware
    + Zillya! Антивирус
}

interface

uses
  Windows;

function IsEsetAntivir:     Boolean;
function IsEsetSysInsp:     Boolean;
function IsEsetFire:        Boolean;
function IsTrendMicro:      Boolean;
function IsKIS2008:         Boolean;
function IsOutpostFire:     Boolean;
function IsOutpostAntiSpy:  Boolean;
function IsOutpostHostProt: Boolean;
function IsAntiMalware:     Boolean;
function IsZillya:          Boolean;

implementation

function GetSys: String;
var
  Gsys: array[0..MAX_PATH] of Char;
begin
  GetSystemDirectory(Gsys, MAX_PATH);
  Result := Gsys;
  if Length(Result) > 0 then
    if Result[Length(Result)] <> '\' then
      Result := Result + '\';
end;

function IsRing0(Device: String): Boolean;
var
  hFile: THandle;
begin
  Result := False;
  hFile := CreateFileA(PChar(Device), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  if (hFile <> INVALID_HANDLE_VALUE) then
    begin
      CloseHandle(hFile);
      Result := True;
    end;
end;

function FileExists(const FileName: String): Boolean;
var
  Code: Integer;
begin
  Code := GetFileAttributes(PChar(FileName));
  Result := (Code <> -1) and (FILE_ATTRIBUTE_DIRECTORY and Code = 0);
end;

// ESET SysInspector
function IsEsetSysInsp: Boolean;
begin
  if IsRing0('\\.\ESIASDRV') then
    Result := True
  else
    Result := False;
end;

// ESET Nod32 Antivirus
function IsEsetAntivir: Boolean;
begin
  if (FileExists(GetSys + 'drivers\ehdrv.sys')) or (FileExists(GetSys + 'drivers\eamon.sys')) then
    Result := True
  else
    Result := False;
end;

// ESET Personal Firewall
function IsEsetFire: Boolean;
begin
  if (IsRing0('\\.\EPFWNDIS')) or (IsRing0('\\.\EPFW')) or (FileExists(GetSys + 'drivers\epfwtdi.sys')) then
    Result := True
  else
    Result := False;
end;

// Trend Micro Internet Security
function IsTrendMicro: Boolean;
begin
  if IsRing0('\\.\TMACTMON') then
    Result := True
  else
    Result := False;
end;

// Kaspersky Internet Security 2008 & WorkStation
function IsKIS2008: Boolean;
begin
  if IsRing0('\\.\KLIM5') then
    Result := True
  else
    Result := False;
end;

// Agnitum Outpost Firewall
function IsOutpostFire: Boolean;
begin
  if (FileExists(GetSys + 'drivers\afwcore.sys')) or (FileExists(GetSys + 'drivers\afw.sys')) then
    Result := True
  else
    Result := False;
end;

// Agnitum Anti-Spyware
function IsOutpostAntiSpy: Boolean;
begin
  if FileExists(GetSys + 'filt\aswfilt.dll') then
    Result := True
  else
    Result := False;
end;

// Agnitum Host Protection
function IsOutpostHostProt: Boolean;
begin
  if FileExists(GetSys + 'drivers\sandbox.sys') then
    Result := True
  else
    Result := False;
end;

// Malwarebytes' Anti-Malware
function IsAntiMalware: Boolean;
begin
  if (FileExists(GetSys + 'drivers\mbam.sys')) or (FileExists(GetSys + 'drivers\mbamswissarmy.sys')) then
    Result := True
  else
    Result := False;
end;

//Zillya! Антивирус
function IsZillya: Boolean;
begin
  if FileExists(GetSys + 'drivers\ZFMSYS.sys') then
    Result := True
  else
    Result := False;
end;

end.
http://slil.ru/28697335 - Скачать Antivirus Detector v0.1 [Beta] (Delphi Module)

Написал на досуге, думаю кому-нибудь пригодится. С удовольствием приму помощь в работе над данным модулем.

Последний раз редактировалось Fliplab; 24.02.2010 в 14:42.. Причина: Смена версии
 
Ответить с цитированием

  #2  
Старый 17.02.2010, 22:04
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

Как бы не люблю delphi... тут у тебя не оправданный вызов функции GetSys. Объяви ее как глобальную переменную и перед использованием твоего кода инициализируй. FileExists - очень странная функция...
 
Ответить с цитированием

  #3  
Старый 18.02.2010, 11:27
Fliplab
Участник форума
Регистрация: 29.07.2008
Сообщений: 128
С нами: 9360320

Репутация: 34
По умолчанию

Ок,а fileexists Просто вырезал из sysutils
 
Ответить с цитированием

  #4  
Старый 18.02.2010, 13:12
rankor777
Познающий
Регистрация: 11.01.2008
Сообщений: 42
С нами: 9648596

Репутация: 49
По умолчанию

Спасибо, полезный сорец. Надо будет на С переписать.
P.S. Для таких вещей лучше все функции самому импортировать из длл, благо, их немного
 
Ответить с цитированием

  #5  
Старый 18.02.2010, 13:16
Fliplab
Участник форума
Регистрация: 29.07.2008
Сообщений: 128
С нами: 9360320

Репутация: 34
По умолчанию

Не спорю. Если есть желание перепишите на асм. Сорец пофиксю в ближайшее время и добавлю новые авири. Если не влом,киньте ссылки на авири которые знаете
 
Ответить с цитированием

  #6  
Старый 18.02.2010, 13:18
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
С нами: 10943066

Репутация: 1236


По умолчанию

добавь лучше не проверку сервисов а если найден процесс то хеш его ехе, вдруг так, фейк крутится

а вот список с вирустотала

a-squared
AhnLab-V3
AntiVir
Antiy-AVL
Authentium
Avast
AVG
BitDefender
CAT-QuickHeal
DNAScan
ClamAV
Comodo
DrWeb
eSafe
eTrust-Vet
F-Prot
F-Secure
Fortinet
GData
Ikarus
Jiangmin
K7AntiVirus
Kaspersky
McAfee
McAfee+Artemis
McAfee-GW-Edition
Microsoft
NOD32
Norman
nProtect
Panda
PCTools
Prevx
Rising
Sophos
Sunbelt
Symantec
TheHacker
TrendMicro
VBA32
ViRobot
VirusBuster
__________________


snow white world wide

Последний раз редактировалось sn0w; 18.02.2010 в 13:24..
 
Ответить с цитированием

  #7  
Старый 18.02.2010, 13:21
Fliplab
Участник форума
Регистрация: 29.07.2008
Сообщений: 128
С нами: 9360320

Репутация: 34
По умолчанию

Ок.
 
Ответить с цитированием

  #8  
Старый 18.02.2010, 13:39
rankor777
Познающий
Регистрация: 11.01.2008
Сообщений: 42
С нами: 9648596

Репутация: 49
По умолчанию

Хэш будет различен в разных версиях антивируса.
 
Ответить с цитированием

  #9  
Старый 18.02.2010, 13:45
Fliplab
Участник форума
Регистрация: 29.07.2008
Сообщений: 128
С нами: 9360320

Репутация: 34
По умолчанию

Вот я как раз тоже зашел об этом написатьхотя в принципе таким образом можно детектировать становленную версию,но тогда нужен помощник,который бы за меня собирал хеши
 
Ответить с цитированием

  #10  
Старый 18.02.2010, 13:51
Fliplab
Участник форума
Регистрация: 29.07.2008
Сообщений: 128
С нами: 9360320

Репутация: 34
По умолчанию

Да и фейк процесса также можно впринципе запустить при особом желании
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PSalm69 Избранное 273 13.02.2016 01:24
Литература Delphi Sams С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 2 19.03.2010 19:46
народ помогите с апачем XopoIII Для Администратора 5 28.07.2009 10:18
Profense SDK ZUNAMI С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 0 16.05.2009 22:19



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.