Какое устройство использует команда cmd «dir»?

Извините за неясный вопрос!

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

Сейчас я читаю "Подрыв ядра Windows: руткиты".

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

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

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


person AWSM    schedule 10.04.2013    source источник


Ответы (1)


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

person Xearinox    schedule 10.04.2013
comment
Технически это верно, но то же самое можно сказать и о netstat, поскольку он не взаимодействует напрямую с драйвером tcp. В случае с dir в конечном итоге будет сделан запрос к драйверу файловой системы. Конечно, перехват пользовательского режима намного проще, чем перехват режима ядра. - person Luke; 10.04.2013
comment
Технически это верно, но драйвер файловой системы также взаимодействует с драйвером диска, поэтому мы можем обсудить «имя устройства». :) - person Xearinox; 11.04.2013