English
Forum

THE FILE HEARD ME!

 
- Page 1 -


Hello Profaner...

I have to, me soon time something mowers with the NT/NTFS File-Security To keep busy - Show and Change of Eigentümern and son stuff to that example. has someone such a thing already time made (with Security Descriptors worked) or there interest on the Topic?
 
04/11/05  
 



 
- Page 6 -


...over again small Änderung (to safety)...
CompileMarkSeparation
Windowstyle 31+512
Windowtitle "File Security"
Window 0,0-640,440
DEF @GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
DEF @SetLastError(1) !"KERNEL32","SetLastError"
DEF @LookupPrivilegeName(4)!"advapi32","LookupPrivilegeNameA" Ermittelt aus dem Luid eines Privilegs dessen Namen.
DEF @LookupPrivilegeValue(3) !"advapi32","LookupPrivilegeValueA" Ermittelt aus dem Namen eines Privilegs dessen Luid.
DEF @OpenProcessToken(3) !"advapi32","OpenProcessToken" Öffnet Einstellprozess.
DEF @AdjustTokenPrivileges(6) !"advapi32","AdjustTokenPrivileges" Stellt Privilegien ein.
DEF @GetCurrentProcess(0) !"kernel32","GetCurrentProcess" Ermittel das Handle des aktiven Prozesses.
DEF @CloseHandle(1) !"kernel32","CloseHandle" Schließt ein Handle (Programm).
Def @GetVolumeInformation(8) !"KERNEL32","GetVolumeInformationA"
DEF @GetSecurityDescriptorOwner(3) !"ADVAPI32","GetSecurityDescriptorOwner"
DEF @GetSecurityDescriptorGroup(3) !"ADVAPI32","GetSecurityDescriptorGroup"
DEF @GetSecurityDescriptorDACL(4) !"ADVAPI32","GetSecurityDescriptorDacl"
DEF @GetSecurityDescriptorSACL(4) !"ADVAPI32","GetSecurityDescriptorSacl"
DEF @LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
DEF @IsValidSecurityDescriptor(1) !"ADVAPI32","IsValidSecurityDescriptor"
DEF @IsValidSid(1) !"ADVAPI32","IsValidSid"
DEF @IsValidAcl(1) !"ADVAPI32","IsValidAcl"
DEF @GetAclInformation(4) !"ADVAPI32","GetAclInformation"
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
DEF @GetAce(3) !"ADVAPI32","GetAce"
DEF @ConvertSidToStringSid(2) !"ADVAPI32","ConvertSidToStringSidA"
DEF @LocalFree(1) !"KERNEL32","LocalFree"
Declare Filename$,Fehler&,PSECURITY_DESCRIPTOR#,Needed#,Needed&
Declare NewState#,token#,Privileg#,Luid#,System$
Declare Laufwerk$,Label#,LFLAGS#,DAT#
DEclare SID#,GFLAG#
DEclare ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare Test&
Declare ACL_PRESENT#,P_ACL#,ACL_D#
Declare ACL_INFO#,Zähler&,ACE#,P_ACE#,ACE_SIZE&,STRSID#,P_STRSID#
Declare SID2#,IO%,ADDR_NEWSTATE&,PrivCheckBox&,Start&,SecFlag&,ACCESS_MASK&
LET PrivCheckBox&=@CreateCheckBox(%HWND,"Zugriff auf SACL und Eigentümer ermöglichen!",10,200,350,30)
LET Start&=@CreateButton(%HWND,"Programm starten",10,250,200,30)

Whilenot @Getfocus(Start&)

    Waitinput
    CASE %MENUITEM=-2 : end

WEND

EnableWindow PrivCheckBox&,0
EnableWindow Start&,0
LET Filename$=@LOADFILE$("Datei laden","Alle Dateien |*.*|Textdateien|*.TXT")

IF Filename$<>""

    CLEARLIST
    LET LAUFWERK$=@LEFT$(Filename$,3)
    DIM Label#,256
    DIM LFLAGS#,4
    DIM DAT#,256
    DIM STRSID#,256
    DIM P_STRSID#,4
    ADDSTRING "Gewählte Datei="+Filename$
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    LET FEHLER&=@GetVolumeInformation(@ADDR(Laufwerk$),Label#,256,0,0,LFlags#,DAT#,256)
    ADDSTRING "Rückgabe von GetVolumeInformation="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    ADDSTRING "Laufwerksflags="+@BIN$(@LONG(LFLAGS#,0))

    IF @LONG(LFLAGS#,0) | $8 = @LONG(LFLAGS#,0)

        ADDSTRING "Zugriff ist einschränkbar"

    else

        ADDSTRING "Zugriff ist nicht einschränkbar"

    endif

    ADDSTRING "Ausgelesene Partition="+@String$(Dat#,0)
    dim token#,4
    DIM NewState#,16
    DIM Luid#,8
    DIM Privileg#,33
    ADDSTRING "Windowsversion="+$WINVER

    IF @Getcheck(PrivCheckBox&)

        ADDSTRING "Privilegien werden gesetzt!"
        Long NewState#,0=1 Nur ein Privileg soll geändert werden
        Long NewState#,12=$00000002 Das Privileg soll eingeschaltet werden
        LET FEHLER&=@OpenProcessToken(@GetCurrentProcess(),$0020 | $0008,Token#)
        ADDSTRING "Rückgabe von OpenProcessToken="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
        Clear Privileg#
        Clear LUID#
        STRING Privileg#,0="SeSecurityPrivilege"
        LET Fehler&=@LookupPrivilegeValue(@addr(System$),Privileg#,LUID#)
        ADDSTRING "Rückgabe von LookupPrivilegeValue für SeSecurityPrivilege="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
        ADDSTRING "Reset des API-Fehlers wird durchgeführt"
        @SetLastError(0)
        LET IO%=%IORESULT
        LET ADDR_NEWSTATE&=NewState#
        LET ADDR_NEWSTATE&=ADDR_NEWSTATE&+4
        @CopyMemory(ADDR_NEWSTATE&,Luid#,8)
        ADDSTRING "Letzter API-Fehler nach CopyMemory="+@STR$(@GetLastError())
        Let Fehler&=@AdjustTokenPrivileges(@LONG(Token#,0),0,NewState#,0,0,0)
        ADDSTRING "Rückgabe von AdjustTokenPrivileges="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
        Clear NewState#
        Long NewState#,0=1 Nur ein Privileg soll geändert werden
        Long NewState#,12=$00000002 Das Privileg soll eingeschaltet werden
        Clear Privileg#
        Clear LUID#
        STRING Privileg#,0="SeTakeOwnershipPrivilege"
        LET Fehler&=@LookupPrivilegeValue(@addr(System$),Privileg#,LUID#)
        ADDSTRING "Rückgabe von LookupPrivilegeValue fur SeTakeOwnershipPrivilege="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
        ADDSTRING "Reset des API-Fehlers wird durchgeführt"
        @SetLastError(0)
        LET IO%=%IORESULT
        LET ADDR_NEWSTATE&=NewState#
        LET ADDR_NEWSTATE&=ADDR_NEWSTATE&+4
        @CopyMemory(ADDR_NEWSTATE&,Luid#,8)
        ADDSTRING "Letzter API-Fehler nach CopyMemory="+@STR$(@GetLastError())
        Let Fehler&=@AdjustTokenPrivileges(@LONG(Token#,0),0,NewState#,0,0,0)
        ADDSTRING "Rückgabe von AdjustTokenPrivileges="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
        ADDSTRING "Reset des API-Fehlers wird durchgeführt"
        @SetLastError(0)
        LET IO%=%IORESULT

    else

        ADDSTRING "Privilegien werden nicht!"

    endif

    DIM Needed#,4
    Clear Needed#

    IF @Getcheck(PrivCheckbox&)

        LET SECFLAG&=$1 | $2 | $4 | $8

    else

        LET SECFLAG&=$1 | $2 | $4

    endif

    LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SecFlag&,0,0,Needed#)
    ADDSTRING "Rückgabe von GetFileSecurity="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    LET NEEDED&=@LONG(Needed#,0)
    ADDSTRING "Erforderliche Länge des Security Descriptor="+@STR$(Needed&)
    CASE NEEDED&=0 : LET NEEDED&=1024
    DIM PSECURITY_DESCRIPTOR#,Needed&
    Clear PSECURITY_DESCRIPTOR#
    @SetLastError(0)
    LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SECFLAG&,PSECURITY_DESCRIPTOR#,NEEDED&,Needed#)
    ADDSTRING "Rückgabe von GetFileSecurity="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    LET Fehler&=@IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR#)
    ADDSTRING "Rückgabe von IsValidSecurityDescriptor="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    DIM SID#,4
    DIM GFlag#,4
    Clear SID#
    Clear GFLAG#
    LET FEHLER&=@GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR#,SID#,GFLAG#)
    ADDSTRING "Rückgabe von GetSecurityDescriptorOwner="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    LET Fehler&=@IsValidSid(@long(SID#,0))
    ADDSTRING "Rückgabe von IsValidSid für den Besitzer="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    DIM ACCOUNT_NAME#,256
    DIM SIZE_ACCOUNT#,4
    DIM Domain#,256
    DIM SIZE_DOMAIN#,4
    DIM SID_NAME_USE#,4
    Clear SID_NAME_USE#
    Clear ACCOUNT_NAME#
    Clear Domain#
    Long SIZE_ACCOUNT#,0=255
    LONG SIZE_DOMAIN#,0=255
    LET FEHLER&=@LookupAccountSid(@ADDR(System$),@Long(SID#,0),ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
    ADDSTRING "Rückgabe von LookupAccountSid="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    ADDSTRING "Reset des API-Fehlers wird durchgeführt"
    @SetLastError(0)
    LET IO%=%IORESULT
    ADDSTRING "Domainname="+@String$(Domain#,0)
    ADDSTRING "Besitzer der Datei="+@String$(ACCOUNT_NAME#,0)
    Clear STRSID#

    IF @VAL(@LEFT$($WINVER,3))>=5.0

        LET FEHLER&=@ConvertSidToStringSid(@Long(SID#,0),P_STRSID#)
        @CopyMemory(STRSID#,@LONG(P_STRSID#,0),255)
        ADDSTRING "String-SID des Besitzers="+@STRING$(STRSID#,0)
        ADDSTRING "Rückgabe von ConvertSidToStringSid="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())

    endif

    LET Fehler&=@LocalFree(@LONG(P_STRSID#,0))
    ADDSTRING "Rückgabe von LocalFree für den String-SID="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    Clear SID_NAME_USE#
    Clear ACCOUNT_NAME#
    Clear Domain#
    Clear SID#
    Clear GFLAG#
    LET FEHLER&=@GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR#,SID#,GFLAG#)
    ADDSTRING "Rückgabe von GetSecurityDescriptorGroup="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    LET Fehler&=@IsValidSid(@long(SID#,0))
    ADDSTRING "Rückgabe von IsValidSid für die primäre Gruppe="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    Long SIZE_ACCOUNT#,0=255
    LONG SIZE_DOMAIN#,0=255
    LET FEHLER&=@LookupAccountSid(@ADDR(System$),@Long(SID#,0),ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
    ADDSTRING "Rückgabe von LookupAccountSid="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    ADDSTRING "Reset des API-Fehlers wird durchgeführt"
    @SetLastError(0)
    LET IO%=%IORESULT
    ADDSTRING "Domainname="+@String$(Domain#,0)
    ADDSTRING "Primäre Gruppe der Datei="+@String$(ACCOUNT_NAME#,0)
    DIM ACL_PRESENT#,1
    DIM P_ACL#,4
    DIM ACL_D#,4
    Let Fehler&=@GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#)
    ADDSTRING "Rückgabe von GetSecurityDescriptorDacl="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    LET Fehler&=@IsValidAcl(@long(P_ACL#,0))
    ADDSTRING "Rückgabe von IsValidAcl für den DACL="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())

    IF @LONG(ACL_PRESENT#,0)=1

        ADDSTRING "DACL ist vorhanden!"

    else

        ADDSTRING "DACL ist nicht vorhanden!"

    endif

    IF @AND(Fehler&=1,@LONG(ACL_PRESENT#,0)=1)

        DIM ACL_INFO#,12
        DIM P_ACE#,4
        CLEAR ACL_INFO#
        Let Fehler&=@GetAclInformation(@long(P_ACL#,0),ACL_INFO#,12,2)
        ADDSTRING "Rückgabe von GetAclInformation="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
        ADDSTRING "ACEs in DACL="+@STR$(@LONG(ACL_INFO#,0))
        LET Zähler&=0

        IF @STR$(@LONG(ACL_INFO#,0))<>0

            While Zähler&<@LONG(ACL_INFO#,0)

                Clear P_ACE#
                Let Fehler&=@GetAce(@long(P_ACL#,0),Zähler&,P_ACE#)
                DIM ACE#,4
                Clear ACE#
                @CopyMemory(ACE#,@LONG(P_ACE#,0),4)
                LET ACE_SIZE&=@Word(ACE#,2)
                ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))

                IF @BYTE(ACE#,0)=0

                    ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_ALLOWED_ACE_TYPE"

                ElseIF @BYTE(ACE#,0)=1

                    ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_DENIED_ACE_TYPE"

                ElseIF @BYTE(ACE#,0)=2

                    ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_AUDIT_ACE_TYPE"

                ElseIF @BYTE(ACE#,0)=3

                    ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_ALARM_ACE"

                endif

                Dispose ACE#
                DIM ACE#,ACE_SIZE&
                Clear SID_NAME_USE#
                Clear ACCOUNT_NAME#
                Clear Domain#
                Clear ACE#
                Long SIZE_ACCOUNT#,0=255
                LONG SIZE_DOMAIN#,0=255
                @CopyMemory(ACE#,@LONG(P_ACE#,0),ACE_SIZE&)
                DIM SID2#,ACE_SIZE&-8
                @CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
                LET FEHLER&=@LookupAccountSid(@ADDR(System$),SID2#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
                ADDSTRING "Rückgabe von LookupAccountSid="+@STR$(Fehler&)
                ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
                ADDSTRING "Reset des API-Fehlers wird durchgeführt"
                @SetLastError(0)
                LET IO%=%IORESULT
                ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
                ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf Domainname="+@String$(Domain#,0)
                ADDSTRING "Accessrechte des "+@STR$(@int(Zähler&+1))+". ACEs=$"+@HEX$(@LONG(ACE#,4))
                LET ACCESS_MASK&=@LONG(ACE#,4)

                IF @or(ACCESS_MASK&,$1F01FF)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_ALL_ACCESS (Vollzugriff)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$1F01FF

                endif

                IF @or(ACCESS_MASK&,$1)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$1

                endif

                IF @or(ACCESS_MASK&,$2)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$2

                endif

                IF @or(ACCESS_MASK&,$4)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$4

                endif

                IF @or(ACCESS_MASK&,$8)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$8

                endif

                IF @or(ACCESS_MASK&,$10)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$10

                endif

                IF @or(ACCESS_MASK&,$20)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_EXECUTE (Erlaubt eine Datei auszuführen)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$20

                endif

                IF @or(ACCESS_MASK&,$80)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_ATTRIBUTES (Lesen der Fileattribute)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$80

                endif

                IF @or(ACCESS_MASK&,$100)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$100

                endif

                IF @or(ACCESS_MASK&,$00040000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_DAC (Ändern der DACL Einträge)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$00040000

                endif

                IF @or(ACCESS_MASK&,$00020000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=READ_CONTROL (Lesen der DACL Einträge und Besitzer)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$00020000

                endif

                IF @or(ACCESS_MASK&,$00100000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$00100000

                endif

                IF @or(ACCESS_MASK&,$40)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=File_Delete _Child (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$40

                endif

                IF @or(ACCESS_MASK&,$01000000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$01000000

                endif

                IF @or(ACCESS_MASK&,$10000000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_ALL"
                    LET ACCESS_MASK&=ACCESS_MASK&-$10000000

                endif

                IF @or(ACCESS_MASK&,$20000000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_EXECUTE"
                    LET ACCESS_MASK&=ACCESS_MASK&-$20000000

                endif

                IF @or(ACCESS_MASK&,$40000000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_WRITE"
                    LET ACCESS_MASK&=ACCESS_MASK&-$40000000

                endif

                IF @or(ACCESS_MASK&,$80000000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_READ"
                    LET ACCESS_MASK&=ACCESS_MASK&-$80000000

                endif

                IF @or(ACCESS_MASK&,$80000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_OWNER (Eigentümer ändern)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$80000

                endif

                IF @or(ACCESS_MASK&,$00010000)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=_DELETE (Datei löschen)"
                    LET ACCESS_MASK&=ACCESS_MASK&-$00010000

                endif

                IF @or(ACCESS_MASK&,$1F01FF)=ACCESS_MASK&

                    ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_ALL_ACCESS"
                    LET ACCESS_MASK&=ACCESS_MASK&-$1F01FF

                endif

                IF ACCESS_MASK&>0

                    ADDSTRING "Nicht berechnete Rechte="+@STR$(ACCESS_MASK&)+" ($"+@HEX$(ACCESS_MASK&)+")"

                endif

                LET Zähler&=Zähler&+1
                Dispose SID2#
                Dispose ACE#

            wend

        Endif

        Dispose P_ACE#
        Dispose ACL_INFO#

    Endif

    IF @Getcheck(PrivCheckbox&)

        Clear ACL_PRESENT#,P_ACL#,ACL_D#
        Let Fehler&=@GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#)
        ADDSTRING "Rückgabe von GetSecurityDescriptorSacl="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
        LET Fehler&=@IsValidAcl(@long(P_ACL#,0))
        ADDSTRING "Rückgabe von IsValidAcl für den SACL="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())

        IF @LONG(ACL_PRESENT#,0)=1

            ADDSTRING "SACL ist vorhanden!"

        else

            ADDSTRING "SACL ist nicht vorhanden!"

        endif

        IF @AND(Fehler&=1,@LONG(ACL_PRESENT#,0)=1)

            DIM ACL_INFO#,12
            DIM P_ACE#,4
            CLEAR ACL_INFO#,P_ACE#
            Let Fehler&=@GetAclInformation(@long(P_ACL#,0),ACL_INFO#,12,2)
            ADDSTRING "Rückgabe von GetAclInformation="+@STR$(Fehler&)
            ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
            ADDSTRING "ACEs in SACL="+@STR$(@LONG(ACL_INFO#,0))
            LET Zähler&=0

            IF @STR$(@LONG(ACL_INFO#,0))<>0

                While Zähler&<@LONG(ACL_INFO#,0)

                    Clear P_ACE#
                    Let Fehler&=@GetAce(@long(P_ACL#,0),Zähler&,P_ACE#)
                    DIM ACE#,4
                    Clear ACE#
                    @CopyMemory(ACE#,@LONG(P_ACE#,0),4)
                    LET ACE_SIZE&=@Word(ACE#,2)
                    ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))

                    IF @BYTE(ACE#,0)=0

                        ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_ALLOWED_ACE_TYPE"

                    ElseIF @BYTE(ACE#,0)=1

                        ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_DENIED_ACE_TYPE"

                    ElseIF @BYTE(ACE#,0)=2

                        ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_AUDIT_ACE_TYPE"

                    ElseIF @BYTE(ACE#,0)=3

                        ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_ALARM_ACE"

                    endif

                    IF @or(@BYTE(ACE#,1),$40)=@BYTE(ACE#,1)

                        ADDSTRING @STR$(@INT(Zähler&+1))+".ACE zeichnet erfolgreiche Zugriffe auf."

                    Elseif @or(@BYTE(ACE#,1),$80)=@BYTE(ACE#,1)

                        ADDSTRING @STR$(@INT(Zähler&+1))+".ACE zeichnet fehlgeschlagene Zugriffe auf."

                    endif

                    Dispose ACE#
                    DIM ACE#,ACE_SIZE&
                    Clear SID_NAME_USE#
                    Clear ACCOUNT_NAME#
                    Clear Domain#
                    Clear ACE#
                    Long SIZE_ACCOUNT#,0=255
                    LONG SIZE_DOMAIN#,0=255
                    @CopyMemory(ACE#,@LONG(P_ACE#,0),ACE_SIZE&)
                    DIM SID2#,ACE_SIZE&-8
                    @CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
                    LET FEHLER&=@LookupAccountSid(@ADDR(System$),SID2#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
                    ADDSTRING "Rückgabe von LookupAccountSid="+@STR$(Fehler&)
                    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
                    ADDSTRING "Reset des API-Fehlers wird durchgeführt"
                    @SetLastError(0)
                    LET IO%=%IORESULT
                    ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
                    ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf Domainname="+@String$(Domain#,0)
                    ADDSTRING "Accessrechte des "+@STR$(@int(Zähler&+1))+". ACEs=$"+@HEX$(@LONG(ACE#,4))
                    LET ACCESS_MASK&=@LONG(ACE#,4)

                    IF @or(ACCESS_MASK&,$1F01FF)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_ALL_ACCESS (Vollzugriff)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$1F01FF

                    endif

                    IF @or(ACCESS_MASK&,$1)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$1

                    endif

                    IF @or(ACCESS_MASK&,$2)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$2

                    endif

                    IF @or(ACCESS_MASK&,$4)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$4

                    endif

                    IF @or(ACCESS_MASK&,$8)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$8

                    endif

                    IF @or(ACCESS_MASK&,$10)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$10

                    endif

                    IF @or(ACCESS_MASK&,$20)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_EXECUTE (Erlaubt eine Datei auszuführen)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$20

                    endif

                    IF @or(ACCESS_MASK&,$80)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_ATTRIBUTES (Lesen der Fileattribute)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$80

                    endif

                    IF @or(ACCESS_MASK&,$100)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$100

                    endif

                    IF @or(ACCESS_MASK&,$00040000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_DAC (Ändern der DACL Einträge)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$00040000

                    endif

                    IF @or(ACCESS_MASK&,$00020000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=READ_CONTROL (Lesen der DACL Einträge und Besitzer)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$00020000

                    endif

                    IF @or(ACCESS_MASK&,$00100000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$00100000

                    endif

                    IF @or(ACCESS_MASK&,$40)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=File_Delete _Child (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$40

                    endif

                    IF @or(ACCESS_MASK&,$01000000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$01000000

                    endif

                    IF @or(ACCESS_MASK&,$10000000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_ALL"
                        LET ACCESS_MASK&=ACCESS_MASK&-$10000000

                    endif

                    IF @or(ACCESS_MASK&,$20000000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_EXECUTE"
                        LET ACCESS_MASK&=ACCESS_MASK&-$20000000

                    endif

                    IF @or(ACCESS_MASK&,$40000000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_WRITE"
                        LET ACCESS_MASK&=ACCESS_MASK&-$40000000

                    endif

                    IF @or(ACCESS_MASK&,$80000000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_READ"
                        LET ACCESS_MASK&=ACCESS_MASK&-$80000000

                    endif

                    IF @or(ACCESS_MASK&,$80000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_OWNER (Eigentümer ändern)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$80000

                    endif

                    IF @or(ACCESS_MASK&,$00010000)=ACCESS_MASK&

                        ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=_DELETE (Datei löschen)"
                        LET ACCESS_MASK&=ACCESS_MASK&-$00010000

                    endif

                    IF ACCESS_MASK&>0

                        ADDSTRING "Nicht berechnete Rechte="+@STR$(ACCESS_MASK&)+" ($"+@HEX$(ACCESS_MASK&)+")"

                    endif

                    LET Zähler&=Zähler&+1
                    Dispose SID2#
                    Dispose ACE#

                wend

            Endif

            Dispose ACL_INFO#
            Dispose P_ACE#

        Endif

    endif

    IF @Getcheck(PrivCheckbox&)

        LET FEHLER&=@CloseHandle(@LONG(Token#,0))
        ADDSTRING "Rückgabe von CloseHandle="+@STR$(Fehler&)
        ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())

    endif

    Dispose ACL_D#
    Dispose P_ACL#
    Dispose ACL_PRESENT#
    Dispose SID_NAME_USE#
    Dispose ACCOUNT_NAME#
    Dispose SIZE_ACCOUNT#
    Dispose Domain#
    Dispose SIZE_DOMAIN#
    Dispose SID#
    Dispose GFLAG#
    Dispose Luid#
    Dispose Privileg#
    Dispose NewState#
    Dispose token#
    Dispose Needed#
    Dispose PSECURITY_DESCRIPTOR#
    Dispose Label#
    Dispose LFlags#
    DISPOSE DAT#
    Dis
a> STRSID# Dispose P_STRSID# @Editbox("API Rückgaben",1) Endif Whilenot %MENUITEM=-2 Waitinput Wend
 
05/07/05  
 




Michael
Wodrich
here my Results (1. without, 2. MIT grabbed):
(Win XP Home SP2, Admin-right)

[box:f5cfca55e0]
chosen Datei=CROFAN$SourceFixstern2.exe
last API-Fehler=1400
Return of GetVolumeInformation=1
last API-Fehler=1400
Laufwerksflags=1010000000011111111
grabbed is einschränkbar
Ausgelesene Partition=NTFS
Windowsversion=5.1
Privilegien go not!
Return of GetFileSecurity=0
last API-Fehler=122
Erforderliche length the Security Descriptor=188
Return of GetFileSecurity=1
last API-Fehler=0
Return of IsValidSecurityDescriptor=1
last API-Fehler=0
Return of GetSecurityDescriptorOwner=1
last API-Fehler=0
Return of IsValidSid for Besitzer=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=PROFANIUM
owner the Datei=Programmierer
String-SID the Besitzers=S-1-5-21-1820858989-1647371527-101265881-1005
Return of ConvertSidToStringSid=1
last API-Fehler=0
Return of LocalFree for String-SID=0
last API-Fehler=0
Return of GetSecurityDescriptorGroup=1
last API-Fehler=0
Return of IsValidSid for primäre Gruppe=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=PROFANIUM
Primäre group the Datei=Kein
Return of GetSecurityDescriptorDacl=1
last API-Fehler=0
Return of IsValidAcl for DACL=1
last API-Fehler=0
DACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in DACL=4
Size the 1.ACEs=24
ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Administratoren
1. ACE related on Domainname=VORDEFINIERT
Accessrechte the 1. ACEs=$1F01FF
right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 2.ACEs=20
ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=SYSTEM
2. ACE related on Domainname=NT-AUTORITÄT
Accessrechte the 2. ACEs=$1F01FF
right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 3.ACEs=36
ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
3. ACE related on SID=Programmierer
3. ACE related on Domainname=PROFANIUM
Accessrechte the 3. ACEs=$1F01FF
right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 4.ACEs=24
ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
4. ACE related on SID=Benutzer
4. ACE related on Domainname=VORDEFINIERT
Accessrechte the 4. ACEs=$1200A9
right in the 4. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 4. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 4. ACE=FILE_EXECUTE (allows a File to execute)
right in the 4. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 4. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 4. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting)
[/box:f5cfca55e0]
[box:f5cfca55e0]
chosen Datei=CROFAN$SourceFixstern2.exe
last API-Fehler=1400
Return of GetVolumeInformation=1
last API-Fehler=1400
Laufwerksflags=1010000000011111111
grabbed is einschränkbar
Ausgelesene Partition=NTFS
Windowsversion=5.1
Privilegien go staid!
Return of OpenProcessToken=1
last API-Fehler=1400
Return of LookupPrivilegeValue for SeSecurityPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Return of LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Reset the API-Fehlers becomes implemented
Return of GetFileSecurity=0
last API-Fehler=122
Erforderliche length the Security Descriptor=188
Return of GetFileSecurity=1
last API-Fehler=0
Return of IsValidSecurityDescriptor=1
last API-Fehler=0
Return of GetSecurityDescriptorOwner=1
last API-Fehler=0
Return of IsValidSid for Besitzer=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=PROFANIUM
owner the Datei=Programmierer
String-SID the Besitzers=S-1-5-21-1820858989-1647371527-101265881-1005
Return of ConvertSidToStringSid=1
last API-Fehler=0
Return of LocalFree for String-SID=0
last API-Fehler=0
Return of GetSecurityDescriptorGroup=1
last API-Fehler=0
Return of IsValidSid for primäre Gruppe=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=PROFANIUM
Primäre group the Datei=Kein
Return of GetSecurityDescriptorDacl=1
last API-Fehler=0
Return of IsValidAcl for DACL=1
last API-Fehler=0
DACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in DACL=4
Size the 1.ACEs=24
ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Administratoren
1. ACE related on Domainname=VORDEFINIERT
Accessrechte the 1. ACEs=$1F01FF
right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 2.ACEs=20
ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=SYSTEM
2. ACE related on Domainname=NT-AUTORITÄT
Accessrechte the 2. ACEs=$1F01FF
right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 3.ACEs=36
ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
3. ACE related on SID=Programmierer
3. ACE related on Domainname=PROFANIUM
Accessrechte the 3. ACEs=$1F01FF
right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 4.ACEs=24
ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
4. ACE related on SID=Benutzer
4. ACE related on Domainname=VORDEFINIERT
Accessrechte the 4. ACEs=$1200A9
right in the 4. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 4. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 4. ACE=FILE_EXECUTE (allows a File to execute)
right in the 4. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 4. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 4. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting)
Return of GetSecurityDescriptorSacl=1
last API-Fehler=0
Return of IsValidAcl for SACL=0
last API-Fehler=1336
SACL isn't present!
Return of CloseHandle=1
last API-Fehler=1336
[/box:f5cfca55e0]
MfG
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
05/07/05  
 



Jepp.

[box:9b80470e9f]chosen Datei=Cokumente and EinstellungenPackard BellDesktop1.mp3
last API-Fehler=0
Return of GetVolumeInformation=1
last API-Fehler=0
Laufwerksflags=1010000000011111111
grabbed is einschränkbar
Ausgelesene Partition=NTFS
Windowsversion=5.1
Privilegien go staid!
Return of OpenProcessToken=1
last API-Fehler=0
Return of LookupPrivilegeValue for SeSecurityPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Return of LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Reset the API-Fehlers becomes implemented
Return of GetFileSecurity=0
last API-Fehler=122
Erforderliche length the Security Descriptor=164
Return of GetFileSecurity=1
last API-Fehler=0
Return of IsValidSecurityDescriptor=1
last API-Fehler=0
Return of GetSecurityDescriptorOwner=1
last API-Fehler=0
Return of IsValidSid for Besitzer=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=C4
owner the Datei=Packard Bell
String-SID the Besitzers=S-1-5-21-789336058-1343024091-854245398-1004
Return of ConvertSidToStringSid=1
last API-Fehler=0
Return of LocalFree for String-SID=0
last API-Fehler=0
Return of GetSecurityDescriptorGroup=1
last API-Fehler=0
Return of IsValidSid for primäre Gruppe=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=C4
Primäre group the Datei=Kein
Return of GetSecurityDescriptorDacl=1
last API-Fehler=0
Return of IsValidAcl for DACL=1
last API-Fehler=0
DACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in DACL=3
Size the 1.ACEs=36
ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Packard Bell
1. ACE related on Domainname=C4
Accessrechte the 1. ACEs=$1F01FF
right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 2.ACEs=20
ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=SYSTEM
2. ACE related on Domainname=NT-AUTORITÄT
Accessrechte the 2. ACEs=$1F01FF
right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 3.ACEs=24
ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
3. ACE related on SID=Administratoren
3. ACE related on Domainname=VORDEFINIERT
Accessrechte the 3. ACEs=$1F01FF
right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff)
Return of GetSecurityDescriptorSacl=1
last API-Fehler=0
Return of IsValidAcl for SACL=0
last API-Fehler=1336
SACL isn't present!
Return of CloseHandle=1
last API-Fehler=1336[/box:9b80470e9f]
 
05/07/05  
 



Hello people...

does me sorrow, but I need Files with a SACL. No the of you tested Files has a SACL. One SACL monitors Zugriffe on The File and these can then transcribed go.
Please please times a SACL give away...
 
05/07/05  
 




Michael
Wodrich
I fürchte, there versteh I only railway-station...
 
Programmieren, das spannendste Detektivspiel der Welt.
05/07/05  
 



Have immo no File with vergebenen SACLs. there should I me z.B. first of somebody by MSN one File send let - msn vergibt automatically SACLs.

sit strain on nem Home - there existing such Mgl. ldr. not.

salvo.
 
05/07/05  
 




CB
Hello Andreas,
have now time versuchsweise with following File any rights except Vollzugriff on Verweigern staid:
[box:67f8a8161e]chosen Datei=DROFAN#FORUM#iviewcapture_date_03_03_2005_time_23_10_27.jpg
last API-Fehler=0
Return of GetVolumeInformation=1
last API-Fehler=0
Laufwerksflags=1110000000011111111
grabbed is einschränkbar
Ausgelesene Partition=NTFS
Windowsversion=5.1
Privilegien go staid!
Return of OpenProcessToken=1
last API-Fehler=0
Return of LookupPrivilegeValue for SeSecurityPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Return of LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Reset the API-Fehlers becomes implemented
Return of GetFileSecurity=0
last API-Fehler=122
Erforderliche length the Security Descriptor=124
Return of GetFileSecurity=1
last API-Fehler=0
Return of IsValidSecurityDescriptor=1
last API-Fehler=0
Return of GetSecurityDescriptorOwner=1
last API-Fehler=0
Return of IsValidSid for Besitzer=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=MMC3
owner the Datei=CB
String-SID the Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003
Return of ConvertSidToStringSid=1
last API-Fehler=0
Return of LocalFree for String-SID=0
last API-Fehler=0
Return of GetSecurityDescriptorGroup=1
last API-Fehler=0
Return of IsValidSid for primäre Gruppe=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=MMC3
Primäre group the Datei=Kein
Return of GetSecurityDescriptorDacl=1
last API-Fehler=0
Return of IsValidAcl for DACL=1
last API-Fehler=0
DACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in DACL=2
Size the 1.ACEs=20
ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Jeder
1. ACE related on Domainname=
Accessrechte the 1. ACEs=$301BF
right in the 1. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 1. ACE=FILE_WRITE_DATA (allows data To Scheiben)
right in the 1. ACE=FILE_APPEND_DATA (allows data anzuhängen)
right in the 1. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 1. ACE=FILE_WRITE_EA (allows erweiterte attributes To write)
right in the 1. ACE=FILE_EXECUTE (allows a File to execute)
right in the 1. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 1. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute)
right in the 1. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 1. ACE=_DELETE (File delete)
Size the 2.ACEs=20
ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=Jeder
2. ACE related on Domainname=
Accessrechte the 2. ACEs=$1F01FF
right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff)
Return of GetSecurityDescriptorSacl=1
last API-Fehler=0
Return of IsValidAcl for SACL=0
last API-Fehler=1336
SACL isn't present!
Return of CloseHandle=1
last API-Fehler=0[/box:67f8a8161e]
and thereafter Vollzugriff verweigern (I habs probiert - let not More open, neither copy etc.):
[box:67f8a8161e]chosen Datei=DROFAN#FORUM#iviewcapture_date_03_03_2005_time_23_10_27.jpg
last API-Fehler=0
Return of GetVolumeInformation=1
last API-Fehler=0
Laufwerksflags=1110000000011111111
grabbed is einschränkbar
Ausgelesene Partition=NTFS
Windowsversion=5.1
Privilegien go staid!
Return of OpenProcessToken=1
last API-Fehler=0
Return of LookupPrivilegeValue for SeSecurityPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Return of LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Reset the API-Fehlers becomes implemented
Return of GetFileSecurity=0
last API-Fehler=122
Erforderliche length the Security Descriptor=124
Return of GetFileSecurity=1
last API-Fehler=0
Return of IsValidSecurityDescriptor=1
last API-Fehler=0
Return of GetSecurityDescriptorOwner=1
last API-Fehler=0
Return of IsValidSid for Besitzer=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=MMC3
owner the Datei=CB
String-SID the Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003
Return of ConvertSidToStringSid=1
last API-Fehler=0
Return of LocalFree for String-SID=0
last API-Fehler=0
Return of GetSecurityDescriptorGroup=1
last API-Fehler=0
Return of IsValidSid for primäre Gruppe=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=MMC3
Primäre group the Datei=Kein
Return of GetSecurityDescriptorDacl=1
last API-Fehler=0
Return of IsValidAcl for DACL=1
last API-Fehler=0
DACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in DACL=2
Size the 1.ACEs=20
ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Jeder
1. ACE related on Domainname=
Accessrechte the 1. ACEs=$F01FF
right in the 1. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 1. ACE=FILE_WRITE_DATA (allows data To Scheiben)
right in the 1. ACE=FILE_APPEND_DATA (allows data anzuhängen)
right in the 1. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 1. ACE=FILE_WRITE_EA (allows erweiterte attributes To write)
right in the 1. ACE=FILE_EXECUTE (allows a File to execute)
right in the 1. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 1. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute)
right in the 1. ACE=WRITE_DAC (Change the DACL Entries)
right in the 1. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 1. ACE=File_Delete _Child (allows a Unterordner To delete - for Files no weight)
right in the 1. ACE=WRITE_OWNER (proprietor Change)
right in the 1. ACE=_DELETE (File delete)
Size the 2.ACEs=20
ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=Jeder
2. ACE related on Domainname=
Accessrechte the 2. ACEs=$1F01FF
right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff)
Return of GetSecurityDescriptorSacl=1
last API-Fehler=0
Return of IsValidAcl for SACL=0
last API-Fehler=1336
SACL isn't present!
Return of CloseHandle=1
last API-Fehler=0[/box:67f8a8161e]
helps you the moreover?
Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
05/08/05  
 



Hello IF...

Zumindestens under windows2000 go SACLs not only automatically give away.
About whom windows Explorer can you with Rechtsklick on a File its properties Show and change let.
there find itself too The Sicherheitseinstellungen.
something hideaway (Button extended) find You then too whom ACL (Überwachung).
here time my Results with over the Explorer begot SACL.
[box:404d413cad]
chosen Datei=H:TestTest 2.doc
last API-Fehler=0
Return of GetVolumeInformation=1
last API-Fehler=0
Laufwerksflags=1110000000011111111
grabbed is einschränkbar
Ausgelesene Partition=NTFS
Windowsversion=5.0
Privilegien go staid!
Return of OpenProcessToken=1
last API-Fehler=0
Return of LookupPrivilegeValue for SeSecurityPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Return of LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Reset the API-Fehlers becomes implemented
Return of GetFileSecurity=0
last API-Fehler=122
Erforderliche length the Security Descriptor=212
Return of GetFileSecurity=1
last API-Fehler=0
Return of IsValidSecurityDescriptor=1
last API-Fehler=0
Return of GetSecurityDescriptorOwner=1
last API-Fehler=0
Return of IsValidSid for Besitzer=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=VORDEFINIERT
owner the Datei=Administratoren
String-SID the Besitzers=S-1-5-32-544
Return of ConvertSidToStringSid=1
last API-Fehler=0
Return of LocalFree for String-SID=0
last API-Fehler=0
Return of GetSecurityDescriptorGroup=1
last API-Fehler=0
Return of IsValidSid for primäre Gruppe=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=ANDREAS-n4WTRUA
Primäre group the Datei=Kein
Return of GetSecurityDescriptorDacl=1
last API-Fehler=0
Return of IsValidAcl for DACL=1
last API-Fehler=0
DACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in DACL=4
Size the 1.ACEs=24
ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Hauptbenutzer
1. ACE related on Domainname=VORDEFINIERT
Accessrechte the 1. ACEs=$200A9
right in the 1. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 1. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 1. ACE=FILE_EXECUTE (allows a File to execute)
right in the 1. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 1. ACE=READ_CONTROL (reading the DACL Entries and owner)
Size the 2.ACEs=24
ACE type the 2.ACEs=ACCESS_DENIED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=Hauptbenutzer
2. ACE related on Domainname=VORDEFINIERT
Accessrechte the 2. ACEs=$F00E9
right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 2. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 2. ACE=FILE_EXECUTE (allows a File to execute)
right in the 2. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 2. ACE=WRITE_DAC (Change the DACL Entries)
right in the 2. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 2. ACE=File_Delete _Child (allows a Unterordner To delete - for Files no weight)
right in the 2. ACE=WRITE_OWNER (proprietor Change)
right in the 2. ACE=_DELETE (File delete)
Size the 3.ACEs=24
ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
3. ACE related on SID=Administratoren
3. ACE related on Domainname=VORDEFINIERT
Accessrechte the 3. ACEs=$1F01FF
right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 4.ACEs=20
ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
4. ACE related on SID=Jeder
4. ACE related on Domainname=
Accessrechte the 4. ACEs=$120089
right in the 4. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 4. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 4. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 4. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 4. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting)
Return of GetSecurityDescriptorSacl=1
last API-Fehler=0
Return of IsValidAcl for SACL=1
last API-Fehler=0
SACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in SACL=2
Size the 1.ACEs=20
ACE type the 1.ACEs=SYSTEM_AUDIT_ACE_TYPE
1.ACE draw erfolgreiche Zugriffe on.
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Jeder
1. ACE related on Domainname=
Accessrechte the 1. ACEs=$A2
right in the 1. ACE=FILE_WRITE_DATA (allows data To Scheiben)
right in the 1. ACE=FILE_EXECUTE (allows a File to execute)
right in the 1. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
Size the 2.ACEs=20
ACE type the 2.ACEs=SYSTEM_AUDIT_ACE_TYPE
2.ACE draw fehlgeschlagene Zugriffe on.
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=Jeder
2. ACE related on Domainname=
Accessrechte the 2. ACEs=$1
right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading)
Return of CloseHandle=1
last API-Fehler=0
[/box:404d413cad]
 
05/08/05  
 




CB
Hello Andreas!
in the Xp ists not integrally so How in 2000. For this had to I The Überwachung for whole PC on - single File reicht not! - look you times the Screenshots on
[box:93a741abd4]chosen Datei=DROFAN#FORUM#SACL-Test.doc
last API-Fehler=0
Return of GetVolumeInformation=1
last API-Fehler=0
Laufwerksflags=1110000000011111111
grabbed is einschränkbar
Ausgelesene Partition=NTFS
Windowsversion=5.1
Privilegien go staid!
Return of OpenProcessToken=1
last API-Fehler=0
Return of LookupPrivilegeValue for SeSecurityPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Return of LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
last API-Error to CopyMemory=0
Return of AdjustTokenPrivileges=1
last API-Fehler=0
Reset the API-Fehlers becomes implemented
Return of GetFileSecurity=0
last API-Fehler=122
Erforderliche length the Security Descriptor=188
Return of GetFileSecurity=1
last API-Fehler=0
Return of IsValidSecurityDescriptor=1
last API-Fehler=0
Return of GetSecurityDescriptorOwner=1
last API-Fehler=0
Return of IsValidSid for Besitzer=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=MMC3
owner the Datei=CB
String-SID the Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003
Return of ConvertSidToStringSid=1
last API-Fehler=0
Return of LocalFree for String-SID=0
last API-Fehler=0
Return of GetSecurityDescriptorGroup=1
last API-Fehler=0
Return of IsValidSid for primäre Gruppe=1
last API-Fehler=0
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
Domainname=MMC3
Primäre group the Datei=Kein
Return of GetSecurityDescriptorDacl=1
last API-Fehler=0
Return of IsValidAcl for DACL=1
last API-Fehler=0
DACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in DACL=2
Size the 1.ACEs=20
ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=Jeder
1. ACE related on Domainname=
Accessrechte the 1. ACEs=$1F01FF
right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff)
Size the 2.ACEs=20
ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=Jeder
2. ACE related on Domainname=
Accessrechte the 2. ACEs=$10000000
right in the 2. ACE=GENERIC_ALL
Return of GetSecurityDescriptorSacl=1
last API-Fehler=0
Return of IsValidAcl for SACL=1
last API-Fehler=0
SACL is present!
Return of GetAclInformation=1
last API-Fehler=0
ACEs in SACL=2
Size the 1.ACEs=36
ACE type the 1.ACEs=SYSTEM_AUDIT_ACE_TYPE
1.ACE draw erfolgreiche Zugriffe on.
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
1. ACE related on SID=CB
1. ACE related on Domainname=MMC3
Accessrechte the 1. ACEs=$F01FF
right in the 1. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 1. ACE=FILE_WRITE_DATA (allows data To Scheiben)
right in the 1. ACE=FILE_APPEND_DATA (allows data anzuhängen)
right in the 1. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 1. ACE=FILE_WRITE_EA (allows erweiterte attributes To write)
right in the 1. ACE=FILE_EXECUTE (allows a File to execute)
right in the 1. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 1. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute)
right in the 1. ACE=WRITE_DAC (Change the DACL Entries)
right in the 1. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 1. ACE=File_Delete _Child (allows a Unterordner To delete - for Files no weight)
right in the 1. ACE=WRITE_OWNER (proprietor Change)
right in the 1. ACE=_DELETE (File delete)
Size the 2.ACEs=20
ACE type the 2.ACEs=SYSTEM_AUDIT_ACE_TYPE
2.ACE draw erfolgreiche Zugriffe on.
Return of LookupAccountSid=1
last API-Fehler=997
Reset the API-Fehlers becomes implemented
2. ACE related on SID=Jeder
2. ACE related on Domainname=
Accessrechte the 2. ACEs=$F01FF
right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading)
right in the 2. ACE=FILE_WRITE_DATA (allows data To Scheiben)
right in the 2. ACE=FILE_APPEND_DATA (allows data anzuhängen)
right in the 2. ACE=FILE_READ_EA (allows erweiterte Attibute To reading)
right in the 2. ACE=FILE_WRITE_EA (allows erweiterte attributes To write)
right in the 2. ACE=FILE_EXECUTE (allows a File to execute)
right in the 2. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute)
right in the 2. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute)
right in the 2. ACE=WRITE_DAC (Change the DACL Entries)
right in the 2. ACE=READ_CONTROL (reading the DACL Entries and owner)
right in the 2. ACE=File_Delete _Child (allows a Unterordner To delete - for Files no weight)
right in the 2. ACE=WRITE_OWNER (proprietor Change)
right in the 2. ACE=_DELETE (File delete)
Return of CloseHandle=1
last API-Fehler=0[/box:93a741abd4]
the ought to now but fit - or?
Christian

 
XProfan 8/9.1, Win XP, AMD 64/3200
05/08/05  
 



Hello Christian...

wonderful! very so!!!
the Reading the DACLs shining now means too To functions.
with the settle be so did i already something moreover.

The Size of a special ACE depends from the Size the encompassed SIDs ex.

One SID shining always at least 8 Bytes (one LUID) big To his.
the stature one SIDs might itself right simply with LookupAccountName detect let. so slow Better get going what...

i'll first probably the sizes all encompassed ACEs to determine must. first then can I whom new ACL dimensionieren and initialisieren => is a Heidenarbeit!

The Proc becomes then so looks, that one as Parameter among other things indicate must, whether The already vorhandenen ACEs receive stay or deleted go should. new rights could so simply be installed.
 
05/08/05  
 




CB
nice, super!
should I your letztes File NT too testing or on The next Version Waiting?

Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
05/08/05  
 



 
- Page 7 -


Hello Christian...

No, NT must not any more his.
 
05/08/05  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

5.781 Views

Untitledvor 0 min.
JR11/04/14
Tommy01/30/14
Andreas Koch09/05/13
Stephie09/03/11

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie