файл/регистр HANDLE - как получить путь к объекту

Тема в разделе "WASM.NT.KERNEL", создана пользователем katrus, 9 сен 2007.

  1. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Скажите, есть ли в API ядра способ получть из HANDLE некого обьекта (созданного, например, через ZwCreateFile или ZwOpenKey) полное имя объекта?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    для файла ZwQueryInformationFile, для чего угодно - ZwQueryObject (с учетом его бяк на WinXP в виде дедлоков)
     
  3. Weberd

    Weberd New Member

    Публикаций:
    0
    Регистрация:
    14 июн 2007
    Сообщения:
    67
    а можно поподробнее о дедлоках? просто я хотел похожий вопрос задать про ZwOpenKey. мне нужно получать полное путь для key реестра. ZwQueryKey выдает только собственно имя ключа.
     
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    ZwQueryObject
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    поиск по форуму, гдето была тема про дедлок в ZwQueryObject при попытке передачи хендла пайпа чтоли или чего-то такого
     
  6. Weberd

    Weberd New Member

    Публикаций:
    0
    Регистрация:
    14 июн 2007
    Сообщения:
    67
  7. Weberd

    Weberd New Member

    Публикаций:
    0
    Регистрация:
    14 июн 2007
    Сообщения:
    67
    пусто
     
  8. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    для ring3:
    hHandle - интересующий дескриптор
    Код (Text):
    1.  invoke VirtualAlloc, 0, 200h, 1000h, 4
    2.  mov edi, eax
    3.  invoke ZwQueryObject, hHandle, 1, edi, 200h, 0
    4.  .if eax
    5.   invoke VirtualFree, edi, 0, 4000h
    6.   xor edi, edi
    7.  .endif
    поколдуй над этим

    имя объекта будет по адресу [edi + 8]
     
  9. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    RamMerLabs
    Большой спасиб!