V tomto článku se pokusím čtenářům přiblížit programy, kterým se říká binární editory a jež slouží k editaci především binárních souborů, tedy všech programů a nejrůznějších dat. Lze je také použít i na překlad cizojazyčných programů do češtiny (a naopak).
Prvním z nich je GEMHEXED, hex file editor verze 1.02, freeware program z roku 1996 od Marka Slagella. Chodí na všech počítačích Atari ST/STe/TT/ Falcon a je založen na GEMové bázi. Při otevření souboru se vybraný soubor umístí do okna, v němž každá řádka reprezentuje 16 Bytů v hexadecimální a vedle v ASCII podobě. Lze nahrát i více souborů, v tom případě bude každý ve svém okně. Množství otevřených souborů a tedy i oken je závislé na aktuálním operačním systému. GEMHEXED také umožňuje ochranu editace souboru. Tato ochrana je při otevření určitého soubory vždy zapnuta, takže si nelze neopatrným stisknutím klávesy zničit data v programu. Tuto volbu je samozřejmě možno vypnout v menu nastavení. V každém okně se nacházejí dva kurzory, jeden v hexadecimální části okna a druhý v ASCII části. Je-li některý z nich aktivní, zobrazí se jako vyplněný obdélník (neaktivní zůstává jako prázdný čtvereček). Stačí jen myší kliknout na požadovný kurzor a ten tím umožní editaci souboru, podle umístění kurzoru právě buď hexadecimálně nebo pomocí ASCII znaků. Místo myši lze použít i klávesu Esc. Navíc lze v programu GEMHEXED editovat jak v módu "insert" (vkládání), tak i "replace" (nahrazování). Výška kurzoru udává, který mód je právě zapnut; poloviční výška indikuje vkládací (insert) mód. Při něm se znaky nepřepisují, nýbrž se posouvají doprava. Mód nahrazování přepisuje aktuální znaky.
GEMHEXED disponuje i prací s bloky, máme zde klasické funkce vystříhnout, kopírovat a vložit. To vše se děje přes interní zásobník (buffer) v paměti, GEM clipboard není podporován. Bloky lze označovat jak myší, tak i přes menu příkazy "začátek bloku" a "konec bloku". Navíc lze blok ukládat a také načítat přes funkci "Merge". S programem GEMHEXED lze navíc i vytvořit nový soubor. Stačí zvlolit funkci "Open..." a poté vložit zatím neexistující název. Objeví se prázdný soubor a my můžeme začít zadávat jak ASCII text, tak hexadecimální hodnoty. Program také podporuje příkazovou řádku. Pokud do ní vepíšeme název či názvy několika souborů, GEMHEXED je všechny po svém startu otevře. Samozřejmě v programu nechybí vyhledávací funkce, vyhledávat lze však pouze text v ASCII části, nikoliv v hexadecimální. Tam je možné použít skok na určitou pozici.
Dle mých zkušenností se jedná o asi nejlepší program ze zde uvedených. Na STe jsem jeden čas používal Rewriter, ale od té doby co mám Falcona, používám jedině GEMHEXED.
Druhým programem je HEX_EDIT verze 1.1. Jedná se o freeware program, jehož autorem je Dirk Sabiwalsky. Obsah souboru je opět umístěn do okna a tím je umožněno otevření více oken najednou. Zobrazení je možné jak v hexadecimální a ASCII podobě, tak i v kombinované - hex i ASCII vedle sebe v okně. Také HEX_EDIT umí vytvořit nový program - je však třeba předem zadat jeho velikost v Bytech a tuto nelze později změnit, což je poměrně nepochopitelné omezení. Umí také pracovat s bloky, ovšem pouze myší. Podporuje GEM clipboard a tudíž je možné části jednoho souboru nakopírovat do clipboardu a poté je přihrát do jiného souboru. Jedná se tedy o jednodušší práci s bloky. Program také obsahuje vyhledávací a nahrazovací funkce. Lze vyhledávat jak ASCII text, tak i hexadecimální hodnoty.
HEX_EDIT umí ovšem také lehce disassemblovat. Nejedná se ovšem o 100% dissasemblování. Problémem jsou zejména absolutní adresy - tyto nejsou interpretovány správně. Možnou pomocí je relokace daného souboru, což ovšem také nemá 100% účinek. Funkce mohla být vylepšena v dalších verzích, ovšem program se již své další verze nedočkal (alespoň pokud vím).
HEX_EDIT splňuje požadavky na binární editor, je ovšem poněkud chudší než GEMHEXED a tak je lepší používat ten.
Posledním programem v naší malé recenzi je REWRITER verze 2.3 od Petra Stehlíka. Je nejmladším programem (z roku 1992) a jak jej popisuje sám Petr, potřeboval by dodělat 100% GEMové rozhraní a blokové funkce. Rewriter je poněkud jednodušším binárním editorem, chybí mu zmíněná práce s bloky a navíc neumožňuje otevřít více než jeden soubor současně. Aby toho nebylo málo, nerozumí si zcela s novým Falconním AESem, takže v rozlišení jiném než ST-kompatibilním (příp. větším, ale 2barevném) padá. Na STe však patřil jeden čas k mým oblíbeným binárním editorům. Program umožňuje prohlížet a upravovat jakékoliv soubory. Byl vyvinut speciálně za účelem počeštění programů, které neměly RSC soubor. Dá se však samozřejmě použít i např. pro hledání hesel v programech. Disponuje velmi rychlým vyhledávacím algoritmem, který má tu zajímavou vlastnost, že čím delší slovo hledáte, tím rychleji ho najde. Má také správně implementované UpperCase z českých znaků. Bohužel však lze mít otevřen vždy jen jeden soubor a chybí blokové operace. Navíc nelze vytvořit nový (čistý) soubor. A ke všemu ještě zlobí na Falconu.
Závěrem je tedy možné říci, že nejlepší volbou je program GEMHEXED, který svými funkcemi uspokojí nároky na binární editor. Možná existují ještě i některé další binární editory, ale já v současnosti o žádném jiném zprávy nemám.
Neznámý vojín