Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Направления программирования
>
Drivers
(Модераторы:
Ochkarik
,
aks68
) > Тема:
команда NTCALL в SoftIce
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: команда NTCALL в SoftIce (Прочитано 8778 раз)
0 Пользователей и 1 Гость смотрят эту тему.
[nike]
Гость
команда NTCALL в SoftIce
«
:
20-12-2003 11:37 »
Если я не ошибаюсь, команда NTCALL показывает таблицу системных сервисов. Вопрос в том, почему в документации NTDDK ZwCreateFile
называется ZwCreateFile, а в SoftIce она называется NtCreateFile.
Почему имена не совпадают?
P.S. я скорей всего вопрос не очень понятно задал.
Записан
[nike]
Гость
команда NTCALL в SoftIce
«
Ответ #1 :
20-12-2003 11:44 »
И еще вопросик. IoCreateFile тоже сервис ядра? И если да, то почему SoftIce его не показывает?
Записан
maaaaaad
Гость
команда NTCALL в SoftIce
«
Ответ #2 :
21-12-2003 10:44 »
Цитата
почему в документации NTDDK ZwCreateFile
называется ZwCreateFile, а в SoftIce она называется NtCreateFile
Если вещи имеют разные имена, то эти вещи - разные.
в ntoskrnl ZwCreateFile вызывает NtCreateFile через шлюз int 2e.
Цитата
IoCreateFile тоже сервис ядра?
Да.
Цитата
И если да, то почему SoftIce его не показывает?
Это вопрос терминологии. Не захотели разработчики включить IoCreateFile в NTCALL. Туда много чего не включено.
Записан
SlavaI
Главный специалист
Offline
команда NTCALL в SoftIce
«
Ответ #3 :
22-12-2003 06:20 »
Цитата
в ntoskrnl ZwCreateFile вызывает NtCreateFile через шлюз int 2e.
Ага. Только на современных процах есть новый вызов sysenter и могут юзать его.
Разница между Zw и Nt функциями в том что при вызове Zw функции меняется PreviousMode для текущего потока на тот, который был при вызове ф-ции, а при вызове Nt ф-ции он не изменяется. PreviousMode - это поле в структуре KTHREAD которое указывает на то из какого режима (KernelMode or UserMode) был сделан вызов и е в зависимости от этого принимают решение проверять разшение на доступ(DACL) или нет- в случае KernelMode его не проаеряют, UserMode проверяют. То есть если из драйвера вызывать только Nt ф-ции может выйти так, что PreviousMode будет UserMode и начнется проверка разрешений и драйверу не дадут доступ к объекту.
Записан
SlavaI
Главный специалист
Offline
команда NTCALL в SoftIce
«
Ответ #4 :
22-12-2003 06:22 »
Цитата
Цитата:
IoCreateFile тоже сервис ядра?
Да.
Цитата:
И если да, то почему SoftIce его не показывает?
Это вопрос терминологии. Не захотели разработчики включить IoCreateFile в NTCALL. Туда много чего не включено.
NTCALL показывает только ф-ции из таблицы системных ф-ций- это массив указателей на функции. IoCreateFile не входит туда.
Записан
maaaaaad
Гость
команда NTCALL в SoftIce
«
Ответ #5 :
22-12-2003 10:11 »
Цитата
Только на современных процах есть новый вызов sysenter и могут юзать его
Что за sysenter? Где почитать о нем?
Записан
SlavaI
Главный специалист
Offline
команда NTCALL в SoftIce
«
Ответ #6 :
22-12-2003 10:53 »
Цитата
Что за sysenter? Где почитать о нем?
В Интеловской документации на процессоры, по моему начиная с PII уже есть, в P4 есть точно.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Направления программирования
>
Drivers
(Модераторы:
Ochkarik
,
aks68
) > Тема:
команда NTCALL в SoftIce
Загружается...