Let's mess with XP (x64): Winlogon von Luna zu GDI (klassisch 2000) und Austauschen des Banners

  • Ich habe offenkundig zuviel Zeit und mir is grade fad, daher postiere ich hier Mal meinen neuesten Windows XP Blödsinn her. Najo, es juckte, also fuhr jedenfalls der jähe Gedanke in mich, ich müsse den Winlogon Bildschirm unter XP x64 anpassen. Man muß hier dazu sagen: Seit erster Installation von XP 32-bit vor Uuuurzeiten habe ich sofort gekotzt bei dem Luna Theme. Diese Wiesenkacke und diese sauhäßlichen blauen Plastikrahmen, die viel mehr Platz wegfressen als der "klassische" Win2000 Stil. Nichts für mich.

    Kann man alles umstellen, nur Winlogon bleibt auch danach noch lunisch:

    Wäh! Grausig. Ich möchte das nicht.

    Windows Server 2003 (eigentlich recht ähnlich zu XP x64 - NT 5.2) ist schon deutlich weniger häßlich, der zeigt da mehr so ein stahlgraues Theme, mehr mein Stil, eleganter, wie ich finde:

    Die Edition hatte ich Mal aus dem MSDNAA Programm bekommen. So wie fast alles von Microsoft, das ansonsten Geld kosten würde.

    Also bin ich ganz eselhaft in's Internet losgeritten um Lösungen für das "Problem" zu finden. Das hat länger gedauert als gedacht...

    Zuerst Luna loswerden. Weil FU Luna. Dazu gibt es mehrere Ansätze von denen einige häßlicher sind als andere. Ich habe versucht einen eher saubereren zu finden, also wenigstens ohne Herumreißerei in der Registry.

    Der Punkt ist, der Winlogon Systemprozeß läuft unter dem "SYSTEM" Nutzer. Das ist so ein fieser Hintergrunduser, der fast alles darf. Dieser Lunamüll kommt also davon, daß diese ganze Login "Pseudosession" im Kontext des SYSTEM Nutzers rennt. Na gut.

    Ansatz: Man logged sich irgendwie als "SYSTEM" ein, und stellt das Theme um. Das geht nicht so easy, weil interaktive Logins für diesen Nutzer aus Sicherheitsgründen verboten sind, ich das nicht extra erlauben will (böse), also anders. Terminal aufreißen, und dem Task Scheduler einen Job rein.... eh.. ihm eine reinschedulen halt...

    Voll abschedulen!

    "21:14" war hier ungefähr eine Minute in der Zukunft. Das queueueuueued einen Job, der dann in aller Kürze und Würze ausgeführt wird. Und zwar interaktiv, also im Vordergrund der laufenden Nutzersitzung, und nicht wie üblich im Hintergrund. Die "Würze" liegt dabei darin, daß Jobs des Taskplaners (ah genau, so hieß der im Deutschen WinXP, schon lange keins gesehen) als Prozesse unter dem Nutzer "SYSTEM" laufen. Es öffnet sich dann also ein Terminalfenster, das unter Nutzer "SYSTEM" rennt. Und weil alle in der cmd ausgeführten Programme Tochterprozesse innerhalb der selben Nutzersitzung sind... ah, zuerst ermorden wir einfach Mal den Explorer im Task Manager!

    Explorer.exe muß sterbien! (Bonusziel: Wer findet die Political Incorrectness hier?)

    Also Win+r, taskmgr.exe eingeben, Enter drücken. explorer.exe suchen und den Task besiegen und töten! Also "End Process" und weg ist die ganze grafische Windows Shell. Zu erkennen am Verschwinden der Taskleiste, des Startknopfs usw. Paßt, Task Manager schließen, brauchen wir nicht mehr.

    So, das böse SYSTEM Terminal rennt ja noch, also hieraus einen neuen Explorer starten, denn der ist ja jetzt ein Tochterprozeß dieses Terminals, läuft also ebenso unter Nutzer SYSTEM:

    Man sollte ihn auf AXEplorer.exe renamen! Oder SEXplorer.exe? Explorer.SEXe? Nein, dann bräuchte es wieder einen neuen Handler, damit er das als ausführbar erkennt...

    Da keine interaktive grafische Shell mehr lebt, wird der erste am System im Vordergrund gestartete Explorer automatisch zur neuen grafischen Shell. Kennt man ja von abstürzenden Explorer Prozessen. Der Winlogon Authentifizierungsprozeß ist umgangen! Jetzt sieht man, daß SYSTEM (üblicherweise) noch nie eine interaktive Sitzung gesehen hat - sollte er auch nicht haben! - weil das Nutzerprofil erstmalig eingerichtet wird.

    So WixiWixi halt.

    Gut, man sieht jetzt einen wahrscheinlich ziemlich ekelerregenden, abstoßenden, widerwärtigen, grauenvoll entar... ja. Also einen Luna Desktop halt. Das gilt es zu ändern! Wie sonst auch: Rechtsklick auf'n Desktop, Properties/Eigenschaften und wie gewohnt (ich unterstelle das einfach Mal dreist jedem, der noch irgendwo XP nutzt...) auf den persönlichen Win2000 Stil umstellen.

    Achtung, wenn man hier ein neues Hintergrundbild einstellt, oder das Hintergrundbild des Grauens (des Lunas? nein, der Luna) entfernt und statt dessen ggf. eine Farbe einstellt, so werden all diese Dinge auch auf dem WinLogon Schirm so gezeigt! Ich wähle hier einfach ein sehr dunkles blau-grau ohne Bild.

    Nun beendet man die SessionCeption, indem man den SYSTEM Benutzer wieder abmeldet. Es empfiehlt sich, in diesem sehr heiklen Systemkonto nicht sonstwie weiter herumzupfuschen! Das GUI Gepfusche genügt schon!

    Nichts wie raus hiää! Und warum ist hier "Opera" der Browser... wtf, den gibt's hier seit Jahren nicht mehr...

    Gut. Man wird jetzt irgendwie sowas sehen:

    Das ist schon nicht mehr ganz so

    Aber hier war ich noch nicht fertig, weil ich hatte immer noch zuviel Zeit und mein GUI-Autismus war bereits zu weit fortgeschritten! Ich wollte auch noch einen anderen Banner haben, eben mehr so im Server 2003 Stil, so stahlgrau. Also erst Mal was zusammenpixeln...

    Es braucht hier zwei Banner, einen für WinLogon an sich (88 Pixel hoch) und einen für diese "Windows logged dich ein und lädt irgendein Zeug und dann noch mehr Zeug..." sowie "Windows fährt jetzt runter... hoffentlich ist endlich alles zu Ende!!11" Popups (72 Pixel hoch). Ich habe dann auch noch den schmalen Ladestreifen blaugrauifiziert. Verb des Tages. "Blaugrauifizieren". Mh. Jo. Runder Abgang.

    Okeke, let's Banner:

    So irgendwie? Wobei mir das fast schon zu sehr in die Richtung Mac-Silber ging...

    Mhjo... Schon eher?

    Gut... und jetzt? Wie tauscht man den Scheiß? Ein freies Betriebssystem hätte jetzt einfach irgendwo in in /usr/share/ oder was einen Unterordner wo man irgendein PNG austuschen würde. Bei Windows XP (und übrigens auch 2000) ist das natürlich nicht so einfach.

    Wie/Wo speichern die das? In Form von "Bitmapressourcen" innerhalb von Binärprogrammen, genauer genommen in DLLs. Das ist so richtig... hah... fassen wir es unter "dumm" zusammen, bevor mir unterwegs zum Rant noch die Schnürsenkel aufgehen...

    Im Falle von XP / XP x64 und ich vermute einfach Mal auch bei Windows 2000 sind diese Ressourcen in %WINDIR%\system32\msgina.dll abgelegt. Neuere Systeme haben da glaube ich eigene Branding-Bibliotheken, aber das habe ich mir nicht angesehen. Wenn man jetzt nicht unbedingt neue RGB Bitmaps in binärer oder hexadezimaler Notation schreiben möchte, weil man ein völlig abgespaced*er Irrer ist, kann man die nicht so einfach tauschen.

    Dazu braucht es separate Werkzeuge. Zum Beispiel [Resource Hacker] von Angus Johnson, oder [RisohEditor] von 片山博文MZ / KataHiroMZ bzw. Katayama Hirofumi MZ. Gibt natürlich auch noch andere. Wenn man ein 64-bit Windows nutzt, sollte man hier immer darauf achten, daß das Programm nicht ZU alt ist, das ist wichtig! Wenn Windows 7 / 8.x / 10 / 11 unterstützt werden, oder explizit darauf hingewiesen wird, daß auch 64-bit Bibliotheken editierbar sind, dann sollte es passen. Ansonsten kann es nämlich passieren, daß das Programm zwar scheinbar funktioniert, die geänderten 64-bit DLLs dann aber dann beim neuen Abspeichern ruiniert!

    Ich habe mich Mal für die neueste Version 5.1.8 von Resource Hacker entschieden. Deren Installationsprogramm funktioniert zwar anders als das Programm selber nicht mehr auf XP, aber auf der Webseite gibt es das ja auch noch als ZIP.

    Achtung! Auf 64-bit Systemen mit WoW64 Schicht ist es so, daß das Editieren mit diesen Werkzeugen direkt in Ordnern unter %PROGRAMFILES%\, unter %PROGRAMFILES(x86)%\ oder unter %WINDIR%\ zu zerstörten Bibliotheken führen kann! Auch wenn man die dann mit "Speichern unter" woanders hinlegt! Auch bekommt man tlw. die Inhalte von 32-bit Dateien serviert, obwohl man vielleicht 64-bit Dateien geöffnet hat! Zudem hat man auf nicht völlig verwurschtelten Systemen auch noch den Windows Dateischutz im Weg, der ja auch auf 32-bit Systemen vorhanden ist.

    Also die %WINDIR%\system32\msgina.dll erst Mal woanders hinkopieren, und dann dort editieren. Ich würde stark empfehlen, den Windows Dateischutz nicht zu deaktivieren, auch dann nicht, wenn man auf einem 32-bit System sitzt! Das macht den Austausch der DLL zwar schwieriger, aber ich würde das trotzdem nicht ausschalten.

    Jetzt finden sich in der Bibliothek so einige Sachen. Für mich interessant waren aber nur die Bitmapressourcen 101, 103 und 107, siehe hier:

    Bitmapressource 107 in msgina.dll, geöffnet in Resource Hacker

    Ok, das ist jetzt ein 413×88×8 BMP, also in 256 Farben. Vielleicht kann man das durch ein 24-bit TrueColor Bild ersetzen, ich habe statt dessen wieder ein 8-bit Bild mit Jarvis-Rasterung reingelegt, dann wird auch die DLL nicht größer und der Systemstart nicht schon wieder langsamer, das ist eh schon schlimm genug, und besser wird es bekanntlich selten. Also so für die 107er:

    Sieht hier häßlicher aus als es ist, weil ich auch den Screenshot als 8-bit PNG abgespeichert habe

    Hat man die gewünschten Ressourcen geändert, dann abspeichern. So, wie geht es weiter? Am besten installiert man sich noch einen Unlocker, der es einem ermöglicht, gesperrte Dateien zu löschen/verschieben/ersetzen, z.B. [LockHunter]. Wenn man nichts installieren möchte, könnte man auch von CD/USB in ein Linux booten. Oder evtl. hat man ja sowieso schon ein MultiBoot auf der Maschine? Auf jeden Fall muß jetzt die %WINDIR%\system32\msgina.dll ersetzt werden.

    Ein Weg kann es sein, in den abgesicherten Modus zu booten, die Datei z.B. mit LockHunter zu entsperren und gleich kurz darauf zu ersetzen, oder das ganze eben aus einem anderen Betriebssystem zu erledigen, wobei man auf die NTFS Berechtigungen achten sollte. Mit aktiver NTFS Vererbung sollte das automatisch sauber funktionieren.

    Danach einfach rebooten, und vielleicht ist das System ja jetzt endlich ruiniert! Ich habe das zumindest geschafft, aber ich habe ja auch die Backups, von denen ich weiter oben keinem gesagt habe daß man sie vielleicht brauchen könnte. Najo, wenn die Sau immer noch nicht abgestochen ist, und man sich deswegen endlich ein anderes Betriebssystem installiert hat (hoffentlich ein UNIX-artiges), dann schaut das halt jetzt z.B. irgendwie so aus:

    Farblich nicht ganz perfekt abgestimmt, aber schon ordentlich besser als das Original! Finde ich.

    Schauen wir uns das ganze noch Mal im Direktvergleich an:

    Lund Standard

    Win2000 GDI Stil ohne Bannermodifikation, mit veränderter Hintergrundfarbe

    Win2000 GDI Stil, mit veränderter Hintergrundfarbe und Bannermodifikation (huch, da hatte ich wohl auch nochmals an den Farben gedreht)

    Ajo, und weil's geht, schauen wir uns das ganze noch mit weniger Farben an, vielleicht gefällt's ja wem?

    Hmmm... Ich bin unsicher.

    Das war's! So viel Arbeit für so derart fast gar nichts!

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Katapultiert mich ja förmlich in die Zukunft dann! :topmodel:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Zuviel Text! :topmodel:

    ….weil Zuviel Zeit!

    Permanent aufgebaut:
    A7V133, Athlon 1,4GHz, 512MB, GeForce3 Ti200 128MB, SB Live! X-Gamer
    Für die LAN:
    TUSL2-C, PIII-S 1,4GHz, 512MB, GeForce2 GTS 32MB, 2x Monster II 12M, SB Live!
    TUSL2-C, PIII-S 1,4GHz, 512MB, GeForce2 GTS 32MB, 2x Monster II 12M, SB Live!
    CUSL2-C, PIII 933MHz, 512MB, G400 Max 32MB AGP, 2x 3D Blaster Voodoo² 12MB, SB Live!
    CUSL2-C, PIII 933MHz, 512MB, G400 Max 32MB AGP, 2x Monster II 8MB, SB Live!

  • Hast du getrunken?

    Nein! Alkohol trinken ist gestrichen.


    But why?

    Weil ich die Zeit hatte und wissen wollte wie es geht. Jetzt schaut die Winlogon GUI gleich aus wie die GUI in meiner User Session. Nicht daß ich Winlogon so oft sehen würde... aber mich hat's einfach interessiert. Wenn ich das später noch Mal machen will (was gut sein kann), dann isses hier dokumentiert.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Haben is besser als brauchen!

    Permanent aufgebaut:
    A7V133, Athlon 1,4GHz, 512MB, GeForce3 Ti200 128MB, SB Live! X-Gamer
    Für die LAN:
    TUSL2-C, PIII-S 1,4GHz, 512MB, GeForce2 GTS 32MB, 2x Monster II 12M, SB Live!
    TUSL2-C, PIII-S 1,4GHz, 512MB, GeForce2 GTS 32MB, 2x Monster II 12M, SB Live!
    CUSL2-C, PIII 933MHz, 512MB, G400 Max 32MB AGP, 2x 3D Blaster Voodoo² 12MB, SB Live!
    CUSL2-C, PIII 933MHz, 512MB, G400 Max 32MB AGP, 2x Monster II 8MB, SB Live!