Важная информация
  • ZX Spectrum, как инструмент защиты. Или взлома...

    Автор: ALS



    Это был 1997 год. Я только что был уволен «по состоянию здоровья». «Состояние» состояло из семи ножевых ранений, которые в те годы можно было в легкую заиметь, даже просто выйдя в магазин за молоком. В итоге я сидел дома, в чужом городе и «доедал» последние деньги… И тут случилось событие, которое заставило меня забыть думать о печальном. Напрочь.

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

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

    В общем, знакомый предложил собрать «открывашку» (мы тогда еще не знали про такие слова, как «кодграббер»), которая бы в присутствии клиента могла бы подобрать (или перехватить) код системы, уже установленной на его машину, снять машину с охраны и таким образом убедить клиента в необходимости срочно менять систему на что-то другое, более дорогое, но и более защищенное. Не могу сказать, что я не понимал возможность двойного применения такой штуки, но, честно говоря, на тот момент мне было достаточно того, что мой знакомый был человеком семейным, а значит, как мне думалось, всякие приключения ему были не нужны. Да и нормально оплачиваемая работа – это то, что мне требовалось тогда просто позарез. В общем, мы обговорили мои возможности и потребности, сроки и сумму аванса и я засел за работу

    На тот момент большое количество авто-сигнализаций были либо с фиксированным кодом, либо с динамическим, но без проверки уже пришедших посылок. Именно поэтому достаточно было записать кодовую посылку брелока из эфира, а потом просто воспроизвести ее. В случае с условно плавающим кодом было лишь ненамного тяжелее – надо было записать две посылки, а потом воспроизводить их, гоняя по кругу с небольшими паузами. На 3-4 круге все, как правило, получалось… Подбирать же код мне представлялось занятием бесперспективным, поэтому этот способ я отложил на будущее (точнее, вообще не сделал).

    Не думаю, что эти мои откровения сейчас, спустя 20 лет, способны принести какой-то вред существующим системам, но если вдруг кто-то будет пытаться, учтите, что срок давности по моим тогдашним опытам уже давно истек. А вот по вашим (будущим) – нет.

    На тот момент я достаточно хорошо знал ассемблер Z80, поэтому вопрос выбора не стоял – я начал проводить опыты на отечественном клоне, собранном на Т34. Сначала была написана программа в машинных кодах длиной байт в 30, которая по нажатию клавиши «s» (Старт) заполняла по кругу всю оперативную память данными, приходившими с магнитофонного входа. Какого-либо анализа этих данных не проводилось, они просто писались в сыром виде, заполняя всю оперативку в течение 2-3 секунд. Тут главное было вовремя нажать вторую кнопку (Стоп), чтобы на очередном круге не затереть уже записанную полезную информацию. Потом, по нажатию третьей кнопки (Play), запускался другой кусок кода и все данные в том самом виде, как они были записаны, просто излучались в эфир. В качестве приемника и передатчика я использовал комплект обычного авто-пейджера. Его частота лишь немного отличалась от общеупотребительной и достаточно легко перестраивалась на тот участок диапазона, где работали брелоки сигнализаций. Несмотря на всю «говно-палковость» метода, он работал. Не всегда, но процентов 40 тогдашних сигнализаций устоять перед ним не могли.

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

    Практически сразу встал вопрос – как избавиться от загрузки программы с магнитофона, ведь это ж совсем не по-пацански пользовать в таких делах бытовой компьютер с «Вегой» наперевес. И тут на сцену выходит второй девайс, имевший в те годы не меньшую популярность – АОН, собранный на том же самом Z80. Я уже не помню его модель, их были десятки, всех этих «Русей», «Теллуров» и прочих. Собирались они по разным схемам, но почти все идеально подходили под наши задачи: ранее составленную программу можно было прошить в ПЗУ, упаковать плату в «маленькую черную коробочку», сделать батарейное питание и получить в итоге небольшое устройство, сразу же по включению готовое к работе. Также в АОН-ах использовалась статическая память, которая при небольшой переделке штатной схемы питания была способна хранить записанные данные достаточно длительное время. Правда, на практике эта функция использовалась редко, поскольку, даже если покупатели и возвращались, по второму разу показывать «взлом» их систем (со старым кодом) было уже не нужно. Более существенные переделки коснулись самой памяти и управлявшего ею дешифратора: ПЗУ и ОЗУ на плате поменялись местами, для хранения программы была применена 573РФ2, а в качестве ОЗУ я поставил фирменную японскую M5M51008P. К ее старшему адресу был подключен тумблер, таким образом вся оперативная память была разделена на два банка по 64 Кб, которые с лихвой перекрывали все первоначальные задачи. В результате, по ходу работы можно было вручную коммутировать эти два банка, имея в памяти либо два разных кода от разных систем, либо пару следующих друг за другом – для систем с динамическим кодом.

    Программатор для РФ2 я собирал сам, его схема, если не ошибаюсь, была опубликована в одном из выпусков ZX-Ревю. Но как только я начал работать с этим программатором, начались неприятности. Сначала я спалил свой компьютер, перепутав питание и +24 В, нужные для прошивки РФ2. Чинить было некогда, да и Спектрумы в то время уже выходили из обращения, цены на них были невысокие, поэтому купил другой, самодельный Ленинград-2. РФ2 поменял на буржуйскую с напряжением программирования 12 В… и снова спалил только что купленный компьютер.

    Делать нечего, я купил третий Спектрум, а с двух «жертвенных» по мере необходимости выпаивал всякую мелочевку, нисколько не заботясь о сохранности дорожек и даже не думая о том, что когда-то я буду кусать локти, разглядывая эти два трупика и понимая, что я, лошара, уже не смогу их восстановить. Это все, что осталось от них на сегодняшний день:



    Они пережили со мной не один переезд, потом пролежали на балконе 10 лет, потом были вынесены в гараж, а когда в один прекрасный день гараж был вскрыт и оттуда повытаскивали более-менее ценные вещи, а остальное просто раскидали. Я вытащил эти две платы из общей кучи и вернул их обратно на балкон. Где они и долежали до сегодняшнего дня.

    Третий компьютер был заводским, я семь раз перепроверил подключение всех внешних девайсов и именно поэтому с ним ничего не случилось. Правда, он лишился своего корпуса во время одного из переездов, когда шла борьба за каждый грамм веса моих пожитков. Сам программатор, я уверен, тоже где-то лежит, но быстрым поиском я сейчас его найти не смог. Этот джентльменский набор юного хакера вы видите на титульная картинке этой статьи.

    Так, а что с АОН-ом?

    Я немного переписал программу под новый объем доступной памяти, добавил светодиодную индикацию, прошил ПЗУ и получил именно то, что требовалось: относительно небольшой девайс с мгновенной готовностью к работе.

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



    Слева – чудовище с индикацией на VFD-дисплее, безумной схемой спикерфона и явно колхозным монтажом, справа – его коллега со светодиодной матрицей, без свистоперделок, зато гораздо более опрятный.

    Спустя какое-то время мой знакомый пожаловался, что девайс достаточно быстро съедает батарейки. Тогда я сделал аппаратный моддинг устройства: сначала понизил тактовую до 1 MHz и откорректировал программу под новую частоту, потом поменял процессор на отечественный 1582ВМ2, а потом поступил совсем радикально - заменил батарейки на аккумуляторы.

    Это, пожалуй, и конец истории. Добавлю, что если абстрагироваться от не совсем обычного применения этой штуки, то для меня это была отличная проверка знаний и умений. И еще неплохая возможность заработать, которая, в конечном итоге, позволила мне «превозмочь» печальные последствия походов за молоком

    Комментарии 8 Комментарии
    1. Аватар для SKcorp.
      SKcorp. -
      Первая статья, которую прочитал с интересом.
    1. Аватар для kostya261
      kostya261 -
      У меня знакомый на почту за пенсией пошел... (или пособием, глупенький он был)
      Почта была в половине квартала от его квартиры.
      Обратно до подъезда дополз с ножевым ранением.
      Спустя некоторое время умер.
      Возраст был около 40. (по моему немного больше)
      На почте местные гопники спросили, мол Вовк, куда идешь? Он по простоте душевной поделился секретом.
      На выходе естественно они попросили поделиться деньгами. Только проблема в том, что денег он тогда не получил...
      Но гопоте этого не объяснить. Подумали обманывает.
      Как то так...
      От куда только эти уроды берутся?
    1. Аватар для ZXFanat
      ZXFanat -
      Половина и начало статьи не соответствует тому, о чем просил "CityAceE", когда сделал тему: "Конкурс статей на ZX-PK.ru". Напомню!
      "Внимание! Объявляется конкурс статей для сайта ZX-PK.ru
      Цель конкурса
      - Выявить таланты
      - Вдохнуть новую жизнь в ресурс
      - Поднять интерес к ресурсу
      - Привлечь новых активных участников в сообщество".
      Если убавить начало и половину статьи, то статья вызовет интерес. Последние абзацы еще могут привлечь внимание к нашему ресурсу, к форуму, но начало .... Не совсем интересно. Читаешь быстро, интерес так себе. Уже после половины прочтенного интересно, но мало. Добавил бы автор еще немного со второй половины и убавил бы немного с первой. Вот уж точно статья получилась бы интересной!
    1. Аватар для Koncheglazov
      Koncheglazov -
      Моему лучшему другу вполне хватило 4-ёх ранений. И было это не в "лихих 90-ых", а в 2006-ом. И во время похода не в магазин, а в институт.

      Статья очень интересная. Только я не понимаю, как в ресурс можно "вдохнуть новую жизнь", если регистрация отключена?
    1. Аватар для Alex Rider
      Alex Rider -
      Весьмя годная статья, почитал с удовольствием.

      Цитата Сообщение от Koncheglazov Посмотреть сообщение
      Только я не понимаю, как в ресурс можно "вдохнуть новую жизнь", если регистрация отключена?
      Это тема точно не для комментариев статей. Если кратко: включив автоматическую регистрацию, мы вдохнем в форум "старую жизнь" со спамом, троллями, обиженными, умалишенными и прочей малоприятной канализацией. Развивать тему тут не будем, если хочется подискутировать - welcome в соответствующий раздел.
    1. Аватар для denpopov
      denpopov -
      Цитата Сообщение от kostya261 Посмотреть сообщение
      У меня знакомый на почту за пенсией пошел... (или пособием, глупенький он был)
      Почта была в половине квартала от его квартиры.
      Обратно до подъезда дополз с ножевым ранением.
      Спустя некоторое время умер.
      пардон за оффтоп, а пенсию не разносят по квартирам?

      по статье: очень интересно, жалья упустил такое счастье - АОН и другое.
    1. Аватар для ALS
      ALS -
      Спасибо за отзывы. Я еще не оставил попыток найти программатор, если найду - выложу его фото в этой теме.

      Скрытый текст

      Про ножевые и их последствия - это не столько моя заслуга, сколько врачей. Быстро привезли, быстро прооперировали.
      Да и рука у них была набита :)
      Отсутствие "открытой" регистрации, думаю, никого еще не останавливало, я в свое время просто написал письмо админу и в тот же день получил доступ.
      [свернуть]
    1. Аватар для Westbam
      Westbam -
      Интересная статья.
      Моего отца, тогда избили и ограбили около дома, нес домой подарки на новый год.