• español
    • English
  • Login
  • English 
    • español
    • English

UniversidaddeCádiz

Área de Biblioteca, Archivo y Publicaciones
Communities and Collections
View Item 
  •   RODIN Home
  • Trabajos Académicos
  • Trabajos Fin de Grado
  • Grado en Ingeniería Informática - TFG
  • View Item
  •   RODIN Home
  • Trabajos Académicos
  • Trabajos Fin de Grado
  • Grado en Ingeniería Informática - TFG
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Análisis del impacto de la evolución de la infraestructura de compilación LLVM en la ofuscación de código fuente

Thumbnail
Identificadores

URI: http://hdl.handle.net/10498/38384

Files
LLVM_Ofuscación_TFG__Elena_.pdf (1.872Mb)
Statistics
View statistics
Share
Export
Export reference to MendeleyRefworksEndNoteBibTexRIS
Metadata
Show full item record
Alternative title
Analysis of the impact of the evolution of the LLVM compilation infrastructure on source code obfuscation
Author/s
Vázquez Rodríguez, Elena
Date
2025-12-19
Advisor
Torre Macías, Juan Carlos de laAuthority UCA; Aragón Jurado, José MiguelAuthority UCA
Department
Ingeniería Informática
Abstract
La rápida expansión de las arquitecturas de hardware ha incrementado significativamente la complejidad de la optimización del software, lo que ha impulsado el desarrollo acelerado de infraestructuras de compilación más robustas y flexibles. Sin embargo, esta evolución constante dificulta el seguimiento detallado de los cambios introducidos en cada nueva versión, lo que puede afectar negativamente tanto la gestión de optimizaciones como la eficiencia global del proceso de compilación. Con el objetivo de analizar de forma sistemática la evolución de la infraestructura de compilación LLVM, este trabajo presenta un estudio comparativo exhaustivo de sus versiones, desde la 3.9 hasta la 19.1, incluyendo la última revisión disponible de cada una. Para ello, se emplea el conjunto de pruebas Polybench como base, compilando un binario específico para cada versión de LLVM mediante la aplicación de sus distintos passes y explorando sus posibles combinaciones. Este enfoque permite clasificar los passes en sus correspondientes pass managers, así como identificar anidaciones y un primer conjunto de passes combinables en cada versión del compilador. Posteriormente, y con el fin de evaluar el impacto práctico de las combinaciones de passes identificadas, se llevan a cabo pruebas de ofuscación sobre los binarios generados, usando como métrica el número de instrucciones en ensamblador. Estas pruebas son fácilmente adaptables y permiten determinar qué configuraciones y versiones de LLVM ofrecen una mayor resistencia a la ingeniería inversa o una mayor alteración del flujo de control, añadiendo así una dimensión adicional de análisis centrada en la robustez y aplicabilidad de los passes en contextos de protección de software. Para garantizar la reproducibilidad y aislamiento de los entornos experimentales, se construyó un conjunto de contenedores Docker personalizados, cada uno con la instalación exacta y básica de una versión específica de LLVM. Los resultados muestran que la evolución de LLVM ha priorizado una mayor eficiencia en el proceso de compilación, reduciendo la cantidad de passes necesarios mediante el nuevo pass manager, que además proporciona un mayor control y modularidad en su ejecución. En conjunto, este estudio ofrece una visión clara, detallada y reproducible de la evolución estructural y funcional de LLVM, destacando los cambios en sus capacidades de ofuscación y su utilidad en procesos avanzados.
Subjects
Infraestructura de compilación; Evolución del software; Compiladores; Optimización software; LLVM; Optimizaciones de código; Ofuscación
Collections
  • Grado en Ingeniería Informática - TFG [65]
  • Trabajos fin de grado Ing. Inf. [50]
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
This work is under a Creative Commons License Attribution-NonCommercial-NoDerivatives 4.0 Internacional

Browse

All of RODINCommunities and CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

LoginRegister

Statistics

View Usage Statistics

Información adicional

AboutDeposit in RODINPoliciesGuidelinesRightsLinksStatisticsNewsFrequently Asked Questions

RODIN is available through

OpenAIREOAIsterRecolectaHispanaEuropeanaBaseDARTOATDGoogle Academic

Related links

Sherpa/RomeoDulcineaROAROpenDOARCreative CommonsORCID

RODIN está gestionado por el Área de Biblioteca, Archivo y Publicaciones de la Universidad de Cádiz

Contact informationSuggestionsUser Support