Análisis de rendimiento y niveles de protección de protectores de software
Un protector software es un programa específicamente diseñado para proteger otros ejecutables de ser fácilmente accesibles por herramientas de depuración (e.g., un debugger) y minimizar su tamaño. Existen numerosas soluciones de protectores software, tanto comerciales como gratuitas, cada una garantizando ser la protección de software definitiva frente a posibles ataques de ingeniería inversa (reverse engineering, también conocida como cracking). Sin embargo, la mayoría de estos protectores son conocidos en el mundo del cracking y sus soluciones de protección se encuentran comprometidas.
En esta trabajo, se pretende realizar un análisis de los protectores de software actuales, centrándose básicamente en medir la sobrecarga respecto al tiempo de ejecución (y respecto al tamaño del ejecutable, algunas veces), así como analizar las medidas de protección que proporciona, viendo si se encuentran comprometidas y cuantificando la dificultad de eliminarlas.
Lista de objetivos concretos
- Profundización en el conocimiento de las estructuras de binarios de Windows
- Adquirir conocimientos de las técnicas de protección usadas actualmente
- Adquirir conocimientos de técnicas de desprotección de ejecutables en Windows
- Definición de los objetivos y tipos de pruebas a realizar para la comparativa
- Creación de herramientas para realizar las pruebas comparativas
- Realización de las pruebas y análisis de resultados