Egy x86-64 emulátort alkalmazó oktatóprogram fejlesztése

dc.contributor.advisorVarga, Imre
dc.contributor.authorPapp, Ádám
dc.contributor.departmentDE--Informatikai Kar
dc.date.accessioned2025-02-23T00:16:52Z
dc.date.available2025-02-23T00:16:52Z
dc.date.created2024
dc.description.abstractSzakdolgozatom célja egy olyan oktatóprogram fejlesztése, amely segítheti a mérnökinformatikus BSc szakos hallgatókat az x86-64 assembly programozás alapjainak megértésében. Az oktatóprogram a hallgatók által írt assembly forráskódot "valós" időben képes futtatni. Az egyes utasítások végrehajtásának nyomonkövetését előre-, valamint hátra lépkedéssel, illetve számos IDE-ben is megtalálható breakpoint funkcionalitással segíti. Az oktatóprogram a Unicorn Engine CPU emulátor keretrendszer köré épül, amely lehetővé teszi gépi kód futtatását és az utasítások végrehajtásának egy adott ponton történő megakasztását egy instrumentációs rétegen keresztül integrált, úgynevezett "hook" mechanizmussal. Az assembly forrásfájlokból a gépi kódot egy C nyelven írt előfeldolgozó alegység nyeri ki, az objdump parancsot felhasználva, Linux operációs rendszer alatt. A Unicorn Engine API-ját használó, szintén C-ben írt emulátor alegység a kinyert, tiszta gépi kódot emulálja és futás közben kimenti az egyes utasítások végrehajtási kontextusát. Egy Python nyelven írt, DearPyGui grafikus könyvtárat használó interaktív grafikus felhasználói felület a kimentett adatokat feldolgozva képes megjeleníteni az utasításokat és azok memóriacímét, az áltanálos és speciális célú regisztereket, beleértve az állapotregiszter bitjeit, a rendszerverem tartalmát hexadecimális és decimális formában, valamint az egyes memóriaszegmensekben található szimbólumok (konstans, illetve inicializált és inicializálatlan változók) tartalmát. Képes továbbá a soron következő utasítás, illetve az RSP regiszter által mutatott érték, a verem tetejének kijelzésére.
dc.description.courseMérnökinformatikus
dc.description.degreeBSc/BA
dc.format.extent70
dc.identifier.urihttps://hdl.handle.net/2437/387531
dc.language.isohu
dc.rights.accessHozzáférhető a 2022 decemberi felsőoktatási törvénymódosítás értelmében.
dc.subjectx86-64
dc.subjectemulátor
dc.subjectoktatóprogram
dc.subjectUnicorn Engine
dc.subjectC
dc.subjectPython
dc.subjectDearPyGui
dc.subjectobjdump
dc.subjectGCC
dc.subjectassembly
dc.subjectLinux
dc.subject.dspaceInformatika::Számítógéptudomány
dc.titleEgy x86-64 emulátort alkalmazó oktatóprogram fejlesztése
Fájlok
Eredeti köteg (ORIGINAL bundle)
Megjelenítve 1 - 1 (Összesen 1)
Nincs kép
Név:
szakdolgozat.pdf
Méret:
1.02 MB
Formátum:
Adobe Portable Document Format
Leírás:
szakdolgozat
Engedélyek köteg
Megjelenítve 1 - 1 (Összesen 1)
Nincs kép
Név:
license.txt
Méret:
2.35 KB
Formátum:
Item-specific license agreed upon to submission
Leírás: