ZwOpenSymbolicLinkObject

Тема в разделе "WASM.WIN32", создана пользователем Gennadiy_M, 4 сен 2008.

  1. Gennadiy_M

    Gennadiy_M New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2008
    Сообщения:
    22
    Не получается открыть ссылку по ZwOpenSymbolicLinkObject. Как правильно заполнить OBJECT_ATTRIBUTES?

    DATA segment dword public use32 'DATA'
    link_h dd ?
    object_attributes OBJECT_ATTRIBUTES <?>
    file_name dw '\','?','?','\','c',':'
    file_name2 dd 6
    dd 6
    dd offset file_name
    DATA ends
    CODE segment dword public use32 'CODE'
    _start:
    mov [object_attributes._Length_],24
    mov [object_attributes.ObjectName],offset file_name2
    push offset object_attributes
    push GENERIC_READ
    push offset link_h
    call __imp__ZwOpenSymbolicLinkObject@12

    Выдаёт ошибку 80000002h (STATUS_DATATYPE_MISALIGNMENT?)

    Может структуру не правильно вбил? :

    OBJECT_ATTRIBUTES struc
    _Length_ dd ?
    RootDirectory dd ?
    ObjectName dd ?
    Attributes dd ?
    SecurityDescriptor dd ?
    SecurityQualityOfService dd ?
    OBJECT_ATTRIBUTES ends
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    выравнивание забыл.
     
  3. Gennadiy_M

    Gennadiy_M New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2008
    Сообщения:
    22
    Не ожидал, но помогло.
    Теперь выдаёт ошибку 0с0000005h (STATUS_ACCESS_VIOLATION).
    Нет прав на доступ? С путём что-то не так?
     
  4. blast

    blast New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    170
    вот рабочий код на masm
    Код (Text):
    1. Start proc
    2. Local Handle:HANDLE
    3. Local ObjAttr:OBJECT_ATTRIBUTES
    4. Local UniName:UNICODE_STRING
    5.     lea edx,pName
    6.     invoke RtlCreateUnicodeStringFromAsciiz, addr UniName, edx
    7.     test eax,eax
    8.     jz exit_
    9.     lea edx,UniName
    10.         xor eax,eax
    11.     mov ObjAttr.uLength,SizeOf OBJECT_ATTRIBUTES
    12.     mov ObjAttr.hRootDirectory,eax
    13.     mov ObjAttr.pSecurityDescriptor,eax
    14.     mov ObjAttr.pSecurityQualityOfService,eax
    15.     mov ObjAttr.uAttributes,eax
    16.     mov ObjAttr.pObjectName,edx
    17.     invoke ZwOpenSymbolicLinkObject, addr Handle, SYMBOLIC_LINK_QUERY, addr ObjAttr
    18. exit_:
    19.     ret
    20. pName   CHAR    "\??\C:",0
    21. Start endp
     
  5. Gennadiy_M

    Gennadiy_M New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2008
    Сообщения:
    22
    Всё, разобрался, спасибо. Не правильно в UNICODE переводил.