Odblokování otevírání souborů nápovědy CHM

Otevírání souborů nápovědy ve formátu CHM je ve Windows XP a novějších systémech automaticky blokováno. Microsoft přistoupil k tomuto kroku po odhalení potenciálních bezpečnostních rizik. Ukažme si, jak je vše realizováno a kterak je možné dosáhnout vypnutí tohoto výchozího chování.

Zní to neuvěřitelně, ale nápověda ve formátu Microsoft Compiled HTML Help s příponou CHM letos oslaví třinácté narozeniny od svého uvedení. Během let Microsoft tento formát rozvíjel, ale v roce 2002 se ukázalo, že skrývá určitá potenciální bezpečnostní rizika. Proto bylo rozhodnuto, že otevírání těchto souborů bude automaticky blokováno. Pokud uživatel bude i přesto chtít zobrazit obsah souboru obsahujícího nápovědu, musí nejdříve provést jeho odblokování.

Blokovací bezpečnostní mechanizmus byl do Windows XP doplněn jednou z aktualizací. V případě Windows Vista a Windows 7 jde o nedílnou součást operačního systému.

Microsoft definuje několik zón, ze kterých může CHM soubor pocházet. Na základě původu souboru je následně rozhodnuto o zablokování přístupu k jeho obsahu.
navigace-na-webovou-stranku-byla-zrusena

Například pokud byl soubor zkopírován na pevný disk instalátorem Windows, spadá do zóny My Computer. Ta má tu výhodu, že do ní spadající soubory nejsou blokovány. Pracovat s nimi můžete tedy naprosto bez omezení. Stejné chování je charakteristické i pro flashdisky a další výměnná zařízení nedisponující souborovým systémem NTFS. Naproti tomu obsah souboru na flashdisku se systémem NTFS bude blokován.

Naproti tomu soubory nápovědy stažené z lokální sítě nebo internetu automaticky získávají atribut dokumentující jejich zónu původu Local Intranet, Trusted Sites, Internet či Restricted Sites. Zobrazování jejich obsahu je zakázáno, a pokud si do nich přejete nahlédnout, musíte ručně pro každý ze souborů tuto činnost povolit. V případě, že vám pod rukama během dne projde celá řada různých CHM souborů, oceníte možnost změnit výchozí chování operačního systému a blokování souborů zcela vypnete.

Technické pozadí

Z výše popsaného principu je patrné, že si Windows pamatují informaci o původu každého staženého souboru. Kde je ale uchovávána? V hlavičce každého ze souborů, v registrech nebo snad v nějakém speciálním souboru?

Odpověď skrývá souborový systém NTFS respektive technologie Alternative Data Streams. Každý soubor může (ale nemusí) mít přidružen jeden či více datových streamů. Představte si jej jako objekt, do kterého je možné zapisovat a číst informace, podobně jako do obyčejného souboru.

Jakmile si do počítače stáhnete CHM soubor z internetu, systém založí jeho datový proud a zapíše do něj informaci o zóně jeho původu. Dejme tomu, že soubor umístěný na pracovní ploše se jmenuje php_manual_en.chm. Jak zjistíme, zda má vůbec datový stream vytvořen? Stačí do příkazové řádky v režimu správce zadat příkaz dir /r. Datový stream poznáte podle jména složeného z názvu souboru následovaného dvojtečkou a názvem proudu.
cmd-dir-r

Nyní víme, že stream souboru existuje a zobrazíme si jeho obsah pomocí poznámkového bloku tímto příkazem. Řetězec zone.identifier plní roli názvu datového proudu.

notepad C:\Users\Jirka\Desktop\php_manual_en.chm:zone.identifier

 Otevře se okno poznámkového bloku s obsahem podobným tomu na obrázku.
zone-identifier-poznamkovy-blok

V sekci ZoneTransfer je obsažen atribut ZoneId s hodnotou 3. Hodnota specifikuje bezpečnostní zónu, do níž soubor php_manual_en.chm spadá. Pohledem do tabulky níže zjistíte, že byl stažen do počítače z internetu. Přístup k jeho obsahu tedy bude zablokován, protože Windows podporují ve výchozím nastavení pouze otevírání CHM souborů pocházejících z vašeho počítače – zóny 0.

Zone ID Název zóny
0 My Computer
1 Local Intranet Zone
2 Trusted sites Zone
3 Internet Zone
4 Restricted Sites Zone

Odblokování jednoho souboru

Soubor nápovědy umístěný přímo na pevném disku vašeho počítače je možné otevřít bez větších komplikací. Pokud ale pochází z internetu či jiného síťového zdroje, systém to zjistí díky atributu Zone ID z datového streamu souboru a znemožní zobrazení obsahu souboru. Pro každý jednotlivý stažený soubor můžete pomocí tohoto postupu provést ruční odblokování – tedy sdělit systému, aby soubor přijal za důvěryhodný a přestal jej blokovat.

  1. Klepněte na požadovaný soubor pravým tlačítkem myši a z kontextové nabídky vyberte Vlastnosti.
  2. V pravé dolní části otevřeného dialogového okna si všimněte tlačítka Odblokovat.
    odblokovat
  3. Jeho stisknutím a následným potvrzením tlačítka OK dojde k trvalému odblokování přístupu k obsahu souboru.

Poznámka: Všimli jste si, že u souborů nápovědy otevíraných ze sdílené síťové složky chybí tlačítko Odblokovat? Takové musíte zkopírovat přímo do vašeho počítače nebo zvolit postup uvedený o několik řádků níže.

Vypnutí blokování všech souborů

Pracujete-li často s různými soubory nápovědy, výše popsaný postup aplikovaný na každý jeden soubor by vám mohl značně komplikovat život. Proto máte možnost změnit výchozí chování Windows a sdělit systému, aby povolil přímý přístup k CHM souborům spadajících například do zóny Internet a všech nižších.

  1. Do vyhledávacího pole v nabídce Start napište regedit, čímž spustíte Editor registru.
  2. Stromovou hierarchií projděte do větve HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\. Zde vytvořte pomocí pravého tlačítka nový klíč s názvem ItssRestrictions.
  3. Klepněte pravým tlačítkem na nově vytvořený klíč ItssRestrictions, z kontextové nabídky zvolte Nový. podnabídky vyberte Hodnota DWORD (32 bitová) a nazvěte ji MaxAllowedZone.
  4. Poklepáním na nově vytvořenou hodnotu MaxAllowedZone a zadáním čísla 3 specifikujte, že si přejete nastavit všechny zóny se Zone ID v rozsahu 0-3 jako důvěryhodné.
    registry-maxallowedzone
  5. Tím zajistíte, že přístup k obsahu souborů nápovědy stažených z internetu nebude blokován. Stejně tak soubory ze sdílených síťových složek budou zobrazitelné přímo.
    uspesne-otevreno

Tip: Celý postup můžete elegantně provést zadáním tohoto příkazu do Příkazového řádku v režimu správce:

reg add HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /v MaxAllowedZone /t REG_DWORD /d 3 /f

Tento článek byl napsán pro časopis Computer.

Přečteno 7,611x, z toho 1x dnes.

Published by

Jiri Brejcha

Jiri is passionate about mobility ranging from Wi-Fi to folding bikes;-) He is a Wi-Fi Technical Architect at Cisco UK and proud member of the Cisco Live Network Operations Team and WLAN Pi development team. If not working, he is most likely riding his Brompton bike.

13 thoughts on “Odblokování otevírání souborů nápovědy CHM”

  1. Zkusil jsem provést výše uvedené a ani po restartu mi soubory *.chm stále nejdou na síťovém disku otevřít.

  2. Zkontrolujte prosím, že jste vše provedl přesně podle návodu. Pokud ano, popište prosím blíže vaší konfiguraci. Jakou verzi Windows používáte, odkud přesně otevíráte CHM soubory atd.

  3. Děkuji.
    Kontroloval jsem zda tam nebyl překlep, ale žádný jsem neviděl.
    Klíč jsem tedy smazal a vytvořil znovu a již to funguje.

  4. Souvisí s tímto článkem můj problém? Při otevření nápovědy se mi otevře okno rozdělené na dvě části, ale při kliknutí na téma v levém okně (obsah, rejstřík, hledat) se v pravém okně nepromítne žádná změna, pravé okno zůstane beze změny, tak jak bylo při spuštění.
    Pokud v pravém okně jsou nějaké odkazy nápovědy, tak ty fungují. Díky

  5. Mam podobny problem s exe souborem. Navic mi nefunguje tlacitko Odblokovat. Je dostupne, ale nema zadny ucinek. Mam antivir Avira a pri startu systemu se me to vzdy pta, jestli se ma spustit, i kdyz odskrtnu aby se priste neptal. Navic mi nefunguje scheduler na scan systemu. podle me to je pravama, ale nevim co stim. Mam W7 home prof.

  6. díky, tuto radu jsem potřeboval
    …jen se divím chování Microsoftu, takhle jednoduše odstřelit zajetý format :O

  7. Zdravim, je to moc zajimavy clanek. Mam stejny problem, ale u Exceloveho souboru. Na mych Win 7, jsem si nainstaloval MSOffice 2010. A při otevření několika starších excelovych dokumentu, mi to napsalo ” Soubor byl poškozen”, ale sli odblokovat viz “Odblokování jednoho souboru” v clanku. Nevite jak odblokovat vsechny ? Diky moc za jakoukoliv radu.

  8. dobry den chtela jsem se zeptat moje dcera je na netu jako spravce site ale zapomela heslo a ja bez ni nemuzu nic instalovat dekuji

  9. vdaka pomohlo :)
    velmi dobre spracovanie , zabralo az na druhy raz , ako to tu niekto uz popisolval / copy-paste nieje to iste ako copy-paste na druhu..

    jednoducho na druhy pokus to ide!

    diky Jirko!!

Leave a Reply

Your email address will not be published. Required fields are marked *