|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
||||||
что то вроде программки,которая проверяет Hosts и лечит29.10.2009, 19:14. Показов 12095. Ответов 99
Метки нет (Все метки)
if(c!="127.0.0.1 localhost") я на этом месте не знаю как поступить надо написать код,ктороый если находит другие строки кроме заводских строк-должен удалять их...как сделать? Добавлено через 4 минуты вопрос некорректно задал в файле есть некий текст,определить,если кроме этого текста есть и другие слова,то удалить весь текст и добавить 127.0.0.1 loaclhost это мой алгоритмн
0
|
||||||
| 29.10.2009, 19:14 | |
|
Ответы с готовыми решениями:
99
Напишите программу, которая проверяет что строка состоит из чисел и букв вперемешку, используя только эти две команды
|
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 30.10.2009, 23:16 | ||||||
0
|
||||||
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
||||||
| 30.10.2009, 23:19 [ТС] | ||||||
|
M128K145, дык вроде мой код это и делает?...или нет...я просто код не понял до конца..
Добавлено через 40 секунд >>>
0
|
||||||
|
42 / 42 / 8
Регистрация: 22.05.2009
Сообщений: 97
|
|
| 30.10.2009, 23:44 | |
|
Ну фактически программа делает только открытие и вывод файла, но проверки-то нет!
Получается надо создать файл идентичный чистому хосту прочитать его, открыть и прочитать файл хоста, который используется системой( или чем там, я не до конца уловил) и проверить, или жесделать как предложил M128K145, т.е. добавить проверку на эталон чистого хоста.
0
|
|
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 31.10.2009, 00:07 | ||||||
|
МедведЪ,
вот
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 31.10.2009, 02:50 | ||||||
|
А что мешает просто без всяких проверок заменить файл hosts на эталонный?
Описание использованных функций (MSDN): GetCurrentDirectory Function GetSystemDirectory Function FindFirstFile Function strcat, wcscat, _mbscat
0
|
||||||
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 31.10.2009, 08:45 | |
|
CyBOSSeR, а тебе никогда не было интересно было ли дописано там что-нибудь или нет?
0
|
|
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
| 31.10.2009, 10:02 [ТС] | |
|
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 31.10.2009, 14:36 | ||
|
А вот обычному пользователю, который этот hosts ни разу не видел и не знает зачем он нужен, скорее всего, будет не важно были ли внесены изменения или нет, главное чтобы там было только то, что нужно (изначально).
0
|
||
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
| 31.10.2009, 15:08 [ТС] | |
|
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 31.10.2009, 16:00 | ||||||
|
Я же не о тебе говорю, а о потенциальных пользователях программы.
Я так вообще можно проверять не по строкам и по символам. 1. Открываем эталонный файл. 2. Открываем hosts. 3. Пока не достигнем конца первого или второго файла считываем следующий символ из обоих файлов и сравниваем. Если достигнут конец одного из файлов переходим к пункту 6. 4. Если символы идентичны - возвращаемся к пункту 3. Если нет переходим к следующему пункту. 5. Говорим, что hosts инфицирован и заменяем hosts на эталонный файл. Завершаем программу. 6. Поздравляем пользователя - его файл не инфицирован. Завершаем программу. Вот тебе готовый алгоритм. Добавлено через 10 минут Предыдущий мой вариант, но еще и с проверкой:
0
|
||||||
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
| 31.10.2009, 20:55 [ТС] | |
|
CyBOSSeR, аа понял для чего эталонный
А нельзя ли содержания этого файла поместить вЧАР?
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||
| 31.10.2009, 21:01 | |||||||
|
Или просто в коде программы в char* записать эталонное содержание файла (как предлагал M128K145), типа этого:
1
|
|||||||
|
Модератор
12848 / 7597 / 1766
Регистрация: 25.07.2009
Сообщений: 13,985
|
|
| 31.10.2009, 21:50 | |
|
МедведЪ, Если нужно следить за тем, не изменился ли файл, можно хранить MD5 хеш "эталонного" файла и сравнивать с MD5 хешем существующего - это проще, чем весь файл лопатить...
0
|
|
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
| 31.10.2009, 22:30 [ТС] | |
|
CyBOSSeR, во во воооо то что нужно!теперь,какое условие поставить компилятору,что бы он сравнивал этот текст и файл?Ну каким образом?fgets?
Добавлено через 44 секунды CyBOSSeR, кстати не указал какой,2ой вариант ![]()
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 01.11.2009, 04:45 | |
|
Считываешь очередной символ из файла с помощью fgetc и сравниваешь его с очередным символом из строки и т.д. пока не достигнешь конца файла или конца строки.
0
|
|
|
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
|
|
| 01.11.2009, 10:26 [ТС] | |
|
CyBOSSeR, можно код?и объясни синтакс этой функции
0
|
|
|
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
| 01.11.2009, 12:04 | |
|
МедведЪ, сранивать - это глуппо. Так как действительный файл может немного отличаться от эталонного (с коим ты будешь сравнивать в программе).
Я бы поступил так: 1. Чистые (рабочие, из свежеустановленной системы) hosts хранил бы в ресурсах. 2. Программно определял бы версию Windows. 3. В зависимости от версии Windows, перезаписывал бы hosts из находящегося в ресурсах. Добавлено через 2 минуты Иначе у тебя получится следующее: ты тратишь время на сравнение, и если он идентичен - ты не трогаешь его, а если отличен - перезаписываешь. Но, идентичным он будет если точно такая же копия его будет храниться в программе. То есть, на выходе мы все равно получаем ту копию hosts, которая эталонная и храниться в программе. Поэтому тратить время на сравнение - это глуппо. Лучше сразу перезаписывать.
1
|
|
|
91 / 77 / 6
Регистрация: 08.10.2008
Сообщений: 296
|
|
| 01.11.2009, 12:15 | |
|
я не пойму, для чего тебе нужно написать эту "утилиту" - она по сути своей бесполезна, какой может быть эталонный хостс, если по сути там всего 1 строчка 127.0.0.1 localhost - все остальное комментарии, отмеченные впереди #, или ты хочешь просто улучшить свои знания в языке, тогда - поощрительно
0
|
|
|
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
| 01.11.2009, 12:20 | |
|
selevit, на Win7 закомментированы все строки
МедведЪ, вообще, если брать по уму. Тогда нужно сделать парсер hosts'а. То есть считывать построчно, и смотреть какие там прописаны сайты с какими айпишниками. Но для этого, твоя программа должна облдать базой с плохими айпишниками, чтоб при нахождении такового, она строчку с ним удаляла. Просто, например, у меня стоит Денвер. Когда я его запускаю, у меня в hosts'е пропиываются мои вирутальные хосты. То есть, в hosts помимо плохой информации, может содержатсья и вполне безобидная и нужная информация.
0
|
|
|
42 / 42 / 8
Регистрация: 22.05.2009
Сообщений: 97
|
|
| 01.11.2009, 14:10 | |
|
Я вот подумал, а может сделать как вариант.
1) Пишется программа, которая добавляет себя в автозагрузку в реестр, и допустим каждый раз при запуске она смотрит что сейчас находится в хосте, при этом сравнивая с файлом, который был при предыдущем запуске системы. 2) Если у нас, допустим найдено несоответсвие, то мы выводим об этом сообщение, а пользователь программы уже решает, нужно ли ему что-то удалять или нет. 3) При завершении работы системы программа сохраняет файл хоста(то бишь копирует его куда-нибудь в другое место).
0
|
|
| 01.11.2009, 14:10 | |
|
Перепишите, пжл, 3 программки в 3 программки в CSS
Функция, которая проверяет нажата ли клавиша?
Функция, которая проверяет соседние элементы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|