FAHEX - formátově orientovaný hexeditor
FAHEX - Format Aware HEXeditor
bakalářská práce (OBHÁJENO)

Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/101198Identifikátory
SIS: 195056
Kolekce
- Kvalifikační práce [11320]
Autor
Vedoucí práce
Oponent práce
Čech, Přemysl
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové a datové inženýrství
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
6. 9. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
hex editor formát struktura pohledKlíčová slova (anglicky)
hex editor format structure viewPokud programátor potřebuje univerzální nástroj pro editaci binárních souborů, použije binární editor, nejčastěji hex editor. Editace pomocí binárního editoru je však pracná a náchylná k chybám. Cílem této práce je vytvořit hex editor, který kromě standardního hexadecimálního a znakového pohledu poskytuje navíc i strukturovaný pohled na obsah souboru, získaný na základě popisu formátu souboru dodaného uživatelem. Strukturovaný pohled umožní procházet strukturu souboru a měnit celé hodnoty namísto jednotlivých bytů, čímž značně usnadní editaci. Formát souboru je popsán v rozšiřitelném jazyce XAML vyvinutém společností Microsoft. Práce implementuje framework pro vytváření nových popisných prvků jazyka a pomocí něj sadu základních popisných prvků použitelných pro popis mnoha formátů. Práce také implementuje framework pro vytváření nových prvků strukturovaného pohledu, jenž slouží jako uživatelské rozhraní pro popisné prvky, pomocí něj je pak implementována sada základních pohledových prvků. Propojení těchto dvou frameworků je docíleno pluginovým systémem, který umožňuje vytvářet různá uživatelská rozhraní pro stejný popis formátu. Frameworky spolu s pluginovým systémem umožňují uživateli rozšířit popisný jazyk i strukturovaný pohled bez nutnosti rekompilace, a to dokonce za běhu editoru.
Whenever a programmer needs an universal tool for editing binary files, he/she uses a binary editor, usually a hex editor. However, editing a file using the binary editor is tedious and error prone. The goal of this thesis is to create a hex editor that on top of standard hexadecimal and character views provides a structured view of the file contents, generated from a user supplied format description. The structured view enables to inspect the file structure and change whole values instead of individual bytes and thereby significantly simplifies the editing. Format is described in extensible language XAML developed by Microsoft corporation. Thesis implements a framework for creating new description elements for the language and within the framework a set of basic description elements useful for description of many formats. Thesis also implements a framework for creating new elements of the structured view that serve as an user interface for the description elements. Again, a set of basic view elements is implemented in this framework. The two frameworks are interconnected with a plugin system that enables to create various user interfaces for the same format description. Frameworks together with the plugin system enable the user to extend the description language and the structured view without...