Hexadecimální editor

Hex-editor ( anglicky  hex-editor ), hexadecimální editor  je aplikace pro editaci dat, ve které jsou data prezentována v " nezpracované formě " - jako sekvence bajtů . Může to být buď samostatná aplikace, nebo součást jiné, složitější aplikace, jako je disassembler , debugger , IDE atd.

Pro vyjádření hodnoty bajtů se používá hexadecimální ( anglicky hex adecimal  ) číselný systém , který se odráží v názvu editoru. Volba hexadecimálního číselného systému je způsobena následujícími faktory:

Faktory Je zřejmé, že například pro platformy s 9bitovým byte by se použila třímístná osmičková čísla a aplikace s podobnou funkčností by se nazývala editor Oct.


Data, která Hex editor zobrazuje a umožňuje úpravy, mohou být:

Rozhraní

Hexadecimální editor zobrazuje data jako matici , jejíž každá buňka odpovídá jednomu bytu , zapsaném v hexadecimálním zápisu jako dvoumístné číslo (v případě potřeby s nulou na začátku). Počet sloupců matice je mocninou dvou, nejčastěji 16 nebo 8 sloupců, někdy 4. Počet řádků závisí na počtu bajtů k zobrazení/úpravě. V případě 16 sloupců odpovídá jeden řádek jednomu odstavci .

Kromě toho se často používají další prvky:

Většina editorů umožňuje úpravy jak v levé polovině, tak v pravé (pokud je k dispozici). V tomto případě jsou prováděné změny koherentní [1] .

Jednoduché editory umožňují pouze jednotlivě měnit hodnotu vybraných bajtů. Pokročilé - editace kolekcí bajtů jako pevných bloků [2] , vyhledávání podle sekvencí nebo sekvenčních vzorů.

Hexadecimální editory pro úpravu obrazů disku mohou obsahovat funkce pro obnovu poškozeného systému souborů nebo náhodně smazaných souborů.

Použití

Hexové editory se používají k úpravám netextových dat, kdy specializovaný program pro úpravu existujících dat buď není k dispozici, nebo je jeho použití neopodstatněné či nežádoucí. Příkladem může být provádění změn v kompilovaném programu bez jeho opětovné kompilace. Takže s pomocí Hex editoru můžete změnit hodnoty řetězcových a číselných konstant pevně zapojených do programového kódu, pokud správně určíte jejich umístění.

Pokud má Hex editor funkce disassembleru nebo byl cílový program již předem rozebrán jiným nástrojem a offset je znám, můžete provést změnu přímo v kódu programu a změnit jeho chování. To se používá pro opravu chyb , hackování , podvádění , ruční ladění .

Vzhledem k tomu, že Hex editor je poměrně univerzální nástroj, není možné popsat všechny možnosti jeho použití.

Galerie

Viz také

Poznámky

  1. To znamená, že změny provedené na levé straně se okamžitě projeví na pravé straně a naopak.
  2. Například upravte 8 bajtů jako číslo s plovoucí desetinnou čárkou s dvojitou přesností .