Einzelnen Beitrag anzeigen

Benutzerbild von CoRe.eXtreem
CoRe.eXtreem

Registriert seit: 30. Nov 2003
61 Beiträge
 
Delphi 2005 Personal
 
#11

Re: RegGetKeySecurity

  Alt 7. Nov 2008, 12:11
Da steht doch

dwRevision [in]

The revision level to assign to the security descriptor. This parameter must be SECURITY_DESCRIPTOR_REVISION.

oder sehe ich das falsch?

Delphi-Quellcode:
    .data
   lpSubKey         db   "SOFTWARE\Classes\.7z\2",0
   phkResult          dd   0

    .data?
   pSecurityDescriptor      SECURITY_DESCRIPTOR <>

    .code
    
start:
   xor   eax,eax

   push   offset phkResult
   push   KEY_ALL_ACCESS
   push   0
   push   offset lpSubKey
   push   HKEY_LOCAL_MACHINE
   call   RegOpenKeyEx


   push   offset pSecurityDescriptor
   call   IsValidSecurityDescriptor

   test   eax,eax               ; EAX 00000000 (Das ist schonmal positiv)
   jnz   @_ExitProcess


   push   SECURITY_DESCRIPTOR_REVISION
   push   offset pSecurityDescriptor
   call   InitializeSecurityDescriptor


   push   sizeof SECURITY_DESCRIPTOR
   push   offset pSecurityDescriptor
   push   DACL_SECURITY_INFORMATION
   push   offset phkResult
   call   RegGetKeySecurity

   push   phkResult
   call   RegCloseKey

   @_ExitProcess:
   push   0
   call   ExitProcess

end start
Muss jetzt erstmal den SecurityDescriptor richtig erstellen bzw. Speicher zuweisen. Ich denke dort liegt der fehler.
Das mit der Domäne kommt später, muss jetzt erst mal den SecurityDescriptor erstellen. Bevor da nicht alle EAX rückgabewerte der API überall auf 0 ist geht es nicht weiter.
  Mit Zitat antworten Zitat