Národní úložiště šedé literatury Nalezeno 33 záznamů.  začátekpředchozí21 - 30další  přejít na záznam: Hledání trvalo 0.00 vteřin. 
Retargetable Analysis of Machine Code
Křoustek, Jakub ; Janoušek, Jan (oponent) ; Návrat,, Pavol (oponent) ; Kolář, Dušan (vedoucí práce)
Program analysis is a computer-science methodology whose task is to analyse the behavior of a given program. The methods of program analysis can also be used in other methodologies such as reverse engineering, re-engineering, code migration, etc. In this thesis, we focus on program analysis of a machine-code and we address the limitations of a nowadays approaches by proposing novel methods of a fast and accurate retargetable analysis (i.e. they are designed to be independent of a particular target platform). We focus on two types of analysis - dynamic analysis (i.e. run-time analysis) and static analysis (i.e. analysing application without its execution). The contribution of this thesis within the dynamic analysis lays in the extension and enhancement of existing methods and their implementation as a retargetable debugger and two types of a retargetable translated simulator. Within the static analysis, we present a concept and implementation of a retargetable decompiler that performs a program transformation from a machine code into a human-readable form of representation. All of these tools are based on several novel methods defined by the author. According to our experimental results and users feed-back, all of the proposed tools are at least fully competitive to existing solutions, while outperforming these solutions in several ways.
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.
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.
Disassembler mezikódu jazyka Java
Macháček, Ondřej ; Letko, Zdeněk (oponent) ; Fiedor, Jan (vedoucí práce)
Tato práce se zabývá popisem struktury mezikódu jazyka Java a disassemblováním instrukcí mezikódu jazyka Java. Součástí této práce je knihovna pro disassemblování souborů tříd jazyka Java. Knihovna umožňuje zobrazit veškeré disassemblované informace uložené v souboru tříd. Pro ukázku práce s knihovnou byla napsána i jednoduchá aplikace s grafickým uživatelským rozhraním.
Transformace Windows PE do grafu toku řízení
Jirák, Ota ; Burget, Radek (oponent) ; Kolář, Dušan (vedoucí práce)
Tato práce pojednává o formátu spustitelných souborů EXE. Soustředí se na části potřebné při reverzním inženýrství. Dále se zabývá jazykem symbolických instrukcí, jeho reprezentací v binárních souborech a získání textového popisu instrukcí disasemblerem. Následuje popis převodu na graf toku řízení, detekce základních struktur (větvení a cykly) vyšších programovacích jazyků.
Implementace obecného zpětného assembleru
Přikryl, Zdeněk ; Masařík, Karel (oponent) ; Lukáš, Roman (vedoucí práce)
Tato práce popisuje proces vytváření disassembleru pro nově navrhované procesory. Kritériem při vytváření je jeho automatické vygenerování. Instrukční sada pro procesor je modelována pomocí specializovaného jazyka ISAC, který obsluhuje prostředky pro popis této instrukční sady, jako je například formát instrukce v jazyku symbolických instrukcí, binární zápis instrukce a chování instrukce. Vnitřním modelem je párový konečný automat, který formálně popíše vztah mezi textovou reprezentací instrukce a binárním kódováním instrukce. Z tohoto vnitřního modelu je generován kód překladače - disassembleru. Ten na vstupu přijímá program ve strojovém kódu a generuje ekvivalentní program v jazyce symbolických instrukcí.
Analýza a převod kódů do vyššího programovacího jazyka
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í obecného zpětného překladače neboli dekompilátoru, tj. prostředku pro zpětný překlad z binární formy (případně jazyka symbolických instrukcí) do vyššího programovacího jazyka. Zmíněná činnost je silně závislá na konkrétní instrukční sadě a architektuře procesoru. Tento problém je řešen pomocí popisu sémantiky jednotlivých instrukcí jazykem navrženým pro tento účel. Výstupem je program napsaný ve vyšším programovacím jazyku, funkčně ekvivalentní vstupu. Program je tedy schopen pracovat s jakoukoliv instrukční sadou a kód v ní napsaný pak převést do zvoleného vyššího programovacího jazyku. Tento návrh je v praxi implementován jako součást projektu Lissom. Obecný dekompilátor je zcela nový pojem a pro jeho vytvoření byly autorem navrženy doposud nepublikované techniky z oblastí teorie překladačů a optimalizací.
Využití dynamické analýzy kódu při zpětném překladu
Končický, Jaromír ; Zemek, Petr (oponent) ; Ďurfina, Lukáš (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 více různých platforem, do několika různých vyšších programovacích jazyků. V době počátku řešení této práce v něm nejsou implementovány techniky využívající informace získané dynamickou analýzou zpětně překládaného programu. Využitím těchto technik je však možné výsledky zpětného překladače výrazně zlepšit. Návrh těchto technik je hlavní náplní této diplomové práce. V rámci tohoto textu je popsáno zpětné inženýrství a zpětný překladač projektu Lissom. Jsou zde obecně popsány existující techniky dynamické analýzy, jako je instrumentace a emulace. Poté jsou zde uvedeny konkrétní informace, které lze získat během dynamické analýzy, a navrženy metody jejich využití ve zpětném překladači.

Národní úložiště šedé literatury : Nalezeno 33 záznamů.   začátekpředchozí21 - 30další  přejít na záznam:
Chcete být upozorněni, pokud se objeví nové záznamy odpovídající tomuto dotazu?
Přihlásit se k odběru RSS.