Národní úložiště šedé literatury Nalezeno 30 záznamů.  začátekpředchozí21 - 30  přejít na záznam: Hledání trvalo 0.00 vteřin. 
Zpětný překlad vybraných konstrukcí jazyka C++
Mihulka, Tomáš ; Zemek, Petr (oponent) ; Matula, Peter (vedoucí práce)
Tato práce se zabývá rekonstrukcí hierarchie tříd a jejich virtuálních metod z programů vytvořených jazykem C++. Cílem práce je rozšířit zpětný překladač, který je vyvíjen v rámci projektu Lissom o analýzu těchto konstrukcí pro různé překladače. Rekonstrukce jsou realizovány detekcí Run- Time Type Information (zkratka RTTI ) a virtuálních tabulek. V úvodní části práce je popsán vědní obor reverzní inženýrství a projekt Lissom s jeho zpětným překladačem. Poté následuje popis jazyka C++, jeho struktur s možnostmi jejich dekompilace. Dále následuje část věnující se návrhu, implementaci a testování rozpoznání RTTI a virtuálních tabulek.
Semiautomatická optimalizace pomocí specializovaných instrukcí
Mikó, Albert ; Hynek, Jiří (oponent) ; Masařík, Karel (vedoucí práce)
Návrh instrukční sady aplikačně specifických procesorů je náročná úloha. Tato práce popisuje problematiku výběru, označení a vytvoření instrukčních rozšíření aplikačně specifických procesorů. Použitá semiautomatická metoda umožňuje uživateli snadný výběr instrukčních rozšíření pomocí označení úseku zdrojového kódu aplikace. Samotné vytvoření nové instrukce v modelovacím jazyku je řešen automaticky. Tím nechá uživatele soustředit se na činnost, při které se nejvíce uplatní vynalézavost a zkušenosti člověka.
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.
Zrychlení vykonávání softwaru pomocí automatických instrukčních rozšíření
Melo, Stanislav ; Dolíhal, Luděk (oponent) ; Masařík, Karel (vedoucí práce)
Jednou z důležitých vlastností aplikačně specifických procesorů je jejich výkon. Aby byl co největší, musí se procesor přizpůsobit potřebám aplikace, kterou bude vykonávat. Jedním ze způsobů přizpůsobení se je hledání vhodných instrukcí, které se následně spojí do jedné speciální instrukce. Daná instrukce je pak implementována v hardwaru jako jeden funkční blok, takže se vykoná rychleji. Tahle práce popisuje problém nalezení a vybrání vhodných kandidátů na instrukční rozšíření. Také poskytuje stručný přehled pár nejznámějších algo- ritmů na řešení tohohle problému. Dále se práce detailněji zabývá algoritmem single-cut a jeho implementací.
Automatické vyhledávání instrukčních rozšíření aplikačních procesorů
Češka, Martin ; Křoustek, Jakub (oponent) ; Masařík, Karel (vedoucí práce)
Tato práce se zabývá procesem automatického vyhledávání instrukčních rozšíření u aplikačně-specifických procesorů. K tomuto procesu je použito mírně upraveného algoritmu ISEGEN. Nejdříve jsou popsány veškeré důležité pojmy týkající se tohoto procesu včetně vybraného algoritmu ISEGEN. Následuje podrobný popis implementace celého procesu do jazyka C++.  Nakonec je výsledný program zhodnocen na základě urychlení vykonávání vstupních programů na daném aplikačním procesoru při použití vyhledaných instrukčních rozšíření.
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.
Generický zpětný překlad programů v bajtkódu do vyšší formy reprezentace
Mrázek, Petr ; Zemek, Petr (oponent) ; Křoustek, Jakub (vedoucí práce)
Práce popisuje postupy a principy zpětného překladu. Uvádí základní informace o zpětném inženýrství a jeho užití v oboru softwarového inženýrství i inženýrství obecně. Dále představuje zpětný překladač vyvíjený v rámci projektu Lissom na FIT VUT v Brně. Cílem práce je navrhnout a implementovat rekonfigurovatelný zpětný překladač bajtkódu navazující na tento překladač.
Migrace zdrojových kódů pomocí dekompilace
Korec, Tomáš ; Ďurfina, Lukáš (oponent) ; Zemek, Petr (vedoucí práce)
Tato práce se zabývá migrací zdrojových kódů vysokoúrovňových programovacích jazyků pomocí dekompilace. Migrační nástroj vyvinutý v rámci práce je postaven na prostřední a zadní části dekompilátoru projektu Lissom. V práci je rozebráno několik překladačů, které ze vstupního jazyka generují kód v LLVM IR. Vhodné překladače byly vybrány pro integraci do migračního nástroje. Kód přeložený do LLVM IR je vstupem prostřední optimalizační části dekompilátoru. Výstupem migračního nástroje je kód v jazyce C nebo v jazyce podobném Pythonu generovaný zadní častí dekompilátoru. Vstupními jazyky jsou Fortran a jeho dialekty, C/C++/Objective-C/Objective-C++ a D. V práci jsou popsány problémy spojené s migrací těchto jazyků, jejich řešení a způsoby jak zlepšit kvalitu a čitelnost výsledného kódu.
Strukturování kódu v zadní části zpětného překladače
Hrbek, David ; Matula, Peter (oponent) ; Zemek, Petr (vedoucí práce)
Cílem této práce bylo navrhnout a implementovat algoritmus pro strukturování kódu v zadní části zpětného překladače projektu Lissom. Zabývá se problémem eliminace nepřímých skoků (branch/goto) z nízkoúrovňového kódu s využitím vysokoúrovňových konstrukcí, jako jsou podmíněné příkazy (if, switch) a cykly (for, while). Práce obsahuje teoretický úvod do problematiky zpětného překladu, informace o zpětném překladači projektu Lissom, návrh algoritmu pro strukturování kódu, popis jeho implementace, popis sady testovacích úloh a shrnutí výsledků.

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