Вспомнил про хороший фильм 1995 года: The Net. В нём тоже в кадр попал код, попробую выяснить, что там и откуда.

Вторая же сцена фильма: Анджелу показывают за работой. Она решает проблему заказчика: ищет в коде программы очень нехороший вирус. Всё в реальном времени, прямо во время разговора с клиентом по телефону.

Сходу бросается в глаза крутизна средств, которые она использует. Пока люди страдают, используя фактически консольный MacsBug, она запускает “System Debugger v.6.4”, в котором выбирает устройство. Видимо, для удалённой отладки. Интерфейс окна при этом выглядит максимально не родным. Налицо какая-то неофициальная хакерская приблуда.

Среди устройств засветились:

  • PowerBook 520/540 - видимо тот, с которым она будет работать на пляже
  • Quadra 650, прокачанная до Power Macintosh q650 - вероятно, рабочая станция
  • Mac II - серия Macintosh II - похоже, рабочий инструмент для тестирования

Открывается знакомый интерфейс программы Super ResEdit, в котором Анджела выбирает кодовый сегмент и открывает окно с дизассемблером. Запускается какая-то чужеродная “CodeScanning Utility”, в которой указывает Segment Header: A5,$E1,74,00, что бы это ни значило. Странная запись: имя регистра и три числа, первое из которых шестнадцатеричное. Раскрутить, что это такое, мне не удалось.

Вводит:

Scan:Virus /known/unknown
Patch NewRefs [res]
BEGIN

Ну, это понятно - магическая команда, которая сама изловит все вирусы, как известные, так и нет. Удобно!

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

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

Потыкали мышью в эти самые 20 строк кода, повыделяли то одно, то другое, и переходим в интерфейс “Scanning Segments”. Консультанты у фильма были реально крутые, придумали софтинку, которая раскладывает машинный код в логическую структуру. Но вот строка выделения, которая от сцены к сцене оказывается сдвинута на пиксель: “Аааа!”

Потыкаем мышкой ещё раз в те же самые 20 строк ассемблерного кода… Ну, вот и всё. “Scan Completed. New Virus Isolated”.

Анджела - молодец! Анджела заслужила пиццу на ужин. Прикольный момент: пиццу она заказывает, подкатившись к соседнему компьютеру, который, внезапно(!), оказывается под управлением Windows 3.1, среди остальных Маков. Его выдаёт как будто нечаянно торчащее влево меню из-под формы заказа.

А где же код, спросите вы? А код у Анджелы расклеен по углам мониторов.

Не всё удалось прочитать, но в целом представление получить можно:

fptr = fopen("file.dat", "rb+")
fptr = fopen("file.dat")
print f ("Character number to print:");
???
#include <???.h>
#include <stdio.h>

Очень хорошо! У крутейшего реверс-инженера по мониторам расклеены фрагменты кода из учебников по программированию на C.

Техническим консультантам фильма - моё почтение!