Según el diccionario, ofuscado, significa estar en un estado que impide pensar con claridad, lo que podemos traducir como confusión. En este post veremos el significado en términos tecnológicos de esta palabra explicando en que consiste un ofuscador.
En primer lugar para entender este término, vamos a ver en que consiste un ofuscador en programación que nos ayudará a entender su significado.
Objetivo y Funcionamiento de la Ofuscación
Un Ofuscador es un programa diseñado para hacer que el código fuente de un proyecto, aplicación, etc… sea difícil de entender o por ejemplo revertir utilizando ingeniería inversa. Esto se utiliza para que no sea fácil descubrir o entender el funcionamiento de cualquier programa hecho en un código interpretado como puede ser Javascript.
El funcionamiento de la Ofuscación se basa en coger el código legible hecho por el programador y complicarlo o ensuciarlo utilizando por ejemplo cambios de variables y llamándolas igual que palabras reservadas utilizadas por el lenguaje. Como es obvio, estos cambios que se hacen para enrevesar el código siguen haciendo que el programa se mantenga funcional.
Utilidad de ofuscar un código
Como acabamos de ver, mediante la ofuscación protegemos la utilidad del código. De todas formas, aunque ya esté compilado, este sigue estando descubierto ante miradas externas ya que existen herramientas de descompilación de código y otras técnicas para conseguir un código que acabe haciendo lo mismo. Igualmente, esta técnica es una forma de proteger un código al menos de programadores más inexpertos.