Можете ли вы решить мои сомнения по поводу ядра windows? - PullRequest
0 голосов
/ 25 апреля 2020
У

в основном два вопроса 1 Когда DeviceIoControl вызывает соответствующую функцию в указанном c драйвере (IRP_MJ_DEVICE_CONTROL FUNCTION), где эта функция выполняется? В процессе, где я вызвал DeviceIoControl? У меня есть это сомнение, потому что вызов этой функции PsGetCurrentProcess дает мне процесс, который вызвал функцию. 2 Этот вопрос всегда касается PsGetCurrentProcess, который должен возвращать PEPROCESS, проблема в том, что если в windbg я пишу «uf nt! PsGetCurrentProcess», он возвращает мне

mov rax, qword ptr gs: [188h] mov rax , qword ptr [rax + 70h], где первая инструкция перемещает kthread, а вторая - значение KPROCESS, содержащееся в ApcState, теперь мне интересно, почему в apcstate у нас есть kprocess (по крайней мере, так что он возвращается на windbg, если я запускаю команду dt nt! _KAPC_STATE) если тогда в сущности PsGetCurrentProcess возвращает EPROCESS?

Я, конечно, допустил много ошибок в этом вопросе, но я надеюсь, вы понимаете, что я сейчас начинаю изучать ядро ​​windows.

...