Выбор. Фрагмент 5. Хакер

Алексей подключал систему автоматической регистрации и обработки сигналов на очередном вагоне-дефектоскопе. Рядом инженер Володя проводил на компьютере обучение персонала вагона с демонстрацией возможностей прикладного программного обеспечения.

В перерыве к Алексею подошел начальник вагона Михаил. С Михаилом Алексей был хорошо знаком , так как учился ранее на одном факультете.
 
- Говорят, ты умеешь многое — сказал Михаил.

- Ты это о чем конкретно?  — поинтересовался Алексей.

- А вот смотри, есть у нас вот такая игрушка — Михаил запустил игру на компьютере. К ним подошли инженеры вагона и Володя.

На белом экране бегала божья коровка , а за ней гонялись два паука. Там, где пробегала божья коровка, освобождался фрагмент картинки. Если пауки не успевали схватить беглянку, и она пробегала не менее 75% области экрана, картинка раскрывалась целиком. На экране была обнаженная девушка. На каждом следующем уровне пауки бегали быстрее и сложность игры возрастала. Игрушка была написана для  старого компьютера IBM PC AT 286 без подстройки под скорость процессора.  На вагоне стояла IBM PC AT 486, и пауки на ней бегали столь стремительно, что Михаил смог продемонстрировать только прохождение первого уровня.

- Видишь, какая проблема с быстрым компом. У меня дома 286 машинка, и я там прошел все уровни . Их там 25. А слабо тебе, нам все картинки показать, говорят, что ты - хакер — сказал Михаил.

- Что-то тут не так, неспроста эта проверка  - подумал Алексей и достал свою дискету из сумки.

На дискете у Алексея был небольшой набор программ, среди которых он нашел дизассемблер. Затем он преобразовал машинный код игрушки в текст программы на языке ассемблера. За спиной за его действиями с интересом наблюдали.

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

- Дайте мне точку опоры, и я переверну Землю — вспомнил изречение Архимеда Алексей.

- Нужно найти, за что можно зацепиться. А вот, нашел.  Картинка открывалась полностью после освобождения 75% экрана. И держалась на экране пока не нажималась любая кнопка на клавиатуре для перехода на следующий уровень. Попробуем найти в программе условные переходы по больше или равно — решил Алексей.

Таких условных переходов оказалось больше сотни. Алексей менял условный переход на безусловный, транслировал программу и запускал на исполнение. На 27-й попытке у Алексея получился искомый результат.

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

- Обманул ты меня, Михаил, не 25 картинок, а всего их 13 — сказал Алексей.

- Всего за 15 минут сделал — удивился Володя.

Михаил и его инженеры стояли с вытянутыми лицами.

- Что-то этот «экзамен» не похож на дружескую подначку — опять подумал Алексей.

Назавтра все стало ясно. В.Е. при встрече рассказал Алексею, что был позавчера на совещании с заказчиком. Присутствующий там Михаил заявил:

- Нам нужны два комплекта аппаратуры на два ультразвуковых  вагона-дефектоскопа. Предлагаю в целях экономии средств нашей дороги купить для них только один комплект программного обеспечения. Мы сами его размножим на два вагона — снимем копию и установим на второй вагон.

- Очень хорошее решение, если у вас все получится — согласился представитель заказчика.

В.Е. сказал Алексею, что он испугался такой постановки вопроса, и сказал:

- Боюсь, что у вас скопировать просто так не получится, потому что защитой продукта занимался знакомый  вам Алексей Николаевич, известный в определенных кругах хакеров.

Алексей рассмеялся:

- Всеволод Ефимович, Вам не стоило беспокоиться. Не буду рассказывать подробности, как я это сделал, но расскажу, какой был бы результат, если бы они запустили копию программы на другом компьютере. Сначала у них бы все заработало, шла бы регистрация и обработка сигналов в нормальном режиме , информация бы писалась на жесткий  диск до определенного момента, в который она стала бы писаться в таблицу размещения файлов FAT диска.  После чего все, что было на жестком диске, включая Windows, стало бы недоступно. Диск надо переформатировать и все программы устанавливать заново.  Думаю, им бы это очень понравилось.

Алексей добавил:

- Теперь я понял, что вчера хотел от меня Михаил.

И Алексей рассказал В.Е. про вчерашнюю игрушку Михаила.

* * *
Хакер, не хакер, а системами защиты от копирования информации на гибких и жестких дисках Алексей занимался давно.
В конце 1991 г.  коллега Алексея Аркадий привез ему домой IBM PC AT 286 c целью создать защиту от копирования на гибких магнитных дисках. Алексей тогда первый раз столкнулся с персональным компьютером IBM PC, и не знал, как им пользоваться.

- Даю тебе неделю для знакомства с машиной. Работать придется интенсивно. У тебя три месяца. Мне весной лететь в Германию на выставку с демонстрацией. - сказал Аркадий.

- Работать с диском нужно не функциями DOS, и даже не BIOS, а напрямую работать с микросхемой контроллера диска на уровне команд ассемблера — добавил коллега.

- Вот тебе демонстрационная дискета с импортной программой, где в видео авторы утверждают , что сделать копию ее невозможно. Они даже премию тому, кто скопирует, обещают. Сможем им нос утереть? — протянул дискету Аркадий.

- Давать по носу западникам, это наша традиция и прямая обязанность  — пообещал Алексей

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

Работа была завершена в заданный срок. Дискету западных коллег Алексей  размножил. Защита у них была тупая и несложная.  Аркадий был очень доволен.

* * *

Разрабатывая свои варианты построения защиты, Алексей с удовольствием анализировал доступные ему чужие. Как-то к нему подошел заведующий учебной лабораторией кафедры Андрей Смазов со словами:

- Смотри, вот дискета с бухгалтерской программой, там есть защита — ее можно установить только на 3 компьютера. Сейчас на ней осталась только одна инсталляция, можешь сделать снова 3?

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

- Забирай свою дискету. Ничего интересного — сказал Алексей через 10 минут.

- Сделал 3 инсталляции? - спросил Смазов.

- Сделал 99. Устроит? - ответил Алексей.

Довольный Андрей исчез. А спустя час Алексей, направляясь читать лекцию, встретил его в коридоре, нагруженного коробками с настольными лампами и дискетами.

- Видимо, на складе для лаборатории получил — наивно подумал Алексей.

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

- Добрый день, Алексей Николаевич!

- Добрый! Как дела Костя?

- Отлично. Вот сегодня Ваш Смазов нам здорово помог с инсталляцией бухгалтерских программ.

- Ой, какой он молодец! Видел его сейчас. В коробках благодарность? - спросил Алексей.

- Да, так пустяки, за такую-то помощь!

Вернувшись с лекции в лабораторию, Алексей прямо спросил Смазова:

- Что за художества?

- Да,  у меня нет таких талантов! Ну, погрелся в чужих лучах! Николаич, жалко что-ли?

"Ну, ты и прохиндей!" - подумал Алексей и ответил:

- Не жалко, но это был некрасивый поступок.

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

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

В том же 1993 году в РФ был принят закон об авторском праве, и системы защиты от копирования информации на дисках стали для большинства применений не актуальными. Заказов больше не было. И Алексей перестал заниматься этой тематикой.


Рецензии