Matthias Wächter schrieb:
On 5/10/2009 8:46 PM, Florian Janßen wrote:
Melde dich mit NeoVars mal beim Anmeldebildschirm an.

Ich hatte ihn irgendwann schon mal am Anmeldebildschirm laufen, musste dafür 
aber einige Handstände machen.


Nachdem hier offenbar alle auf weiterführende Informationen warten, hier die gute Nachricht: Es ist vollbracht! Fehlt nur mehr NEOBIOS.BIN zum Updaten meines Motherboards, und ich bin lückenlos mit Neo unterwegs! :-)

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. :-)

Über die Funktion 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. Über Erfahrungsberichte und insbesondere Patches freue ich mich natürlich.

1. 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.

2. RunProcess.exe

RunProcess (http://dennisbareis.com//swrecom.htm) 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.

3. nssm.exe

NSSM (http://iain.cx/src/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".

4. 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!




Disclaimer: Ich habe jetzt so viele Dinge ausprobiert, dass es sein kann, dass das Funktionieren bei mir auf irgend einen Nebeneffekt der Arbeit der letzten Stunden zurückzuführen ist und die Installation in der von mir beschriebenen Weise garnicht zufrieden stellend abläuft. Ich drücke dennoch die Daumen und freue mich über Feedback!!!

lG,
– Mœsivars (lies: „Mœsi war’s!“)

Antwort per Email an