Produire une «scène de piratage hollywoodien» à partir d'un shell

36

Cela peut sembler une question étrange, mais que feriez-vous pour créer la scène typique du piratage hollywoodien?

J'ai reçu cette demande d'un ami et mon cerveau était vide. Tout ce à quoi je pouvais penser était toutes les scènes de nmap de films comme The Matrix et ainsi de suite.

Mais cela devrait être fait sur un Mac avec OSX par défaut, ce qui, à mon avis, est une sorte de * nix, n'est-ce pas? Ils n'ont pas accès à Internet, il est donc hors de question de se préparer avec des outils externes.

Je pensais en train d'écrire l'équivalent de / var / log / messages à screen peut-être ...

Xerbee
la source
21
Prenez n'importe quel colis et faites./configure && make
Alex B le
Je pense qu'Alex a raison. Testez différents packages car vous ne voulez probablement pas quelque chose qui compile pendant plusieurs minutes
johnny
8
Ayez une énorme bannière disant "DECODING" et ensuite douze rouleaux de style machine à sous, avec divers personnages tournant autour et s'arrêtant les uns après les autres, vous laissant avec un mot de dictionnaire en minuscule.
DanBeale
2
Installez (si possible) FSN ou FSV. "C'est un système Unix. Je le sais!"
DanBeale
Si personne ne l’a jamais suggéré, vous pouvez essayer de s’exécuter cmatrixdans une fenêtre de terminal.
Bollovan

Réponses:

34

Si vous demandez comment imprimer un caractère à l'écran à la fois (un style de hacker couramment utilisé dans les films hollywoodiens), le script suivant devrait suffire (il prend en charge les entrées stdin).

Dans 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

Ou, une version plus 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 vous voulez utiliser dmesgcomme entrée, par exemple:

dmesg | hollywood
Chris Down
la source
2
Ajouter quelques $RANDOMretards dans les timings pourrait être amusant aussi :-)
Stéphane Gimenez le
1
Ajouter du bruit de ligne de modem serait encore mieux. Cela pourrait devenir le message le plus édité sur UL.
Tim Post
1
Aucune idée de ce que Tim veut dire par bruit de ligne, mais je le mettrais en œuvre en remplaçant le premier printfpar printf '\b%s%c' "${_line:_offset:1}" $RANDOMet en ajoutant printf '\b \b'avant le second sleep.
manatwork
1
HAHAHAH Je viens de courir cela avec Dmesg et freaking rire! S'il vous plaît garder à jour, c'est épique.
n0pe
2
C'est halarious. Certainement un gagnant pour "hacky" sortie ...
rmckenzie
14
export GREP_COLOR='1;32'; cat /dev/urandom | hexdump -C | grep --color=auto "ca fe"

Ceci (et d’autres commandes de http://www.commandlinefu.com/commands/view/6663/pretend-to-be-busy-in-office-to-enjoy-a-cup-of-coffee ) semble également très, , hackish '' et confond la plupart des gens qui regardent le terminal au moment donné;)

Wiesław Herr
la source
6
Pas besoin d'exporter GREP_COLOR, et vous n'avez pas besoin d'utiliser cat. Il suffit d'utiliserhexdump -C /dev/urandom | GREP_COLOR='1;32' grep --color=auto 'ca fe'
Chris Down
+1000 Voilà une excellente réponse!
6
  1. Utilisez Compiz avec des éléments tels que Wall, Expose, des fenêtres partiellement transparentes, etc.
  2. Utilisez tcpdump sur au moins un écran.
  3. Utilisez IRC et Irssi pour parler à d’autres "hackers" sur un autre écran.
  4. Compiler un noyau. vous n'avez pas besoin de l'installer, il vous suffit de le compiler, de créer les modules, puis de recommencer en nettoyant les objets compilés et en redémarrant la compilation. utilisez la couleur GCC pour améliorer l'effet.
  5. Si OpenBSD est démarré sur un seul écran, vous pouvez utiliser une machine virtuelle à cet effet, si vous n'avez pas de machine de rechange.
  6. Ligne à ligne impression de dmesg.
  7. Ouvrez quelques fichiers de code source dans Gvim et utilisez le colorcheme Cobald ou le mien .
  8. Modifiez xscreensaver "phosphor" et lancez-le dans une fenêtre. Il peut imprimer des choses caractère par caractère. Je l'ai utilisé plusieurs fois pour des effets visuels.
  9. Utilisez mplayer avec aalib ou cacalib. Il existe un filtre matriciel, mais cela peut sembler une arnaque peu coûteuse.
  10. Je suggère d'utiliser zsh, avec une sortie ls colorée (dircolor), ainsi qu'une belle coque.
polemon
la source
4

Que diriez-vous de cette configuration pour une configuration hackish à Hollywood?

  • N'utilisez pas un gestionnaire de fenêtres qui ressemble à Windows ou Mac, tous les autres ont l'air hack car les gars normaux ne savent pas ce que c'est.
  • Sélectionnez des couleurs vraiment ringard pour le terminal, telles que "orange sur noir" ou "vert sur noir".
  • Demandez à l'hexagone aléatoire (comme décrit par Wiesław Herr ) de s'exécuter dans une fenêtre en arrière-plan.
  • Avoir quelque chose qui ressemble à un journal en cours d'exécution dans une autre fenêtre, peut-être un tcpdump qui est presque lisible par l'homme.
  • etc

Cela devrait être un faux faux départ.

Johan
la source
4

Je devais le faire il y a quelques mois. Je viens de tirer "trouver /" et c'était suffisant.

gb.
la source
3

Vous pouvez utiliser

pv /var/log/messages -qL 100

L'exécution en cours man pvdonne les définitions suivantes pour qet les Lindicateurs.

-q, --quiet - Aucune sortie. Utile si l'option -L est utilisée seule pour limiter le taux de transfert d'un tuyau.

-L RATE, --rate-limit RATE - Limite le transfert à un maximum d'octets RATE par seconde. Un suffixe "k", "m", "g" ou "t" peut être ajouté pour indiquer les kilo-octets (* 1024), les mégaoctets, etc.

le 100est le nombre d' octets / seconde

Protège très bien PS (assurez-vous que vous n'êtes pas en mode fenêtre ALT+ CTRL+ F2fonctionne mieux de cette façon)

MODIFIER

qui suis je
la source
Pourquoi utilisez-vous lessdu tout? Il suffit de rediriger le fichier dans pv.
Chris Down
oups un sur-site, d'habitude j'utilise man rsyncje modé pour la question. Fixation ..
whoami
Certaines recherches suggèrent que cette pvoption n'est pas disponible par défaut sur Mac (bien que disponible via HomeBrew et Ports).
Chris Down
Ce n'est pas le cas sur mon installation 10.6 ...
serverhorror le
Je l’ai fait fonctionner sur Ubuntu et Fedora, je n’ai jamais utilisé de Mac, je ne suis donc pas sûr de ce qu’il est nécessaire de faire, mais je suis sûr que vous pouvez le faire installer. Je ne sais pas où télécharger le package
whoami
3

Cela peut sembler une question étrange, mais que feriez-vous pour créer la scène typique du piratage hollywoodien?

Le technodrame hollywoodien devrait suffire à inspirer ce que vous recherchez. Il est disponible sous forme de package pour Linux, également sur github , et devrait pouvoir séparer les bits que vous aimez et emballer quelque chose sous OS X.

Sur un système Debian / Ubuntu, vous pouvez installer comme suit:

sudo apt-get install hollywood

Ou si ça ne marche pas:

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

de commandlinefu:

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

ou

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

Sirex
la source
1

Je comprends que nmap est l’application standard hollywoodienne hackeuse, et voici une page d’un gars qui a travaillé à rendre le piratage hollywoodien de Tron plus réel.

Dave Jacoby
la source