Français
Forum

DIE DATEI GEHÖRT MIR!

 
- page 1 -


allô Profaner...

j'ai avant, mich bientôt la fois quelque chose mäher avec qui NT/NTFS File-Security trop beschäftigen - Montrer et changement de Eigentümern et son Zeug zum Beispiel. Hat quelqu'un so quelque chose déjà la fois gemacht (avec Security Descriptors gearbeitet) ou bien gibt es intérêt à dem Thema?
 
11.04.2005  
 



 
- page 4 -


OK - maintenant es du tour. Füge la fois avant qui besagten la ligne une Editbox un et lasse dir qui Werte ausgeben - je denke mon le doute wird sich bestätigen.
 
25.04.2005  
 




CB
cela Blöde daran ist, qui je sur unserem Firmen-PC aucun eindeutige Zeilenzuordnung rendez-vous peux - je kanns là verständlicherweise seulement kompiliert testen et sur meinem privaten PC kriege je cet Fehlermeldung gar pas. Welchen Befehl la hâte Du là im le doute? et wieso kriege je cette faute seulement avec Benutzerrechten?

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




Ragnar
Rehbein
pourquoi compilierst du pas avec XPSE ???

j'ai trop chacun version qui je im einsatz habe qui entsprechenden .enh - fichier gespeichert.
dadurch habe je toujours qui richtige la ligne chez fehlermeldungen prêt.

je hartnäckigen fällen (windowsschutzverletzungen) übersetze je avec {$debug kernelout} et lasse mir den quellcode avec debugview Montrer.

r.r.
 
25.04.2005  
 



allô Christian...

je crois, j'ai toi qui ganze Zeit pas richtig verstanden:
tu as qui Probleme alors sur deinem Firmen-PC, et là es du seulement un User avec eingeschränkten Rechten et ne...aucune Admin?

je mets ici dans mon Code Systemeinstellungen.
avec cela pas chacun Schwachkopf im System herumfummeln peux, sommes qui Systemeinstellungen par Privilegien abgesichert.

Um dir qui données des Security Descriptors sur qui API Montrer trop laisser, muss dein Account cela Privileg SeSecurityPrivilege besitzen. qui Besitz cet Privilegs wird u.a. par qui Gruppe geregelt, qui dein Account angehört (Administrator ou bien Benutzer avec eingeschränkten Rechten). dans qui règle sommes Privilegien deaktiviert, d.h. aussi Admins peut pas sans weiteres Systemeinstellungen sur qui API changement.

dans meinem Voir le texte source aktiviere je avec AdjustTokenPrivileges qui Privilegien im Token des aufrufenden Programms. qui Token est un einem Prozess (Programme) zugeordneter Speicherbereich, qui Infos sur den User contient, qui justement cela Programme ausführt - sich alors eingeloggt hat.

je schätze la fois, tu as cela Privileg gar pas, le moi ici aktivieren veux...
comme Folge en liefert GetFileSecurity seulement Müll zurück. là GetFileSecurity u.a. qui Taille des Security Descriptors ausliest, ist Needed& wohl 0.
chez DIM PSECURITY_DESCRIPTOR#,Needed& wird alors qui Bereich pas richtig dimensioniert.
sous 2000 pouvoir dss aucun Probleme, je pourrait mir mais présenter, qui XP là quelque chose anders reagiert.

j'ai encore einmal quelque chose geändert et veux espérer, cela maintenant qui Fehlermeldungen ausbleiben.

Error 997 ist incidemment rien Schlimmes, solange qui aufrufende Funktion den Erfolg meldet.
KompilierenMarqueSéparation
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> Tandis que 0=0 Waitinput Wend

cela zweite Privileg, le moi ici aktiviere, ist incidemment nötig, um incidemment en supplément nötig, um den propriétaire trop changement...
 
25.04.2005  
 




CB
cela 1. fais je oui - dadurch stimmen oui qui Zeilennummern dans qui .enh pas plus avec dem original Code überein - dans qui enh stehen alle Declares dans qui 1. la ligne, wohin stehen qui dans qui .prc? là verschiebt sich alles légèrement.
Debuggen peux je dans qui Fa pas, weil je là ne...aucune Profan installer peux - si le rauskriegen, qui je là fremde Progs installiere, aussi habe je là seulement Benutzerrechte ...

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



allô Christian...

Brauchst du là aussi pas testen - j'ai bloß qui ganze Zeit gedacht, du hättest cela Problem sur deinem calculateur trop Hause - comme Admin.
Dass cela pas avec allen Useraccount funktioniert, ist vollkommen bien sûr et nachzuvollziehen - et dem brauchen wir aussi pas plus nachzugehen - alors seulement trop Hause testen. j'ai dir oui déjà la fois dit - ist alles rien pour Hacker, seulement pour Admins.

je werde mich bientôt encore dans den SACL reinknien et ensuite volonté alle Werte encore geändert...

qui Zeilennummer stimmt u.a. à cause de qui Leerzeilen pas.
 
25.04.2005  
 




CB
Erspart mir quelque chose travail - mais intéressé hätts mich déjà, wieso cet Fehlermeldung seulement avec Benutzerrechten auftritt...

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




Ragnar
Rehbein
une autre gentille option ist qui compileroption -M chez XProfan9.
ensuite wird une mapdatei pour qui zeilennummern erzeugt.

cet sollte beim trouver qui fehlerhaften la ligne aider.
habe je bisher mais seulement kurz getestet. peux alors pas dire comment oui c'est ca vous ist.

r.r.
 
25.04.2005  
 



allô Christian...

qui Erklärung, qui je im Augenblick habe, habe je oui déjà posté. si dem so ist, pourrait qui faute depuis dem letzten Voir le texte source behoben son.

encore une entier blöde Frage:

comme je mich avant einer Zeit avec den Privilegien et après avec qui LSA-Security-API beschäftigt habe, habe je so den impression bekommen, qui niemand de den XP et 2000 Fans (scheinbar Roland aussi pas) une blassen Schimmer en hat, comment cela Betriebsystem überhaupt dans etwa arbeitet.
Selbst qui Sachen, qui du sur qui Registry erkannt la hâte, scheint ici à peine quelqu'un ( - ou bien sauf uns beiden gar aucun?) trop savons - ou bien qui, qui cela savons, behalten son savons pour sich.

dans comment large la hâte du verstanden, quoi là im Voir le texte source - et puis bezogen im Betriebssystem - jusqu'alors abläuft, ou bien sommes cela alles böhmishe Dörfer pour toi? und dir Je ne à Funktion chacun API, mais seulement tout autor, quoi là im Prinzip passiert...
 
26.04.2005  
 



allô Ragnar...

Besten Dank pour den Hinweis, mais zumindestens je travaille encore avec Profan 7.5 .
dans comment large la hâte du Einblick dans qui Security? j'ai lente so den impression, le moi qui einzige suis, qui sich jamais avec cela beschäftigt hat...
 
26.04.2005  
 




CB
allô Andreas!
quoi qui Security angeht: j'ai mich déjà avant Jahren un bissel avec Netzwerken et Rechtevergaben etc. auseinandergesetzt et habe dadurch déjà une ungefähre Vorstellung, bloß reicht qui malheureusement pas aus, um Dir une grand Aider son trop peut, déjà plutôt avec qui Registry - avec qui habe je mich quelque chose intensiver befasst.
Aussi hats mich toujours déjà intéressé, quoi là im Hintergrund so abläuft, zB beim Zugriff sur une Dossier, wohin dedans einer seconde un paire mille Schreib- et Lesezugriffe sur qui Reg. stattfinden. Gibt oui entier gentille Tools en supplément, de [...]  beispielsweise...
Speziell TokenMon (allez malheureusement seulement sous NT et 2000) pourrait je mir présenter qui vous uns weiterhilft.
Christian

67 kB
Hochgeladen:26.04.2005
Downloadcounter31
Download
48 kB
Hochgeladen:26.04.2005
Downloadcounter24
Download
 
XProfan 8/9.1, Win XP, AMD 64/3200
26.04.2005  
 



allô Christian...

cela du toi bien dans qui Registry auskennst habe je mir déjà gedacht. j'ai deswegen une SID aussi dans Stringform dastellen laisser => siehe aussi en supplément HKEY_USERS.
wohin gibts cet Tools? Sieht très schick aus!
si dir là sonst irgenwas unklar ist - frag mich simple. je denke, je habs verstanden.

Aider werde je wohl à peine besoin - qui l'affaire entpuppt sich comme wesentlich einfacher comme alles autre, quoi je jusqu'alors im Securitybereich zusammengeschustert habe.

quoi je encore bräuchte, wäre une possible vollständige liste aller User et Gruppen eines Systems.
à qui User suis je jusqu'alors toujours so herangekommen:
- sous HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionProfileListProfilesDirectory lese Je l' Pfad asus, dans dem qui Userprofile gespeichert sommes.
- je cherche ensuite là pour den vorhandenen Verzeichnissen.
- Zur Zeit vois je ensuite pour, si dans diesem Verzeichnis une NTUSER.DAT existiert. Besser wäre cependant ensuite LookupAccountName et IsValidSid trop verwenden, afin de testen, si cela Verzeichnis qui Loginname eines Users ist.

Du scheinst là dans qui Registry aussi einiges sur qui Gruppen trouvé trop avons - une concept comment on qui listen pourrait?
 
26.04.2005  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

6.382 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie