|
Analýza a transformace kódů
Křoustek, Jakub ; Masařík, Karel (oponent) ; Meduna, Alexandr (vedoucí práce)
Práce popisuje metody a postupy používané k analýze a transformaci kódů. Obsahuje základní informace o vědním oboru reverzní inženýrství a jeho užití ve výpočetní technice i mimo ni. Hlavním cílem je vytvoření prostředku ke zpětnému překladu z binární formy do jazyka symbolických instrukcí. Tato činnost je silně závislá na konkrétní instrukční sadě a musí být použita pro předem známou architekturu procesorů. Uvedený problém je řešen pomocí šablon, zásuvných modulů a modulárnosti zpětného překladače. Zmíněné vlastnosti dovolí uživatelům rozšiřovat program o nové instrukční sady. Výstupem je textová reprezentace instrukcí, funkčně ekvivalentní vstupu. Práce demonstruje nejenom běžně používané postupy dekódování, ale i nové postupy navržené autorem.
|
|
Ochrana softwaru pro Windows proti zpětnému inženýrství
Korvas, Pavol ; Ďurfina, Lukáš (oponent) ; Hruška, Tomáš (vedoucí práce)
Tato práce se zabývá seznámením se se zpětným inženýrstvím, způsoby jeho použití a zneužití v praxi a seznámením se s existujícími nástroji na ochranu softwaru a s nástroji projektu Lissom. Zaměřuje se také na analýzu existujících způsobů narušení ochrany a návrh ochrany pro aplikace projektu Lissom ve spolupráci s licenčním serverem pro operační systém Windows.
|
|
Interaktivní zpětný assembler
Mrva, Milan ; Přikryl, Zdeněk (oponent) ; Křoustek, Jakub (vedoucí práce)
V práci jsou popsané postupy a nástroje zpětného inženýrství v rámci softwaru. Uvedené jsou techniky ochrany před rozkladem či zkoumáním obsahu spustitelného souboru. Představené jsou příklady programů zabývajících se zpětným překladem. Dále se práce zaobírá architekturou procesoru s důrazem na mikroprocesory Intel a Motorola. Jsou ukázané rozdílné formáty spustitelných souborů. Byl implementovaný generický modulovatelný zpětný assembler.V tomto textu je představená jak jeho struktura, tak zásuvné moduly, které prezentují tři různé techniky disassemblovaní. Jeden z modulů používa vícevláknový parser, který je vlastním návrhem autora. Tyto přístupy jsou v závěru porovnané a je nastíněn další vývoj.
|
| |
|
Integrace vývojových prostředků AVG do prostředí Visual Studio 2005
Rajman, Jakub ; Hrubý, Martin (oponent) ; Kočí, Radek (vedoucí práce)
Bakalářská práce pojednává o vytváření malé aplikace zvané add-in pro Visual Studio. Add-in poskytuje vývojovému prostředí několik nových vývojových prostředků AVG. První nástroj nabízí podporu vizualizérů pro debugger Visual Studia. Druhou schopností add-inu je Editor a Manažer Code Snippetů pro jazyk C++. A posledním nástrojem je integrace Programové dokumentace AVG jako help do prostředí Visual Studia. Všechny tyto nástroje spolupracují s firemním serverem.
|
|
Optimalizace výsledků zpětného překladu pomocí dodatečných informací
Končický, Jaromír ; Ďurfina, Lukáš (oponent) ; Křoustek, Jakub (vedoucí práce)
V rámci projektu Lissom je vyvíjen rekonfigurovatelný zpětný překladač, jehož cílem je umožnit zpětný překlad programů, určených pro libovolnou platformu, do libovolného vyššího programovacího jazyka. V době počátku řešení této práce nejsou jeho výsledky ideální, neboť v něm, mimo jiné, nejsou implementovány techniky využívající dodatečné informace o programu. V rámci této práce je popsáno zpětné inženýrství a zpětný překladač projektu Lissom. Jsou zde navrženy techniky využití dodatečných informací ke zlepšení a optimalizaci jeho výsledků, konkrétně se jedná o analýzu datových sekcí a získávání ladicích informací z formátu PDB. Součástí práce je zkoumání struktury a obsahu formátu PDB. Implementace analýzy datových sekcí a použití ladicích informací je zde dále popsána a na závěr jsou zhodnoceny výsledky zpětného překladu při využití těchto technik.
|
|
Simulátor a debugger procesoru PicoBlaze
Vampola, Pavel ; Křivka, Zbyněk (oponent) ; Vašíček, Zdeněk (vedoucí práce)
Tato práce se zabývá procesorem PicoBlaze a možnostmi jeho simulace a ladění. Představí čtenáři strukturu procesoru, jeho instrukční sadu a existující vývojové nástroje. Popisuje návrh a implementaci pluginu pro QDevKit, který umožňuje simulaci a krokování procesoru na počítači i na přípravku FITkit.
|
|
Nástroj pro usnadnění vývoje a testování PHP aplikací
Pavelka, Jan ; Křivka, Zbyněk (oponent) ; Marušinec, Jaromír (vedoucí práce)
Cílem této diplomové práce je seznámení se s nástroji pro usnadnění vývoje a testování webových PHP aplikací a na základě analýzy obecných požadavků a konkrétních požadavků vývojářů IS VUT v Brně navrhnout a implementovat finální podobu celého nástroje. Práce zahrnuje seznámení se s důležitými pojmy týkající se ladících nástrojů PHP aplikací, analýzu a specifikaci požadavků pro vytvoření nástroje, návrh nástroje a popis jeho implementace včetně zhodnocení výsledků.
|
|
Ladicí nástroj generických simulátorů mikroprocesorů
Wilczák, Milan ; Husár, Adam (oponent) ; Přikryl, Zdeněk (vedoucí práce)
Procesory s aplikačně specifickou instrukční sadou se stávají součástí každodenního života, přestože obvykle nejsou na první pohled vidět. Při jejich vývoji je potřeba nějak popsat jejich architekturu, instrukční sadu a chování. Aby jejich vývoj měl smysl, musí být možné pro tyto procesory vytvářet aplikace a při vytváření aplikací se dělají chyby. K jejich objevování slouží debuggery. Tato práce shrnuje některé základní informace pro vytváření debuggerů a popisuje implementaci debuggeru pro procesory vytvářené pomocí projektu Lissom.
|
|
Rekonfigurovatelný ladicí nástroj na úrovni zdrojového kódu
Korvas, Pavol ; Dolíhal, Luděk (oponent) ; Křoustek, Jakub (vedoucí práce)
Tato diplomová práce se zabývá seznámením se s problematikou ladění a principu ladicích nástrojů. Dále práce podrobně zkoumá formát ladicích informací a popisuje návrh ladicího nástroje vytvořeného pro potřeby projektu Lissom. Práce taktéž obsahuje popis implementace jednotlivých navržených částí ladicího nástroje. V závěru práce se nachází testování implementovaného řešení na dvou typech architektur a taktéž shrnutí výsledků této práce.
|