Igor Wawrzyniak wrote:
> Muszę we własnym programie zalogować użytkownika.
Tak dla /mojej/ jasności to o co dokładnie chodzi? O zalogowanie
użytkownika do danego programu używając danych konta systemowego?
> Według tego, co wyczytałem w MSDN, trzeba do tego użyć funkcji
> LogonUser, która wymaga podania hasła. Chciałbym jakoś obejść ten
> wymóg, bo w przeciwnym wypadku musiałbym gdzieś przechowywać hasło
> otwartym tekstem. Na jednej z anglojęzycznych grup znalazłem sposób:
> - odnaleźć w rejestrze zaszyfrowaną wartość hasła
> - zapamiętać ją
> - zmienić na wartość odpowiadającą znanemu hasłu
> - zalogowaś się z tym hasłem
> - przywrócić starą wartość.
Tylko czy aby na pewno chodziło tu o hasła systemowe, bo AFAIK hasła
systemowe są szyfrowane w sposób "nieodwracalny"?
> No i tu mam problem. Hasła są zapisane w
> HKEY_LOCAL_MACHINE\Security\SAM\Domains\Account\Users\<identyfikator>
> Pierwsza sprawa - nie mogę znaleźć przypisania identyfikatorów
> do nazw użytkowników.
HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account\Users\000001F4
odpowiada AFAIK za dane konta wbudowanego administratora. A przypisania
odbywają się AFAIK w ten sposób, że ostatni ww. podklucz jest zapisanym
w HEX ostatnim członem SID'a użytkownika. I tak: 1F4 (hex) = 500 (dec) a
taką końcówkę na Administrator; 1F5 (hex) = 501(dec) - konto
/wbudowanego/ gościa. Dalej już IMO sobie poradzisz.
> Druga - każdemu userowi odpowiadają dwa pola, F i V, nie wiem jak one
> powstają. MSDN jest tu mało użyteczny, [...]
Obawiam się, że też będę tutaj "mało użyteczny" - przykro mi.
-- Regards Arkadiusz 'Black Fox' Artyszuk Replying by email change blackfox.org to gazeta.plReceived on Tue Nov 30 16:00:32 2004
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Tue 30 Nov 2004 - 16:42:08 MET