Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 18:48   #1
DeEgo
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 12
По умолчанию Реализация антишипона

Всем доброго времени суток.
Хотелось реализовать программу антишпион, которая бы сканировала весь исходящий трафик компьютера и в случае передачи какой либо программой файла с компьютера, говорила бы об этом пользователю.

Реально ли такое написать вообще? хотелось бы писать на borland builder с++.
Если реально то что стоит почитать.? Может у кого нибудь есть советы.. поскажите..

Заранее спасибо.
DeEgo вне форума Ответить с цитированием
Старый 13.03.2012, 20:38   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

при передаче инфа как правило шифруется, бессмысленное занятие
rpy3uH вне форума Ответить с цитированием
Старый 14.03.2012, 17:30   #3
DeEgo
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 12
По умолчанию

Да я понимаю, но мне главное какую нибудь ламерскую программу написать, скажем наш троян не шифрует ничего и передает по детски =) то так можно? буду примного благодарен оч надо=)
DeEgo вне форума Ответить с цитированием
Старый 15.03.2012, 11:30   #4
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
скажем наш троян не шифрует ничего и передает по детски
Первое что пришло в голову:
1. Перехватываем ReadFile и send/sendto (winapi) (если не ошибаюсь то вообще перехватывать надо более "низкие" функции (т.к. ReadFile это всего лишь обертка над функцией)) (тут нужно уметь писать драйвера).
2. Если срабатывает перехват ReadFile (т.е. если какое то приложение прочитала файл) - получаем уникальный хеш (hash) первых нескольких десятков байтов (прочитаных)(к примеру это будет 30 байт).
3. Если срабатывает перехват send/sendto (отправка пакета на сервер) - составляем массив хешей отправляемого пакета. (как составляется массив хешей: программируем цикл чтобы крутил с нулевой позиции по размер_пакета байт минус 30 байт, и с каждой позиции составляем хеш и кладем в массив (если не понятно - могу дать примерный код))
Сверяем хеш (который получили во втором пункте) с хешами, если какой то хеш совпадет - возможно отправляется файл, сверяем отправляемые байты с байтами которая программа прочитала.

Если что не понятно - спрашивай. (используем хеши, так как в общем все программы читают много байтов)

Последний раз редактировалось zotox; 15.03.2012 в 12:01.
zotox вне форума Ответить с цитированием
Старый 15.03.2012, 17:47   #5
DeEgo
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 12
По умолчанию

Спасибо за ответ) да, было бы не плохо посмотреть на примерный код.. Выложите исходник пожалуйста Хорошо, начну писать и сюда выкладывать результаты
DeEgo вне форума Ответить с цитированием
Старый 15.03.2012, 20:03   #6
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

DeEgo, гугли - "TDI фильтр"
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Старый 25.03.2012, 19:46   #7
DeEgo
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 12
По умолчанию

Всем снова здравствуйте =) не стал создавать новую тему, т.к. она является логической связкой с предыдущем вопросом.
Вообщем подскажите, пожалуйста, как вообще писать клиент-серверные приложения.

Создаю Сервер, бросаю на форму ServerSocket. Присваиваю ему порт, активирую. И сервер ждет когда придет ему информация..
Создаю клиента бросаю на форму компонент ClientSocket, присваиваю ему тот же порт, активирую и по логике необходимо задать адрес ip компа на котором находится сервер. Можно ли сделать чтобы этот айпи получал клиент от сервера как нибудь? Ведь не всегда можно узнать адресс, к тому же он в моем случае динамический и постоянно его менять вообще "не айс".

И как быть в случае когда ком к инету подключен через роутер? получается что у компа вообще как бы и нет ip адреса, только локальный с роутером.

Вообщем подскажите как быть или куда копать =)

ps в гугле лазил и пока без результатов( те исходники, которые находил требовали ручного ввода ip адреса а мне это вообще никак не приемлемо..
DeEgo вне форума Ответить с цитированием
Старый 25.03.2012, 21:39   #8
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

Цитата:
Сообщение от DeEgo Посмотреть сообщение
И как быть в случае когда ком к инету подключен через роутер? получается что у компа вообще как бы и нет ip адреса, только локальный с роутером.
читайте про NAT, например в педивикии

Цитата:
Сообщение от DeEgo Посмотреть сообщение
ps в гугле лазил и пока без результатов( те исходники, которые находил требовали ручного ввода ip адреса а мне это вообще никак не приемлемо..
по другому никак. но и эта поблема тоже решена
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Старый 26.03.2012, 19:42   #9
DeEgo
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 12
По умолчанию

Спасибо, но это все теория.. а практику где можно посмотреть?)
DeEgo вне форума Ответить с цитированием
Старый 27.03.2012, 12:06   #10
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

какую именно практику? конкретно что?
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
реализация в QT navolo4ka Qt и кроссплатформенное программирование С/С++ 0 10.02.2012 15:39
Реализация иерархии Turbine Помощь студентам 0 18.03.2011 08:54
Реализация навигации по БД Дмитрий1993 Общие вопросы Delphi 4 15.02.2011 10:16
Реализация stopvirus Общие вопросы Delphi 12 24.12.2010 19:44
Реализация очереди! Lazio Помощь студентам 2 08.04.2009 17:41