Собственно задача обозначена в теме. Надо симулировать лок сеть между несколькими компьютерами для определенного приложения (не для конкретного, те приложений несколько) Необходим как можно более универсальный способ. Работать должно на XP и выше. Все дало по возможности хотелось бы оставить в ринг3 и ко всему не хотелось бы жестоких хаков, ну и уж совсем хорошо если еще скрывать настоящию лок сеть. НУ и в дополнение скажу что это все должно делаться для определенного процесса а не для всех. Все адекватные предложения приниматься к сведению ) сделаем диф диагноз ака Хаус
А что конкретно эмулировать? Если просто передачу данных, то можно похукать send, recieve, а данные передавать каким-то собственным способом...
Забыл сказать кроме передачи данных надо еще обрабатывать широковещательные пакеты. И давайте раз уж мы тут не дураки все говорить более подробно и с причинами, я это не чтобы обидеть или сказать что все вокруг идиоты а я воздушный шарик, просто очевидно просто хука send recv не хватит, хотя бы потому что кто будет генерировать новые "события" для recv ? (да каюсь с этим механизмом разобрался еще не в деталях). К тому же не забываем про широковещательные пакеты. Flasher как раз при грубом рассмотрении вопрос и звучит как "что хукать" ибо хукать все очень не хочеться, ну уж совсем не хочется т.е. нам надо выяснить что надо хукать (что эффективней и лучше хукать) чтобы добиться 1. Контроль за широковещательными пакетами 2. контроль за передачей данных 3. Контроль за "событием" "приход нового пакета" 4. Чтобы работала с приложениями использующими возможность DIRECTX для работы с сетью
Ну рас не хочется хукать надо написать сетевой фильтр орентированный на конкретное прилажение, тут на васме есть подобная статья с кодом.
даже можно лучше. написать свою ws2_32.dll и закинуть ее в папку с программой, а уже из нее эмулировать свою ЛС
Flasher я не говорил что не хочется хукать, я сказал что не хочется хукать все подряд, А насчет фильтра разве его можно написать в ринг3 max7C4 а чем это интересно лучше, хотя конечно это более переносимый способ, но я чето хз насчет лучше И еще все что было произнесено до этого сообщения сводить к тривиальнейшиму "хакать ws2_32.dll" хотелось бы подробней что лучше и для чего хукать, я же за советом пришел, за информацией могу сходить в Microsoft Developer Network
SPA, я как-то делал проект с виртуальными под-сетями. Сделал вот что - виртуальный Eth адаптер который цепляется к реальному стеку и имеет user-mode manager. Ессно этих адаптеров можно проинсталить несколько. Усё. Делай с traffic-ом всё что хочешь. Полная совместимость со всеми прогами, в ядре - минимум кода. P.S. то есть схема из класса VPN Client. Пример кода, правда слегка страшный есть в OpenVPN.
Это совсем легкая задача, ответ содержится в вопросе, ты еще не понял????? Все зависит какие приложения ты хочешь дурить..... Kernel дурить можно только в Ring 0.(+ все драйвера) FireWall используют свои драйвера, так что минуют socket. Так что для начало ответь что ты хочешь дурить. Ну а потом естественно придется перехватывать. Моно из ReatOS вытащить.....
Ox8BFF55 совсем легко определить что ты пустозвон, ты еще не понял????? Сказал пару очевидных вещей и доволен. придумывают же такой бред, зачем мне писать свою реализацию? я могу перехватить то что нужно и все, или на худой конец написать dll с реализацией всего интерфейса (просто переходники по сути) и заменой нужных функций. действительно, а может не знает товарищ про кольца? кэп, это ты? PS сложность хотя бы с не белыми адресами будет, но это потом для начала сделаю для белых. PSS достали пустозвоны, я весь пост пытался объяснить что мне нужны советы по реализации, а не очевидности вроде "надо перехватить"