Este documento resume la evolución de las protecciones de software y las herramientas y técnicas utilizadas para analizar malware. Explica los diferentes tipos de análisis estático y dinámico, así como los problemas comunes que surgen durante el análisis como cifrado, detección de depuración y packing. Finalmente, ofrece consejos para diseñar protecciones lógicamente complejas que sean difíciles de analizar.