Сейчас на форуме: tyns777, zds, JustLife (+4 невидимых)

 eXeL@B —› Программирование —› Имя джоба в ядре
Посл.ответ Сообщение

Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 21 февраля 2010 13:48 · Поправил: Hexxx
· Личное сообщение · #1

Я создаю в юзер моде процесс и именованый джоб для него. Дальше в ядре ловлю всякие операции и для процесса узнаю лежит ли он в джобе, если лежит - беру имя через ObQueryObjectName() и дальше смотрю мой это джоб или нет.

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

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 22 февраля 2010 22:56
· Личное сообщение · #2

Фишка была в TerminateJobObject() которая юзалась чтобы убить процесс. Процесс еще принадлежал джобу, но система начала уже удалять джоб и имя объекта уже было удалено. Приходится юзать TerminateProcess, а только потом TerminateJobObject.

-----
Реверсивная инженерия - написание кода идентичного натуральному



 eXeL@B —› Программирование —› Имя джоба в ядре
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати