drmad
01.09.2009, 10:06
Доброе всем время суток!
Описание ситуции.
1. Создал тестовый файл с именем VIRUS.EX_ и содержимым 'MZ SIGNATURE'. В 16-ричном виде это: 4D 5A 20 53 49 47 4E 41 54 55 52.
2. Написал и выполнил в AVZ следующий скрипт:
begin
if LoadFileToBuffer('c:\virus.ex_') then AddToLog('ok') else AddToLog('failed');
AddToLog(IntToStr(SearchSign('4D 5A', 0, 2) ));
AddToLog(IntToStr(SearchSign('53 49 47 4E 41 54 55 52', 3, 8) ));
AddToLog(IntToStr(SearchSign('5A 4D', 0, 2) ));
FreeBuffer
end.
3. Получил неправильные (на мой взгляд) результаты:
ok
-1
-1
-1
По моему мнению, -1 должно быть только в последнем случае? Или я что-нибудь не так делаю?
P.S. Проверял на нескольких разных версиях AVZ, включая 4.32. Монопенисуально. :(
P.P.S. С материалами
http://www.z-oleg.com/secur/avz_doc/script_searchsign.htm и
http://www.z-oleg.com/secur/avz_doc/script_searchsignexample.htm знаком.
Описание ситуции.
1. Создал тестовый файл с именем VIRUS.EX_ и содержимым 'MZ SIGNATURE'. В 16-ричном виде это: 4D 5A 20 53 49 47 4E 41 54 55 52.
2. Написал и выполнил в AVZ следующий скрипт:
begin
if LoadFileToBuffer('c:\virus.ex_') then AddToLog('ok') else AddToLog('failed');
AddToLog(IntToStr(SearchSign('4D 5A', 0, 2) ));
AddToLog(IntToStr(SearchSign('53 49 47 4E 41 54 55 52', 3, 8) ));
AddToLog(IntToStr(SearchSign('5A 4D', 0, 2) ));
FreeBuffer
end.
3. Получил неправильные (на мой взгляд) результаты:
ok
-1
-1
-1
По моему мнению, -1 должно быть только в последнем случае? Или я что-нибудь не так делаю?
P.S. Проверял на нескольких разных версиях AVZ, включая 4.32. Монопенисуально. :(
P.P.S. С материалами
http://www.z-oleg.com/secur/avz_doc/script_searchsign.htm и
http://www.z-oleg.com/secur/avz_doc/script_searchsignexample.htm знаком.