TCP Stack

Тема в разделе "WASM.NETWORKS", создана пользователем calidus, 23 мар 2008.

  1. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    Имеет смысл смотреть в сторону исходников ОС.

    К примеру Менуэт и Колибри. Там сырцы на ASM.

    Ну и тут смотрим ...

    http://blog.chinaunix.net/u/31179/showart_285999.html
     
  2. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Про калибри я тоже думал , вообщем не то подумал я.

    Гуглил я уже и у китайцев и у американцев ... пусто , совсем ничего.

    Да в точку =) в этом и дело что с NDIS чувствую я долго разбираться , хотя когда то надо , но информация скудная , а прям так разбирать все подробно времени мало .. =(

    Так вот я тоже про RAW подумал , но млин ... фиг знает маловато будет ... Для чего ? ..Достали меня сетевые экраны разные =) , все время нажимать , да я согласен ..да согласен ...дааа опять .. )))))

    мммм .. у меня есть под винду протокол TCP полностью под ассемблер , надо поискать ..

    Классная методика )))

    ок =)
     
  3. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Вообщем решил я NDIS драйвер делать , так как RAW сокеты для фильтра хороши , но сетевики видят их... Только вот с алго разобраится ...

    Делать драйвер hook потом смотреть потоки отсылки и если мое то отсылать моим драйвером ??? или что то вроде этого =) ?
     
  4. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    был у мня один, китайчегами написаный, даж вроде работал. Щас, ищу
     
  5. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    calidus
    если ты хочешь обходить файрволлы, то стек писать не обязательно. просто совет.
    Писать тебе надо не NDIS фильтр, а свой NDIS драйвер-протокол - как делается читай в WDC.
    Если будут вопросы обращайся в аську.
    Если ты инакпсуляцию в IP пакет делать будешь, не забудь про MTU и фрагментацию.
    План действий такой:
    1) ПОлучить список протоколов и похукать хендлеры сенд\ресв
    2) реализовать свой стек.
    Тебе надо будет реализовать IP\ARP\TCP. С технической точки зрения протокол описан и парится особо нечего если ты умеешь оперировать данными ( тобишь кодить\программировать ), много затраха у тебя уйдет на NDIS, синхронизацию и прочую буйню
    p.s смотри в сторону тунелинга трафика как у рустока ( переброс овер минипорт на сетвую по ID потока )
     
  6. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    млин у меня тоже был !!! .. только я тогда как то на него не обратил внимание =(

    WIN32 я примерно так и думал , Я напишу тебе !!!

    Хотел я скачать вот такую прогу для работы NdisMonitor_v1-00_plusSOURCE по этой ссылке http://www.pudn.com/downloads91/sourcecode/windows/detail348701.html , не дают
    тут тоже материал интересеный http://www.pudn.com/downloads32/sourcecode/windows/network/detail102935.html
    зарегестрировался но пишут что типо либо Вип оплатить надо либо что то загрузить им .. млин ..


    Ps. все нашел тут http://www.codeproject.com/KB/IP/NDISmonitor.aspx
    кому надо все в комплекте тут .. http://up.spbland.ru/files/08040253/

    Вот тут тема про RAW http://www.codeproject.com/KB/IP/sendrawpacket.aspx
     
  7. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    calidus
    Ты только сообщи а то я в игнор кидаю сразу иногда :)
     
  8. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    вообщем сидел я сидел и вот какие выводы. Я перерыл программы на подобе RAW_Send с CodeProjeckt и программу HellknightCrew от Cr4ch помойму ... программы хорошы не считая того что детектируется установка драйвера ... но также это получается что вся прога под большой зависимостью ...то есть процедуры посылки сильно усложняюца ....

    Да для троя это тормально!!! .... Но если это не трой ! ..А программа сразу использующая многопоточное соединение + различные протоколы ! Тогда всю механику подстраивать это тяжко ...

    Лучший способ это стоять ранее по привилегии по отношению к защите тем самым избегая полностью ее влияние ....а все остальное будет просто работать с виртуальным сетевым устройством ...в виде NDIS драйвера наверно ... которое в свою очередь будет работать просто как сетевая карта ... без контрольня защитой. Ну да ладно с этим разберемся.

    Где можно почитать про формирование ARP пакета ??? ..подскажите плиз !
     
  9. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    calidus
    В исходниках ОС OpenBSD.
    Ты понимаешь что если ты не представляешь как это сделать, то до стека тебе как до байконура на руках ? :)
     
  10. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Нет ... мне так говорили на всем пути что я кодил на АСМЕ =) , результат такой что все супер работает. Почему то на форумах это основная задача сказать это гиблое дело )))))))) Хотя занимаясь йогой там тоже самое учитиля говорили ... а потом как оказалось они просто сами не до конца понимали ... Ладно по теме теперь , NDIS драйвер уже готов .. сформирую Пакет попробую отправить ... там уже видно будет.
     
  11. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Мне надо собрать ARP packet , может у кого есть пример ??? .. Желательно на асме =)
     
  12. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    а в чем проблема то
    RFC в руки и вперед
     
  13. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    =) чтоб тебе так советовали всегда !!!))))))))) с арп пакетом понятно, отложим пока его. Вообщем схема такая

    Программа =====> драйвер ,виртуальное устройство ======> интернет
    Интернет =====>драйвер ,виртуальное устройство ======> Программа

    Что можно сделать далее ???, смысл в том что модификация и заточка программы под драйвер не очень подходит. Иными словами скажем тот же интернет эксплорер без прав может без крика ходить туда и сюда , и вообще любое приложение выбранное в поддерживающей драйвер программе.
     
  14. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    самый правильный совет
    описание заголовка в RFC
    реализовать это на ассемблере сложности никакой
    ;)
     
  15. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    То пишут тривиальная задача то пишут что ничего не выйдет. По мне так делай - и сделаешь, нет никаких принципиально сложно преодолимых или непреодолимых барьеров тут.
     
  16. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    calidus
    Посмотри мою статью в разделе "Сети" на васме. Может поможет на начальных стадиях.
     
  17. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    =) да я ее уже смотрел ..еще до поста...много интересного. Просто жалко что никому боле это не интересно , я конечно один сделаю , но вопрос во времени , час в день маловато .. чето у меня после установки СП3 стало все странно , вызываю Креат сервис .... возвращает 0 .. код верный , на других дровах он работал огого . Беру грузилку от КМД кит ..и все работает , драйвер зарегин и работает. Найду ошибку выложу на тест... =)
     
  18. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Немного чуть другое. =) в архиве исходники + скомпиленный вариант. Запускается все окай но вот при врайт бсод , по словам умного человека падает на
    Код (Text):
    1.  mov ebx,[ebx]                              ;ebx->tcpip NDIS_OPEN_BLOCK
    2.  mov lpProtocolHandle,ebx                   ;TCPIP OPEN_BLOCK(BINDING_HANDLE)
    3.  mov eax,[ebx+30h]
     
  19. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Вариант номер 2 - в отличии от первого перехваты устанавливаются и я их вижу. В первом архиве я не вижу перехваты даже когда дров по идее выполнил часть функций
    но чето мне кажется тут тоже что то не то. А в первом надо под отладчиком прогнать , чтобы найти как исправить , но у меня нет под рукой ВМ и хорошей тачки =(
     
  20. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Да кстати , стоит сказать что вариант 2 это покоцанный вариант 1 =) , так что не знаю чего так все второй качают