Detail práce

Dekódování binárního kódu do vyšší formy reprezentace

Diplomová práce Student: Macko Lukáš Akademický rok: 2014/2015 Vedoucí: Matula Peter, Ing.
Název anglicky
Binary-Code Decoding to a High-Level Representation
Jazyk práce
český
Abstrakt

Diplomová práce se zabývá zpětným inženýrstvím v oblasti software. Představuje jeho uplatnění, používané nástroje a postupy. Podrobněji se věnuje problematice dekódování instrukcí. Uvádí dva základní postupy-lineární dekódování a rekurzivní sestup. Poukazuje na jejich silné stránky a nedostatky. Následně představuje zpětný překladač vyvíjenýspolečností AVG Technologies. Tento překladač je rekonfigurovatelný, což umožňuje zpětný překlad z různých architektur do více cílových jazyků. Cílem práce bylo navrhnout a implementovat algoritmus pro dekódování binárních souborů do vyšší reprezentace. Navržený algoritmus vychází z algoritmu rekurzivního sestupu. Využívá informace o toku řízení programu. Pro zpřesnění výsledku dekódování jsou navíc použity záznamy z tabulky symbolů a další informace. Navržený algoritmus byl implementován pro rekonfigurovatelný zpětný překladač společnosti AVG Technologies. Testy implementovaného algoritmu ukázaly zlepšení detekce funkcí v dekódovaných programech. Implementované řešení navíc umožňuje dekódovat i soubory, jejichž analýza s aktuálním řešením nebyla možná.

Klíčová slova
zpětný překladač, dekódovaní instrukcí, LLVM IR, hybridní analýza
Ústav
Studijní program
Informační technologie, obor Inteligentní systémy
Stav
obhájeno, hodnocení B
Obhajoba
23. června 2015
Oponent
Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Otázky u obhajoby
  1. Nový způsob dekódování je oproti stávajícímu zjevně náročnější. Mohl byste blíže porovnat oba přístupy z hlediska časové složitosti?
  2. Z uvedených výsledků testů se zdá, že veškeré dekódování probíhá úspěšně. Jsou případy, na kterých navržené řešení selhává? Případně rozeberte.
Komise
Zbořil František V., doc. Ing., CSc. (UITS FIT VUT), předseda
Bartík Vladimír, Ing., Ph.D. (UIFS FIT VUT), člen
Bidlo Michal, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Hrubý Martin, Ing., Ph.D. (UITS FIT VUT), člen
Meduna Alexander, prof. RNDr., CSc. (UIFS FIT VUT), člen
Steingartner William, Ing., Ph.D. (TUKE), člen
Citace
MACKO, Lukáš. Dekódování binárního kódu do vyšší formy reprezentace. Brno, 2015. Diplomová práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2015-06-23. Vedoucí práce Matula Peter. Dostupné z: https://www.fit.vut.cz/study/thesis/17704/
BibTeX
@mastersthesis{FITMT17704,
    author = "Luk\'{a}\v{s} Macko",
    type = "Diplomov\'{a} pr\'{a}ce",
    title = "Dek\'{o}dov\'{a}n\'{i} bin\'{a}rn\'{i}ho k\'{o}du do vy\v{s}\v{s}\'{i} formy reprezentace",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2015,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/17704/"
}
Nahoru