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
|
|
|
|
AligatorBkmz
|
Дата: Вторник, 29.03.2016, 04:59 | Сообщение # 3
|
Был не раз
Зарегистрирован: 24.03.2016
Группа: Пользователи
Сообщений: 9
Статус: Offline
|
Цитата Anton93 ( )
сальке
Что за салька?
|
|
|
|
XSPY
|
Дата: Четверг, 21.07.2016, 16:20 | Сообщение # 4
|
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
|
maybe win32.Sality =)
Я не крекер,а программист!
Я не преступник-я свободный человек!
Лучше один раз накодить,чем сто раз качать билды!
|
|
|
|
Anton93
|
Дата: Пятница, 02.09.2016, 00:10 | Сообщение # 5
|
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
|
да, оно самое) имелось ввиду именно режим списка там использовался, далее передавалось все драйверу. громоздко, но как показала практика крайне эффективно 
ICQ: 41896
|
|
|
|