Fenstr, zamachlovat a šlus...

Reimaging je činnost, při které věci mění svůj vzhled. Např. když si své auto doma v garáži přebarvíte na růžovo a přilepíte na něj speciální podběhy vlastní výroby. U aut bychom tomu mohli vlastně říkat customizace (popřípadě by se mohlo jednat o formu ozdobného tuningu:), u počítačových programů je zde k Vaši dispozici... právě reimaging. A nemusíte měnit jen grafiku - přejete si například menu Exploreru v brněnském "hantecu"???

Minislovníček:

  • fenstr - okno,
  • zamachlovat - zavřít,
  • šlus - konec.

V tomto článku se budeme zabývat OS Windows 98SE (u jiných verzí, zejména v řadě NT jsou určité rozdíly) a tudíž i firmou Microsoft. Ta provádí reimaging Windows pro některé speciální zákazníky. Lze to vidět např. v TV seriálech s policejní či špionážní tematikou. Hardware mají jakoby normální, ale to operační prostředí je poněkud neobvyklé. Myslíte si, že je to jen program běžící ve Windows nebo... snad mají vlastní OS? Omyl, to co vidíte, je většinou pouze jiný shell. Prostě jádro operačního systému je stejné jako v běžných Windows, ale ten shell je jiný. Microsoft to nazývá reimaging (joro: pře-imidžování? to zní fakt hrozně...) a onen viditelný grafický kabátek je jen vyvinutý na objednávku pro danou situaci.

My se nebudeme zabývat vytvářením nového shellu, na to je tu někdo jiný (www.shellfront.org). Budeme se zabývat změnami zdrojů (neboli počeštěně "resourcí" - ikon, obrázků, animací, textů... uložených uvnitř spustitelných souborů). Ve windows se používá spustitelný formát nazvaný PE. Tuto zkratku si zapamatujte. Spustitelné jsou soubory s těmito příponami: EXE, DLL, OCX, SCR a CPL. Vyjímečně se lze setkat ještě s NE formátem. Podle mých informací se jedná o pozůstatky z Win16. Na tyto soubory zde uvedené metody použít nelze. Článek je psaný jako návod na několik přesně daných věcí, ale jeho cílem je, aby jste po jeho přečtení mohli získané znalosti použít na kterýkoliv PE soubor a předělat téměř cokoliv, co budete chtít.

Potřebný software

ResourceHacker - editor zdrojů PE souborů
Microangelo - sada programů pro práci s ikonami
Malování (beze srandy)
Hodí se i tento software:
Delphi Open Source Tools
ShowDep

Co by jste měli vědět:

  • Jedna "ikona" může obsahovat více ikon. Pro zobrazení se automaticky vybere ta, která odpovídá požadované velikosti a barevné hloubce vašeho monitoru. Pokud není daná ikona k dispozici, přizpůsobí se nejbližší ikona.
  • Jeden PE soubor může obsahovat více ikon, ty jsou pak očíslované od 001 až do jejich počtu.
  • Hlavní ikona programu má číslo (index) 001.
  • Ikony standardně nabývají rozměrů 16x16, 32x32 a 48x48 pixelů. Mohou být ale jakkoliv veliké. Viděl jsem i 256x96 (system\lights.exe). Microangelo umí vytvořit ikonu do velikosti 64x64.
  • Barevná hloubka ikon je 16 barev, 256 barev a TrueColor. 2 barevné se už nepoužívají.
  • Ideální ikona obsahuje celkem 9 ikon. 16x16x16, 32x32x16, 48x48x16, 16x16x256, 32x32x256, 48x48x256, 16x16xTrueColor, 32x32xTrueColor, 48x48xTrueColor.
  • Často stačí pouze 256ti barevná ikona. V tomto případě nevytvářejte TrueColorové ikony, zbytečně zabírají místo.
  • Vždy si vytvářejte záložní kopie upravovaných PE souborů.
  • Jakýkoliv soubor, který ukládáte se nesmí používat (typicky systémové soubory Windows: explorer.exe, shell32.dll, mydocs.dll,...). Vytvořte si proto jeho kopii a tu upravujte. Namísto původního souboru ho nahrajte v DOSu, tam můžete mazat a přepisovat jakékoliv systémové soubory systému Windows. Nezapomeňte ten originální zazálohovat, tady je to obzvláště důležité, vím to z vlastní zkušenosti.

    Více ikon v jedné ikoně Více ikon v jednom PE souboru

    Změna ikony

    Na tuto činnost sice existují i konkrétní utilitky, ale my to uděláme na první pohled složitěji, zato ale bude krásně vidět jaký je postup. Budeme chtít pouze změnit ikonu, kterou už program má. Příkladem může být kterýkoliv program, u kterého jeho autor ještě nepochopil, že existují i ikony 48x48 nebo i větší. Zde popsaný způsob není jediný možný. Proceduru lze provést i bez využití ResourceHackeru, ale zde popsaný způsob považuji za nejlepší vzhledem k dále popsaným postupům. Na jiný (i jednodušší) způsob jistě přijdete sami.

    Postup:

    1) Programem Microangelo Librarian otevřete požadovaný PE soubor. Můžete použít i Microangelo Explorer.
    2) Vybranou ikonu (hlavní ikona programu má index 001) uložte pomocí Save As ICO ...
    3) Uloženou ikonu otevřete v programu Microangelo Studio.
    4) Malujte, přidávejte, ubírejte ikony,.... podle libosti.
    5) Ikonu uložte a Studio zavřete.
    6) Programem ResourceHacker otevřete PE soubor. Návod k novějšímu (změny jsou minimální), ale anglickému (zatím ho asi nikdo ještě nepřeložil) ResourceHackeru byl v některém z posledních Computerů (číslo už bohužel nevím).
    7) Ve stromu jsou všechny zdroje otevřeného PE souboru, můžete si je prohlédnout a ty textové i přepsat. O tom ale až později.
    8) Na práci se zdroji slouží menu Speciální. V něm můžete měnit obrázkové zdroje a jakýkoliv zdroj uložit (většinou jako binární formát) na disk.
    9) Pro změnu ikony použijte nabídku Nahradit ikonu .... Nejdříve vyberte ikonu, kterou chcete změnit (nejvyšší ikona má index 0).
    10) Otevřete novou ikonu (lze použít i PE soubor; v tom případě vyberte, kterou ikonu chcete použít) a stiskněte Nahradit.
    11) Nyní už jen stačí PE soubor uložit a ResourceHacker zavřít a v případě systémového souboru ho v DOSu překopírovat.

    Tímto se mění ikona v PE souboru

    Změna ikony je hotová, nyní se již můžete těšit z nové ikony u starého programu. Že to ani nebolelo, viďte.

    Změna bitmapy

    Bitmapy se v PE souborech používají jako obrázky v některých dialozích (např. v dialogu pro přidání tiskárny) a jako glyphy (ikony) pro panely nástrojů. Zaměříme se na přemalování panelu nástrojů u složek se soubory. Tyto zdroje jsou uloženy v souboru system\browseui.dll. Tlačítka na panelu jsou běžně šedivá a až po najetí myší se vybarví. Nevím jak vám, ale mě se to nelíbí. Na to existuje jednoduché řešení. Černobílé zdroje nahradíme těmi barevnými. Můžete i použít vlastní ikony, například vytažené z Linuxu.

    Zde je výsledek kombinovaný s Lištičkou

    Postup:

    1) V ResourceHackeru otevřete PE soubor s bitmapou, kterou chceme změnit. Nezapomeňte co jsem psal o systémových souborech.
    2) Ve stromě v podsložce Bitmap jsou jednotlivé bitmapy. V případě editování glyphů v browseui.dll si všimněte, že jsou tam černobílé a stejně velké barevné. Zásadně neměňte bitovou hloubku a rozměry bitmap s glyphy. Taktéž umístění jednotlivých ikon na bitmapě musí zůstat stejné.
    3) V menu Speciální vyberte položku Uloz bitmapu[xxx] a vybranou bitmapu si uložte.
    4) Pokud chcete bitmapu změnit, otevřete si ji v Malování (mě se pro tuto činnost osvědčilo s přehledem nejlépe) a můžete upravovat.
    5) Když už je nová bitmapa hotová, můžete ji uložit zpět do PE souboru.
    6) V menu Speciální je položka Nahradit bitmapu... Vpravo vyberte cílovou bitmapu (bude přepsána) a vlevo otevřete zdrojovou. Můžete použít i PE soubor stejně jako u ikon.
    7) Uložte PE soubor a ResourceHacker ukončete a v případě systémového souboru ho v DOSu překopírujte na původní místo.

    Bitmapa sem, bitmapa tam ...

    Změna bitmapy není jen nějaké obarvení panelu nástrojů. Většina grafických splash screenů používá bitmapu. Není pak problém např. zanechat grafickou vizitku. Fantazii se meze nekladou.

    Práce s textovými zdroji (počeštění programu)

    Zde se dostáváme k textovým zdrojům (resourcím), kterých jste si mohli všimnout v ResourceHackeru. Přepisovat lze všehovšudy tři druhy resourcí: Menu, String Table a Menu (u C++ programů) nebo RCData-TNejakyForm (u Delphi programů, v textovém DFM formátu). Pokud se na tyto zdroje podíváte, bude vám ihned jasné k čemu slouží. V případě Menu a Dialogů můžete ihned po stisknutí tlačítka Kompilace vidět výsledek. Některé Menu nejsou na panelu vidět, v tom případě se nejedná o MainMenu (ty jsou vidět), ale o PopupMenu.

    Úprava menu v programu

    Poznámka: Pokud se divíte, že je na obrázku regedit z WinME i když jsem psal, že používám Win98SE, tak vězte, že je to jedna z mála věcí, které se mi na WinME líbí. Regedit z WinMe lze klidně překopírovat do systému Win98SE a využívat jeho geniální vylepšení.

    Postup:

    1) V ResourceHackeru si otevřete požadovaný PE soubor.
    2) Ze stromu vyberte položku, kterou chcete přepsat (počeštit) a přepište texty.
    3) Ve všech případech stiskněte tlačítko Kompilace, jinak se změny neuloží. (ještě se ale neukládají do cílového PE souboru)
    4) Nyní můžete vybrat jinou položku a pokračovat od bodu 2.
    5) Uložte PE soubor a ResourceHacker ukončete a v případě systémového souboru ho v DOSu překopírujte na původní místo.

    Uložení obecného zdroje

    Ve zdrojích PE souboru nemusí být uloženy jen zdroje, se kterými jsme se dosud setkali, ale mohou tam být přilinkované (tak se to odborně nazývá) i jiné zdroje. Například video AVI, které se přehrává při kopírování souboru, obrázky JPG nebo cokoliv jiného. Tyto zdroje lze vyextrahovat. Teď si povíme jak na to. Jsou dva druhy extrahování souboru. První použijte v případě, že chcete mít soubor tak, jak by měl být. Tzn., že video AVI uložíte s příponou AVI a hned ho můžete přehrát. Druhý způsob spočívá v uložení do RES (RESource) souboru. Zdroje v tomto souboru lze dále upravovat (i třeba to video) a poté vrátit na původní místo. Přiznám se, že s druhou možností jsem zatím nepracoval a ani nemám program, který umožňuje editovat tyto zdroje v RES souboru.

    Postup 1: (uložení do binárního souboru)

    1) V ResourceHackeru si otevřete požadovaný PE soubor.
    2) Ze stromu vyberte položku, kterou chcete uložit.
    3) Z menu Speciální vyberte Uložit zdroj jako binární soubor...
    4) Napište název a soubor uložte.

    Uložení videa AVI ze souboru shell32.dll

    Postup 2: (uložení do RES souboru)

    1) V ResourceHackeru si otevřete požadovaný PE soubor.
    2) Ze stromu vyberte položku, kterou chcete uložit.
    3) Z menu Speciální vyberte Uložit zdroj jako *.res soubor...
    4) Napište název a soubor uložte.
    5) RES soubor otevřete v programu na úpravu RES souborů a upravte jej podle vlastního uvážení.
    6) Z menu Speciální vyberte Aktualizovat ...
    7) Vyberte RES soubor a potvrďte výběr.
    8) ResourceHacker nahlásí, že zdroje byly aktualizovány ("X resource items updated.")
    9) Uložte PE soubor a ResourceHacker ukončete a v případě systémového souboru ho v DOSu překopírujte na původní místo.

    Několik rad na závěr

    Možná se někdo bude ptát, zda je legální, tímto způsobem upravovat programy. Mě se dostalo odpovědi, že je, jelikož se nejedná o modifikaci kódu programu, který je předmětem těchto práv. Určitě by se slušelo uvést, že změnou resourcí lze program předělat k nepoznání, ale nikdy nelze změnit jeho funkci ani funkce přidat. I když na Form přidáte nové tlačítko, už k němu neuděláte proceduru. Upozornění: Pokud se někomu nelíbí co jsem napsal, ať mi to slušně řekne, jsem ochoten vést konstruktivní dialog. Ale jinak ne. Co se týče mé češtiny, tak je mi jasné, že by češtinář asi omdlel, ale prosím vás, nechte si ty "silně kritizující" příspěvky doma, tady se bavíme o jiných záležitostech. Pokud máte jakékoliv dotazy, obraťte se na mě buď přes mail (zstepanek@atlas.cz) nebo níže v diskusi.

    Red.: budeme jen rádi, když se nám pochlubíte svými skvělými "customy" - ten nejzajímavější získá balík medii CD-R Imation. Své výtvory posílejte zde.

    Diskuze (43) Další článek: Instalace Windows XP bez bootovatelné CD-ROM

    Témata článku: Windows, Systémový program, Soubor, Speciální nástroj, Uložení, Hlavní ikona, Strom, Zdroje, Chci, Hotové video, Spustitelný soubor, Menu, Popsaný postup


    Určitě si přečtěte

    Google spouští vlastní VPN a konkurenci se to vůbec nelíbí
    Lukáš Václavík
    SoukromíVPNGoogle
    Jak se šíří Covid v Česku: Čerstvá data, semafor PES, mapy okresů a obcí. Každý den aktualizované grafy

    Jak se šíří Covid v Česku: Čerstvá data, semafor PES, mapy okresů a obcí. Každý den aktualizované grafy

    ** Vývoj COVID-19 v Česku: nakažení, úmrtí, testovaní, hospitalizovaní ** Mapa podle okresů, přehled podle věku, situace v Evropě i ve světě ** Každý den aktualizované grafy a mapy

    Marek Lutonský | 172

    Marek Lutonský
    COVID-19Koronavirus
    Vybrali jsme 12 programovatelných hraček a stavebnic pro děti a jejich rodiče

    Vybrali jsme 12 programovatelných hraček a stavebnic pro děti a jejich rodiče

    ** Získejte děti pro matematiku a základy techniky ** Kupte jim hračku nebo stavebnici, které vdechnou vlastní život ** Vybrali jsme stavebnice pro malé caparty i budoucí experty

    Jakub Čížek | 10

    Jakub Čížek
    Stavebnice
    Čím nahradit WhatsApp: Vyberte si z 10 alternativních komunikátorů

    Čím nahradit WhatsApp: Vyberte si z 10 alternativních komunikátorů

    ** Z WhatsAppu kvůli novým podmínkám utíkají tisíce uživatelů ** Čím nahradit populární aplikaci pro zasílání zpráv? ** Vybrali jsme pro vás 10 alternativních komunikátorů

    Karel Kilián | 110

    Karel Kilián
    KomunikaceWhatsAppInstant Messaging
    Testy procesorů Ryzen 5000: AMD překonalo Intel ve všech směrech

    Testy procesorů Ryzen 5000: AMD překonalo Intel ve všech směrech

    ** AMD začalo prodávat nové procesory Ryzen 5000 s architekturou Zen 3 ** K dispozici jsou nezávislé testy z celého světa ** AMD překonává Intel ve všech směrech

    Karel Javůrek | 69

    Karel Javůrek
    ProcesoryTestyAMD
    Messenger a Instagram přicházejí v Evropě o funkce. Kvůli nové směrnici o soukromí
    Vladislav Kluska
    EvropaInstagramFacebook Messenger
    Co je to UWB? Nová technologie zastoupí Wi-Fi, Bluetooth i NFC a slibuje velké věci

    Co je to UWB? Nová technologie zastoupí Wi-Fi, Bluetooth i NFC a slibuje velké věci

    ** V nových mobilech se začíná objevovat tajemná zkratka UWB ** Jde o další technologii, jak navzájem propojit různá zařízení ** Oproti Wi-Fi a Bluetooth má řadu výhod

    Lukáš Václavík | 36

    Lukáš Václavík
    UWBIoTTechnologie

    Aktuální číslo časopisu Computer

    Jak prodloužit výdrž notebooku

    Velké testy: gamepady a inkoustové tiskárny

    Důkladný test Sony Playstation 5