reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Změna boot obrazovky Windows 2000/XP :)

trodas (1753)|12.2.2008 18:54
Takový snadný malý hack win :D

Tak dneska jsem chtěl dosáhnout nějakého úspěchu v modifikování Winblowsů, takže jsem si vybral něco snadného :) Windows bootovací obrazovku. Google vyplivl tento link:
http://www.littlewhitedog.com/content-9.html
A zdálo se mi, že to dělají moc problematicky. Myslím tím - proč prostě jen nemodifikovat NTOSKRNL.EXE a nevytvářet NTOSKRN1.EXE a neměnit boot.ini soubor kvůli tomu? Je to tak mnohem helčí a na tom se přeci nedá nic zkazit, no ne? ;)

Takže nahodíme si ResHacker prográmek a otevřeme v něm NTOSKRNL.EXE. Rozbalíme si volbu Bitmap a položky 1, 4, 9 a 12 jsou 640x480 pixelů velké bootovací obrazovky. Číslo 1 je normálně to používané, ve většině případů:
1 - Windows 2000 bootovací obrazovka
4 - Windows 2000 server bootovací obrazovka (copyright 1985 - 1999)
9 - Windows Powered bootovací obrazovka (?!)
12 - Windows 2000 server bootovací obrazovka (copyright 1985 - 2000)

Tyto jsu uloženy jako Windows BMP 4bit (16 barev) bitmpy s RLE kompresí. (Photoshop 6.01 ukádá tyhle bitmapy při zapnuté RLE kompresi špatně, kazí je, takže použijte něco jiného, třebaPaintShop Pro 7.04 šlape dobře)

Takže nyní stačí jen si vybrat nějaký hezký 16barevný obrázek.

Jelikož NTOSKRNL.EXE soubor je 1 712 720 bytů velký, tak by někoho mohlo napadnout že menšími obrázky by se dal zoptimalizovat a zmenšit.

Zajímavá věc, kterou nikdo neuvádí ve většině (ne-li ve všech) návodů je, že na vykreslování těch ukazatelů průběhu je použita druhá barva z těch 16-ti barviček obrázku. Takže doporučuji aby byla trošku světlejší, pokud chcete ten indikátor dobře vidět. I když rozlišení 640x480 v 60Hz bliká znatelně méně při tmavších obrázcích (defaultní bílé pozadí je SadoMaso na oči) a tak bych tmavší obrázky doporučoval - méně to bude blikat.

Zajímavost. Použil jsem program PIXmate z roku 1986-89 (!) k přehození těch barev v paletě, abych měl druhou barvu pěkně světlou :)

Pokud byste o takovem programu náhodou nikdy neslyšeli a nevěděli kde ho stáhnout, tak vězte, že je pro Amigu a běží jen pod Amiga OS. Já ho spustil pod UAE, když se očividně ukázalo, že PC aplikace nejsou vhodné pro práci s bitmapani, když neumí ani přehodit barvy v paletě... :angry

Enjoy!


PS: zdá se, že pro XPčka je to podstatně složitejší, protože M$ se rozhodl ukládat paletu těch startovacích 16-ti barevných obrázků do suboru zvlášť a tím pádem vidíte jen černo-černou tmu jak v Resource Hackeru, tak v Paint Shopu kde je nahrajete. Když ale k nim nahrajete tu správnou systémovou paletu tak se obrázky nejednou jako zázrakem objeví - ale pozor, jen když v dialogu na nahrátí palety zaškrtnete "Maintain Indexes" :rules

Jak je vám už asi jasné, tak položky 10, 11, 12, 13, 16, 17 a 18 je rozumné přepsat 1x1 pixelů velkým obrázkem, aby zmizely navždy :) Zeditujte si svou boot obrazovku, nezapomeňte si uložit její paletu a nahraďte svou bitmapou tu v ntoskrnl.exe fajlu.

A teď přijde to těžké - nj, Xpčka... Otevřete si ntoskrnl.exe v nějakém hezkém hexaeditoru (já doporučuji XVI32) a dejte vyhledat přesně tohle:
[CODE]00 00 00 00 15 1A 20 00 46 46 46 00 D2 3E 2D 00 01 65 53 00 05 35 B2 00 7E 7E 7E 00 00 92 89 00 FC 7F 5E 00 20 6B F7 00 FF A6 8D 00 04 DC 8E 00 1B BC F3 00 BC BC BC 00 FC FC FC 00 FF FF FF[/CODE]
Je to ta systémová paleta kterou XPčka použijí při bootu. Jenže není v decimálních hodnotách, jako vám Paint Shop Pro uložil paletu, ale v HEXa. Takže, nahoďte si kalkulačku, zapněte vědeckou a začněte převádět paletu do M$ zápisu v HEXa. Mezi každou RGB hodnotou palety je jedna mezera - dvojice nul. A aby toho nebylo málo, tak M$ prohodil vždy první a poslední hodnoty - viz paleta pro můj obrázek:
[CODE]JASC-PAL
0100
16
0 0 0 -> 00 00 00 -> 00 00 00
237 204 115 -> ED CC 73 -> 73 CC ED
70 70 70 -> 46 46 46 -> 46 46 46
45 62 210 -> 2D 3E D2 -> D2 3E 2D
83 101 1 -> 53 65 01 -> 01 65 53
178 53 5 -> B2 35 05 -> 05 35 B2
126 126 126 -> 7E 7E 7E -> 7E 7E 7E
137 146 0 -> 89 92 00 -> 00 92 89
94 127 252 -> 5E 7F FC -> FC 7F 5E
247 107 32 -> F7 6B 20 -> 20 6B F7
141 166 255 -> 8D A6 FF -> FF A6 8D
142 220 4 -> 8E DC 04 -> 04 DC 8E
243 188 27 -> F3 BC 1B -> 1B BC F3
200 200 207 -> C8 C8 CF -> CF C8 C8
206 159 34 -> CE 9F 22 -> 22 9F CE
255 255 255 -> FF FF FF -> FF FF FF

Takže z toho máme tento řetězec:

00 00 00 00 73 CC ED 00 46 46 46 00 D2 3E 2D 00 01 65 53 00 05 35 B2 00 7E 7E 7E 00 00 92 89 00 FC 7F 5E 00 20 6B F7 00 FF A6 8D 00 04 DC 8E 00 1B BC F3 00 CF C8 C8 00 22 9F CE 00 FF FF FF[/CODE]

A tím nahradíme to, co v souboru ntoskrnl.exe je, čímž Windows použijí naši paletu. Výsledkem nahraďte (zálohujte si originál!) originální soubor a máte novou boot obrazovku :thumb

Na výměnu suboru budete asi potřebovat vypnout WFP (ochranu souborů Windows) či originál prostě přejmenovat (třeba ba ntoskrnlXXX.exe), do adresáže Windows/system32 nahrát správně pojmenovaný ntoskrnl.exe a nevkládat install CD Windowsů a dát storno, když budou chtít originál obnovit.

Nějaké linky na návody v angličtině jsou zde:
http://www.geocities.com/thejjoelc/XPbootcolors.html
http://www.thetechguide.com/howto/xpbootlogo/
http://www.jakeludington.com/windows_xp/20...oot_screen.html
Encore1106 (424)|12.2.2008 20:31
Na změnu bootovací obrazovky stačí pár kliknutí v TuneUp Utilities 2008. ;)
trodas (1753)|12.2.2008 22:29
Ale to bych musel neco instalovat a pokazdy instalaci windows taky. Takhle si to upravim, zazalohuji ten fajl a mam to navzdy a bez instlace dalsich veci do win. Vlastne si to tak muzu zabudovat do instalacky primo... hmmm! Evil idea! :D
trodas (1753)|6.1.2009 17:24
Pokud by se někomu nelíbily moje SM winblowsy, tak co takhle Win2k SP4 bootscreen?
trodas (1753)|14.3.2009 20:56
Nejslabsi pocal na kterem jsem tohlecto zkusil byl Asus P3B-F, coz je staricky Slot 1 mainboard s 64MB SDRAM (sakra, chtelo by to nejake dalsi SDRAMy...) a Celeronem 433 pretocenym na 487MHz - kdyz zmenim boot screen Windows jak jsem popsal tady, tak to na TOMTO a jen na TOMTO stroji nefunguje a VZDY se zastavi pri bootu asi na 80% toho progress indikatoru (!), coz nechapu... Zmena souboru NTOSKRNL.EXE za original pod ERD Commanderem problém vyřešila.
Je fakt, ze tento pocal je dost stary a dost nestandardne jsem v nem na test pouzil jakysi 820MB WD disk a tento je tak stary, ze DMA nezna (!) a jede mi na PIO2 - ale proc by kvuli neslo modifikovat NTOSKRNL.EXE - a vymenit v nem jen jednu bitmapu za druhou - to je mi ovsem opravdovou zahadou ktere se pokusim prijit jeste na kloub.

Pokud by nekoho neco napadlo, budu jen rad, kdyz napise. Testoval jsem to 4x. Stejny NTOSKRNL.EXE bootujici v pohode na jinych pocitacich se na tomto vzdy zasekne v bootu. Nechapu.
sheppi (37)|23.3.2009 00:03
pod XP je podle mě nejjednodušší použít freewarový prográmek od Stardocku s názvem BootSkin, který vlastně použije výše zmíněnou fintu, čili nahradí bitmap v souboru ntoskrnl.exe, vytvoří kopii, přejmenuje ji a navede na ni zavaděč pomocí souboru boot.ini :)
trodas (1753)|11.7.2009 10:07
No pro zacatecniky je to urcite to nejjednodussi. Stejna finta to ale, pokud budene hnidopisi, neni. Ja tu popisuji nahrazeni souboru a to vyradi potrebu editace boot.ini. Na druhou stranu bez zalohy souboru (jenz ale je na instalacnim CD, staci dat expand ntoskrnl.ex_ ntoskrnl.exe) se pak nelze vratit zpet :)