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

Поиск:

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. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.

9.3. Создание устройства

Для того чтобы пользовательская программа могла открыть устройство, оно должно быть зарегистрировано в системе - система должна знать символьное имя устройства. Открыть устройство очень просто. Для этого достаточно открыть устройство, как обычный файл. Если вы когда-нибудь работали с UNIX, то, наверное, заметили аналогию. В UNIX можно открыть любое устройство как файл и работать с ним так же, как с обычным файлом.

Следующий код регистрирует устройство в системе:

const WCHAR dev_name_buffer[] = L"\\Device\\MyDevice";

PDEVICE_OBJECT RootkitDevice;

...

NTSTATUS DriverEntry (IN PDRIVER_OBJECT Driver, IN PUNICODE_STRING RegPath)

{

NTSTATUS          nt_stat;    // статут завершения операции

UNICODE_STRING    dev_name;   // имя устройства

RtlInitUnicodeString(&dev_name, dev_name_buffer);

// Создаем устройство

nt_stat = IoCreateDevice(Driver, 0, &dev_name, 0x00001234, 0, TRUE, &RootkitDevice);

...

В этом примере функция DriverEntry создает устройство с именем MyDevice. Нужно указать полное имя - "\\Device\\MyDevice". L - это признак того, что строка в Юникоде, что необходимо для вызова API.

Как только устройство создано, пользовательская программа может открыть его следующим образом:

hDevice = CreateFile("\\\\Device\\MyDevice", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if (hDevice == ((HANDLE)-1)) return FALSE;

После этого можно использовать обычные функции чтения/записи файла. В качестве дескриптора файла нужно будет указывать переменную hDevice.

Теперь поговорим о создании символических ссылок. Некоторые драйверы используют символические ссылки для упрощения открытия файла устройства в пользовательских программах. Это необязательно, но удобно - ведь проще запомнить сокращенное имя символической ссылки, чем полное имя файла устройства. Для создания символической ссылки драйвер должен вызвать функцию IoCreateSymbolicLink сразу же после создания устройства. Нужно отметить, что некоторые руткиты (например, fu) используют символические ссылки, а некоторые - нет. Еще раз повторю, что данная операция необязательна.

const WCHAR dev_name_buffer[] = L"\\Device\\MyDevice";

const WCHAR dev_link_buffer[] = L"\\DosDevices\MyDevice";

PDEVICE_OBJECT RootkitDevice;

...

NTSTATUS DriverEntry (IN PDRIVER_OBJECT Driver, IN PUNICODE_STRING RegPath)

{

NTSTATUS          nt_stat;    // статут завершения операции

UNICODE_STRING    dev_name;   // имя устройства

UNICODE_STRING    dev_link;   // имя ссылки

RtlInitUnicodeString(&dev_name, dev_name_buffer);

RtlInitUnicodeString(&dev_link, dev_link_buffer);

nt_stat = IoCreateDevice(Driver, 0, &dev_name, 0x00001234, 0, TRUE, &RootkitDevice);

if (NT_SUCCESS(nt_stat))

nt_stat = IoCreateSymbolicLink(&dev_link, &dev_name);

Если символическая ссылка создана, пользовательская программа может открыть устройство, используя строку \\.\MyDevice. Честно говоря, не сильно и проще, но все-таки не \\\\Device\MyDevice:

hDevice = CreateFile("\\.\MyDevice", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if (hDevice == ((HANDLE)-1)) return FALSE;

Только что мы рассмотрели реализацию взаимодействия пользовательской части руткита и драйвера устройства, работающего на уровне ядра.

На главную

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

Сегодня: 18/01

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

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

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

Samsung Galaxy J2 Prime (SM-G532F)

дааа

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

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

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

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

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

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

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

флэшмобы

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

авто-дилеры

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

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

Совет:

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

Linux

Ubuntu Linux. Краткое руководство пользователяUbuntu Linux. Краткое руководство пользователя
Книга ориентирована на начинающего пользователя Ubuntu Linux. Книга устарела, вместо нее издана Ubuntu 10. Краткое руководство пользователя (тоже издательство БХВ)                                                                                                                                          

Разработка Linux-приложенийРазработка Linux-приложений
Рассмотрены основные аспекты программирования в Linux: от программирования на языках командных оболочек bash и tcsh до создания приложений с графическим интерфейсом с использованием библиотек Tk, glib, GTK+ и средства dialog, Подробно дано программир                                                   

Fedora 8. Руководство пользователяFedora 8. Руководство пользователя
Эта книга поможет быстро освоить новую версию дистрибутива Linux Fedora 8. В ней рассказывается, как установить Fedora 8 и выполнить базовую настройку системы после установки, организовать подключение к Интернету...                                                                                      

PHP

Самоучитель PHP 5. Книга + CDСамоучитель PHP 5. Книга + CD
Долгожданное новое издание PHP5 с CD, на котором вы найдете листинги из книги и дополнительное программное обеспечение (Apache, PHP, MySQL, редакторы кода). Книга не поддерживается, устарела                                                                                                               

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

PHP 5/6 и MySQL 6. Разработка Web-приложений. 3-е издPHP 5/6 и MySQL 6. Разработка Web-приложений. 3-е изд
Даны начала программирования на PHP: установка и настройка PHP и MySQL, выбор редактора PHP-кода, основы синтаксиса и самые полезные функции PHP.                                                                                                                                                            

Интернет/CMS

Самоучитель Joomla!Самоучитель Joomla!
Книга ориентирована как на обычных пользователей Интернета, которым нужно в кратчайшие сроки построить свой сайт, так и на разработчиков, которые заинтересованы в создании собственных расширений и шаблонов для популярной системы управления контентом                                                   

Facebook. Полное руководствоFacebook. Полное руководство
Эта книга — простое и эффективное учебное пособие по изучению, освоению и успешному использованию всех доступных инструментов популярной социальной сети Facebook                                                                                                                                            

Движок для вашего сайта. CMS Joomla!, Slaed, PHP-NukeДвижок для вашего сайта. CMS Joomla!, Slaed, PHP-Nuke
Книга ориентирована как на обычных пользователей Интернета, которым нужно в кратчайшие сроки создать свой сайт, так и на разработчиков, которые заинтересованы в построении собственной системы управления сайтом.                                                                                           

Компьютер/Windows

Самоучитель Microsoft Windows 8Самоучитель Microsoft Windows 8
Описаны основные нововведения в Windows 8, особое внимание уделено использованию системы на планшете. Рассмотрена установка системы как на физический компьютер (стационарный, ноутбук, нетбук, планшет), так и на виртуальный (VMware, Virtual Box).                                                        

Самоучитель Microsoft Windows 10Самоучитель Microsoft Windows 10
Вас интересует новейшая версия Windows - Windows 10? Тогда эта книга для вас. Она содержит необходимые и достаточные сведения для реальной работы с программой. Описаны как базовые функции, так и основные новинки Windows 10                                                                               

Windows 8. Настройка, работа, администрированиеWindows 8. Настройка, работа, администрирование
Книга предназначена всем пользователям, желающим начать работу с новой версией операционной системы компании Microsoft - Windows 8. Подробно описаны особенности установки, настройки и восстановления системы, а также методы повышения ее производительн                                                   

Сети

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

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

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

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

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

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

Автомобили

Особенности безопасной езды в разных условиях (город, бездорожье, гололед, горный серпантин).Особенности безопасной езды в разных условиях (город, бездорожье, гололед, горный серпантин).
Безопасная езда - это когда целы машина, пассажиры, водитель и деньги водителя                                                                                                                                                                                                                               

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

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

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

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

Android

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

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

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

Статьи

Rambler's Top100