OPUS


Volltext-Downloads (blau) und Frontdoor-Views (grau)

Automatisierte Befehl-Ressourcen-Trennung einer Von-Neumann-Maschine : am Beispiel der Sharp-LR35902-CPU

  • Ein Compiler oder Assembler wandelt Quellcode in ein ausführbares Programm um. Das resultierende Binary besteht aus Befehlen und Ressourcen, wie Bilder, Sounds oder anderen Informationen. Ohne den Ausführungskontext kann jedoch nicht im Vorhinein mit absoluter Sicherheit eine Angabe gemacht werden, bei welchen Bytes es sich um Anweisungen und bei welchen Abschnitten im Programm es sich um Ressourcen handelt. Bei einer Untersuchung oder einem Dekompilierungsvorgang der binären Datei gestaltet sich diese bzw. dieser ohne vorliegenden Quellcode sehr schwierig. Als Beispiel für eine Von-Neumann-Architektur wurde in dieser Arbeit der Game Boy mit seiner Sharp-LR35902-CPU gewählt. Mit Banking verwendet die Architektur sowohl historische Technologien, ähnelt aber dennoch sehr den derzeit häufig genutzten x86-64-CPUs von Intel oder AMD. Außerdem bieten die kleinen Programme von maximal zwei Mebibyte die Möglichkeit, auch in ineffiziente Ansätze auszuprobieren. In dieser Arbeit wurde anhand der folgenden sieben Lösungsansätze erläutert, wie man eine Befehl-Ressourcen-Trennung erzielen kann. � Manueller Ansatz (siehe Kapitel 3.1) � Metadaten-Ansatz (siehe Kapitel 3.2) � Alles-Befehle-Ansatz (siehe Kapitel 3.3) � Statistischer Ansatz (siehe Kapitel 3.4) � Emulationsansatz (siehe Kapitel 3.5) � Programmflussansatz (siehe Kapitel 3.6) � Brute-Force-Ansatz (siehe Kapitel 3.7) Insbesondere wurden drei automatisierte bzw. teilautomatisierte Ansätze implementiert und anschließend mit einer manuellen Trennung als Referenzwert verglichen. Dabei erzielte, bei dem verwendeten Kontrollprogramm ”StefaN”, der Programmflussansatz ein gutes Ergebnis. Das mittels Emulationsansatz gewonnene Ergebnis schloss etwas schlechter ab. Der Brute-Force-Ansatz scheiterte an exponentiellen Wachstum und erzielte damit das schlechteste Ergebnis. Eine korrekte Trennung konnte nur mit dem manuellen Ansatz erreicht werden. In dieser Arbeit konnte keine vollautomatisierte Lösung für das Problem gefunden werden. Grundsätzlich kann festgehalten werden, dass eine Befehl-Ressourcen-Trennung einer ausführbaren Binärdatei auch in Zukunft eine Herausforderung darstellt.

Download full text files

Export metadata

Additional Services

Search Google Scholar

Statistics

frontdoor_oas
Metadaten
Author:Felix Fischer
Advisor:Wilfried Schubert, Rico Beier-Grunwald
Document Type:Bachelor Thesis
Language:German
Year of Completion:2020
Granting Institution:Hochschule Mittweida
Release Date:2021/11/05
GND Keyword:Programmierung
Institutes:Angewandte Computer‐ und Bio­wissen­schaften
DDC classes:005.1 Programmierung
Open Access:Frei zugänglich
Licence (German):License LogoUrheberrechtlich geschützt