Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 58, средняя оценка - 4.90
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
#1

что то вроде программки,которая проверяет Hosts и лечит - C++

29.10.2009, 19:14. Просмотров 7118. Ответов 99
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void main (){
 
int c=0;
FILE *f=fopen("C:\WINDOWS\system32\drivers\etc\hosts", "a");
 
while((c=getc(f))!=EOF){
 
    if(c!="127.0.0.1 localhost"){
        cout<<"File hosts is infected";
f = fopen("C:\WINDOWS\system32\drivers\etc\hosts", "w");
fputs("127.0.0.1 localhost", f);
    }
}
 
fclose(f);
 
}
это мой код,вот на этом месте
if(c!="127.0.0.1 localhost")
я на этом месте не знаю как поступить
надо написать код,ктороый если находит другие строки кроме заводских строк-должен удалять их...как сделать?

Добавлено через 4 минуты
вопрос некорректно задал
в файле есть некий текст,определить,если кроме этого текста есть и другие слова,то удалить весь текст и добавить
127.0.0.1 loaclhost
это мой алгоритмн
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2009, 19:14     что то вроде программки,которая проверяет Hosts и лечит
Посмотрите здесь:

Написать программу, которая проверяет удачливость билета - C++
Близняшки Вера,Надежда и любовь пользуются общественным транспортом,чтобы добраться до школы.Когда они расплачиваются за проезд,они...

Напишите функцию, которая проверяет, отсортирован ли массив - C++
Напишите функцию, которая проверяет, отсортирован ли массив вещественных чисел по невозрастанию. Она возвращает true, если отсортирован, и...

Составить программу, которая проверяет число на четность - C++
Суть самой программы: нужно составить программу, проверяющую, что введенное число является четным или нечетным. Проблема: всегда...

Написать программу, которая проверяет, является ли год високосным - C++
Написать программу, которая проверяет, является ли год високосным. Помогите пожалуйста

Нужна программа которая проверяет, является ли число простым - C++
Нужна программа которая проверяет, является ли число простым. Вводится одно число n. Формат выходных данных: Необходимо вывести ...

Написать программу которая по заданному n проверяет число на палиндром - C++
Привет! Поступил учиться на дистанционное высшее образование, получил по предмету основы программирования домашнюю работу! Вот описание: ...

Написать функцию которая проверяет кратность двух чисел - C++
Написать функцию, которая принимает два целых числа N и M, и возвращает результат истина, если N кратно M, результат ложь, если N не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.10.2009, 23:16     что то вроде программки,которая проверяет Hosts и лечит #21
Код
# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999
#
# Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows.
#
# Этот файл содержит сопоставления IP-адресов именам узлов.
# Каждый элемент должен располагаться в отдельной строке. IP-адрес должен
# находиться в первом столбце, за ним должно следовать соответствующее имя.
# IP-адрес и имя узла должны разделяться хотя бы одним пробелом.
#
# Кроме того, в некоторых строках могут быть вставлены комментарии 
# (такие, как эта строка), они должны следовать за именем узла и отделяться
# от него символом '#'.
#
# Например:
#
#      102.54.94.97     rhino.acme.com          # исходный сервер
#       38.25.63.10     x.acme.com              # узел клиента x

127.0.0.1       localhost
Вот нормальный текст, в С не силен, но если делать на С++, то считываешь все в string и сравниваешь текст с каким-нибудь эталоном string hosts = "тексту чистого хостса". Если они не совпадают, то выдаешь соответствующее сообщение и перезаписываешь файл
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
30.10.2009, 23:19  [ТС]     что то вроде программки,которая проверяет Hosts и лечит #22
M128K145, дык вроде мой код это и делает?...или нет...я просто код не понял до конца..

Добавлено через 40 секунд
>>>
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <windows.h>
#include <string.h>
#include <string>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream> 
using namespace std;
 
void main (){
 
FILE * f;
int c=0;
   char mystring [1000]; 
   f = fopen ("D:\\ALEX RESERF\\ALEX\\111.txt" , "r");
 
   if (f == NULL) perror ("Cant open file");
   else {
 
           while((c=getc(f))!=EOF){
 
     fgets (mystring , 200 , f);
     puts (mystring);
         }
 
   }
   cout<<"\nMy\n"<<mystring;
 
fclose (f);
 
system("pause");
 
}
вот этот код
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
30.10.2009, 23:44     что то вроде программки,которая проверяет Hosts и лечит #23
Ну фактически программа делает только открытие и вывод файла, но проверки-то нет!

Получается надо создать файл идентичный чистому хосту прочитать его, открыть и прочитать файл хоста, который используется системой( или чем там, я не до конца уловил) и проверить, или жесделать как предложил
M128K145, т.е. добавить проверку на эталон чистого хоста.
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
31.10.2009, 00:07     что то вроде программки,которая проверяет Hosts и лечит #24
МедведЪ,
вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <string>
#include <iostream> 
#include <fstream>
int main()
{
    setlocale (LC_ALL, "Russian");
    std::string bufStr, curHosts = "", iHosts = "# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999\n\
#\n\
# Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows.\n\
#\n\
# Этот файл содержит сопоставления IP-адресов именам узлов.\n\
# Каждый элемент должен располагаться в отдельной строке. IP-адрес должен\n\
# находиться в первом столбце, за ним должно следовать соответствующее имя.\n\
# IP-адрес и имя узла должны разделяться хотя бы одним пробелом.\n\
#\n\
# Кроме того, в некоторых строках могут быть вставлены комментарии \n\
# (такие, как эта строка), они должны следовать за именем узла и отделяться\n\
# от него символом '#'.\n\
#\n\
# Например:\n\
#\n\
#      102.54.94.97     rhino.acme.com          # исходный сервер\n\
#       38.25.63.10     x.acme.com              # узел клиента x\n\
\n\
127.0.0.1       localhost";
    std::ifstream inp("C:\\WINDOWS\\system32\\drivers\\etc\\hosts", std::ios::in);
    
    inp.seekg(0);
    if(!inp)
    {
        std::cout<<"Файла нет\n";
        system("pause");
        return 0;
    }
    while(!inp.eof())
    {
        getline(inp, bufStr, '\n');
        curHosts += bufStr + '\n';
    }   
    inp.close();
    std::cout<<curHosts.replace(0, iHosts.length(), "");
    std::ofstream out("C:\\WINDOWS\\system32\\drivers\\etc\\hosts", std::ios::out);
    out<<iHosts;
    system("pause");
    return 0;
}
то что я говорил, только на C++
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
31.10.2009, 02:50     что то вроде программки,которая проверяет Hosts и лечит #25
А что мешает просто без всяких проверок заменить файл hosts на эталонный?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <windows.h>
#include <iostream>
#include <locale>
 
int main()
{
  // Устанавливаем русскую кодовую страницу
  setlocale(LC_ALL, "Russian");
 
  // Путь к эталонному файлу hosts
  char hosts_standart_path[MAX_PATH];
 
  // Записываем в hosts_standart_path путь к текущей папке 
  GetCurrentDirectory(MAX_PATH, hosts_standart_path);
 
  // Добавляем к hosts_standart_path имя эталонного файла
  strcat_s(hosts_standart_path, MAX_PATH, "\\hosts_standart");
 
  // Структура для поиска файлов
  WIN32_FIND_DATA wfd;
 
  // Проверяем присутсвует ли эталонный файл в текущей папке, если нет - завершаем программу
  if(FindFirstFile(hosts_standart_path, &wfd) == INVALID_HANDLE_VALUE){
    std::cout << "Эталонный файл hosts не найден. Выполнение программы прекращено." << std::endl;
    
    system("pause");
 
    return 0;
  }
 
  // Путь к файлу hosts
  char hosts_path[MAX_PATH];
 
  // Записываем в hosts_path путь к папке Windows
  GetWindowsDirectory(hosts_path, MAX_PATH);
 
  // Добавляем к hosts_path путь к файлу hosts
  strcat_s(hosts_path, MAX_PATH, "\\System32\\drivers\\etc\\hosts");
 
  // Путь к резервной копии файла hosts
  char hosts_reserve_path[MAX_PATH];
 
  // Записываем в hosts_reserve_path путь к папке Windows
  GetWindowsDirectory(hosts_reserve_path, MAX_PATH);
 
  // Добавляем к hosts_reserve_path путь к резервному файлу hosts
  strcat_s(hosts_reserve_path, MAX_PATH, "\\System32\\drivers\\etc\\hosts_reserve");
 
  // Создаем резервную копию
  CopyFile(hosts_path, hosts_reserve_path, FALSE);
 
  // Заменяем файл hosts на эталонный
  CopyFile(hosts_standart_path, hosts_path, FALSE);
 
  std::cout << "Замена файла hosts успешна произведена." << std::endl
    << "Путь к резервной копии: " << hosts_reserve_path << std::endl;
 
  system("pause");
 
  return 0;
};
Ложим эталонный файл в папку с exe-ником под именем hosts_standart и все работает.

Описание использованных функций (MSDN):
GetCurrentDirectory Function
GetSystemDirectory Function
FindFirstFile Function
strcat, wcscat, _mbscat
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
31.10.2009, 08:45     что то вроде программки,которая проверяет Hosts и лечит #26
CyBOSSeR, а тебе никогда не было интересно было ли дописано там что-нибудь или нет?
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
31.10.2009, 10:02  [ТС]     что то вроде программки,которая проверяет Hosts и лечит #27
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
А что мешает просто без всяких проверок заменить файл hosts на эталонный?
дело не в замене,я это уже решил надо просто ПРОВЕРИТЬ!
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
31.10.2009, 14:36     что то вроде программки,которая проверяет Hosts и лечит #28
Цитата Сообщение от M128K145 Посмотреть сообщение
CyBOSSeR, а тебе никогда не было интересно было ли дописано там что-нибудь или нет?
Опытный пользователь сам откроет и посмотрит, что там изменилось.
А вот обычному пользователю, который этот hosts ни разу не видел и не знает зачем он нужен, скорее всего, будет не важно были ли внесены изменения или нет, главное чтобы там было только то, что нужно (изначально).
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
31.10.2009, 15:08  [ТС]     что то вроде программки,которая проверяет Hosts и лечит #29
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
А вот обычному пользователю, который этот hosts ни разу не видел и не знает зачем он нужен, скорее всего, будет не важно были ли внесены изменения или нет, главное чтобы там было только то, что нужно (изначально).
не знаю к кому адрессовано это,сам я разбираюсь в этом файле,
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
31.10.2009, 16:00     что то вроде программки,которая проверяет Hosts и лечит #30
Я же не о тебе говорю, а о потенциальных пользователях программы.
Я так вообще можно проверять не по строкам и по символам.
1. Открываем эталонный файл.
2. Открываем hosts.
3. Пока не достигнем конца первого или второго файла считываем следующий символ из обоих файлов и сравниваем. Если достигнут конец одного из файлов переходим к пункту 6.
4. Если символы идентичны - возвращаемся к пункту 3. Если нет переходим к следующему пункту.
5. Говорим, что hosts инфицирован и заменяем hosts на эталонный файл. Завершаем программу.
6. Поздравляем пользователя - его файл не инфицирован. Завершаем программу.
Вот тебе готовый алгоритм.

Добавлено через 10 минут
Предыдущий мой вариант, но еще и с проверкой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <windows.h>
#include <iostream>
#include <fstream>
#include <locale>
#include <algorithm>
 
int main()
{
  // Устанавливаем русскую кодовую страницу
  setlocale(LC_ALL, "Russian");
 
  // Путь к эталонному файлу hosts
  char hosts_standart_path[MAX_PATH];
 
  // Записываем в hosts_standart_path путь к текущей папке 
  GetCurrentDirectory(MAX_PATH, hosts_standart_path);
 
  // Добавляем к hosts_standart_path имя эталонного файла
  strcat_s(hosts_standart_path, MAX_PATH, "\\hosts_standart");
 
  std::ifstream hosts_standart(hosts_standart_path);
 
  // Проверяем удалось ли открыть эталонный файл, если нет - завершаем программу
  if(!hosts_standart){
    std::cout << "Эталонный файл hosts не найден. Выполнение программы завершено." << std::endl;
    
    system("pause");
 
    return 0;
  }
 
  // Путь к файлу hosts
  char hosts_path[MAX_PATH];
 
  // Записываем в hosts_path путь к папке Windows
  GetWindowsDirectory(hosts_path, MAX_PATH);
 
  // Добавляем к hosts_path путь к файлу hosts
  strcat_s(hosts_path, MAX_PATH, "\\System32\\drivers\\etc\\hosts");
 
  // Файл hosts
  std::ifstream hosts(hosts_path);
 
  // Если не удалось открыть hosts - завершаем программу
  if(!hosts){
    std::cout << "Файл hosts не найден. Выполнение программы завершено." << std::endl;
 
    system("pause");
 
    return 0;
  }
 
  // Сравниваем содержание файлов, если эквивалентны - завершаем программу
  if(std::equal(std::istream_iterator<char>(hosts_standart), 
    std::istream_iterator<char>(), 
    std::istream_iterator<char>(hosts)))
  {
    std::cout << "Файл hosts не модифицирован. Выполнение прораммы завершено." << std::endl;
    
    system("pause");
 
    return 0;
  }
  else
    std::cout << "Файл hosts модифицирован. Будет произведена замена на эталонный с сохранением резервной копии." << std::endl;
 
 
  // Путь к резервной копии файла hosts
  char hosts_reserve_path[MAX_PATH];
 
  // Записываем в hosts_reserve_path путь к папке Windows
  GetWindowsDirectory(hosts_reserve_path, MAX_PATH);
 
  // Добавляем к hosts_reserve_path путь к резервному файлу hosts
  strcat_s(hosts_reserve_path, MAX_PATH, "\\System32\\drivers\\etc\\hosts_reserve");
 
  // Создаем резервную копию
  CopyFile(hosts_path, hosts_reserve_path, FALSE);
 
  // Заменяем файл hosts на эталонный
  CopyFile(hosts_standart_path, hosts_path, FALSE);
 
  std::cout << "Замена файла hosts успешна произведена." << std::endl
    << "Путь к резервной копии: " << hosts_reserve_path << std::endl;
 
  system("pause");
 
  return 0;
};
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
31.10.2009, 20:55  [ТС]     что то вроде программки,которая проверяет Hosts и лечит #31
CyBOSSeR, аа понял для чего эталонныйА нельзя ли содержания этого файла поместить вЧАР?
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
31.10.2009, 21:01     что то вроде программки,которая проверяет Hosts и лечит #32
Цитата Сообщение от МедведЪ Посмотреть сообщение
А нельзя ли содержания этого файла поместить вЧАР?
Ты имеешь ввиду открыть эталонный файл и записать его содержание в строку типа char*?
Или просто в коде программы в char* записать эталонное содержание файла (как предлагал M128K145), типа этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char* standart_hosts = "# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999\n
#\n
# Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows.\n
#\n
# Этот файл содержит сопоставления IP-адресов именам узлов.\n
# Каждый элемент должен располагаться в отдельной строке. IP-адрес должен\n
# находиться в первом столбце, за ним должно следовать соответствующее имя.\n
# IP-адрес и имя узла должны разделяться хотя бы одним пробелом.\n
#\n
# Кроме того, в некоторых строках могут быть вставлены комментарии \n
# (такие, как эта строка), они должны следовать за именем узла и отделяться\n
# от него символом '#'.\n
#\n
# Например:\n
#\n
#      102.54.94.97     rhino.acme.com          # исходный сервер\n
#       38.25.63.10     x.acme.com              # узел клиента x\n
\n
127.0.0.1       localhost";
Какой из вариантов тебя интересует?
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
31.10.2009, 21:50     что то вроде программки,которая проверяет Hosts и лечит #33
МедведЪ, Если нужно следить за тем, не изменился ли файл, можно хранить MD5 хеш "эталонного" файла и сравнивать с MD5 хешем существующего - это проще, чем весь файл лопатить...
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
31.10.2009, 22:30  [ТС]     что то вроде программки,которая проверяет Hosts и лечит #34
CyBOSSeR, во во воооо то что нужно!теперь,какое условие поставить компилятору,что бы он сравнивал этот текст и файл?Ну каким образом?fgets?

Добавлено через 44 секунды
CyBOSSeR, кстати не указал какой,2ой вариант
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
01.11.2009, 04:45     что то вроде программки,которая проверяет Hosts и лечит #35
Считываешь очередной символ из файла с помощью fgetc и сравниваешь его с очередным символом из строки и т.д. пока не достигнешь конца файла или конца строки.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
01.11.2009, 10:26  [ТС]     что то вроде программки,которая проверяет Hosts и лечит #36
CyBOSSeR, можно код?и объясни синтакс этой функции
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
01.11.2009, 12:04     что то вроде программки,которая проверяет Hosts и лечит #37
МедведЪ, сранивать - это глуппо. Так как действительный файл может немного отличаться от эталонного (с коим ты будешь сравнивать в программе).

Я бы поступил так:
1. Чистые (рабочие, из свежеустановленной системы) hosts хранил бы в ресурсах.
2. Программно определял бы версию Windows.
3. В зависимости от версии Windows, перезаписывал бы hosts из находящегося в ресурсах.

Добавлено через 2 минуты
Иначе у тебя получится следующее: ты тратишь время на сравнение, и если он идентичен - ты не трогаешь его, а если отличен - перезаписываешь. Но, идентичным он будет если точно такая же копия его будет храниться в программе. То есть, на выходе мы все равно получаем ту копию hosts, которая эталонная и храниться в программе. Поэтому тратить время на сравнение - это глуппо. Лучше сразу перезаписывать.
selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
01.11.2009, 12:15     что то вроде программки,которая проверяет Hosts и лечит #38
я не пойму, для чего тебе нужно написать эту "утилиту" - она по сути своей бесполезна, какой может быть эталонный хостс, если по сути там всего 1 строчка 127.0.0.1 localhost - все остальное комментарии, отмеченные впереди #, или ты хочешь просто улучшить свои знания в языке, тогда - поощрительно
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
01.11.2009, 12:20     что то вроде программки,которая проверяет Hosts и лечит #39
selevit, на Win7 закомментированы все строки


МедведЪ, вообще, если брать по уму. Тогда нужно сделать парсер hosts'а. То есть считывать построчно, и смотреть какие там прописаны сайты с какими айпишниками. Но для этого, твоя программа должна облдать базой с плохими айпишниками, чтоб при нахождении такового, она строчку с ним удаляла.

Просто, например, у меня стоит Денвер. Когда я его запускаю, у меня в hosts'е пропиываются мои вирутальные хосты. То есть, в hosts помимо плохой информации, может содержатсья и вполне безобидная и нужная информация.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2009, 14:10     что то вроде программки,которая проверяет Hosts и лечит
Еще ссылки по теме:

Написать функцию которая проверяет на уникальность каждый номер - C++
Решите пожалуйста Добавлено через 4 минуты Написать функцию которая проверяет табельный номер студента

Напишите функцию, которая проверяет, отсортирован ли массив вещественных чисел - C++
4. Напишите функцию, которая проверяет, отсортирован ли массив вещественных чисел по неубыванию. Она возвращает true, если отсортирован, и...

написать программу которая проверяет , находится ли конкретный символ в строке ? - C++
Если честно -не совсем понимаю, как это делать Если можно - пример программы

Написать функцию, которая проверяет, является ли переданное ей число простым? - C++
Написать функцию, которая проверяет, является ли переданное ей число простым? Число называется простым, если оно делится без остатка только...

Составьте фрагмент программы которая проверяет делится ли введенное число на 15 - C++
Составьте фрагмент программы которая проверяет делится ли введенное число на 15


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
01.11.2009, 14:10     что то вроде программки,которая проверяет Hosts и лечит #40
Я вот подумал, а может сделать как вариант.
1) Пишется программа, которая добавляет себя в автозагрузку в реестр, и допустим каждый раз при запуске она смотрит что сейчас находится в хосте, при этом сравнивая с файлом, который был при предыдущем запуске системы.
2) Если у нас, допустим найдено несоответсвие, то мы выводим об этом сообщение, а пользователь программы уже решает, нужно ли ему что-то удалять или нет.
3) При завершении работы системы программа сохраняет файл хоста(то бишь копирует его куда-нибудь в другое место).
Yandex
Объявления
01.11.2009, 14:10     что то вроде программки,которая проверяет Hosts и лечит
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru