Антивирусная защита, Проверка файла, С++
Несколько лет назад видел небольшую статью и пример на
чистом С++, как я могу прочитать длину файла и его сигнатуру.
Это требуется для проверки программы на наличие вирусов.
В статье был пример, буквально в 4 строки, как провести эталонирование,
т.е. найти в БИНАРНОМ ФАЙЛЕ соответствующий участок кода.
Как это сделать при помощи АПИ и других средств (Wx и т.п.) я знаю,
а вот, как это реализуется на ЧИСТОМ С++, увы нет.
Кто знаком с этим, пожалуйста, набросайте этот небольшой пример.
ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!
P.S.
Именно НА ЧИСТОМ и для бинарного. Я хотел бы встроить эту защиту
в свою программу, не факт что надежно, но плюсы есть. ОГРОМНОЕ СПАСИБО!
Так в чем принципиальная разница? Даже в чистом С есть аналогичные функции. Вместо CreateFile и ReadFile - fopen и fread и т.д.
Цитата: aks
Под API я так понимаю имеется ввиду WinAPI?
Так в чем принципиальная разница? Даже в чистом С есть аналогичные функции. Вместо CreateFile и ReadFile - fopen и fread и т.д.
Так в чем принципиальная разница? Даже в чистом С есть аналогичные функции. Вместо CreateFile и ReadFile - fopen и fread и т.д.
Да. Разумеется. Вот мне эти функции и нужны. Чтото вроде
такого: if(fgets(str, 2048, f)); мне, сами понимаете не подходит.
Ловить строки if(strstr(str,string) != NULL) в бинарном файле не подойдет.
ну так исспользуй fread
Ищу в файле test.exe ХЕКС массив. Не работает.
Кто нибуть, приведите пример? Как найти любую
сигнатуру в двоичном файле! ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО.
С использованием Wx и REDstr нормально всё. А как с помощью:
numread = fread((char *)list, sizeof(long), 2880, stream);