![]() |
Benutzerkennwort auslesen ??
Hallo,
ich möchte das Kennwort eines Benutzers auslesen um damit ein Programm zu starten (RunAs). Bisher habe ich keine Möglichkeit gefunden an das Kennwort heranzukommen, hat jemand eine Idee ? KUBA |
Re: Benutzerkennwort auslesen ??
Es ist nicht möglich das Kennwort auszulesen weil es in dein meisten Fällen gar nicht gespeichert wird sondern nur eine aus dem Kennwort generierte Zeichenfolge.
|
Re: Benutzerkennwort auslesen ??
Zitat:
|
Re: Benutzerkennwort auslesen ??
Zitat:
|
Re: Benutzerkennwort auslesen ??
OK, OK ...
Der Benutzer ist bereits am Computer angemeldet und ich möchte in "seinem Namen" ein Programm starten. Jemand eine Idee wie man das realisieren könnte ? KUBA |
Re: Benutzerkennwort auslesen ??
Lass den Benutzer das Kennwort eintippen, wenn dein Programm gestartet werden soll.
|
Re: Benutzerkennwort auslesen ??
Da muss es auch andere Möglichkeiten geben, wie funktionieren denn single-sign-on-Systeme? Da wird doch auch das Windowskonto verwendet.
Braucht man dafür ActiveDirectory oder sowas? Edit: ![]() Sherlock |
Re: Benutzerkennwort auslesen ??
Zitat:
D.h. es wird "in seinem Namen" gestartet. Anderst sieht es aus, wenn ein Dienst ein anderes Programm starten soll. Der Dienst wird vom Administrator installiert und läuft (meistens) mit dem System-Konto. Da SYSTEM jedoch (fast) alle Rechte hat, kann der Dienst auch in den Benutzerkontext (Eigene Dateien) schreiben. Was willst Du denn genau machen? |
Re: Benutzerkennwort auslesen ??
Zitat:
KUBA |
Re: Benutzerkennwort auslesen ??
Zitat:
KUBA |
Re: Benutzerkennwort auslesen ??
Wenn der Benutzer automatisch angemeldet wird, wozu dann die Prüfung, ob er angemeldet ist?
Wie wäre es mit "Autostart" oder mit "Run" in der Registry? Dann wird das Programm automatisch gestartet, wenn sich der Benutzer anmeldet. Beides kannst Du für den Userkontext beschränken. Jeder User hat ein eigenes User-Verzeichnis mit eigenem Startmenu. Und der Run-Eintrag kann auch in den Benutzerkontext der Registry geschrieben werden. |
Re: Benutzerkennwort auslesen ??
Zitat:
Zitat:
KUBA |
Re: Benutzerkennwort auslesen ??
Zitat:
Das geht nämlich nur, wenn man die richtige Taste kurz vor dem Auto-Anmelden drückt. Zitat:
|
Re: Benutzerkennwort auslesen ??
Zitat:
Ansonsten muss Du Dich damit abfinden, dass Du das Kennwort nicht auslesen kannst. Du solltest Dir also einen anderen Ansatz überlegen und Dein Problem somit neu überdenken. Evtl. hast Du gar keines ;) ...:cat:... |
Re: Benutzerkennwort auslesen ??
sso-system arbeiten mit einen authentifizierungsserver z.b. kerberos.
dort werden tickets erzeugt mit welchen ein prozess in den usercontext impersonated werden kann. also alles ohne usename/passwort. funktionen die genutzt werden (teilmenge): InitializeSecurityContext AcquireCredentialsHandle AcceptSecurityContext CompleteAuthToken ImpersonateSecurityContext damit kannst du ja mal auf das msdn los gehen. |
Re: Benutzerkennwort auslesen ??
Oder du klinckst dich in die GINA-Chain ein.
|
Re: Benutzerkennwort auslesen ??
Zitat:
KUBA PS: Ich versuche einen anderen Ansatz, vielen Dank für die Tips !! |
Re: Benutzerkennwort auslesen ??
Zum Starten des Programms kannst du CreateProcessAsUser verwenden, dazu brauchst du allerdings das Token. Falls der Benutzer der aktive ist, erhältst du es mit WTSQueryUserToken.
|
Re: Benutzerkennwort auslesen ??
Zitat:
Doch woher bekomme ich das Kennwort ? Oder brauche ich das gar nicht ? KUBA |
Re: Benutzerkennwort auslesen ??
Das brauchst du nicht, allerdings das TCB-Privileg, was normalerweise nur System hat.
|
Re: Benutzerkennwort auslesen ??
Hört sich auch sehr gut an !!! :wink:
Kann mir jemand ein kleines Beispiel posten ? KUBA |
Re: Benutzerkennwort auslesen ??
Zitat:
Ich meine gehört zu haben, dass das alles überarbeitet wurde. |
Re: Benutzerkennwort auslesen ??
Beispiel hab ich schon gefunden:
Delphi-Quellcode:
Hab mich mit den Jedi's noch nicht beschäftigt :gruebel:
uses
Windows, SvcMgr, JwaWtsApi32; ... var hToken: THandle; si: _STARTUPINFOA; pi: _PROCESS_INFORMATION; begin ZeroMemory(@si, SizeOf(si)); si.cb := SizeOf(si); si.lpDesktop := nil; if WTSQueryUserToken(WtsGetActiveConsoleSessionID, hToken) then begin if CreateProcessAsUser(hToken, nil, 'cmd.exe', nil, nil, False, CREATE_NEW_CONSOLE or CREATE_NEW_PROCESS_GROUP, nil, nil, si, pi) then begin // Do some stuff end; end; Self.DoStop; end; KUBA |
Re: Benutzerkennwort auslesen ??
Ich mach das einfach so, das ich in den Lokalen Anwendungsdaten des benutzerkontos eine Einstellungsdatei erzeuge. Wenn die da ist ist auch der richtige Benutzer angemeldet. Angelegt wird die einmalig durch eingabe des Passworts.
|
Re: Benutzerkennwort auslesen ??
Zitat:
|
Re: Benutzerkennwort auslesen ??
Zitat:
hToken solltest du mit CloseHandle wieder freigeben. |
Re: Benutzerkennwort auslesen ??
Zitat:
habe Probleme mit den JEDI´s. Ich hab die JEDI´s nach dieser Anleitung installiert: ![]() Ich bekomme schon Probleme wenn ich die erzeugte JwaWindows.dcu unter "uses" einbinde. Beim Kompilieren erhalte ich Fehlermeldungen in meinem bereits funktionierendem Code. Gibt es bei der Verwendung der JWSCL etwas besonderes zu beachten ? KUBA |
Re: Benutzerkennwort auslesen ??
Du verwendest wohl auch Windows.pas oder?
Die Reihenfolge der Units in der Uses Anweisung spielt dabei eine Rolle, welche Funktion entweder aus JwaWindows oder Windows.pas verwendet wird. Die Reihenfolge "Windows, JwaWindows" lässt die Funktionen aus JwaWindows verwenden. Wenn du den Funktionen jedoch den Unitname mit einem Punkt voranstellst, dann wird die Funktion direkt aus der entsprechenden Unit verwendet. |
Re: Benutzerkennwort auslesen ??
Zitat:
Wie soll das aussehen, so ?
Delphi-Quellcode:
KUBA
.JWAWindows function MeineFunktion;
begin end; |
Re: Benutzerkennwort auslesen ??
Nein:
Delphi-Quellcode:
Ich denke, du solltest du mal mit den Grundlagen auseinandersetzen.
Unitname.Funktion
|
Re: Benutzerkennwort auslesen ??
Zitat:
:oops: KUBA |
Re: Benutzerkennwort auslesen ??
Ich meinte natürlich dem Unitname den Punkt dahinter stellen - nicht voranstellen :wall:
|
Re: Benutzerkennwort auslesen ??
@Ich denke, du solltest du mal mit den Grundlagen auseinandersetzen.
Das tue ich gerade, learning by doing ... Danke nochmal für den Tip ! Ich mache in letzter Zeit gute Fortschritte, manchmal ist es sehr hilfreich wenn man jemanden fragen kann und nicht suchen muss. :love: KUBA |
Re: Benutzerkennwort auslesen ??
Zitat:
|
Re: Benutzerkennwort auslesen ??
Es gibt auch einen Start -> Ausführen Befehl von Windows der das Passwort ausliest.
|
Re: Benutzerkennwort auslesen ??
Klar. Und wie heißt der?
|
Re: Benutzerkennwort auslesen ??
Zitat:
|
Re: Benutzerkennwort auslesen ??
Die Spannung zereisst mich fast :duck:
|
Re: Benutzerkennwort auslesen ??
Zitat:
KUBA PS: Start/Ausführen rundll32 user32.dll LockWorkStation %windir% :wiejetzt: |
Re: Benutzerkennwort auslesen ??
Das Sperrt den Bildschirm, gibt dir aber nicht das Passwort des Benutzers zurück.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz