Para saber lo que se esconde detrás de los textos pixelados

Publicado el

texto pixelado

Cuando alguien hace una captura de pantalla con información privada, suele pixelar los textos (contraseñas, nombres de usuarios, mensajes de whatsapp…), de forma que lo divulga en Internet con la tranquilidad de que nadie puede saber lo que se esconde e la región especificada.

La buena noticia es que la gran mayoría de la gente no lo conseguirá leer, la mala es que técnicamente es posible adivinar lo que se esconde detrás de una zona pixelada.

Así lo demuestra la herramienta de la que hablamos hoy, una aplicación que usa un algoritmo muy interesante para averiguar los secretos que queremos ocultar.

Se trata de Depix, disponible en github de forma gratuita, y sus resultados pueden verse en la captura superior.

Cómo se usa Depix

python

La aplicación está desarrollada en Python, de forma que hay que ejecutar el comando de la imagen para recuperar contraseñas de capturas de pantalla pixeladas. Esta implementación funciona en imágenes pixeladas que se crearon con un filtro de caja lineal, por lo que no funciona con todos los tipos de pixelado.

Como veis, de momento solo puede usarse por alguien que tenga suficientes conocimientos de programación como para ejecutar una orden desde la consola, aunque eso es algo que puede hacerse siguiendo pocos pasos:

– Baja el programa desde la página de Github.
– Instala Python en Windows, así como Visual Studio Code. Aquí tenéis las instrucciones.
– Recorta los bloques pixelados de la captura de pantalla como un solo rectángulo.
– Pega una secuencia de De Bruijn con los caracteres esperados en un editor con la misma configuración de fuente (tamaño de texto, fuente, color, hsl).
– Haz una captura de pantalla de la secuencia. Si es posible, usando la misma herramienta de captura de pantalla que se utilizó para crear la imagen pixelada.
– Abre la aplicación Windows Powershell y ejecuta el comando del ejemplo indicando la imagen de entrada y el nombre de la de salida.

Como puede apreciarse, no es un proceso sencillo, pero puede conseguirse con tiempo y paciencia. Hay que poner muchos textos como referencia para que encuentre una combinación adecuada, pero por fuerza bruta puede llegar a conseguirse (comparando miles de textos por segundo, por ejemplo). También hay que tener en cuenta que es necesario conocer el tamaño de la letra, la tipografía y otras variables para que la combinación funcione.

Cómo funciona Depix

El algoritmo utiliza el hecho de que el filtro de caja lineal procesa cada bloque por separado. Para cada bloque, pixeliza todos los bloques en la imagen de búsqueda para buscar coincidencias directas.

Para la mayoría de las imágenes pixeladas, Depix logra encontrar resultados de una sola coincidencia. Asume que estos son correctos. Las coincidencias de los bloques de coincidencias múltiples circundantes se comparan luego para que estén geométricamente a la misma distancia que en la imagen pixelada. Las coincidencias también se tratan como correctas. Este proceso se repite un par de veces.

Una vez que los bloques correctos no tengan más coincidencias geométricas, generará todos los bloques correctos directamente. Para bloques de múltiples coincidencias, genera el promedio de todas las coincidencias.

Podéis leer más detalles técnicos en este enlace.

Qué podemos hacer para evitarlo

Lo mejor es ocultar los textos con bloques de color negro, no con pixelados. Y en caso de usar pixelado, hacerlo dos veces.

Qué utilidad tiene

Podemos usarlo para enviar mensajes cifrados a otra persona que tenga la misma clave, de forma que no se entenderá por el camino, pero el destinatario y el origen si sabrán descubrirlo gracias al hecho de que usa la misma secuencia de De Bruijn.

Comparte en: