AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Was macht GINA.DLL, MSGINA.DLL

Ein Thema von orion3000 · begonnen am 29. Aug 2003 · letzter Beitrag vom 1. Sep 2003
Antwort Antwort
orion3000

Registriert seit: 28. Aug 2003
Ort: Betzdorf
63 Beiträge
 
Delphi 4 Standard
 
#1

Was macht GINA.DLL, MSGINA.DLL

  Alt 29. Aug 2003, 12:39
Hallo zusammen,

habe hier irgendwo einen Beitrag gelesen, wo es darum ging eine Logon oder Logiof Anwendung zu erstellen und das System sollte soweit angehalten werden bis irgendwelche Bedingungen erfüllt sind.

Nun meine Frage was machen folgende DLLs GINA.DLL, MSGINA.DLL und wie bekommt man diese,wie werden diese aufgerufen.

Denn ich arbeite auch an einer Anwendung wo ich dem Anwender Windows Sperren muß aber meine Anwendung soll doch im Hintergrund weiterlaufen.



Danke schon im vorraus für Eure Mühe

Gruß
Orion3000
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Was macht GINA.DLL, MSGINA.DLL

  Alt 29. Aug 2003, 12:53
Die MSGina.dll ist für das Login und die Benutzerrechte verantwortlich. Näheres kann dir dazu Assarbad sagen. Und er wird es auch, wenn er das Posting findet.

Zu deiner Anwendung: Konzipier es als Dienst, den kann nur ein Administrator beenden, keinen Grund also irgendwas irgendwo zu sperren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
orion3000

Registriert seit: 28. Aug 2003
Ort: Betzdorf
63 Beiträge
 
Delphi 4 Standard
 
#3

Re: Was macht GINA.DLL, MSGINA.DLL

  Alt 29. Aug 2003, 13:19
Hallo Luckie,
danke erstemal für deine prompte Antwort.

Werde Assarbad darauf hin fragen.

Gruß
Orion3000
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#4

Re: Was macht GINA.DLL, MSGINA.DLL

  Alt 31. Aug 2003, 12:10
Es gibt keine GINA.DLL auf einer Standardinstallation. Dort heißt sie immer MSGINA.DLL. Übliche Methoden diese DLL zu ersetzen sind:
1. Registryeintrag ändern und auf eigene GINA zugreifen lassen
2. MSGINA umbenennen und selber als MSGINA.DLL reinkopieren (kann Konflikte mit der SFC/WFP geben)

Die GINA macht alles was mit der Authentifizierung eines Benutzers zusammenhängt. Dazu zählt als sichtbarste Maßnahme der Logon-Bildschirm mit der Logonbox, welche in der sogenannten SAS (Secure Attention Sequence) laufen. Dazu zählt im übrigen auch der "Bildschirm" der erscheint, wenn man Strg+Alt+Entf drückt. Genau das ist auch der Grund, warum man beispielsweise die GINA ersetzen kann um Strg+Alt+Entf zu unterdrücken, aber ohne einen Tastaturfiltertreiber schreiben zu müssen.
Es gibt diverse Produkte und auch Delphi-Komponenten die sich dieser Methode bedienen. Man sollte allerdings bmerken, daß in allen Fällen Admin-Rechte notwendig sind um eine solche Änderung vorzunehmen.

Die GINA erstellt beim Einloggen eines Benutzers eine sog. LogonSession (hat weder was mit dem Desktop noch der WindowStation direkt zu tun). Eine LogonSession ist etwas imaginäres, was durch ein Token quasi materialisiert. Will heißen durch das Token eines eingeloggten Benutzers (jeder Prozeß und diverse andere Projekte besitzen dieses Token) wird der Benutzer identifiziert sobald er sich einmal eingeloggt hat (will heißen bei einem Zugriff auf eine Ressource muß nicht erneut nach dem Paßwort gefragt werden, sondern das Token symbolisiert den Benutzer).

Ich habe ausdrücklich Wert auf die leichte Verständlichkeit, statt an allen Stellen korrekter Begriffe, gelegt. Also bitte dahingehend Kritik verkneifen.

Hier noch einmal was im PSDK zu dem Thema steht. Außerdem empfehle ich, fall du dich mit dem Thema ernsthaft auseinandersetzen willst, das Buch "Programming Windows Security" von Keith Brown.

Zitat von Microsoft:
A GINA DLL has the following responsibilities:

SAS monitoring
The GINA is responsible for recognizing a secure attention sequence (SAS), monitoring for SAS events, and notifying Winlogon when an SAS has occurred. Note that there can be more than one SAS defined, and the set of defined SASs can change over time. For example, there can be one set of SASs when Winlogon is in the logged-off state and another set when it is in the logged-on state.

Winlogon provides services to assist the GINA in using the CTRL+ALT+DEL SAS.

SAS processing
One reason for modularizing Winlogon and making the GINA replaceable is to provide alternative identification and authentication mechanisms. To do this, the GINA must present all user interfaces resulting from the recognition of an SAS. When no user is logged on, the GINA is responsible for presenting identification and authentication options as well as any other permissible options that are not authenticated. When a user is logged on, the GINA is responsible for presenting the relevant options to the user as well as taking whatever actions are deemed appropriate. For example, in a system that includes a smart card, it may be appropriate to automatically lock the workstation if the user removes the smart card.

Shell activation
When a user logs on, the GINA is responsible for creating one or more initial processes for that user. (In this documentation, it is assumed that these initial processes present an interface to the user. However, the processes can actually be any processes and do not necessarily have to interact with the user.) These processes are referred to as the user shell or just the shell. As part of shell activation, the GINA must assign the newly logged-on user's token to the processes. Winlogon provides a service to assist the GINA in assigning the token.
  Mit Zitat antworten Zitat
orion3000

Registriert seit: 28. Aug 2003
Ort: Betzdorf
63 Beiträge
 
Delphi 4 Standard
 
#5

Re: Was macht GINA.DLL, MSGINA.DLL

  Alt 1. Sep 2003, 08:58
Hallo Assarbad,

erstmal vielen Dank für deine Hilfe, die hat mich schon etwas weiter gebracht, ich glaube das es das ist was ich brauche.

Ich nuß wohl erstmal erklären wo für ich die MSGINA.DLL eigentlich brauche und meine Frage ist ob das überhaupt sinnvoll ist dafür eine Login zu erstellen.

Ich arbeite an einem Dateimanager der auch verschiedene Virtuelle Desktops verwaltet.

Desktop 1 ist der Standart Desktop von Widnows Desktop 2 wird zur Laufzeit erstellt und eben dieser soll nicht ohne weiteres geöffnet, ausgeführt werden nur mit einer gültigen Login Session als Admin oder so.

Aber meine Anwendung sollte eben, im Hintergrund, weiter ausgeführt werden.

ich möchte kein eigenes Dialog erstellen welches nach eine Eingabe das Passwortes fragt.

Ich habe die MSGINA.DLL im Systemverzeichnis gefunden aber wie muß ich denn hier diese ansprechen oder wie starte ich das Logon von Windows.
Und noch eine Frage auf welchen Betriebssystemen ist MSGINA.DLL vorhanden meine Anwendung ist erstellt worden für "NT Versionen".

Gruß
Orion300
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz