Español
Foro

DIE DATEI GEHÖRT MIR!

 
- Página 1 -


¡Hola Profaner...

Yo habe antes, mich demnächst veces algo mäher con el NT/NTFS File-Security a beschäftigen - Mostrar y ändern de Eigentümern y son Zeug para Ejemplo. Sombrero alguien así algo ya veces gemacht (con Security Descriptors gearbeitet) oder hay Interesse a el Thema?
 
11.04.2005  
 



 
- Página 4 -


OK - ahora bist du dran. Füge veces antes de el besagten Línea una Editbox una y lasse dir el Werte ausgeben - Yo denke mein Verdacht se se bestätigen.
 
25.04.2005  
 




CB
Das Blöde daran es, Yo en unserem Firmen-PC no eindeutige Zeilenzuordnung treffen kann - Yo kanns hay verständlicherweise sólo kompiliert testen y en mi privaten PC kriege Yo esta Fehlermeldung nada. Welchen Befehl hast Usted como en el Verdacht? Und wieso kriege Yo esta Fehler sólo Benutzerrechten?

Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
25.04.2005  
 




Ragnar
Rehbein
por qué compilierst du no con XPSE ???

Yo a cada version el Yo en el einsatz habe el entsprechenden .enh - datei gespeichert.
dadurch Yo siempre el richtige zeile en fehlermeldungen parat.

Yo hartnäckigen fällen (windowsschutzverletzungen) übersetze I, con {$debug kernelout} y lasse me el quellcode con debugview Mostrar.

r.r.
 
25.04.2005  
 



¡Hola Christian...

Yo glaube, Yo dich el todo Tiempo no correcto verstanden:
Usted hast el Problemas also en deinem Firmen-PC, y hay bist du sólo una User con eingeschränkten Rechten y kein Admin?

Yo poner aquí en mi Code Systemeinstellungen.
Damit no cada Schwachkopf en el Sistema herumfummeln kann, son el Systemeinstellungen por Privilegien abgesichert.

Um dir el Daten des Security Descriptors en API Mostrar que se, muss dein Account el Privileg SeSecurityPrivilege besitzen. Der Besitz dieses Privilegs se u.a. por el Gruppe geregelt, el dein Account angehört (Administrator oder Benutzer con eingeschränkten Rechten). In el Regel son Privilegien deaktiviert, d.h. auch Admins puede no sin weiteres Systemeinstellungen en API ändern.

In mi Ver código fuente aktiviere I, con AdjustTokenPrivileges el Privilegien en el Token des aufrufenden Programms. Der Token es una una Prozess (Programa) zugeordneter Speicherbereich, el Infos encima el User enthält, el gerade el Programa ausführt - se also eingeloggt ha.

Yo schätze veces, du hast el Privileg nada, el Yo hier aktivieren voluntad...
Als Folge su liefert GetFileSecurity sólo Müll zurück. Como GetFileSecurity u.a. el Größe des Security Descriptors ausliest, es Needed& wohl 0.
En DIM PSECURITY_DESCRIPTOR#,Needed& se also el Zona no correcto dimensioniert.
Bajo 2000 macht dss no Problemas, Yo podría me aber vorstellen, daß XP como algo anders reagiert.

Yo habe todavía una vez algo geändert y voluntad hoffen, el ahora el Fehlermeldungen ausbleiben.

Error 997 es de paso nichts Schlimmes, solange el aufrufende Función el Erfolg meldet.
KompilierenMarcaSeparación
Windowstyle 31
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 @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 DACL_PRESENT#,P_ACL#,DACL_D#
Declare ACL_INFO#,Zähler&,ACE#,P_ACE#,ACE_SIZE&,STRSID#,P_STRSID#
Declare SID2#,IO%,ADDR_NEWSTATE&
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
    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
    DIM Needed#,4
    Clear Needed#
    LET Fehler&=@GetFileSecurity(@ADDR(Filename$),$1 | $2 | $4 | $8,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$),$1 | $2 | $4,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 DACL_PRESENT#,1
    DIM P_ACL#,4
    DIM DACL_D#,4
    Let Fehler&=@GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,DACL_PRESENT#,P_ACL#,DACL_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 Fehler&=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 ACL="+@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$(Zähler&)+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
                ADDSTRING @STR$(Zähler&)+". ACE Bezogen auf Domainname="+@String$(Domain#,0)
                ADDSTRING "Accessrechte des "+@STR$(Zähler&)+". ACEs=$"+@HEX$(@LONG(ACE#,4))
                LET Zähler&=Zähler&+1
                Dispose SID2#
                Dispose ACE#

            wend

        Endif

    Endif

    LET FEHLER&=@CloseHandle(@LONG(Token#,0))
    ADDSTRING "Rückgabe von CloseHandle="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    Dispose P_ACE#
    Dispose ACL_INFO#
    Dispose DACL_D#
    Dispose P_ACL#
    Dispose DACL_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#
    Dispose STRSID#
    Dispose P_STRSID#
    @Editbox("API Rückgaben",1)

E
a> Mientras que 0=0 Waitinput Wend

Das zweite Privileg, el Yo hier aktiviere, es de paso nötig, en de paso dazu nötig, en el Eigentümer a ändern...
 
25.04.2005  
 




CB
Das 1. mache Yo sí - dadurch stimmen sí el Zeilennummern en el .enh no mehr con el ursprünglichen Code überein - en el enh son todos Declares en el 1. Línea, wo posición el en el .prc? Como verschiebt se alles una bißchen.
Debuggen kann Yo en el Fa no, porque Yo hay kein Profano installieren kann - si la rauskriegen, Yo como fremde Progs installiere, außerdem Yo hay sólo Benutzerrechte ...

Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
25.04.2005  
 



¡Hola Christian...

Brauchst du hay auch no testen - Yo bloß el todo Tiempo pensamiento, du hättest el problema en deinem Rechner a Casa - como Admin.
Dass el no con allen Useraccount funktioniert, es vollkommen klar y nachzuvollziehen - y el brauchen wir auch no más nachzugehen - also sólo a Casa testen. Yo habe dir sí ya veces dijo - es alles nichts para Hacker, sólo para Admins.

Yo voluntad mich demnächst aún en el SACL reinknien y luego voluntad todos Werte todavía geändert...

El Zeilennummer stimmt u.a. wegen el Leerzeilen no.
 
25.04.2005  
 




CB
Erspart me algo Arbeit - aber interessiert hätts mich ya, wieso esta Fehlermeldung sólo Benutzerrechten auftritt...

Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
25.04.2005  
 




Ragnar
Rehbein
una otro nette option Es el compileroption -M en XProfan9.
Luego se una mapdatei para el zeilennummern producido.

esta debería beim encontrar el fehlerhaften zeile helfen.
Yo bisher aber sólo kurz getestet. kann also no sagen como genau ellos es.

r.r.
 
25.04.2005  
 



¡Hola Christian...

El Erklärung, el Yo en el Augenblick habe, Yo sí ya Nuevo. Wenn el así es, dürfte el Fehler seit el letzten Ver código fuente Fijo ser.

Noch una bastante blöde Cuestión:

Als Yo mich antes uno Tiempo el Privilegien y danach con el LSA-Security-API beschäftigt habe, Yo así el Eindruck bekommen, daß niemand de los XP y 2000 Fans (scheinbar Roland auch no) una blassen Schimmer su ha, como el Betriebsystem überhaupt en etwa arbeitet.
Selbst el Sachen, el du en Registry erkannt hast, scheint hier kaum alguien ( - oder außer uns beiden gar keiner?) a wissen - o, el el wissen, behalten Ihr Wissen para se.

In como weit hast du verstanden, qué como en el Ver código fuente - y darauf bezogen en el Betriebssystem - bislang abläuft, oder son el alles böhmishe Dörfer para dich? Lo va No a Función cada API, pero sólo por lo tanto, qué hay en el Principio passiert...
 
26.04.2005  
 



¡Hola Ragnar...

Besten Dank para el Referencia, aber zumindestens Yo arbeite todavía con Profano 7.5 .
In como weit hast du Einblick en el Security? Yo habe langsam así el Eindruck, el Yo el einzige bin, el se jemals así beschäftigt ha...
 
26.04.2005  
 




CB
¡Hola Andreas!
Was el Security angeht: Yo habe mich ya antes Jahren una bissel con Netzwerken y Rechtevergaben etc. auseinandergesetzt y habe dadurch ya una ungefähre Vorstellung, bloß reicht el por desgracia, no de, en Usted una große Ayuda ser a puede, ya más con el Registry - con el Yo mich algo intensiver befasst.
Außerdem hats mich siempre ya interessiert, qué como en el Hintergrund así abläuft, zB beim Zugriff en una Expediente, wo innerhalb uno Sekunde unos pocos tausend Schreib- y Lesezugriffe en el Reg. stattfinden. Gibt sí bastante nette Tools dazu, de [...]  por ejemplo...
Speziell TokenMon (va desafortunadamente sólo bajo NT y 2000) podría Yo vorstellen daß ellos uns weiterhilft.
Christian

67 kB
Hochgeladen:26.04.2005
Ladeanzahl31
Descargar
48 kB
Hochgeladen:26.04.2005
Ladeanzahl24
Descargar
 
XProfan 8/9.1, Win XP, AMD 64/3200
26.04.2005  
 



¡Hola Christian...

Das du dich bien en el Registry auskennst Yo me ya pensamiento. Yo habe deswegen una SID auch en Stringform dastellen dejar => siehe auch dazu HKEY_USERS.
Wo gibts esta Tools? Sieht muy schick de!
Wenn dir como sonst irgenwas unklar es - frag mich simplemente. Yo denke, Yo habs verstanden.

Ayuda voluntad Yo wohl kaum benötigen - el Sache entpuppt se como wesentlich einfacher como alles otro, Yo bislang en el Securitybereich zusammengeschustert habe.

Was Todavía bräuchte, wäre una möglichst vollständige Liste aller User y Gruppen uno Systems.
An el User bin Yo bislang siempre así herangekommen:
- Bajo HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionProfileListProfilesDirectory lese Yo, el Pfad asus, en el el Userprofile gespeichert son.
- Yo búsqueda entonces hay después de el vorhandenen Verzeichnissen.
- En el momento sehe Yo entonces después de, si en diesem Directorio una NTUSER.DAT existiert. Besser wäre sin embargo entonces LookupAccountName y IsValidSid utilizarse, en a testen, si el Directorio el Loginname uno Users es.

Usted scheinst como en el Registry auch einiges en Gruppen gefunden a haben - una Concepto cómo el listen podría?
 
26.04.2005  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

6.012 Views

Untitledvor 0 min.
JR04.11.2014
Tommy30.01.2014
Andreas Koch05.09.2013
Stephie03.09.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie