Multiplatform Extensible Hex Editor
Multiplatformní rozšiřitelný hex editor
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/200569Identifikátory
SIS: 266896
Kolekce
- Kvalifikační práce [11978]
Autor
Vedoucí práce
Oponent práce
Bednárek, David
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Obecná informatika
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
19. 6. 2025
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
hex editor|C#|Roslyn|DSLKlíčová slova (anglicky)
hex editor|C#|Roslyn|DSLTato bakalářská práce obsahuje návrh a implementaci multiplatformního rozšiřitel- ného hex editoru s podporou vizualizace strukturovaných dat. Na rozdíl od tradičních hex editorů, které zobrazují surová binární data, editor vyvinutý v této práci umožňuje uži- vatelům prohlížet obsah souboru podle definované struktury, což usnadňuje interpretaci složitých binárních formátů. Pro zajištění flexibility a rozšiřitelnosti je zaveden vlastní doménově specifický jazyk (DSL), který umožňuje uživatelům popisovat binární struk- tury souborů stručně a čitelně. DSL je založen na syntaxi jazyka C# a je kompilován do C# kódu pomocí generátoru zdrojového kódu založeného na Roslynu. Parsovací me- chanismus je založen na vlastním modulárním frameworku, který je navržen tak, aby s jeho pomocí bylo možné popsat libovolný formát. V rámci práce je pomocí DSL popsáno několik běžných binárních formátů, které jsou správně zpracovány a zobrazeny v aplikaci. Výsledkem je silný a rozšiřitelný nástroj pro práci s binárními daty napříč platformami.
This thesis presents the design and implementation of a multiplatform extensible hex editor with support for structured data visualization. Unlike traditional hex editors that display only the raw form of the binary data, the editor developed in this thesis allows users to view file contents according to a defined structure, making complex binary formats easier to interpret. To enable flexibility and extensibility, a custom domain- specific language (DSL) is introduced, allowing users to describe binary file structures in a concise and readable way. The DSL is based on C# syntax and is compiled into C# code using a Roslyn-based source generator. The parsing mechanism is based on custom modular parsing framework, which is designed to provide tools for describing arbitrary format. As part of the thesis, several common binary formats are described using the DSL and correctly parsed and displayed in the application. The result is a powerful and extensible tool for working with binary data across platforms.
