|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.09.2010, 10:11 | #1 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Firewall for Windows, handsmake
Приветствую.
Теория В универе предлагают курсовой на тему защита / фильтрация комп. сетей. Ну грубо говоря. Индивидуальное задание заключается в том, чтобы создать подобие файрвола для Windows, к примеру выдавать запрос на разрешение или отклонения входного/выходного сетевого подключения. Решение Как я понимаю, следует внедрять свою .dll во все процессы (хуки помогут), после чего отлавливать WinSock функции подключения, создания сокетов и др. После чего к примеру слать SendMessage что в свою очередь вернет результат отработки в моем приложении и заморозит тред который пытается создать сокет (к примеру). Далее, либо вернуть ошибку либо вызвать оригинал функции WinSock перехватываемой. Вопрос Будет ли работать такая логика? Может еще чего перехватить, дописать, проверить? Кто знает, прошу выкладывать свои мысли, думаю может еще кому то будет интересно. |
03.09.2010, 10:18 | #2 |
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
Статейку в "хакере" давно уже видел, найду - ссылку кину.
А какой язык?
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab |
03.09.2010, 10:19 | #3 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
идея нормальная, работать будет. вот только при такой реализации возникает проблема постоянного поиска новых процессов и куча других проблем, так как программы могут обращаться напрямую к ядру мимо перехваченных тобой функций.
Наиболее оптимальный вариант в данном случае написать драйвер режима ядра, который в ядре системы будет перехватывать функции работы с сетью. |
03.09.2010, 10:43 | #4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Можно посмотреть как сделано здесь и здесь. Лучше всё же через драйвер делать. Это решение мне кажется надежнее, изящнее и в целом лучше. А вот хуки выглядят как костыль... но зато в реализации попроще пожалуй будет Сам правда я этим всем не занимался, так что мнение моё основано на теоретических знаниях.
|
03.09.2010, 11:29 | #5 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Думаю, будет нелишним зайти на http://SourceForge.net и найти какой-нибудь файрвол. Затем просто открыть его исходник и посмотреть, как это устроено. Как вариант - пойти по стопам Попова и просто изменить автора программы
P.S. Про Попова я серьезно!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 03.09.2010 в 11:31. |
03.09.2010, 12:22 | #6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
На счет метода "Попова" смысла для меня никакого нет, ну да ладно. Я прочитал статьи там оказывается есть несколько вариантов файрволов, попробую свой метод, посмотрим что будет. Спасибо за подсказки и помощь.
Просто если мой метод, заморочки с драйвером не нужны, загрузка и в 32х и в 64х процессы, всегда грузится через хук во все процессы, к примеру используя GetMessage хук (гарантия загрузки в процессы). Перехват API тестировал, работает. Если интересно, и если заработает, то потом может и статью еще одну выпущу в журнал если надо. Язык не важен, я думаю что .dll на C++, UI наверное на C#/WPF. |
03.09.2010, 12:54 | #7 | |
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
Цитата:
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab |
|
03.09.2010, 13:26 | #8 | ||
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Цитата:
Цитата:
пыщь
Последний раз редактировалось JTG; 03.09.2010 в 13:29. |
||
03.09.2010, 13:39 | #9 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
|
|
03.09.2010, 13:44 | #10 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Чтобы Ваш препод сделал "Ух, ты!", достаточно направить его сюда и показать Ваши ответы, либо статейку в журнале...
Никогда не знаешь, где тебе повезет... (Фрай)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
firewall своими руками | badfilin | Общие вопросы C/C++ | 0 | 24.01.2010 22:14 |
firewall на Delphi | ikot | Работа с сетью в Delphi | 4 | 20.01.2010 22:27 |
Простейший firewall | ytkopobot | Помощь студентам | 1 | 08.05.2008 13:14 |