Эмуляция локальной сети в ринг3

Тема в разделе "WASM.WIN32", создана пользователем spa, 13 сен 2009.

  1. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Собственно задача обозначена в теме.
    Надо симулировать лок сеть между несколькими компьютерами для определенного приложения (не для конкретного, те приложений несколько) Необходим как можно более универсальный способ. Работать должно на XP и выше. Все дало по возможности хотелось бы оставить в ринг3 и ко всему не хотелось бы жестоких хаков, ну и уж совсем хорошо если еще скрывать настоящию лок сеть. НУ и в дополнение скажу что это все должно делаться для определенного процесса а не для всех.

    Все адекватные предложения приниматься к сведению ) сделаем диф диагноз ака Хаус :derisive:
     
  2. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    Хукать либо основные либо все функции ws2_32.dll в данном прилажении :)
     
  3. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    А что конкретно эмулировать? Если просто передачу данных, то можно похукать send, recieve, а данные передавать каким-то собственным способом...
     
  4. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Забыл сказать кроме передачи данных надо еще обрабатывать широковещательные пакеты. И давайте раз уж мы тут не дураки все говорить более подробно и с причинами, я это не чтобы обидеть или сказать что все вокруг идиоты а я воздушный шарик, просто очевидно просто хука send recv не хватит, хотя бы потому что кто будет генерировать новые "события" для recv ? (да каюсь с этим механизмом разобрался еще не в деталях). К тому же не забываем про широковещательные пакеты.

    Flasher
    как раз при грубом рассмотрении вопрос и звучит как "что хукать" ибо хукать все очень не хочеться, ну уж совсем не хочется т.е. нам надо выяснить что надо хукать (что эффективней и лучше хукать) чтобы добиться
    1. Контроль за широковещательными пакетами
    2. контроль за передачей данных
    3. Контроль за "событием" "приход нового пакета"
    4. Чтобы работала с приложениями использующими возможность DIRECTX для работы с сетью
     
  5. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    Ну рас не хочется хукать надо написать сетевой фильтр орентированный на конкретное прилажение, тут на васме есть подобная статья с кодом.
     
  6. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    даже можно лучше. написать свою ws2_32.dll и закинуть ее в папку с программой, а уже из нее эмулировать свою ЛС
     
  7. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Flasher
    я не говорил что не хочется хукать, я сказал что не хочется хукать все подряд, А насчет фильтра разве его можно написать в ринг3

    max7C4
    а чем это интересно лучше, хотя конечно это более переносимый способ, но я чето хз насчет лучше

    И еще все что было произнесено до этого сообщения сводить к тривиальнейшиму "хакать ws2_32.dll" хотелось бы подробней что лучше и для чего хукать, я же за советом пришел, за информацией могу сходить в Microsoft Developer Network
     
  8. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    SPA, я как-то делал проект с виртуальными под-сетями. Сделал вот что - виртуальный Eth адаптер который цепляется к реальному стеку и имеет user-mode manager. Ессно этих адаптеров можно проинсталить несколько. Усё. Делай с traffic-ом всё что хочешь. Полная совместимость со всеми прогами, в ядре - минимум кода.

    P.S. то есть схема из класса VPN Client. Пример кода, правда слегка страшный есть в OpenVPN.
     
  9. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    s0larian
    не хочется в ринг вообще лезть. Но буду делать как альтернативный вариант
     
  10. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    виртуальная машина совсем не вариант?
     
  11. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    loginrl_103
    совсем не вариант
     
  12. Ox8BFF55

    Ox8BFF55 New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2009
    Сообщения:
    181
    Это совсем легкая задача, ответ содержится в вопросе, ты еще не понял?????
    Все зависит какие приложения ты хочешь дурить.....
    Kernel дурить можно только в Ring 0.(+ все драйвера)
    FireWall используют свои драйвера, так что минуют socket.

    Так что для начало ответь что ты хочешь дурить. Ну а потом естественно придется перехватывать.

    Моно из ReatOS вытащить.....
     
  13. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Ox8BFF55
    совсем легко определить что ты пустозвон, ты еще не понял?????

    Сказал пару очевидных вещей и доволен.

    придумывают же такой бред, зачем мне писать свою реализацию? я могу перехватить то что нужно и все, или на худой конец написать dll с реализацией всего интерфейса (просто переходники по сути) и заменой нужных функций.

    действительно, а может не знает товарищ про кольца?

    кэп, это ты?

    PS сложность хотя бы с не белыми адресами будет, но это потом для начала сделаю для белых.
    PSS достали пустозвоны, я весь пост пытался объяснить что мне нужны советы по реализации, а не очевидности вроде "надо перехватить"
     
  14. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    PSSS про аустозвонов относиться только к Ox8BFF55 (чтобы никто не обижался за зря )))