Salida de "Hollywood-hacker-scene" desde un shell

36

Esto puede parecer una pregunta extraña, pero ¿qué utilizarías para crear la típica escena de piratería de Hollywood?

Recibí esta solicitud de un amigo y mi cerebro estaba en blanco. Todo lo que podía pensar era en todas las escenas nmap de películas como The Matrix, etc.

Pero esto debería hacerse en una Mac con OSX predeterminado, lo que creo que es un poco de * nix, ¿verdad? No tienen acceso a Internet, por lo que no se puede preparar con herramientas externas.

Estaba pensando en la línea de escribir el equivalente de / var / log / messages a la pantalla tal vez ...

Xerbee
fuente
21
Tome cualquier paquete y haga un./configure && make
Alex B
Creo que Alex tiene razón. Pruebe algunos paquetes diferentes ya que probablemente no quiera algo que se compile durante varios minutos
johnny
8
Tenga una pancarta ENORME que diga "DECODIFICACIÓN" y luego doce carretes estilo tragamonedas debajo con varios caracteres girando y deteniéndose uno a la vez, dejándolo con una palabra en minúscula en el diccionario.
DanBeale
2
Instale (si es posible) FSN o FSV. "Es un sistema Unix. ¡Lo sé!"
DanBeale
Si nadie sugirió, puede intentar ejecutar cmatrixen una ventana de terminal.
bollovan

Respuestas:

34

Si está preguntando cómo imprimir un personaje en la pantalla a la vez (un estilo 'pirata informático' que se muestra comúnmente en las películas de Hollywood), el siguiente guión debería ser suficiente (toma de entrada stdin).

En bash:

#!/bin/bash

while IFS= read -r line; do
    length="${#line}"
    bol=1
    for (( offset = 0 ; offset < length ; offset++ )); do
        char="${line:offset:1}"
        printf '%s' "$char"
        if (( bol )) && [[ "$char" == " " ]]; then
            continue
        fi
        bol=0
        sleep 0.05
    done

    if (( length == 0 )); then
        sleep 0.$(( RANDOM % 3 + 2 ))
    else
        sleep 0.$(( RANDOM % 7 + 3 ))
    fi

    printf '\n'
done

O, una versión más simple en C:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(void) {
    char buf[1];
    int len;

    while ((len = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
        if (write(STDOUT_FILENO, buf, len) != len) {
            perror("write");
            return EXIT_FAILURE;
        }
        usleep(50000);
    }
    if (len != 0) {
        perror("read");
        return EXIT_FAILURE;
    }
    return EXIT_SUCCESS;
}

Si desea utilizar dmesgcomo entrada, por ejemplo:

dmesg | hollywood
Chris Down
fuente
2
Agregar algunos $RANDOMretrasos en los horarios también puede ser divertido :-)
Stéphane Gimenez
1
Agregar ruido de línea de módem sería aún mejor. Esta puede convertirse en la publicación más editada en UL.
Tim Post
1
Ni idea de lo que Tim medios de ruido en la línea, pero me gustaría ponerlo en práctica como el cambio de la primera printfa printf '\b%s%c' "${_line:_offset:1}" $RANDOMy añadiendo printf '\b \b'antes de la segunda sleep.
manatwork
1
HAHAHAH ¡Acabo de ejecutar esto con dmesg y me volví loco! Sigue actualizando esto, es épico.
n0pe
2
Esto es halarioso. Sin duda un ganador para la salida "hacky" ...
rmckenzie
14
export GREP_COLOR='1;32'; cat /dev/urandom | hexdump -C | grep --color=auto "ca fe"

Esto (y otros comandos de http://www.commandlinefu.com/commands/view/6663/pretend-to-be-busy-in-office-to-enjoy-a-cup-of-coffee ) también parece muy, , hackear '' y confunde a la mayoría de las personas que miran la terminal en el momento dado;)

Wiesław Herr
fuente
66
No es necesario exportar GREP_COLOR, y no necesita usar cat. Solo usehexdump -C /dev/urandom | GREP_COLOR='1;32' grep --color=auto 'ca fe'
Chris Down
+1000 ¡Esa es una gran respuesta!
6
  1. Use Compiz con cosas como Muro, Exposición, ventanas parcialmente transparentes, etc.
  2. Use tcpdump en al menos una pantalla.
  3. Use IRC e Irssi para hablar con otros "Hackers" en otra pantalla.
  4. Compilar un núcleo. no necesita instalarlo, solo compílelo, cree los módulos, luego comience nuevamente limpiando los objetos compilados y reiniciando la compilación. use el color GCC para mejorar el efecto.
  5. Tenga el arranque de OpenBSD en una pantalla, puede usar una VM para esto, si no tiene una máquina de repuesto.
  6. Impresión línea por línea de dmesg.
  7. Abra algunos archivos de código fuente en Gvim y use el esquema de colores Cobald o mío .
  8. Modifique xscreensaver "phosphor" e inícielo en una ventana. Puede imprimir cosas carácter por carácter. Lo he usado un par de veces para efectos visuales.
  9. Use mplayer con aalib o cacalib. Hay un filtro matricial, pero puede parecer una estafa barata.
  10. Sugiero usar zsh, con salida de color ls (dircolor), así como un buen shell.
polemon
fuente
4

¿Qué tal esta configuración para una configuración de Hollywood hackish?

  • No use un administrador de ventanas que se parezca a Windows o Mac, todos los demás se ven hackear ya que el chico normal no sabe qué es.
  • Seleccione algunos colores realmente nerd para el terminal como "ámbar en negro" o "verde en negro".
  • Haga que el hexdump sea aleatorio (como describió Wiesław Herr ) ejecutándose en una ventana en segundo plano.
  • Tenga algo que parezca un registro ejecutándose en otra ventana, tal vez un tcpdump que sea casi legible para los humanos.
  • etcétera etcétera

Eso debería ser un buen comienzo falso.

Johan
fuente
4

Tenía que hacer eso hace un mes. Acabo de disparar "encontrar /" y fue suficiente.

gb.
fuente
3

Puedes usar

pv /var/log/messages -qL 100

La ejecución man pvproporciona las siguientes definiciones para qy Lflags.

-q, --quiet - Sin salida. Es útil si la opción -L se usa por sí sola para limitar la velocidad de transferencia de una tubería.

-L RATE, --rate-limit RATE - Limita la transferencia a un máximo de RATE bytes por segundo. Se puede agregar un sufijo de "k", "m", "g" o "t" para denotar kilobytes (* 1024), megabytes, etc.

el 100es el número de bytes / segundo

PS gran protector de todler (asegúrese de que no está en modo Windows ALT+ CTRL+ F2funciona mejor de esa manera)

EDITAR

quién soy
fuente
¿Por qué estás usando lessen absoluto? Simplemente redirige el archivo a pv.
Chris Down
Uy un sobre sitio, por lo general uso lo man rsyncmodifiqué para la pregunta. Fixing ..
whoami
Algunas búsquedas en Google sugieren que pvno está disponible de forma predeterminada en Mac (aunque está disponible a través de HomeBrew y Ports).
Chris Down
No está aquí en mi instalación 10.6 ...
serverhorror
Lo tengo funcionando en Ubuntu y Fedora, nunca he usado Mac, así que no estoy seguro de cuál es el requisito, pero estoy seguro de que puedes instalarlo. No estoy seguro de dónde se puede descargar el paquete
whoami
3

Esto puede parecer una pregunta extraña, pero ¿qué utilizarías para crear la típica escena de piratería de Hollywood?

El tecnodrama de Hollywood debería ser suficiente inspiración para lo que estás buscando. Está disponible como paquete para Linux, también en github , debería poder separar los bits que te gustan y empaquetar algo en OS X.

En un sistema Debian / Ubuntu, puede instalarlo así:

sudo apt-get install hollywood

O si eso no funciona:

sudo apt-add-repository ppa:hollywood/ppa
sudo apt-get update
sudo apt-get install hollywood
Eliot
fuente
2

de commandlinefu:

tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"

o

echo "You can simulate on-screen typing just like in the movies" | pv -qL 10

Sirex
fuente
1

Entiendo que nmap es la aplicación estándar de Hollywood, y aquí hay una página de un tipo que trabajó para hacer que la piratería de Hollywood en Tron sea más real.

Dave Jacoby
fuente