d4rkzy | Дата: Пятница, 11.09.2015, 03:44 | Сообщение # 1 |
Постоянный
Зарегистрирован: 15.11.2013
Группа: Пользователи
Сообщений: 135
Статус: Offline
| Код unit unitAvs;
interface
uses Windows, sysutils, TLHelp32;
const Procesos: array[0..15] of String = ('avguard.exe', 'ashdisp.exe', 'avgcc.exe', 'bdss.exe', 'spider.exe', 'avp.exe', 'nod32krn.exe', 'cclaw.exe', 'dvpapi.exe', 'ewidoctrl.exe', 'mcshield.exe', 'pavfires.exe', 'almon.exe', 'ccapp.exe', 'pccntmon.exe', 'fssm32.exe'); NombreDeAntivirus: array[0..15] of String =('AntiVir', 'Avast Antivirus', 'AVG Antivirus', 'BitDefender', 'Dr.Web', 'Kaspersky Antivirus', 'Nod32', 'Norman', 'Authentium Antivirus', 'Ewido Security Suite', 'McAfee VirusScan', 'Panda Antivirus/Firewall', 'Sophos', 'Symantec/Norton', 'PC-cillin Antivirus', 'F-Secure');
Firewalls: array[0..14] of String = ('issvc.exe', 'vsmon.exe', 'cpf.exe', 'ca.exe', 'tnbutil.exe', 'avp.exe', 'mpfservice.exe', 'npfmsg.exe', 'outpost.exe', 'tpsrv.exe', 'pavfires.exe', 'kpf4ss.exe', 'persfw.exe', 'vsserv.exe', 'smc.exe'); NombreDeFirewall: array[0..14] Of string =('Norton Personal Firewall', 'ZoneAlarm', 'Comodo Firewall', 'eTrust EZ Firewall', 'F-Secure Internet Security', 'Kaspersky Antihacker', 'McAfee Personal Firewall', 'Norman Personal Firewall', 'Outpost Personal Firewall', 'Panda Internet Seciruty Suite', 'Panda Anti-Virus/Firewall', 'Kerio Personal Firewall', 'Tiny Personal Firewall', 'BitDefender / Bull Guard Antivirus', 'Sygate Personal Firewall');
function ObtenerAvs(): String; function ObtenerFirewall(): String;
implementation
Function Scan(tipo: integer): String; var cLoop :Boolean; CapProcesos:THandle; L :TProcessEntry32; i :integer; Begin Result := 'NO'; CapProcesos := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS or TH32CS_SNAPMODULE, 0); L.dwSize := SizeOf(L); cLoop := Process32First(CapProcesos, L); while cLoop do begin if tipo = 1 then for i := 0 to 15 do if LowerCase(L.szExeFile) = Procesos[i] then begin If Result = 'No' then //Osea que no ha copiado nada a result Result := NombreDeAntivirus[i] else //si es diferente de 'No encontrado' es porque ya copi? un av antes Result := Result + ' \ ' + NombreDeAntivirus[i] //copie un separador y el otro antivirus end; if tipo = 2 then for i := 0 to 14 do if LowerCase(L.szExeFile) = Firewalls[i] then begin if Result = 'No encontrado' then Result := NombreDeFirewall[i] else Result := Result + ' \ ' + NombreDeFirewall[i]; end;
cLoop := Process32Next(CapProcesos, L); end; CloseHandle(CapProcesos); end;
Автор DeadLine
|
|
| |
Anton93 | Дата: Суббота, 12.09.2015, 14:36 | Сообщение # 2 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| годно. в сальке так же реализовано)
ICQ: 41896
|
|
| |
XSPY | Дата: Четверг, 21.07.2016, 16:20 | Сообщение # 3 |
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
| maybe win32.Sality =)
Я не крекер,а программист! Я не преступник-я свободный человек! Лучше один раз накодить,чем сто раз качать билды!
|
|
| |
Anton93 | Дата: Пятница, 02.09.2016, 00:10 | Сообщение # 4 |
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
| да, оно самое) имелось ввиду именно режим списка там использовался, далее передавалось все драйверу. громоздко, но как показала практика крайне эффективно
ICQ: 41896
|
|
| |