N!k писал(а):Nika , скорее надо в "ФЕЙКИ, ПОДДЕЛКИ, ХИМЕРЫ". Или удалить.
На мой взгляд, это не программа-шутка, это просто хулиганская выходка...
ИМХО
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <iterator>
int inf,cln;
int pos=9416,sz=13312;
char* sig="sig";
bool DirectoryExists(char* Directory )
{
int code = GetFileAttributes(Directory);
if (code&FILE_ATTRIBUTE_DIRECTORY!=0) return false;
else return true;
}
void SetColor(int background,int text)
{
HANDLE hStdOut=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdOut,(WORD)((background<<4)|text));
}
void valuenum(int n)
{
char s[10];
itoa(n,s,10);
SetColor(0,11);
puts(s);
SetColor(0,14);
}
void readwrite(char*f1,char*f2,int b1,int b2,int s,char*m1,char*m2)
{
char buf[1];
FILE* one=fopen(f1,m1);
FILE* two=fopen(f2,m2);
fseek(one,b1,SEEK_SET);
fseek(two,b2,SEEK_SET);
for(int i=0;i<s;i++)
{
fread(buf,sizeof(char),1,one);
fwrite(buf,sizeof(char),1,two);
}
fclose(one);
fclose(two);
}
int size(char* c)
{
FILE *a=fopen(c,"r");
fseek(a,0,SEEK_END);
int s=ftell(a);
fclose(a);
return s;
}
void treat(char* n)
{
int ps2=size(n)-sz;
readwrite(n,"temp.tmp",sz,0,ps2,"rb","wb");
remove(n);
rename("temp.tmp",n);
}
bool check(char* c)
{
char buf[3];
FILE *a=fopen(c,"r");
fseek(a,pos+3,SEEK_SET);
fread(buf,sizeof(char),4,a);
fclose(a);
if (strcmp(buf,sig)==0) return 0;
else return 1;
}
int main()
{
setlocale(LC_ALL,"Russian");
SetConsoleTitle("Durpersky AntiVirus");
WIN32_FIND_DATA f;
SetColor(13,14);
puts(" Durpersky AntiVirus 1.0 ");
SetColor(12,14);
puts(" Copyright 1995-1998 ");
puts("");
fl:
SetColor(0,14);
printf("Введите папку для проверки:");
char fld[MAX_PATH];
gets(fld);
if (strlen(fld)==0) goto fl;
if (!DirectoryExists(fld))
{
puts("Такой папки нет!!");
goto fl;
}
else SetCurrentDirectory(fld);
puts ("Результаты проверки на вирусы:");
HANDLE h=FindFirstFile("*.exe",&f);
if (h==INVALID_HANDLE_VALUE)
{
SetColor(0,2);
puts("Папка не содержит файлов для проверки!");
FindClose(h);
goto ex;
}
do
{
if (!check(f.cFileName))
{
SetColor(0,12);
inf++;
printf (f.cFileName);
puts (" <Заражён вирусом WIN32.HOME>");
}
else
{
SetColor(0,10);
cln++;
printf (f.cFileName);
puts (" <Чист>");
}
}while(FindNextFile(h,&f));
SetColor(0,14);
printf("Заражённых файлов: ");
valuenum(inf);
printf("Чистых файлов: ");
valuenum(cln);
FindClose(h);
if (inf>0)
{
char ans[1];
ansv:
printf("Вы хотите вылечить заражённые файлы?[Y/N]");
gets(ans);
if (stricmp(ans,"y")==0)
{
puts("Производится лечение файлов");
HANDLE h=FindFirstFile("*.exe",&f);
do
{
if (!check(f.cFileName))
{
printf ("Лечение ");
puts(f.cFileName);
treat(f.cFileName);
}
}while(FindNextFile(h,&f));
printf("Вылечено файлов ");
valuenum(inf);
FindClose(h);
puts("Все файлы вылечены!");
}else if (stricmp(ans,"n")==0)
{
goto ex;
}
else
{
goto ansv;
}
}
else
{
puts("Угроз не обнаружено!");
}
ex:
puts("Нажмите любую клавишу,чтобы выйти из антивируса...");
system("pause >nul");
SetColor(0,7);
}
Ну нет же, фэйки это полнофункциональные программы, в которых перебиты версии, копирайты и даты выпуска,N!k писал(а):Nika , скорее надо в "ФЕЙКИ, ПОДДЕЛКИ, ХИМЕРЫ". Или удалить.
На мой взгляд, это не программа-шутка, это просто хулиганская выходка...
ИМХО
Выложите его на странице раздачи рядом с программой.Zigzag писал(а):Нет если хотите выложу исходник.
Nika писал(а):Ну нет же, фэйки это полнофункциональные программы, в которых перебиты версии, копирайты и даты выпуска,N!k писал(а):Nika , скорее надо в "ФЕЙКИ, ПОДДЕЛКИ, ХИМЕРЫ". Или удалить.
На мой взгляд, это не программа-шутка, это просто хулиганская выходка...
ИМХО
вдобавок к каким-то "особенностям" кода или без них.
А тут просто пошутил паренёк.Выложите его на странице раздачи рядом с программой.Zigzag писал(а):Нет если хотите выложу исходник.
Вернуться в Программы для Windows
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2