<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-07-16T01:16:14Z</responseDate><request verb="GetRecord" identifier="oai:riubu.ubu.es:10259/11914" metadataPrefix="didl">https://riubu.ubu.es/oai/request</request><GetRecord><record><header><identifier>oai:riubu.ubu.es:10259/11914</identifier><datestamp>2026-07-15T00:05:23Z</datestamp><setSpec>com_10259_9416</setSpec><setSpec>com_10259_5087</setSpec><setSpec>com_10259_2728</setSpec><setSpec>col_10259_9417</setSpec></header><metadata><d:DIDL xmlns:d="urn:mpeg:mpeg21:2002:02-DIDL-NS" xmlns:doc="http://www.lyncode.com/xoai" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:mpeg21:2002:02-DIDL-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/did/didl.xsd">
<d:DIDLInfo>
<dcterms:created xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/dcterms.xsd">2026-07-14T07:41:47Z</dcterms:created>
</d:DIDLInfo>
<d:Item id="hdl_10259_11914">
<d:Descriptor>
<d:Statement mimeType="application/xml; charset=utf-8">
<dii:Identifier xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS" xsi:schemaLocation="urn:mpeg:mpeg21:2002:01-DII-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/dii/dii.xsd">urn:hdl:10259/11914</dii:Identifier>
</d:Statement>
</d:Descriptor>
<d:Descriptor>
<d:Statement mimeType="application/xml; charset=utf-8">
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Simulador del microprocesador 80386: un enfoque orientado a docencia</dc:title>
<dc:creator>González Pampliega, Miguel</dc:creator>
<dc:contributor>Sánchez Ortega, Pedro L.</dc:contributor>
<dc:contributor>Universidad de Burgos. Escuela Politécnica Superior</dc:contributor>
<dc:subject>Simulador</dc:subject>
<dc:subject>Ensamblador</dc:subject>
<dc:subject>i386</dc:subject>
<dc:subject>Ciberseguridad</dc:subject>
<dc:subject>Compilador</dc:subject>
<dc:subject>Llamadas al sistema</dc:subject>
<dc:subject>ABI</dc:subject>
<dc:subject>Compilación estática</dc:subject>
<dc:subject>ELF-32</dc:subject>
<dc:subject>CWE</dc:subject>
<dc:subject>Exploits</dc:subject>
<dc:subject>32-bit</dc:subject>
<dc:subject>Docencia</dc:subject>
<dc:subject>Simulator</dc:subject>
<dc:subject>Assembly</dc:subject>
<dc:subject>Cybersecurity</dc:subject>
<dc:subject>Compiler</dc:subject>
<dc:subject>System calls</dc:subject>
<dc:subject>Static Compiling</dc:subject>
<dc:subject>Teaching</dc:subject>
<dc:description>El objetivo de este trabajo es la concepción y posterior desarrollo&#xd;
de un simulador del microprocesador 80386 desarrollado por Intel.&#xd;
Dicho procesador, también conocido como i386, es un procesador de&#xd;
32 bits. La finalidad del simulador reside en ser utilizado para docencia en varias asignaturas de la titulación de Ingeniería Informática&#xd;
de la Universidad de Burgos u otras universidades. Algunos ejemplos&#xd;
de estas asignaturas podrían ser Fundamentos de Computadores o&#xd;
Ciberseguridad.&#xd;
La idea principal del simulador, es ofrecer una interfaz clara y sencilla&#xd;
al usuario, que permita seguir y comprender la ejecución de programas&#xd;
en ensamblador paso a paso, tanto para aprender cómo funcionan&#xd;
los microprocesadores y su programación, como para entender la&#xd;
explotación de programas vulnerables con CWE conocidos. Esto se&#xd;
consigue a través de la consecución de que el simulador pueda ejecutar&#xd;
ficheros ejecutables compilados para el i386 (o bien ELF32 o bien&#xd;
bytecode ejecutable sin cabeceras).&#xd;
Esta herramienta está concebida para ser ejecutada en un entorno&#xd;
Linux, a través de la línea de comandos. Este entorno resulta ideal&#xd;
por su facilidad para escribir scripts, compilar ejecutables, efectuar&#xd;
redirecciones a descriptores de ficheros, la utilización de tuberías,&#xd;
desensamblar programas en hexadecimal, y sobre todo, para la ejecución de syscalls o llamadas al sistema de Linux usando la ABI del i386.&#xd;
De manera adicional, se ha desarrollado, como otra rama del mismo&#xd;
proyecto, una interfaz gráfica que permite ejecutar el simulador desde&#xd;
el sistema operativo Windows. Esta rama está orientada a la docencia&#xd;
de Fundamentos de Computadores, ya que algunas funcionalidades&#xd;
avanzadas han sido recortadas por su incompatibilidad en Windows.&#xd;
Para ello, el software se implementa como una librería multiplataforma que pueda ser compilada y utilizada de igual manera en&#xd;
distintos sistemas operativos, donde lo único que varía es la interfaz&#xd;
gráfica o la manera en la que se compila el programa final.</dc:description>
<dc:description>The aim of this project is the conception and subsequent development of an Intel 80386 microprocessor simulator. This microprocessor,&#xd;
widely known as the i386, is a 32-bit CPU. The main goal of the&#xd;
simulator is to serve as a teaching resource for several subjects within&#xd;
the Computer Engineering Degree at the University of Burgos (or&#xd;
any other university), including Cybersecurity and Computer Fundamentals.&#xd;
The main idea of the simulator is to provide a clean and intuitive interface to the user, that allows them to follow and comprehend&#xd;
the execution of assembly programs step by step. This makes it possible to learn how microprocessors work (and their programming) while&#xd;
also demonstrating how vulnerable programs, with known CWEs, can&#xd;
be exploited. This is achieved by enabling the simulator to execute&#xd;
both ELF32 and assembly programs.&#xd;
This tool is designed to be run in a Linux environment, through&#xd;
the command line. Such environment is particularly suitable due&#xd;
to its capacity to run scripts, compile object files, use pipes and&#xd;
redirections, disassemble programs to hexadecimal code, and above&#xd;
all, to execute system calls using the Linux i386 ABI.&#xd;
In addition, a Graphical User Interface (GUI) has been developed&#xd;
as another branch of the same project, allowing the simulator to be&#xd;
executed under the Windows operating system. This branch is mainly&#xd;
focused on teaching Computer Fundamentals, since some advanced&#xd;
functionalities have been removed due to their incompatibility with&#xd;
Windows.&#xd;
To achieve this, the software has been implemented as a cross-platform&#xd;
library that can be compiled and used in the same way across different&#xd;
operating systems, where only the graphical interface or the method&#xd;
used to compile the final program varies.</dc:description>
<dc:date>2026-07-14T07:41:47Z</dc:date>
<dc:date>2026-07-14T07:41:47Z</dc:date>
<dc:date>2026-05</dc:date>
<dc:type>info:eu-repo/semantics/bachelorThesis</dc:type>
<dc:identifier>https://hdl.handle.net/10259/11914</dc:identifier>
<dc:language>spa</dc:language>
<dc:rights>http://creativecommons.org/licenses/by-nc-nd/4.0/</dc:rights>
<dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
<dc:rights>Attribution-NonCommercial-NoDerivatives 4.0 Internacional</dc:rights>
</oai_dc:dc>
</d:Statement>
</d:Descriptor>
<d:Component id="10259_11914_1">
<d:Resource ref="https://riubu.ubu.es/bitstream/10259/11914/1/Gonzalez_Pampliega_Miguel-TFG.pdf" mimeType="application/pdf"/>
</d:Component>
<d:Component id="10259_11914_2">
<d:Resource ref="https://riubu.ubu.es/bitstream/10259/11914/2/Gonzalez_Pampliega_Miguel-TFG_Anexos.pdf" mimeType="application/pdf"/>
</d:Component>
</d:Item>
</d:DIDL></metadata></record></GetRecord></OAI-PMH>