Uscita "Hollywood-hacker-scene" da una shell


36

Potrebbe sembrare una domanda strana, ma cosa useresti per creare la tipica scena di hacking di Hollywood?

Ho ricevuto questa richiesta da un amico e il mio cervello era vuoto. Tutto quello a cui riuscivo a pensare erano tutte le scene nmap di film come The Matrix e così via.

Ma questo dovrebbe essere fatto su un Mac con OSX predefinito, che penso sia un po 'di * nix, giusto? Non hanno accesso a Internet, quindi prepararsi con strumenti esterni è fuori discussione.

Stavo pensando di scrivere l'equivalente di / var / log / messaggi sullo schermo forse ...


21
Prendi qualsiasi pacchetto e fai un./configure && make
Alex B

Penso che Alex abbia ragione. Prova alcuni pacchetti diversi perché probabilmente non vuoi qualcosa che si compili per diversi minuti
johnny

8
Tieni un banner ENORME che dice "DECODIFICA" e poi dodici bobine stile slot machine sotto di esso con vari personaggi che girano e si fermano uno alla volta, lasciandoti con una parola minuscola del dizionario.
DanBeale,

2
Installare (se possibile) FSN o FSV. "È un sistema Unix. Lo so!"
DanBeale,

Se nessuno lo ha mai suggerito, puoi provare a correre cmatrixin una finestra del terminale.
bollovan,

Risposte:


34

Se stai chiedendo come stampare un personaggio sullo schermo alla volta (uno stile 'hacker' comunemente mostrato nei film di Hollywood), dovrebbe bastare la seguente sceneggiatura (richiede input da stdin).

In 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

Oppure, una versione più semplice in 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;
}

Se si desidera utilizzare dmesgcome input, ad esempio:

dmesg | hollywood

2
L'aggiunta di alcuni $RANDOMritardi nei tempi potrebbe anche essere divertente :-)
Stéphane Gimenez,

1
L'aggiunta del rumore della linea modem sarebbe ancora migliore. Questo potrebbe diventare il post più modificato su UL.
Tim Post

1
Non ho idea di che cosa Tim mezzi di disturbi sulla linea, ma vorrei attuarla come cambiare il primo printfa printf '\b%s%c' "${_line:_offset:1}" $RANDOMe aggiungendo printf '\b \b'prima del secondo sleep.
arte

1
HAHAHAH L'ho appena fatto con Dmesg e ho riso di testa! Continua ad aggiornare questo, è epico.
n0pe

2
Questo è divertente. Sicuramente un vincitore per l'uscita "hacky" ...
rmckenzie,

14
export GREP_COLOR='1;32'; cat /dev/urandom | hexdump -C | grep --color=auto "ca fe"

Anche questo (e altri comandi da http://www.commandlinefu.com/commands/view/6663/pretend-to-be-busy-in-office-to-enjoy-a-cup-of-coffee ) sembra molto, , hacking '' e confonde la maggior parte delle persone che fissano il terminale in un determinato momento;)


6
Non è necessario esportare GREP_COLOR e non è necessario utilizzare cat. Basta usarehexdump -C /dev/urandom | GREP_COLOR='1;32' grep --color=auto 'ca fe'
Chris Down il

+1000 Questa è un'ottima risposta!

6
  1. Usa Compiz con cose come Wall, Expose, finestre parzialmente trasparenti, ecc.
  2. Usa tcpdump su almeno uno schermo.
  3. Usa IRC e Irssi per parlare con altri "hacker" su un altro schermo.
  4. Compilare un kernel. non è necessario installarlo, basta compilarlo, creare i moduli, quindi ricominciare pulendo gli oggetti compilati e riavviando la compilazione. usa il colore GCC per migliorare l'effetto.
  5. Avvia OpenBSD su una schermata, puoi usare una VM per questo, se non hai una macchina di riserva.
  6. Stampa riga per riga di dmesg.
  7. Apri alcuni file di codice sorgente in Gvim e usa il sistema di colori Cobald o il mio .
  8. Modifica xscreensaver "phosphor" e avviarlo in una finestra. Può stampare roba carattere per carattere. L'ho usato un paio di volte per effetti visivi.
  9. Usa mplayer con aalib o cacalib. C'è un filtro a matrice, ma potrebbe sembrare un furto economico.
  10. Suggerisco di usare zsh, con output ls colorato (dircolor), oltre a una bella shell.

4

Che ne dici di questa configurazione per una configurazione hacker di Hollywood?

  • Non usare un gestore di finestre che assomigli a Windows o Mac, tutti gli altri sembrano hacker poiché il ragazzo normale non sa di cosa si tratta.
  • Seleziona alcuni colori davvero nerd per il terminale come "ambra su nero" o "verde su nero".
  • Chiedi a hexdump di essere casuale (come descritto da Wiesław Herr ) in esecuzione in una finestra sullo sfondo.
  • Avere qualcosa che assomiglia a un registro in esecuzione in un'altra finestra, forse un tcpdump che è quasi leggibile dall'uomo.
  • ecc ecc

Dovrebbe essere un buon inizio falso.


4

L'ho dovuto fare qualche mese fa. Ho appena sparato "trova /" ed è stato abbastanza.


3

Puoi usare

pv /var/log/messages -qL 100

L'esecuzione man pvfornisce le seguenti definizioni per qe Lflag.

-q, --quiet - Nessun output. Utile se l'opzione -L viene utilizzata da sola per limitare la velocità di trasferimento di un tubo.

-L RATE, --rate-limit RATE - Limita il trasferimento a un massimo di RATE byte al secondo. È possibile aggiungere un suffisso "k", "m", "g" o "t" per indicare i kilobyte (* 1024), i megabyte e così via.

il 100è il numero di byte / secondo

PS great todler protector (Assicurati di non essere in modalità Window ALT+ CTRL+ F2funziona meglio in questo modo)

MODIFICARE


Perché stai usando less? Basta reindirizzare il file in pv.
Chris Down,

oops un oversite, di solito uso l' man rsyncho modificato per la domanda. Riparazione ..
whoami

Alcuni googling suggeriscono che pvnon è disponibile per impostazione predefinita su Mac (disponibile tramite HomeBrew e Porte però).
Chris Down,

Non è qui sulla mia installazione 10.6 ...
serverhorror

L'ho fatto funzionare su Ubuntu e Fedora, non ho mai usato i mac, quindi non sono sicuro di quale sia il requisito, ma sono sicuro che puoi installarlo. Non sono sicuro di dove si possa scaricare il pacchetto
whoami,

3

Potrebbe sembrare una domanda strana, ma cosa useresti per creare la tipica scena di hacking di Hollywood?

Il technodrama di Hollywood , dovrebbe essere abbastanza fonte d'ispirazione per quello che stai cercando. È disponibile come pacchetto per Linux, anche su github , dovrebbe essere in grado di separare i bit che ti piacciono e impacchettare qualcosa su OS X.

Su un sistema Debian / Ubuntu puoi installare così:

sudo apt-get install hollywood

O se non funziona:

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

2

da 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


1

Capisco che nmap è l'app hollywoodiana standard di hacking, ed ecco una pagina di un ragazzo che ha lavorato per rendere più reale l'hacking di Hollywood su Tron.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.