Re: Przechowywanie haseł w Windows

Autor: Arkadiusz 'Black Fox' Artyszuk <black.fox_at_blackfox.org>
Data: Mon 29 Nov 2004 - 17:50:58 MET
Message-ID: <41AC7723.2050403@blackfox.org>
Content-Type: text/plain; charset=ISO-8859-2

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.pl
Received 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