vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Re: Besitz von Dateien übernehmen 
Autor: NHZ
Datum: 19.05.04 09:47

Hallo
Der Code des Original-Beispiels versucht zunächst die Berechtigungen zu ändern. Wenn das fehlschlägt, versucht er den sich das Recht SE_TAKE_OWNERSHIP_NAME für den Prozess zu holen, um dann den Besitz zu übernehmen.

Gruß NHZ

Hier die Declarationen:
Private Const ERROR_SUCCESS = &H0
Private Const ERROR_ACCESS_DENIED = &H5
Private Const SE_FILE_OBJECT = 1&
Private Const DACL_SECURITY_INFORMATION = &H4
Private Const SET_ACCESS = &H2
Private Const SYNCHRONIZE = &H100000
Private Const READ_CONTROL = &H20000
Private Const WRITE_DAC = &H40000
Private Const WRITE_OWNER = &H80000
Private Const STANDARD_RIGHTS_READ = (READ_CONTROL)
Private Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
Private Const DELETE = &H10000
Private Const GENERIC_ALL = &H10000000
Private Const GENERIC_EXECUTE = &H20000000
Private Const GENERIC_READ = &H80000000
Private Const GENERIC_WRITE = &H40000000
Private Const CONTAINER_INHERIT_ACE = &H2
Private Const OBJECT_INHERIT_ACE = &H1
Const SECURITY_NULL_SID_AUTHORITY = 0
Const SECURITY_WORLD_SID_AUTHORITY = 1
Const SECURITY_LOCAL_SID_AUTHORITY = 2
Const SECURITY_CREATOR_SID_AUTHORITY = 3
Const SECURITY_NON_UNIQUE_AUTHORITY = 4
Const SECURITY_NT_AUTHORITY = 5
Const SECURITY_BUILTIN_DOMAIN_RID = &H20
Const SECURITY_WORLD_RID = &H0
Const DOMAIN_ALIAS_RID_ADMINS = &H220
Const DOMAIN_ALIAS_RID_USERS = &H221
Const DOMAIN_ALIAS_RID_GUESTS = &H222
Const DOMAIN_ALIAS_RID_POWER_USERS = &H223
Const OWNER_SECURITY_INFORMATION = &H1
Const GROUP_SECURITY_INFORMATION = &H2
Const NO_INHERITANCE = &H0
Private Type SID_IDENTIFIER_AUTHORITY
    Value(6) As Byte
End Type
Private Type TRUSTEE
    pMultipleTrustee As Long
    MultipleTrusteeOperation As Long
    TrusteeForm As Long
    TrusteeType As Long
    ptstrName As String
End Type
Private Enum TRUSTEE_FORM
    TRUSTEE_IS_SID
    TRUSTEE_IS_NAME
    TRUSTEE_BAD_FORM
    TRUSTEE_IS_OBJECTS_AND_SID
    TRUSTEE_IS_OBJECTS_AND_NAME
End Enum
Private Enum TRUSTEE_TYPE
    TRUSTEE_IS_UNKNOWN
    TRUSTEE_IS_USER
    TRUSTEE_IS_GROUP
    TRUSTEE_IS_DOMAIN
    TRUSTEE_IS_ALIAS
    TRUSTEE_IS_WELL_KNOWN_GROUP
    TRUSTEE_IS_DELETED
    TRUSTEE_IS_INVALID
    TRUSTEE_IS_COMPUTER
End Enum
Private Type EXPLICIT_ACCESS
    grfAccessPermissions As Long
    grfAccessMode As Long
    grfInheritance As Long
    pTRUSTEE As TRUSTEE
End Type
Private Declare Function AllocateAndInitializeSid Lib "Advapi32.dll" ( _
  pIdentifierAuthority As SID_IDENTIFIER_AUTHORITY, _
        ByVal nSubAuthorityCount As Long, ByVal dwSubAuthority0 As Long, ByVal _
        dwSubAuthority1 As Long, _
        ByVal dwSubAuthority2 As Long, ByVal dwSubAuthority3 As Long, ByVal _
        dwSubAuthority4 As Long, _
        ByVal dwSubAuthority5 As Long, ByVal dwSubAuthority6 As Long, ByVal _
        dwSubAuthority7 As Long, pSid As Long) As Long
Private Declare Sub BuildExplicitAccessWithName Lib "Advapi32.dll" Alias _
    "BuildExplicitAccessWithNameA" _
    (ea As Any, _
    ByVal TrusteeName As String, _
    ByVal AccessPermissions As Long, _
    ByVal AccessMode As Integer, _
    ByVal Inheritance As Long)
Private Declare Function SetEntriesInAcl Lib "Advapi32.dll" Alias _
    "SetEntriesInAclA" _
    (ByVal CountofExplicitEntries As Long, _
    ea As Any, _
    ByVal OldAcl As Long, _
    NewAcl As Long) As Long
Private Declare Function GetNamedSecurityInfo Lib "Advapi32.dll" Alias _
    "GetNamedSecurityInfoA" _
    (ByVal ObjName As String, _
    ByVal SE_OBJECT_TYPE As Long, _
    ByVal SecInfo As Long, _
    ByVal pSid As Long, _
    ByVal pSidGroup As Long, _
    pDacl As Long, _
    ByVal pSacl As Long, _
    pSecurityDescriptor As Long) As Long
Private Declare Function SetNamedSecurityInfo Lib "Advapi32.dll" Alias _
    "SetNamedSecurityInfoA" _
    (ByVal ObjName As String, _
    ByVal SE_OBJECT As Long, _
    ByVal SecInfo As Long, _
    ByVal pSid As Long, _
    ByVal pSidGroup As Long, _
    ByVal pDacl As Long, _
    ByVal pSacl As Long) As Long
Private Declare Function LocalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function FreeSid Lib "Advapi32" (ByVal hMem As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As _
  Long
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Besitz von Dateien übernehmen3.192NHZ17.05.04 17:17
Re: Besitz von Dateien übernehmen2.154Obi17.05.04 21:27
Re: Besitz von Dateien übernehmen2.362NHZ19.05.04 09:47
Re: Besitz von Dateien übernehmen2.101Obi19.05.04 18:21
Re: Besitz von Dateien übernehmen2.176NHZ21.05.04 12:40
Re: Besitz von Dateien übernehmen2.105Obi21.05.04 17:50
Re: Besitz von Dateien übernehmen2.713Obi22.05.04 23:56
Re: Besitz von Dateien übernehmen2.235NHZ24.05.04 17:00
Re: Besitz von Dateien übernehmen1.829azn_ki27.06.05 15:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel