Есть вопрос?
Зайди на форум

Поиск:

Denix: русификация Ubuntu и кодеки :: RSS:: Скачать книги Колисниченко в PDF

Англо-русский словарь компьютерных терминов (Д. Колисниченко)

A  B  C  D  E  F  G  H  I  K  L  M  N  O  P  Q  R  S  T  V  W  X  Y  Z 

укрпочта отслеживание посылок перевод денег график отключения света в Кировограде график отключения счета в Киеве график отключения света в Одессе (zip)

Книга Д. Колисниченко Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.

22.7. Завершение соединения и освобождение ресурсов

Для завершения текущего соединения мы будем использовать функцию Disconnect. Ей нужно передать только дескриптор соединения.

NTSTATUS Tdi_Disconnect(PFILE_OBJECT Connection)

{

    NTSTATUS s = STATUS_INSUFFICIENT_RESOURCES;

    PIRP pIrp;

    PDEVICE_OBJECT pTdiDevice;

    IO_STATUS_BLOCK IoStatus = {0};

    TDI_CONNECTION_INFORMATION  RCI  = {0};

    UINT NumberOfSeconds = 60*3;

    LARGE_INTEGER TimeOut = {0};

    TDI_COMPLETION_CONTEXT CompContext;

 

    KeInitializeEvent(&CompContext.kCompleteEvent, NotificationEvent, FALSE);

 

    pTdiDevice = IoGetRelatedDeviceObject(Connection);

   

    pIrp = TdiBuildInternalDeviceControlIrp(TDI_DISCONNECT, pTdiDevice,

                  Connection, &TdiCompletionContext.kCompleteEvent,

                  &IoStatus);

    if(pIrp)

    {

        TimeOut.QuadPart = 10000000L;

        TimeOut.QuadPart *= NumberOfSeconds;

        TimeOut.QuadPart = -(TimeOut.QuadPart);

        TdiBuildDisconnect(pIrp, pTdiDevice, Connection, NULL, NULL,

                            &TimeOut, TDI_DISCONNECT_ABORT, NULL, &RCI);

        s = IoCallDriver(pTdiDevice, pIrp);

        if(s == STATUS_PENDING)

        {

            KeWaitForSingleObject(&CompContext.kCompleteEvent,

                                  Executive, KernelMode, FALSE, NULL);

 

            s = IoStatusBlock.Status;

        }

    }

    return s;

}

После этого нужно не только закрыть дескрипторы, но и деассоциировать их. Помните, мы написали функцию Link для связи объекта транспортного адреса и контекста соединения. Следующая функция, UnLink, выполняет обратные действия

NTSTATUS UnLink(PFILE_OBJECT Connection)

{

    PIRP pIrp;

    IO_STATUS_BLOCK IoStatus = {0};

    PDEVICE_OBJECT pTdiDevice;

    TDI_COMPLETION_CONTEXT CompContext;

    NTSTATUS s = STATUS_INSUFFICIENT_RESOURCES;

    KeInitializeEvent(&CompContext.kCompleteEvent, NotificationEvent, FALSE);

    pTdiDevice = IoGetRelatedDeviceObject(Connection);

   

    pIrp = TdiBuildInternalDeviceControlIrp(TDI_DISASSOCIATE_ADDRESS,

             pTdiDevice, Connection, &CompContext.kCompleteEvent, &IoStatus);

    if(pIrp)

    {

       TdiBuildDisassociateAddress(pIrp, pTdiDevice, Connection, NULL, NULL);

        s = IoCallDriver(pTdiDevice, pIrp);

        if(s == STATUS_PENDING)

        {

            KeWaitForSingleObject(&CompContext.kCompleteEvent,

                                 Executive, KernelMode, FALSE, NULL);

            s = IoStatus.Status;

        }

    }

    return s;

}

И вот только сейчас мы можем закрыть дескрипторы: дескриптор транспортного адреса и контекста соединения.  

NTSTATUS CloseHandle(HANDLE hTA,  PFILE_OBJECT Connection)

{

    ObDereferenceObject(hTA);

    ZwClose(Connection);

    return STATUS_SUCCESS;

}

На этом обзор интерфейса TDI можно считать завершенным. Конечно, на 100% полноту он не претендует, но я надеюсь, что приведенные функции на первых порах облегчат работу с интерфейсом. А дополнительную информацию всегда можно найти в Интернете. Нужно отметить, что одним из недостатков TDI является то, что он очень заметен для брандмауэров, поэтому для создания руткитов он мало подходит. С другой стороны, он достаточно прост, поскольку нам не нужно разрабатывать собственный стек протокола TCP/IP. В следующей главе мы поговорим о NDIS. Сразу отмечу, что будет сложнее. Куда еще сложнее? Увидите.

На главную

Мне нравится!

Сегодня: 17/01

Поздравлять сегодня некого

Последние посты форума

Интересная картинка

Samsung Galaxy J2 Prime (SM-G532F)

дааа

Обучение PHP-программированию

Новый дизайн сайта

Возвращение на динамическую страницу сайта

С Новым Годом!

Бесплатный хостинг, SSL сертификат, не ограниченно

капец погода в ноябре у нас

Посоветуйте хостинг

флэшмобы

вот люди где живут... экстрим

авто-дилеры

Программы для Linux

книга Командная строка Linux и автоматизация рутинных задач

Совет:

Книги Д. Колисниченко:

Linux

Ubuntu 9. Библия пользователя Ubuntu 9. Библия пользователя
Книга "Ubuntu 9. Библия пользователя" представляет собой полное руководство по установке, настройке и использованию Linux-дистрибутива Ubuntu 9.                                                                                                                                                             

Самоучитель Linux openSUSE 11.2Самоучитель Linux openSUSE 11.2
Книга предназначена для домашнего и офисного начинающего пользователя Linux и по-может ему самостоятельно установить и настроить операционную систему openSUSE 11.2, разработанную в соответствии со всеми принципами Open Source.                                                                           

Android для пользователя. Полезные программы и советы. 2-е издAndroid для пользователя. Полезные программы и советы. 2-е изд
Рассмотрены самые интересные, полезные и наиболее популярные среди отечественных пользователей Android-приложения. Даны советы, как превратить Android-устройство в пульт дистанционного управления компьютером, организовать покадровую съемку, загружать                                                   

PHP

PHP 5 в теории и на практикеPHP 5 в теории и на практике
Это продолжение Самоучителя PHP5 с новыми приемами программирования на PHP. Отличный выбор для начинающего PHP-программиста. Книга устарела и не поддерживается.                                                                                                                                            

PHP 5/6 и MySQL 6. Разработка Web-приложенийPHP 5/6 и MySQL 6. Разработка Web-приложений
На практических примерах описана разработка Web-приложений на языке PHP версий 5 и 6. Лучшая моя книга по PHP, ищите в продаже 3-е издание! Издательство БХВ- Петербург                                                                                                                                      

Профессиональное программирование на PHPПрофессиональное программирование на PHP
Книга рассчитана на программистов, уже освоивших азы программирования на PHP. Приводятся сведения об отладке, анализе и оптимизации кода                                                                                                                                                                     

Интернет/CMS

Joomla 1.5. Руководство пользователяJoomla 1.5. Руководство пользователя
Эта книга - простое и эффективное учебное пособие по освоению и использованию системы управления контентом веб-сайта Joomla 1.5.                                                                                                                                                                             

Новейший самоучитель компьютера и ИнтернетНовейший самоучитель компьютера и Интернет
О такой книге долгие годы мечтали миллионы начинающих пользователей, которые осваивали технику самостоятельно или по непонятным, громоздким руководствам.                                                                                                                                                    

Поисковые системы и продвижение сайтов в ИнтернетеПоисковые системы и продвижение сайтов в Интернете
В книге подробно описаны алгоритмы работы и методы использования наиболее популярных сегодня поисковых машин Интернета — Google, Yandex и Rambler.                                                                                                                                                           

Компьютер/Windows

Компьютер На Флешке. Работающие Windows, Linux, офис и 150 самых полезных программКомпьютер На Флешке. Работающие Windows, Linux, офис и 150 самых полезных программ
В этой книге вы найдете уникальную полезную информацию о том, как установить на флешку Windows XP и Windows Vista...                                                                                                                                                                                         

Работа на ноутбуке с Windows 7Работа на ноутбуке с Windows 7
Эта книга поможет читателю правильно выбрать ноутбук (или нетбук) и подскажет, как его следует использовать, чтобы добиться максимальной надежности и эффективности работы. В ней описывается новая версия операционной системы от Microsoft - Windows 7.                                                    

Секреты, настройка и оптимизация реестра Windows 7Секреты, настройка и оптимизация реестра Windows 7
Рассмотрено устройство, настройка и оптимизация реестра, секреты и трюки при работе с ним, параметры популярных Windows-приложений. Описаны программы для мониторинга...                                                                                                                                     

Сети

Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.
Книга о настройке сети в Windows (98,NT,XP) и Linux. Является превосходным практическим руководством по созданию и обслуживанию компьютерных сетей.                                                                                                                                                          

Самоучитель системного администратора. 4-е изд.Самоучитель системного администратора. 4-е изд.
Изложены основные задачи системного администрирования, описаны базовые протоколы, даны рекомендации по выбору оборудования и проведению ежедневных рутинных операций. Подробно раскрыты технологии, используемые при построении информационных систем, опи                                                   

Беспроводная сеть дома и в офисеБеспроводная сеть дома и в офисе
Книга поможет начинающему администратору домашней или офисной сети в кратчайшие сроки развернуть, настроить или модернизировать беспроводную сеть. Отличный выбор для построения сети SOHO                                                                                                                   

Безопасность

Анонимность и безопасность в Интернете. От Анонимность и безопасность в Интернете. От "чайника" к пользователю
Простым и понятным языком рассказано, как скрыть свое местонахождение и IP-адрес, используя анонимные сети Tor и I2P, посетить заблокированные администратором сайты, защитить личную переписку от посторонних глаз                                                                                          

Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.
-                                                                                                                                                                                                                                                                                                            

Автомобили

150 ситуаций на дороге, которые должен уметь решать каждый водила150 ситуаций на дороге, которые должен уметь решать каждый водила
Опытный инструктор кратко и четко расскажет, что следует делать водителю в 150 самых различных ситуациях на дороге, которые могут опустошить ваш кошелек, испортить нервы или здоровье                                                                                                                       

Новичок за рулем 2. Выбор автомобиля, дальняя поездка...Новичок за рулем 2. Выбор автомобиля, дальняя поездка...
Книга вторая. Желательно прочтение первой книги. Рекомендуется всем начинающим (и не только) водителям/ . Текст этой книги бесплатно доступен в моем блоге http://dkws.net                                                                                                                                   

Что делать, чтобы не надули в автосервисе. Советы и рекомендацииЧто делать, чтобы не надули в автосервисе. Советы и рекомендации
Вы недавно приобрели автомобиль или уже имеете водительский стаж, но при этом особо не вникаете в устройство автомобиля?                                                                                                                                                                                     

Переводные книги

Переводные книгиПереводные книги
Данные книги были переведены мною на русский язык (с английского и чешского). Надеюсь качество перевода вам понравится!                                                                                                                                                                                      

Android

Безопасный Android: защищаем свои деньги и данные от кражиБезопасный Android: защищаем свои деньги и данные от кражи
Рассмотрены различные способы обеспечения безопасности Android-устройств: шифрование персональной информации, хранящейся на устройстве, шифрование передаваемых данных, VPN-соединения, анонимизация трафика                                                                                             

Планшет и смартфон на базе Android для ваших родителейПланшет и смартфон на базе Android для ваших родителей
Книга рассчитана на людей среднего и старшего возраста. Она поможет освоить современный «карманный компьютер» на базе Android, в котором все новое и "не так, как в Windows". Доступным языком описывается, как включить и выключить смартфон и т.д.                                                         

Планшет и смартфон на базе Android для ваших родителей, 2-е изд.Планшет и смартфон на базе Android для ваших родителей, 2-е изд.
Книга знакомит читателя с мобильными устройствами на базе Android. Она написана простым и понятным языком для людей среднего и старшего возраста                                                                                                                                                             

Статьи

Rambler's Top100