Имеет смысл смотреть в сторону исходников ОС. К примеру Менуэт и Колибри. Там сырцы на ASM. Ну и тут смотрим ... http://blog.chinaunix.net/u/31179/showart_285999.html
Про калибри я тоже думал , вообщем не то подумал я. Гуглил я уже и у китайцев и у американцев ... пусто , совсем ничего. Да в точку =) в этом и дело что с NDIS чувствую я долго разбираться , хотя когда то надо , но информация скудная , а прям так разбирать все подробно времени мало .. =( Так вот я тоже про RAW подумал , но млин ... фиг знает маловато будет ... Для чего ? ..Достали меня сетевые экраны разные =) , все время нажимать , да я согласен ..да согласен ...дааа опять .. ))))) мммм .. у меня есть под винду протокол TCP полностью под ассемблер , надо поискать .. Классная методика ))) ок =)
Вообщем решил я NDIS драйвер делать , так как RAW сокеты для фильтра хороши , но сетевики видят их... Только вот с алго разобраится ... Делать драйвер hook потом смотреть потоки отсылки и если мое то отсылать моим драйвером ??? или что то вроде этого =) ?
calidus если ты хочешь обходить файрволлы, то стек писать не обязательно. просто совет. Писать тебе надо не NDIS фильтр, а свой NDIS драйвер-протокол - как делается читай в WDC. Если будут вопросы обращайся в аську. Если ты инакпсуляцию в IP пакет делать будешь, не забудь про MTU и фрагментацию. План действий такой: 1) ПОлучить список протоколов и похукать хендлеры сенд\ресв 2) реализовать свой стек. Тебе надо будет реализовать IP\ARP\TCP. С технической точки зрения протокол описан и парится особо нечего если ты умеешь оперировать данными ( тобишь кодить\программировать ), много затраха у тебя уйдет на NDIS, синхронизацию и прочую буйню p.s смотри в сторону тунелинга трафика как у рустока ( переброс овер минипорт на сетвую по ID потока )
млин у меня тоже был !!! .. только я тогда как то на него не обратил внимание =( 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
вообщем сидел я сидел и вот какие выводы. Я перерыл программы на подобе RAW_Send с CodeProjeckt и программу HellknightCrew от Cr4ch помойму ... программы хорошы не считая того что детектируется установка драйвера ... но также это получается что вся прога под большой зависимостью ...то есть процедуры посылки сильно усложняюца .... Да для троя это тормально!!! .... Но если это не трой ! ..А программа сразу использующая многопоточное соединение + различные протоколы ! Тогда всю механику подстраивать это тяжко ... Лучший способ это стоять ранее по привилегии по отношению к защите тем самым избегая полностью ее влияние ....а все остальное будет просто работать с виртуальным сетевым устройством ...в виде NDIS драйвера наверно ... которое в свою очередь будет работать просто как сетевая карта ... без контрольня защитой. Ну да ладно с этим разберемся. Где можно почитать про формирование ARP пакета ??? ..подскажите плиз !
calidus В исходниках ОС OpenBSD. Ты понимаешь что если ты не представляешь как это сделать, то до стека тебе как до байконура на руках ?
Нет ... мне так говорили на всем пути что я кодил на АСМЕ =) , результат такой что все супер работает. Почему то на форумах это основная задача сказать это гиблое дело )))))))) Хотя занимаясь йогой там тоже самое учитиля говорили ... а потом как оказалось они просто сами не до конца понимали ... Ладно по теме теперь , NDIS драйвер уже готов .. сформирую Пакет попробую отправить ... там уже видно будет.
=) чтоб тебе так советовали всегда !!!))))))))) с арп пакетом понятно, отложим пока его. Вообщем схема такая Программа =====> драйвер ,виртуальное устройство ======> интернет Интернет =====>драйвер ,виртуальное устройство ======> Программа Что можно сделать далее ???, смысл в том что модификация и заточка программы под драйвер не очень подходит. Иными словами скажем тот же интернет эксплорер без прав может без крика ходить туда и сюда , и вообще любое приложение выбранное в поддерживающей драйвер программе.
То пишут тривиальная задача то пишут что ничего не выйдет. По мне так делай - и сделаешь, нет никаких принципиально сложно преодолимых или непреодолимых барьеров тут.
=) да я ее уже смотрел ..еще до поста...много интересного. Просто жалко что никому боле это не интересно , я конечно один сделаю , но вопрос во времени , час в день маловато .. чето у меня после установки СП3 стало все странно , вызываю Креат сервис .... возвращает 0 .. код верный , на других дровах он работал огого . Беру грузилку от КМД кит ..и все работает , драйвер зарегин и работает. Найду ошибку выложу на тест... =)
Немного чуть другое. =) в архиве исходники + скомпиленный вариант. Запускается все окай но вот при врайт бсод , по словам умного человека падает на Код (Text): mov ebx,[ebx] ;ebx->tcpip NDIS_OPEN_BLOCK mov lpProtocolHandle,ebx ;TCPIP OPEN_BLOCK(BINDING_HANDLE) mov eax,[ebx+30h]
Вариант номер 2 - в отличии от первого перехваты устанавливаются и я их вижу. В первом архиве я не вижу перехваты даже когда дров по идее выполнил часть функций но чето мне кажется тут тоже что то не то. А в первом надо под отладчиком прогнать , чтобы найти как исправить , но у меня нет под рукой ВМ и хорошей тачки =(
Да кстати , стоит сказать что вариант 2 это покоцанный вариант 1 =) , так что не знаю чего так все второй качают