No More Secrets - recreación del efecto de descifrado en pantalla de la película Sneakers de 1992
(github.com/bartobri)nmses una herramienta de línea de comandos que aplica un efecto de descifrado en pantalla a texto ASCII o UTF-8 recibido por tubería, haciendo que al principio parezca datos cifrados y luego revele los caracteres originales en texto plano- El efecto recrea la famosa escena de descifrado de datos de la película de hackers Sneakers de 1992, y corresponde al efecto que aparece en el segundo 0:35 de este clip de la película
nmsmuestra por defecto caracteres cifrados iniciales y luego espera la entrada del usuario; después comienza la secuencia de descifrado- La forma principal de uso es pasar datos de salida estándar por tubería, como en
ls -l | nms, y ofrece opciones representativas como descifrado automático-a, enmascarado de espacios en blanco-s, selección de color de primer plano-f <color>, limpieza de pantalla-cy mostrar la versión-v - El programa
sneakers, incluido junto con la herramienta, recrea la escena que aparece en el clip de la película, y antes de salir el usuario debe seleccionar una de las opciones del menú - La configuración básica no tiene dependencias, pero usa secuencias de escape de terminal ANSI/VT100 para reproducir el efecto
- Ofrece una implementación con ncurses para terminales que no admiten ANSI/VT100
- La implementación con ncurses admite terminales no ANSI, pero tiene la limitación de que siempre borra la pantalla antes de mostrar la salida, por lo que pierde la capacidad de funcionar en línea
- Para instalar desde el código fuente se necesitan
git,gccymake, y los objetivos de compilación se dividen ennms,sneakerscomo opcional, ynms-ncursesysneakers-ncursespara ncurses - Para quienes quieran usar el mismo efecto en programas de línea de comandos, también se ofrece por separado la biblioteca en C LibNMS
- Es software libre que puede redistribuirse y modificarse según los términos de la GNU General Public License
1 comentarios
Comentarios en Hacker News
Me gusta que las instrucciones de instalación no den por hecho que la persona que quiere instalar este paquete ya tiene gcc/git/make
No es como si fuera a existir alguien que diga: “Soy un usuario completamente novato de *nix con una distro recién instalada, y quiero instalar un comando para recrear el efecto de descifrado de Sneakers”
Demasiados paquetes hacen ese tipo de suposiciones, y en esos casos es muy probable que también falte otra información clave
Además, también se agradece que no sea alguna cosa estilo
npm installA veces solo hay fragmentos de código o configuración que no funcionan por sí solos, y ni siquiera queda claro dónde van o dentro de qué se anidan
A veces hasta usan imports con nombres que no aparecen en ninguna parte de la página
Como mínimo, me gustaría que al final de la página pusieran un ejemplo completo o al menos un enlace a uno
makesolo guiándome por el nombre del archivo.hfaltante, o buscandolib-$THINGen aptEsto debería ser lo normal, no una agradable excepción
Me identifico al 100% con esa frustración
No querría meter algo que implique
makeen ninguna parte de nuestro procesoPorque al final va a fallar
Aunque, siendo justos, esto no está hecho para usarse en serio, sino que es más bien un proyecto juguete
Aun así, estaría genial que pudiera ejecutarse directo desde el código fuente sin dependencias, y supongo que por eso algunas herramientas todavía se hacen en shell puro
En ataques reales de criptoanálisis, hay una clase de casos que, al ejecutarse, se ven como la escena de descifrado de Sneakers, como el padding oracle de CBC, el padding oracle de RSA de Bleichenbacher o los ataques byte a byte sobre ECB
Si mal no recuerdo, Juliano Rizzo les puso el nombre de Hollywood Attack
Es un buen término; ojalá todo el mundo lo usara, y además ayuda un poco a captar la intuición del ataque
Muchos ataques de criptoanálisis no trabajan con el mensaje completo de 128 o 2048 bits de una sola vez, sino aislando de manera creativa un byte del texto cifrado
Me encanta esta película
La vi en VHS cuando era niño y, casualmente, paso en bicicleta todos los días por el fondo de una de las escenas principales
Es el patio de ladrillo que ahora está entre Google y Wharton
En la película aparece como un comedor al aire libre, y Sidney Poitier dice “Martin, It's your mother” sosteniendo el teléfono de coche desde el Karmann Ghia de Martin
Y entonces se dan cuenta de que no están con la NSA
Ahora le agregaron esa estación de bomberos que parece flotante y la calle cambió un poco, pero me gusta que el lugar siga pareciéndose bastante a como se veía cuando filmaron la película
En general, es una película muy bien hecha
¿Bajar 3 a 5 archivos fuente y que simplemente compile con solo poner
make?¿Sin montar un entorno de compilación aislado, sin bajar 1600 dependencias para compilarlas desde código fuente, sin instalar una jerarquía de sistema de archivos con 1600 bibliotecas
.so, y sin correr cosas como Docker o npm?¿Y además compila en menos de un segundo?
Qué impresionante todo lo que puede hacer este nuevo lenguaje llamado C
Necesitas tener instalado
makey una toolchain de CSi ya tienes eso instalado, entonces es bastante probable que también tengas Python, Perl y quizá una versión bastante reciente de Java
No en MacOS, pero diría que sí en la mayoría de las distros Linux
Y todos ellos también pueden hacer lo mismo sin dependencias
En los 90, uno a veces implementaba métodos por su cuenta porque pensaba erróneamente que incluir
stdlib.hu otras bibliotecas iba a inflar el programa en CEso demuestra que ni siquiera entendíamos cómo funcionaba el enlazado
Mi yo de 12 años se ahogaría al ver cosas como NPM, pip, bundle e incluso Electron hoy en día
De verdad se podía hacer muchísimo con muy poco
Si el entorno está instalado y el programa no tiene dependencias, solo ejecutas el comando de compilación
Este proyecto también necesita gcc, make y ncurses sin especificar versiones
Si no, podría terminar como el espantoso Python actual
Python alguna vez fue fantástico y de verdad simplemente funcionaba
Luego todo el mundo lo descubrió, Nvidia se metió, llegaron TensorFlow/PyTorch/machine learning, y se arruinó
Demasiados script kiddies sin interés por la compatibilidad de paquetes escribieron demasiadas porquerías
La comunidad es al mismo tiempo la mejor parte de este lenguaje y también una muy terrible desventaja
makefuncione bien, que ahora cuando veo un proyecto en C pienso “se ve padre, pero seguro no lo voy a poder compilar” y cierro la pestañaEste proyecto sí compiló bien
Cuando escucho la palabra “Passport”, no puedo evitar decir “My voice is my passport”, aunque sea en mi cabeza
“cattle mutilations are up”
Ahora ya no estoy seguro de cuál de las dos era
Lo que acabo de hacer no fue fácil
Ese hack estuvo inspirado directamente en la película, y PLA lo mostró en un episodio del pódcast
https://phonelosers.com/2008/05/pla-radio-episode-17-voice-a...
Esto, combinado con cool-retro-term[1], es indispensable para pasar tiempo de hacker de verdad en mi computadora
[1] https://github.com/Swordfish90/cool-retro-term
https://www.youtube.com/watch?v=_gRIG_zK4SQ
Mi primer trabajo en help desk incluía soporte de mainframe, y pude usar una vieja terminal de plasma IBM de 4 particiones que todavía seguía por ahí
El sistema de tickets también seguía en el mainframe, así que de hecho era útil para el trabajo de help desk
Creo que era este modelo o uno muy parecido: https://www.argecy.com/ibm-3290-plasma-terminal
[1] https://github.com/Rezmason/matrix
brew install --cask cool-retro-termQué curioso que al ver el obituario de Kevin Mitnick, esta película fue lo primero que se me vino a la mente
Seguro a mucha gente le pasó lo mismo
Siempre es divertido
Hace unos años hice un script de Python de un solo archivo,
decrypt.py, que hace casi exactamente lo mismoTristemente, sigue siendo el repositorio más popular de todos mis proyectos en GitHub: https://github.com/jtwaleson/decrypt
De verdad me gustaría ver una versión moderna de Sneakers
Estaría bueno que tratara de alguien que descubre que probablemente ya construyeron una computadora cuántica, y que si realmente existe, habría que robarla
Además encajaría perfecto con el meme de “no more secrets” de la Sneakers original
Aunque la original ya era una película sobre envejecer y madurar, así que no sé si solo otra generación más la habría vuelto una historia tan convincente
Es una lástima que River Phoenix y Sidney Poitier ya fallecieron, y hasta tuve que revisar si Ben Kingsley seguía vivo
Para ser una película que trata bastante con tecnología, la original ha envejecido sorprendentemente bien
En parte porque salió justo antes de la World Wide Web, y porque incluso en 2023 todavía hay sistemas importantes que corren en mainframes
No entiendo por qué a las películas que me gustaban cuando era niño no les hacen reboots, secuelas, precuelas, ni siquiera una secuela mala
Esta es una de las películas de mi vida
La escena del descifrado es verdaderamente icónica en mi memoria, y este proyecto logró capturar por completo esa sensación