Выбор. Фрагмент 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 году в РФ был принят закон об авторском праве, и системы защиты от копирования информации на дисках стали для большинства применений не актуальными. Заказов больше не было. И Алексей перестал заниматься этой тематикой.
Свидетельство о публикации №225050200026