Современный мир плотно оцифровался, и взаимодействие с ПО вошло в нашу повседневность. Сложно представить, насколько легкомысленно к изображению кода на экране в кино подходили всего 10-15 лет назад. Вместо реальных работающих алгоритмов на мониторе стильного хакера нередко показывали какую-то чушь. Иногда это было осознанной шуткой со стороны создателей фильма или их консультантов-айтишников.
Впрочем, даже в дремучие с этой точки зрения времена кинопроизводства 2000-х и 2010-х находились режиссеры, которые заботились об аутентичности и функциональной адекватности строчек кода, которые мелькали на экране порой всего на долю секунды. Такие фильмы снискали заслуженное уважение настоящих IT-специалистов.
В этой статье мы рассмотрим все три типа кода, который появляется в фильмах: бессмысленный, странный и адекватный рабочий.
История изучения вопроса
Впервые внимание широкой общественности к коду на киноэкранах привлек программист Джон Грэм-Камминг (в настоящее время, с 2020 года, он работает техническим директором CloudFlare).
В 2014 году он смотрел боевик с Мэттом Деймоном «Элизиум — рай не на Земле» и обратил внимание на одну сцену, в которой перезагружалось ПО космической станции. Грэму-Каммингу промелькнувшие на несколько секунд строчки показались очень знакомыми, и он решил поискать, откуда создатели фильма их взяли. Ответ нашелся быстро: код целиком скопировали из руководства Intel для программистов, которое Грэм-Камминг (начавший программировать в 13 лет) читал давным-давно.
Эта история (а также то, как пост о ней завирусился в Twitter) вдохновила специалиста на то, чтобы повнимательней приглядеться и к остальным примерам якобы настоящего кода, который показывают в кино.
Занимательный факт про Джона Грэма-Камминга — он был тем самым человеком, который в 2009-м году создал петицию и заставил британское правительство официально извиниться за преследование отца ИИ и вообще современных компьютеров Алана Тьюринга, приведшее к его самоубийству в возрасте 41 года. 24 декабря 2013 года королева Великобритании Елизавета II помиловала Тьюринга посмертно.
Грэм-Камминг завел блог на Tumblr, набравший за три дня 11 тысяч подписчиков, и получил огромное количество писем, предлагавших разобрать код из того или иного кино. По его словам, этот процесс достаточно прост: специалисту достаточно просто взглянуть на код, чтобы сразу как минимум определить, полный ли бред перед ним — или что-то, что может действительно быть рабочим. Во втором случае Грэм-Камминг продолжал свои изыскания.
В большинстве случаев, по словам специалиста, если код оказывался рабочим, ему удавалось найти его на первой странице Google, и он целиком соответствовал тому, что показывали в кино. Так как в фильмах код на экране используется нередко в весьма пафосных ситуациях, выглядит это довольно смешно: в «Терминаторе», например, при виде «из глаз» андроида T-800 мы можем увидеть безвредный ассемблерный код для Apple-II.
А в одном из эпизодов обновленного «Доктора Кто» главный герой очень сосредоточенно изучает… браузерный код, отсылающий к картинке в «Википедии». Наверное, специалистам по боевым искусствам так же весело смотреть популярные боевики.
Грэм-Камминг говорит, что это удивительно: на код, который нередко имеет ключевое значение для сюжета фильма, создатели часто вообще не обращают внимание и даже не заботятся о правдоподобии, хотя можно было бы потратить на полчаса дольше и найти работающий и свободно распространяемый код на каком-нибудь GitHub.
Справедливости ради, всегда были и примеры обратного. Например, в «Парке Юрского периода» (1993), несмотря на общую фантастичность сюжета с воскрешением динозавров, герои работали на реальных ОС в реальных компьютерных программах того времени. Но это — капля в море, по сравнению с общим океаном бреда того, как код на экране показывают в кино и сериалах. Ситуация ощутимо наладилась в 2010-х, после задавшего новую планку изобразительной достоверности фильма Дэвида Финчера «Социальная сеть», но это не означает, что ленивые режиссеры и художники-постановщики перевелись на свете.
Сейчас Грэм-Камминг продолжает разбирать код в кино уже в формате видеоблога на новом сайте Behind The Screens. А мы решили провести собственное небольшое исследование, наделали скриншотов из самых разных фильмов и сериалов и спросили IT-специалистов DDoS-Guard, что они думают по поводу увиденного.
Странный код
(реальный код, но не соответствующий тому, что якобы происходит на экране)
Начнем с классики, известного ценителям фильма «Antitrust» (2001):
Что именно мы видим на экране, не поясняется. Однако герои фильма, программист и его супервайзер, реагируют так, будто этот код — что-то потрясающее и изумительное, то, что они «смогут использовать» (видимо для великих дел).
Единственный «профессиональный» комментарий, который отпускает программист — this compression is awesome.
Мнение эксперта DDoS-Guard:
Вероятнее всего, в верхнем куске кода происходит чтение строки откуда-то до символа перевода строки или до символа перевода каретки (обычно они идут подряд в винде и обозначают конец строки). Далее код под пальцем максимально нерационально пытается проверить, написано ли в начале строки слово «GET», и в этом случае пытается какой-то переменной (под пальцем не видно) поставить значение true. Вероятнее всего, они пытались прочитать слово GET в начале строки, но чет написали код настолько великолепный, что убить его автора мало... Судя по всему, пытались сделать проверку того, какой HTTP метод вызывается — GET или HEAD, но сделали это ужасно.
Не совсем понятно, что делает в этой конкретной сцене сериала «Код на миллиард долларов» (2021) персонаж. По сюжету он разрабатывает в 1993 году революционный 3D-софт Terravision, который обрабатывает данные со спутников и помогает построить объемную картинку планеты.
Мнение эксперта DDoS-Guard:
Да это же кейлоггер! Код читается не очень, но прямо с высокой очень вероятностью он пишет на C++ кейлоггер (ПО, которое незаметно собирает данные о нажатых на клавиатуре клавишах). То есть код корректный, но что он делает в этой конкретной сцене, непонятно. Видимо, персонаж его допишет и пойдет творить свои злые делишки :)
Бессмысленный код
(либо вообще не код, либо что-то явно неадекватное)
Цикада 3301: Квест для хакера (2021)
По сюжету предполагается, что главный герой взламывает криптокошелек недруга (который в это время занят любовными делами), подбирая пароль с помощью алгоритма, и выводит крипту вовне.
Мнение эксперта DDoS-Guard:
В начале сцены больше похоже на попытку занести какие-то данные из одного файла в другой. Потом появляется меню некой консольной утилиты и список директорий, где, вероятно, может хранится что-то интересное вроде конфигов или подобного. Запустили какую-то тулзу, скорее всего, для брута. Дальше какой-то абстрактный код, больше похож на геттеры какие-то, никакой тяжёлой логикой не обладающие. В целом как будто случайный набор команд на Perl, и то с ошибками. Быть может, здесь хотели показать, как выглядит внутрянка какого-то BTC или подобного кошелька, но оно выглядит не так, к сожалению. Похоже на использование elpscrk, программы, которая не подбирает и применяет, а из своего хранилища выдает максимально совпадающий пароль, исходя из вводных.
Так, по мнению авторов фильма «Девушка, которая застряла в паутине» (2018), выглядит процесс утечки данных для системного инженера ФБР, который за ним наблюдает, не в силах что-либо сделать.
Мнение эксперта DDoS-Guard:
Красивая картинка для фильма :) Ничего там интересного не происходит, кроме открытого на фоне ютубчика. По центру под полосой загрузки, скорее всего по гайду с того же ютуба, открыт какой то 16-ричный редактор.
Так, по мнению авторов фильма «Обратный отсчет» (2019), выглядят внутренности приложения на 60 гигабайт (!), которое предсказывает людям дату их смерти и начинает обратный отсчет.
Мнение эксперта DDoS-Guard:
Снова похоже на красивую картинку для фильма, так как текст вообще не несет какой-либо смысловой нагрузки. Зато есть фраза на латыни! Ее перевод: это проклятие найдет тебя, будет преследовать и угнетать тебя, пока ты не будешь полностью уничтожен. Вот такой вот суровый «код».
Сцена из фантастического сериала «Разрабы» (2020). По сюжету, так выглядит код на экране в сверхсекретном отделе. Увидев его, главный герой, специалист по ИИ, впадает в такой шок, что его начинает буквально (не метафорически) тошнить.
Мнение эксперта DDoS-Guard:
Это код на питоне. Так как я не люблю питон — я тоже впал в шок, но без тошноты. Там есть пара явных ошибок, но код читается с трудом. Похоже на дебаггер исполняемых файлов. Может ГГ не понравились эти ошибки, или стиль кода, как выстроен алгоритм. В правом верхнем углу и правда какая то ересь на эзотерическом языке, похожем на Brainfuck. Может у ГГ просто фобия на него?
Адекватный рабочий код
(код, который действительно работает и находится в сцене на своем месте)
«Who Am I: No System Is Safe» (2014)
Главный герой взламывает центральный сервер университета, чтобы добыть билеты с вопросами для грядущих экзаменов на бакалавра.
Мнение эксперта DDoS-Guard:
Потрясающе забавный фильм, кстати. Тут кто-то в терминале вывел список директорий, видимо сделал вид, что это копирование и вывел окошко с надписью Completed :). Дальше уже больше похоже на список директорий какого-нибудь компа на Винде, и, вероятнее всего, выбрана нужная папка с ответами для копирования. То есть, по смыслу подходит.
Тот же фильм. На съезде праворадикальной партии главный герой, притворяющийся техническим работником, использует ноутбук, с которого должна быть показана презентация, чтобы подключиться к скомпрометированному Wi-Fi, после чего его коллеги в фургоне снаружи запускают вместо нужной презентации похабный видеоролик с Гитлером и собаками.
Мнение эксперта DDoS-Guard:
Ну тут все совпадает. Подключается к wi-fi, список сетей. Wlcrack это реальная тулза. Нужна для перебора паролей. Ну и с функцией подключения к нему написано нечто странное, похожее на вызов утилиты (название вырезано с целью соблюдения законодательства РФ), которая работает с WiFI и умеет подбирать пароли различными способами к разным сетям (ну и вообще еще много чего интересного). Установлен тип сети с WEP шифрованием, канал 7 (2.4 ГГц сеть) и запущен поиск. Все правильно.
Тот же фильм. Хакеры используют довольно гротескный фишинг, посылая сотруднице нужной им компании от имени ее подруги открытку с котенком и ссылкой на «еще больше котят». Далее за кадром говорится, что, кликнув по этой ссылке, она предоставила им доступ во внутреннюю сеть.
Мнение эксперта DDoS-Guard:
В принципе выглядит достоверно, но из того, что мы видим, остается неясным, как именно будет доставлена вредоносная нагрузка. Быть может, что-то скачается при переходе на ссылку — какое-то расширение с вредоносным кодом или зараженный Java-апплет, но нам этих деталей не показали.
Вот так по мнению создателей интерактивной серии «Bandersnatch» в сериале «Черное зеркало» (2018) выглядит код игры — разрабу осталось клацнуть Enter, чтобы она запустилась.
Мнение эксперта DDoS-Guard:
Да, это вполне похоже на код игры на Basic, точнее, на часть кода. И действительно, если нажать Enter, сие чудо запустится.
Всеми любимый «Мистер Робот» (2019). По сюжету, хакерша сидит в людном месте и прямо со смартфона каким-то образом переводит крипту с кошелька, где складировались украденные деньги, «в равномерном объеме» на все криптокошельки толпе людей вокруг.
Мнение эксперта DDoS-Guard:
Запускается питоновский скрипт «ПереведитеДенякМногоПожалуйста», который, вероятно действительно переводит крипту куда-то. Допустим, так и есть. Идет CURL команда, посылающая запрос на криптобиржу, и ниже мы видим ответ сервера, выдавшего HTML-страницу, на которой это можно сделать. Стучится на свой кошелек, чтобы денег кому-то отсыпать. Ну и конец скрипта просто выводит надпись о завершении якобы трансфера денег. В принципе убедительно, хотя финал сцены, про то, что деньги распределяются по кошелькам кучи людей вокруг (и у всех прямо оказались случайно криптокошельки, и их номера известны?) — это откровенная фантастика.
По сюжету фильма «Кибер» так выглядит «вирусный код», путем внедрения которого хакер устроил аварию на китайской АЭС.
Мнение эксперта DDoS-Guard:
Что-то похожее на древний COBOL или ассемблер. На втором скрине выглядит как куски декомпилированного приложения, что логично и уместно, учитывая, что они разбирают как приложение взломало АЭС. Больше конкретики, к сожалению, по такой короткой сцене не скажешь.
Заключение
Можно сделать вывод, что с годами — по мере того, как компьютеры и смартфоны вошли в каждый дом, а программирование из элитного закрытого культа стало практически массовым занятием — ситуация с репрезентацией кода в кино и сериалах улучшилась.
Тем не менее, проведенный нами анализ показывает, что индустрии в этом плане все еще есть куда расти. Так как кинопродукция все-таки рассчитана на массового зрителя, скорее всего, стопроцентно верного отображения, как выглядит и работает код, на экранах мы не увидим никогда.
И это нормально, потому что кино целиком состоит из условностей (их коллекционированию посвящен, например, сайт-энциклопедия TV Tropes) — начиная с того, как работает на экране оружие или эффект от удара по голове — и заканчивая физическими свойствами объектов типа взрывающихся машин. Но по крайней мере совсем откровенной чуши становится все меньше, и это приятно.
А какие интересные примеры кода в кино/сериалах находили вы? Поделитесь в комментариях.
Автор: olegantipovDDG