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!“)