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

UniversidaddeCádiz

Área de Biblioteca, Archivo y Publicaciones
Comunidades y colecciones
Ver ítem 
  •   RODIN Principal
  • Trabajos Académicos
  • Trabajos Fin de Grado
  • Grado en Ingeniería Informática - TFG
  • Ver ítem
  •   RODIN Principal
  • Trabajos Académicos
  • Trabajos Fin de Grado
  • Grado en Ingeniería Informática - TFG
  • Ver ítem
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

Ficheros
LLVM_Ofuscación_TFG__Elena_.pdf (1.872Mb)
Estadísticas
Ver estadísticas
Compartir
Exportar a
Exportar a MendeleyRefworksEndNoteBibTexRIS
Metadatos
Mostrar el registro completo del ítem
Título alternativo
Analysis of the impact of the evolution of the LLVM compilation infrastructure on source code obfuscation
Autor/es
Vázquez Rodríguez, Elena
Fecha
2025-12-19
Director/Tutor
Torre Macías, Juan Carlos de laAutoridad UCA; Aragón Jurado, José MiguelAutoridad UCA
Departamento/s
Ingeniería Informática
Resumen
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.
Materias
Infraestructura de compilación; Evolución del software; Compiladores; Optimización software; LLVM; Optimizaciones de código; Ofuscación
Colecciones
  • Grado en Ingeniería Informática - TFG [65]
  • Trabajos fin de grado Ing. Inf. [50]
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Esta obra está bajo una Licencia Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 Internacional

Listar

Todo RODINComunidades y ColeccionesPor fecha de publicaciónAutoresTítulosMateriasEsta colecciónPor fecha de publicaciónAutoresTítulosMaterias

Mi cuenta

AccederRegistro

Estadísticas

Ver Estadísticas de uso

Información adicional

Acerca de...Deposita en RODINPolíticasNormativasDerechos de autorEnlaces de interésEstadísticasNovedadesPreguntas frecuentes

RODIN está accesible a través de

OpenAIREOAIsterRecolectaHispanaEuropeanaBaseDARTOATDGoogle Académico

Enlaces de interés

Sherpa/RomeoDulcineaROAROpenDOARCreative CommonsORCID

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

ContactoSugerenciasAtención al Usuario