Národní úložiště šedé literatury Nalezeno 29 záznamů.  začátekpředchozí20 - 29  přejít na záznam: Hledání trvalo 0.01 vteřin. 
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.
Zadní část zpětného překladače produkující kód v jazyce C
Urban, Martin ; Ďurfina, Lukáš (oponent) ; Zemek, Petr (vedoucí práce)
Práce popisuje implementaci zadní části zpětného překladače produkujícího kód v jazyce C. Obsahuje základní informace o principech a využití reverzního inženýrství v oblasti informačních technologií i mimo něj. Hlavním cílem je vytvořit zadní část zpětného překladače, která bude generovat kód ekvivalentní vůči vstupu, který bude opět přeložitelný do binární formy se zachováním stejné funkčnosti jako zdrojový binární kód. Výstupem je implementace tříd v jazyce C++, vykonávající popisovanou činnost jako součást obecného dekompilátoru, který je vyvíjený v rámci projektu Lissom.
Optimalizace přední části zpětného překladače
Odaloš, Matej ; Ďurfina, Lukáš (oponent) ; Křoustek, Jakub (vedoucí práce)
Zpětný překladač je nástroj reverzního inženýrství umožňující rekonstrukci strojového kódu na některý z vyšších programovacích jazyků. Tato práce se zaobírá popisem tohoto nástroje, přičemž se soustředí hlavně na zpětný překladač projektu Lissom. Je tu navrhnutých několik technik pro optimalizaci překladu jako statická interpretace LLVM IR kódu a paměť pro výsledky interpretace. Další optimalizace se týkají rozšíření funkcionality přední části překladače, podporu delay slotů a detekci rozložení paměti a endianity. Implementované techniky jsou nakonec demonstrované na generovaném kódu.
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.
Rekonstrukce instrukčních idiomů v rekonfigurovatelném zpětném překladači
Pokorný, Fridolín ; Ďurfina, Lukáš (oponent) ; Křoustek, Jakub (vedoucí práce)
Cílem této práce je detekce a následná transformace instrukčních idiomů využívaných v moderních překladačích. Instrukční idiomy jsou používané pro optimalizaci kódu produkovaného překladačem kvůli tvorbě rychlejších, případně menších spustitelných souborů. Při zpětném překladu však instrukční idiomy zatemňují zpětně přeložený kód. Rekonstrukce instrukčních idiomů proto vede k čitelnějšímu zdrojovému kódu, který je výstupem zpětného překladu.
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í.
Metody detekce funkcí při zpětném překladu kódu
Kábele, Břetislav ; Ďurfina, Lukáš (oponent) ; Křoustek, Jakub (vedoucí práce)
Práce popisuje metody detekce funkcí při zpětném překladu programů. 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. Představen je zpětný překladač, vyvinutý výzkumnou skupinou Lissom na FIT VUT v Brně. Hlavním cílem je objasnění několika metod detekce funkcí, diskutování jejich výhod a nevýhod a zjištění problémů detekce funkcí. Po detekování začátku, konce a těla funkce je potřebné nalézt parametry a návratové hodnoty. Jsou představeny některé algoritmy z této oblasti. Výstupem jsou navržená a implementovaná řešení detekce funkcí a parametrů nezávislá na architektuře.
Rekonstrukce datových typů při zpětném překladu kódu
Matula, Peter ; Ďurfina, Lukáš (oponent) ; Křoustek, Jakub (vedoucí práce)
Práce se zabývá popisem metod rekonstrukce datových typů při zpětném překladu. Je definován pojem zpětného inženýrství a představen zpětný překladač vyvíjen v rámci projektu Lissom, pro potřeby kterého tato práce vznikla. Jsou představeny stávající metody rekonstrukce jednoduchých i složených datových typů a podrobně vysvětleny přístupy založené na analýze toku dat a analýze ofsetů paměťových operací. Jádrem práce je návrh nové techniky rekonstrukce jednoduchých a složených datových typů, vhodné pro nasazení v prostředí rekonfigurovatelného zpětného překladače projektu Lissom. Jsou vysvětleny základní principy nového návrhu, jeho implementace a souvisejících změn ve vyvíjeném zpětném překladači a jeho medzikódě. Výsledné řešení je podrobeno řadě testů. V závěru jsou diskutovány dosažené výsledky, nedostatky a směr další práce.
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.
Zpětný překladač jazyka Java
Žamberský, Zdeněk ; Heriban, Pavel (oponent) ; Roupec, Jan (vedoucí práce)
Práce se zabývá vytvořením zpětného překladače pro jazyk Java. Cílem zpětného překladače je co nejlépe rekonstruovat zdrojový kód jazyka Java z class souborů. V práci je nejdříve rozebírán jazyk Java jako takový, kompilace Javy a struktura souborů class (zkompilovaná podoba Javy). Je také přiblíženo fungování virtuálního stroje Javy a jeho instrukční sada. Poté se přejde k problematice zpětného překladu a popisu algoritmů navržených a použitých pro realizaci zpětného překladače. V práci jsou uvedeny příklady dekompilovaného kódu.

Národní úložiště šedé literatury : Nalezeno 29 záznamů.   začátekpředchozí20 - 29  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.