2013-04-10 4 views
0

Извините за непонятный вопрос!Какое устройство использует команда dir для cmd?

Команда командной строки «dir» перечисляет все файлы и каталоги в каталоге, как вы, вероятно, знаете.

Я читаю «Подчинение ядра Windows: руткиты» на данный момент.

Один пример кода в книге скрывает TCP-соединения. Он использует перехват. Часть используемого метода получает указатель на TCPIP.sys, драйвер которого 'netstat' использует для запроса текущих TCP-соединений, используя связанный с ним объект устройства.

В основном есть функция, IoGetDeviceObjectPointer(), которая принимает имя устройства (для TCPIP.sys устройство было \\DEVICE\\TCP) и возвращает указатель на драйвер устройства, в этом примере - TCPIP.sys.

Мне было интересно, знает ли кто-нибудь, использует ли команда 'dir' драйвер устройства, и если да, то какое имя устройства?

ответ

3

Нет, команда dir не использует драйвер устройства. Dir commad полагается на функции FindFirstFile/FindNextFile API, которые внутренне выполняют функции ядра Ntdll.dll. Если я правильно помню hookingNt/ZwQueryInformationFile скрывает файлы.

+0

Это технически верно, но то же самое можно сказать о netstat, поскольку он не разговаривает напрямую с драйвером tcp. В случае с dir в конечном итоге будет сделан запрос на драйвер файловой системы. Конечно, подключение к пользовательскому режиму намного проще, чем подключение к режиму ядра. – Luke

+0

Это технически верно, но драйвер файловой системы также разговаривает с драйвером диска, поэтому мы можем обсудить «имя устройства». :) – Xearinox

Смежные вопросы