NeoVars am Anmeldebildschirm verfügbar machen

Es ist möglich, den NeoVars auch beim Anmeldebildschirm laufen zu lassen, allerdings muss man dafür aber einige Handstände machen.

Es folgt die Anleitung, wie man neo-vars (neo20.exe bzw. neo20-custom.exe) beim Systemstart über zwei Banden so startet, dass damit ein Anmelden am Windows-Logon-Bildschirm möglich ist. Da die Anmeldesitzung mit Winlogon nur eingeschränkte Möglichkeiten hat (es ist ja schließlich kein Explorer gestartet), gehen so nette aber hier wohl unnötige Dinge wie TrayTips nicht, alles Andere sollte aber werkeln, als da wären Bildschirmtastatur, Restart, Deaktivierung über Shift+Pause, Mini-Taschenrechner, usw. Sogar wiemitneo (Compose-uw) läuft, wenn es auch nicht viele Gelegenheiten gibt, es an dieser Stelle einzusetzen. :-)

Diese Anleitung bezieht sich auch Windows XP. Über die entsprechenden Funktionen unter Vista bin ich nicht informiert, schätze aber, dass dessen unterschiedliches Sicherheitskonzept den Aufruf etwas erschwert, und man auf diese Weise nicht zum Ziel kommt. Erfahrungsberichte und insbesondere Patches sind erwünscht.

neo20.exe

Am Einfachsten gelingt die Installation mit einem fertig compilierten neo-vars-exe-file. Dazu kann man die Standard-Edition verwenden, die im Repository liegt oder auch über das Web-Interface einfach und kompakt herunter geladen wird. Alternativ, wenn man beispielsweise Änderungen am Code vorgenommen oder eine individuelle Konfiguration über custom.ahk bereit gestellt hat, kann man make-build-custom.bat aus dem Verzeichnis windows\neo-vars\src aufrufen, um im \out-Verzeichnis die Datei neo20-custom.exe zu erstellen.

Welche Datei auch immer, sie sollte an zentraler Stelle abgespeichert werden, z.B. gleich aus dem ausgecheckten Subversion-Repository: C:\Neo\windows\neo-vars\out\neo20-custom.exe. Der weise Administrator erspart sich stundenlange Späße und verzichtet auf Leerzeichen und andere Sonderzeichen im Pfad.

RunProcess.exe

RunProcess wird zwar schon lange nicht mehr gepflegt, es tut aber immer noch in grandioser Weise seine Pflicht und erlaubt unter Anderem den Start beliebiger Programme auf Windows-Desktops, auf die Programme üblicherweise nicht zugreifen dürfen. Der System-Account besitzt alle dafür nötigen Rechte, und so kann unter Windows XP ein Service dieses Programm starten, um damit den NeoVars auf den Anmeldebildschirm zu zaubern. RunProcess.exe wird der Einfachheit halber nach C:\Neo\_tools kopiert.

nssm.exe

NSSM ist als Service mit integriertem Installer einfach zu verwenden. Vielleicht gelingt die Installation über ein anderes Programm genau so, aber mit diesem war ich erfolgreich und kann es daher empfehlen. :-)

Man kopiert nssm.exe am Besten auch gleich nach C:\Neo\_tools. Von dort ruft man es mit "C:\Neo\_tools\nssm.exe install neovars" auf und freut sich über den anschließenden Dialog. Diesen füllt man von oben nach unten mit den folgenden Daten:

Application: C:\Neo\_tools\RunProcess.exe
Options: /desktop:WinSta0\WinLogon /fi C:\Neo\windows\neo-vars\out\neo20-custom.exe
Service name: neovars

Wer hier die Standard-neo20.exe verwenden will, ersetzt einfach den Dateinamen oder den ganzen Pfad durch einen Verweis auf das entsprechende Executable. Weiter kommt man mit "Install service".

neo20.ini

NeoVars wird am Anmeldebildschirm nunmehr unter dem Benutzeraccount SYSTEM gestartet. Dieser hat zwar ein eigenes Home-Verzeichnis, es werden aber nicht alle benötigten Pfade im Environment gesetzt, sodass ich eine kleine Änderung am neovars durchführen musste, damit NeoVars eine eventuell vorhandene neo20.ini-Datei finden kann. Der Applikationsordner liegt bei mir unter C:\Dokumente und Einstellungen\LocalService\Anwendungsdaten\NEO2, und dort gehört auch in alter Tradition die Ini-Datei hinein. Der Ordner "Anwendungsdaten" gehört gegebenenfalls erstellt (der Name ist übrigens von mir so gewählt und muss auch unter einem englischen XP so heißen und nicht etwa "Application Data"!)

Fertig! Mit "net start neovars" und anschließendem Abmelden bzw. einem Aktivieren der Bildschirmsperre mit Win+L kann man überprüfen, ob der gewünschte Effekt eintritt. Ein Reboot macht die Sache dann ganz klar.

Wer will, startet über neo20.ini automatisch die Bildschirmtastatur – das vermeidet Wutausbrüche über vermeintliche Vertipper bei der Passworteingabe und macht nebenbei auch noch Werbung für Neo. :-)

Appendix A: Sicherheit

Wer über sein (compiliertes) AHK-Skript das Starten von cmd.exe oder gar einen Explorer, Firefox oder Regedit erlaubt, wird sein blaues Wunder erleben, da der Benutzeraccount SYSTEM diese Programme startet und als Über-Administrator über fast unbeschränkte Macht verfügt. Da NeoVars nunmehr vor einer wirkungsvollen Anmeldung zur Verfügung steht (was ja eigentlich auch der Zweck dieser Übung ist), könnte das System über Sicherheitslücken in AHK oder dem eingesetzten neovars-Skript für lokale Eindringlinge „offen“ stehen. Da aber jeder Angreifer mit einigermaßen Grips bei lokalem Zugriff auf den Computer diesen auch ohne derartige Sicherheitslücken missbrauchen kann, halte ich dieses Problem für eher gering – ganz abgesehen davon wird von neovars in seiner Standard-Form kein externes Programm aufgerufen. Letztlich ist aber jeder für seinen Blechtrottel selbst verantwortlich!

Last modified 12 years ago Last modified on 30/08/09 06:59:49
Note: See TracWiki for help on using the wiki.