как сделать так, чтобы эти «упакованные действием, случайные данные» отображались в терминале? - PullRequest
16 голосов
/ 15 марта 2011

ОК, на самом деле это не вопрос для достижения чего-либо практического, но все же это серьезный вопрос, и я надеюсь, что он будет воспринят серьезно, и моды не накажут меня за это:)

Я уверен, что большинство из вас видели хороший боевик, в котором ЦРУ, ФБР, хакеры или другие "компьютерные ботаники" "извлекают некоторую информацию", и когда они действительно показывают свои экраны / мониторы / рабочие столы, отображается много случайных данных, и это так волнующе: D

Итак, мы снимаем фильм, и мне нужно реконструировать такую ​​сцену. Моя ОС Ubuntu 10.10.

Мне кажется, я где-то читал в Интернете, когда эта оболочка действительно может быть записана, а затем воспроизведена, но я не уверен, как она работает.

В принципе, любой скрипт / программа / код / ​​решение, которое делает трюк, очень приветствуется.

Если бы кто-нибудь мог придумать решение, это было бы так здорово!

Давайте пошутим, ладно?

EDIT BOUNTY: Еще нужно еще несколько идей, поэтому я предлагаю награду за лучшую новую идею.

Ответы [ 10 ]

11 голосов
/ 15 марта 2011

Есть вызов утилиты script (по иронии судьбы), который делает то, о чем вы говорите.Он может даже записывать данные синхронизации, поэтому воспроизведение выполняется с той же скоростью, с которой были выполнены исходные действия.

Чтобы начать запись и захватывать данные синхронизации:

$ script -t script.out 2>timing.out

Когда вы закончите,введите exit.

Чтобы воспроизвести записанный сеанс, включая исходное время:

$ scriptreplay timing.out script.out

Редактировать :

Вы можете имитировать набор текста или медленнопередача данных по телефонной линии с использованием утилиты pv.Приведенная ниже команда выведет файл со скоростью 37 символов в секунду ( примерно , что приблизительно равно 300 бод модему).

pv -q -L 37 somefile

Вот еще одна идея:

hexdump -C /dev/urandom | pv -q -L 1200

Thisдает Matrix -подобный вывод на экран:

#!/bin/bash
printf "\e[32m\n"
while :
do
    for i in {1..16}
    do
        ((r = $RANDOM % 2))
        if (($RANDOM % 5 == 1))
        then
            if (($RANDOM % 4 == 1))
            then
                v+="\e[1m $r   "
            else
                v+="\e[2m $r   "
            fi
        else
            v+="     "
        fi
    done
    printf "$v\n"
    v=""
done
6 голосов
/ 15 марта 2011

для многих людей dmesg выход будет выглядеть как ракетостроение.Для тех, кто знает, это будет очень весело.


обновление: небольшой скрипт для замедления работы.обновление 2: упростил код и сделал его более экономичным:

#!/bin/bash
while read line 
do
    echo "$line"
    sleep 0.1 
done < /var/log/dmesg
4 голосов
/ 15 марта 2011

Вот расширенная версия, которая смешивает строки из словаря.

Сначала вы должны выполнить поиск словаря, подобного этому:

ls -lh $(locate dict) | grep M

Это будет искать слово 'dict' в пути / имени файла и печатать много нежелательных вещей.Мы пытаемся отфильтровать только файлы, которые находятся в MB-Range, но некоторые меньшие файлы в HTML-каталогах также будут отображаться.Я выбрал немецкий диктант, потому что он был единственным для тестирования.Вы выбираете свое.

Мы смотрим, как долго продиктовано, чтобы выбирать строки случайным образом:

DICT=/usr/share/dict/ngerman
lines=$(wc -l $DICT | awk '{print $1}')

for k in {1..100} 
do 
    row=$((RANDOM%lines)); 
    word=$(sed -n ${row}p $DICT)
    echo -e $RANDOM"\t": $RANDOM$RANDOM":\t:"$word
    sleep 0.2
done

изменить строки и время сна (секунды) в соответствии с вашими потребностями.1012 * Если вы поместите все это в сценарий, вам не нужно записывать / воспроизводить его, но вы можете перезапустить его, как вам нужно.

4 голосов
/ 15 марта 2011

Или просто периодически печатать случайные числа:

for k in {1..100} ; do echo -e $RANDOM"\t": $RANDOM$RANDOM; sleep 0.2; done 

Установите 100 на 10 или 1000, чтобы получить меньше или больше результатов, установите для сна меньшее значение, чтобы ускорить процесс.

4 голосов
/ 15 марта 2011

Я думаю, что это действительно зависит от того / что / вы пытаетесь изобразить. Показ компьютерного программиста (кода) отличается от показа хакера, который отличается от матрицы, которая отличается от показа поиска в базе данных ФБР.

Тем не менее, две возможные идеи:

Во-первых, попробуйте загрузить и скомпилировать какой-нибудь огромный проект, такой как gcc или firefox. Обычно вы просто устанавливаете "build-essentials", скачиваете файл tar.gz с исходным кодом с сайта и запускаете "./configure && make" в каталоге с исходным кодом, который вы извлекли из tar.

Другой возможный способ - «tracepath www.google.com»

2 голосов
/ 03 июня 2011

Вы можете эмулировать реальную сессию, я ничего не ненавижу больше, чем просмотр фильма, в котором введенные команды являются полностью поддельными.

Один фильм, который меня впечатлил, - это история оболочки, показанная в «Троне:Legacy ", на самом деле это имеет смысл, единственная проблема, которую я мог выбрать, кроме нескольких незначительных синтаксических проблем, заключалась в том, что ПК должно было быть более 20 лет, но xorg явно работал в верхнем списке.

Решите, что ваш актер пытается изобразить, например, он взламывает сервер?затем эмулируйте основы этого, например.

  1. Типы "nmap -vA secure.fbi.top.secret.com"
  2. Ожидает завершения сканирования портов
  3. Обратите внимание, что на нем запущена уязвимая версия proftpd
  4. Притворяться, что запускается клиент netcat, работающий в другом окне терминала
  5. Выполнить, казалось бы, вредоносную команду "echo -e" \ x2d \ x64 \ xf7 ...more random hex "| telnet secure.fbi.top.secret.com"
  6. Второй терминал теперь волшебным образом отображает приглашение root "[root@secure.fbi.top.secret.com] #"
  7. Актер теперь закрывает первый терминал и использует новый терминал для выполнения каких-либо задач, скажем, запроса к mysql-таблице ложной информации о кредитной карте, то есть реальных команд, только на поддельных данных.

ПокаВы не опускаетесь до уровня этого ужасного фильма "Брандмауэр" с Харрисоном Фордом, вы должны быть правы .... я имею в виду, давай, ipod + сканер на экране, серьезно.

2 голосов
/ 02 июня 2011

Эй, чувак, я знаю, что приду после удара, но в любом случае: я не знаю, слышали ли вы об этом, но я думаю, вы могли бы взглянуть http://hackertyper.net/.

По сути, это веб-сайт, на котором вы выбираете исходный код (из ядра Linux или всего, что вы загружаете в него), и сценарий на этом сайте будет писать 5 или 6 символов исходного кода на экране каждый раз, когда вы нажимаете на клавиатуру.1005 *

На самом деле очень интересно попробовать :) 1007 *

1 голос
/ 02 января 2016

Как заставить эти «упакованные в действие, случайные данные» отображаться в терминале?

Хотя ввод фильма, вероятно, пропущен, те, которые все еще что-то ищут по этимЛинии могут проверить пакет hollywood или здесь, на github .Это очень подробный экран занятости для терминала, доступный в Linux.Должен быть подан с некоторым серьезным вдохновением для поклонников OS X.

0 голосов
/ 03 июня 2011

Честно говоря, иди с легкими вариантами. Хорошая вещь в любой из этих идей состоит в том, что они могут повторяться для каждого фактического дубля, и вы даже можете иметь тип актера и выполнять команду на камере. Помните, если вы хотите, чтобы какая-либо команда остановилась на полпути (т.е. если вы хотите, чтобы актер явно обнаружил что-то в данных на экране), попросите их нажать Ctrl+C.

  • Команда:

    find /
    

    Вывод: список всех файлов в системе. Смешно быстро.

  • Команда:

    cat /dev/urandom
    

    Вывод: чисто псевдослучайные данные. Хотя много символов вопросительного знака, потому что обычно набор символов вашего терминала не поддерживает случайно сгенерированную кодовую точку. Возможно, вам повезет больше, если в вашем терминале есть полная поддержка Юникода / широких символов (включая шрифт).

РЕДАКТИРОВАТЬ : Просто прочитайте в комментарии, что вы хотите, чтобы это было намного медленнее. Может быть, это будет работать:

  • cat /dev/random

Время от времени вы получаете небольшое количество случайных битов. Нет открытого текста.

  • cat /proc/<something>

Здесь могут быть какие-то вещи, которые выглядят абсолютно законно, отформатированные данные, и вы можете прокрутить их и перейти на-HA! как будто ты что-то нашел.

  • ls -R <directory>

Рекурсивные списки каталогов это весело. Кроме того, что-то еще, что я мог сделать с этим, заключалось в том, чтобы обернуть вызов в кавычки, например так:

`ls -R /`

И тогда я бы часто видел сообщение от ls, в котором говорилось, что он пропускает уже перечисленные каталоги (например, когда он сталкивается с символическими ссылками и прочим), а не полный список из миллионов строк. Так что это не был предсказуемый текст, летящий со скоростью света, но это и не предсказуемый текст каждые полсекунды.

Также, если вы хотите записать свой рабочий стол в Ubuntu, sudo apt-get install xvidcap. Xvidcap - это аккуратная маленькая утилита с открытым исходным кодом для записи скринкастов. Информационные и видеоуроки доступны на сайте проекта здесь .

0 голосов
/ 01 июня 2011

Иногда мы видим словесный вывод, который выглядит очень технически - если вы думаете о «техническом» как о «искусственном».

#!/bin/bash
while read line 
do
    for c in $(echo "$line") 
    do 
        echo $c" "
        sleep 0.1 
    done 
    echo
done < ./somefile

Это достаточно медленно, чтобы сделать возможным чтение текста - поэтому содержимое не должно быть слишком очевидным случайным лог-файлом.:)

Конечно, вы можете поиграть с задержкой, увеличить, уменьшить ее или позволить случайной функции выбрать значение:

sleep 0.1$((RANDOM % 100)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...