Взлом цифровой и социальной системы

Взлом цифровой и социальной системы
Взлом цифровой и социальной системы

Когда вы живете в тоталитарном, контролируемом и «счастливом» обществе и хотите стать хакером, вы должны сначала взломать социальную систему. Быть просто инженером недостаточно, нужно быть лицемером, диссидентом и контрабандистом одновременно. Это девиз моей личной истории, которая начинается в Югославии и заканчивается в Сербии. Нет, я не переехал, я все еще в Белграде, только политические границы изменились.

Полвека назад, когда я учился в начальной школе, я открыл для себя волшебный мир радиолюбителей. Я стал членом двух клубов радиолюбителей, сдал все экзамены и получил лицензию и позывной YU1OPC. Я был в восторге, но через пять лет вечеринка закончилась. Что случилось? Ну, в один прекрасный день полиция посетила всех зарегистрированных владельцев оборудования CB Band и просто забрала это оборудование. Никто не знает, почему они это сделали, но, вероятно, это было не официально, поскольку мы так и не получили письменного подтверждения, и никто никогда больше не видел их оборудование.

Я задавался вопросом, почему они не забрали и наши HAM-радиостанции, которые были такими же законными, как и любые радиостанции CB. Думаю, они не знали, как его использовать… для своих личных нужд. Ничто не помешает мне назвать это грабежом в форме.

Вообще-то я не слишком огорчился по этому поводу. Я потерял только японский трансивер 5W CB, но радиолюбители меня больше не интересовали. С тех пор, как на рынке появилось первое коммерческое радиолюбительское оборудование, резко изменился профиль пользователей - вместо людей, которые могли своими руками построить радиолюбительские устройства, теперь у вас были люди, у которых было достаточно денег, чтобы купить их. Может быть, я перегнул палку, может, энтузиастов было еще много, но магия собственного энтузиазма была разрушена, и я перешел на цифровые технологии. Я не знал, что примерно через два десятилетия с компьютерами снова произойдет то же самое.

Система разработки Pen and Paper

Переход от электронных ламп к транзисторам был захватывающим. Такая маленькая трубка с холодным катодом и низким анодным напряжением, такая дешевая и простая в использовании! Я купил свои первые германиевые транзисторы на карманные деньги и построил… угадайте, что? Флип-флоп! Я думал, что изобрел это. Откуда я мог знать, что он уже изобретен пятьдесят лет назад?

Всего через несколько лет после Intel 4004 я был по уши влюблен в микропроцессоры. Я заказал два Z80 из США, но вскоре обнаружил, что один из них нерабочий - скорее всего, я его как-то спалил, сам того не осознавая. Тем не менее, у меня был второй, так что я мог приступить к созданию своего первого микропроцессорного проекта. Для чего мне его использовать?

Это был простой вопрос. Я был очарован «Игрой жизни» Конвея, и все стены в моей комнате были покрыты бумагами с нарисованными от руки группами клеток в сотнях поколений. Последствий моего настенного искусства было два: то, что мои родители и половина моих друзей подумали, что я сошла с ума, и мой первый проект - Game Of Life, со светодиодной матрицей 16х16. Светодиоды тогда были так дороги, что я доработал прошивку меньше чем с половиной из них, а матрицу залил постепенно в ближайшие месяцы.

У меня не было компьютера, поэтому я собрал прошивку вручную, с помощью ручки и бумаги, а затем ввел код в свой программатор, байт за байтом, с помощью поворотных переключателей. Тем не менее, процесс отладки был относительно быстрым, так как у меня было два 2708 EPROM - на самом деле, у меня было четыре для начала, но я сжег (буквально) два из них, пытаясь отладить мой самодельный программатор EPROM. Так что пока один из них был в УФ-ластике (сделанном из старой лампы для загара), я мог отладить код и запрограммировать другой.

Нет компьютеров, пожалуйста

Персональные компьютеры того времени стоили довольно дорого, но это не было главной проблемой. Если бы вы жили в Югославии, вы просто не могли бы их купить. Это не было специально запрещено, но вы не могли ввозить ничего на сумму выше 50 немецких марок. Поэтому я попросил своего друга из США разделить мою только что заказанную модель TRS-80 1 на две части и отправить их мне в отдельных упаковках, как можно незаметнее. Необходимость перерезать ленточный кабель, идущий между двумя печатными платами (разъема не было), была неприятной, но после некоторого колебания он схватил ножницы и принялся за дело. Через некоторое время я получил их беспошлинно с пометкой «технический хлам», а затем «починил». Моя собственная компьютерная революция началась.

В базовой модели было 4 КБ динамической памяти, поэтому, когда я увидел рекламу комплекта расширения на 16 КБ, мне стало интересно, кому когда-либо понадобится больше 4 КБ! По иронии судьбы, вскоре я обнаружил, что использую не 16, а 48 КБ, расположенных в три дополнительных слоя. Основная печатная плата получила множество аппаратных апгрейдов: Shift Hold, 2×clock, пошаговый режим, динамик и дополнительный EPROM с моими собственными дизассемблером и редактором/ассемблером.

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

Не было другого пути, кроме как продолжать контрабанду, взятки и прятать оборудование глубоко под бельем в чемодане.

Компьютерная анимация 1979 года

Когда я был студентом факультета драматического искусства в конце 1970-х, я был очарован компьютерной анимацией. Я действовал здесь как новичок, так как мне пришлось начинать с нуля. Я просто никогда даже не видел оборудование, которое для этого использовалось. Сначала я построил графический интерфейс, который содержал 90 статических RAM 2114 (4×1Kbit), один Z80A и много связующей логики. Разрешение 400×300, 3-битный монохроматический пиксель. Я позаимствовал 16-миллиметровую камеру Bolex, которая могла работать в покадровом режиме, и построил соленоидный триггер с соответствующим компьютерным интерфейсом. Я также написал программное обеспечение для анимации на BASIC, которое могло рисовать геометрические фигуры в каркасном режиме. Все было определено в 3D, включая камеру, которая могла двигаться, панорамировать и масштабировать. Все это, включая янтарный монитор, было заключено в большой деревянный ящик, очень похожий на гроб, но защищавший систему от окружающего света и мои уши от шумных соленоидов. Программное обеспечение для анимации было выполнено на моем самодельном клоне TRS-80 с микропроцессором Z80B с тактовой частотой 6 МГц, поэтому время рендеринга одного кадра составляло всего 10 минут, что соответствует 24 часам для среднего кадра.

Я показал результат моему профессору [Марко Бабаку], который был в восторге. Он спросил меня, можно ли когда-нибудь оживлять человеческие фигуры, но я авторитетно и самоуверенно ответил: «Ни за что»! Он предложил мне подготовить короткую телепередачу с несколькими анимационными примерами. Я был готов к этому, но не смог найти никого, кто был бы заинтересован в моем технологическом чуде. Единственной темой, которую в то время освещали СМИ, была болезнь президента Тито.

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

Galaksija: самодельный микрокомпьютер 1983 года

Легально купить микрокомпьютер было невозможно, да и производить его в Югославии никто не пытался - с подобными проблемами столкнулись все страны Восточного блока. Все указывало на то, что мы застряли в каменном веке в этом вопросе. У нас не было компьютерных журналов или других способов информировать людей о технологиях, поэтому освещение в СМИ ограничивалось «странным изобретением, называемым электронным мозгом, которое может даже играть в шахматы».

Что касается микрокомпьютерных проектов того времени, то самой дорогой частью был видеоинтерфейс. Я знал, что в ZX81 и ZX Spectrum есть чипы ULA (незафиксированная логическая матрица), которые генерируют видеосигналы с помощью программного обеспечения, но я даже не мог мечтать об этом. Поэтому мне пришлось взломать микропроцессор, чтобы сделать блок видеоконтроллера максимально простым, с существующими TTL-чипами.

Микропроцессор Z80 имеет один прозрачный счетчик, называемый регистром R, который используется для динамического обновления памяти. Он просто увеличивается и выводится на адресную шину после выполнения каждой инструкции. Его можно использовать для генерации самой быстрой части видеосигнала, а более медленную часть видеооборудования можно просто заменить программным обеспечением. Так что мне понадобился только один регистр сдвига, управляемый тактовой частотой пикселей и генератором символов, и я сэкономил на счетчиках адресов видео, селекторах, буферах с тремя состояниями и логике гашения. Эту концепцию стоило попробовать.

Всего через несколько дней все заработало идеально, и я начал собирать операционную систему. Чипы памяти были дорогими, поэтому я решил использовать только 4 КБ (с возможностью расширения до 8 КБ) ПЗУ и 3×2 КБ статической ОЗУ. Я украл арифметические процедуры из TRS-80 Level I Basic и начал создавать свой собственный редактор строк и интерпретатор BASIC.

Соотношение цена/качество было настолько хорошим, что я решил опубликовать его в журнале как самодельный проект. Когда первый номер первого югославского компьютерного журнала вот-вот должен был выйти в свет, я познакомился с автором [Деяном Ристановичем] и договорился с ним о том, чтобы позволить мне написать руководство «Сделай сам». [Йова Регасек], редактор номера, настояла на том, чтобы микрокомпьютер назывался «Galaksija» (Галактика). В августе 1983 года «Галаксия» была представлена читателям.

Журнал назывался «Računari u vašoj kući» («Компьютеры в вашем доме»), а его выпуск был намечен на самый конец декабря 1983 года. Так что у меня было пять месяцев, чтобы доработать прошивку, иногда с помощью Деяна с общей концепцией. Удивительно, как много всего можно уместить в 4 КБ пространства EPROM, если вы сделаете все возможное для оптимизации кода! Одна из многих идей, которые я описал на странице моего проекта, заключается в том, как использовать более 100% памяти программы.

За несколько дней до дедлайна я был в редакции, разговаривал с Джовой и Деяном. Йова задал интригующий вопрос: сколько читателей соберут микрокомпьютер? Я сказал «может быть 50», Деян сказал: «Я думаю, что будет не менее 200», а Йова сказал: «Не глупи, будет больше 500». Мы смеялись над ним, так как это казалось слишком. Но мы получили более 8000 писем от людей, которые его построили. В моей стране началась компьютерная революция.

В том же году мой друг [Зоран Модли], известный радиоведущий, начал транслировать программы для всех современных микрокомпьютеров в своем еженедельном шоу на FM-радио, и даже на ТВ! В то время не было ни гибких, ни жестких дисков, поэтому единственными магнитными носителями были компакт-кассеты. Кодирование данных производилось в звуковом диапазоне, что делало его удобным для вещания. Итак, у нас была беспроводная сеть (или, по крайней мере, ее предшественница) в 1983 году!

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

В течение следующих нескольких лет в Югославии ежегодно появлялся примерно один новый микрокомпьютер. Большинство из них выпускались ограниченным тиражом, и в основном это были клоны Apple II с Microsoft Basic.

Война и нет мира

Начиная с 1991 года, Югославия распалась в кровопролитной войне. Когда я увидел военный джип под своим окном, я понял, что у меня нет другого выбора, кроме как взять зубную щетку, бритву, плеер и кое-какую одежду и позволить этим парням отвезти меня в кварталы за городом. Завтра утром мой офицер спросил меня о моей нынешней работе. Когда я сказал, что занимаюсь компьютерами, он отправил меня в штаб, проверить старенький Apple II: «Он не работает уже больше года, вернуть его к жизни никто не мог». Я предложил попробовать починить его в моей мастерской, и меня отвезли обратно на том же джипе.

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

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

В 1995 году, после нескольких трагических событий в моей семье, я осталась одна с двухлетним сыном, без денег и на три дня, на которые нам пришлось покинуть квартиру. Тогда я сделал очень глупый поступок: выбросил почти все свои проекты, включая документацию и пять прототипов микрокомпьютера «Галаксия».

Надежда и наказание

Жизнь в военное время была очень напряженной, поэтому я полностью погрузилась в работу, чтобы взять себя в руки. В 1998 году я построил небольшой портативный прибор с однокристальной микроконтроллерной конструкцией. Используя PIC16F84, это был логический пробник, одноканальный логический анализатор, частотомер на 50 МГц, анализатор RS 232 и менеджер зарядки батареи - и все это всего в 1 КБ кода. Я отправил письмо в Microchip и предложил его в качестве примечания к применению. Ответ был очень обнадеживающим: «Мы очень впечатлены уровнем интеграции, которого вы достигли с PIC16F84…». Сначала они попросили один, затем еще три образца, чтобы использовать их в качестве демонстрационного инструмента во время своих конференций.

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

Я подготовил статью и вскоре проект появился на сайте Microchip как AN689. Наконец-то появилась надежда, что наконец-то я встану после всех ловушек и разочарований. Но всего через несколько недель я получил следующее сообщение от Microchip:

«Очевидно, у США есть какое-то торговое эмбарго против Югославии…» и так далее. Они извинились, но все же были уверены, что можно договориться…

Нет журнальных статей, нет статуса консультанта, нет внутрисхемного эмулятора. С сайта удалили даже Application Note.

Я думал, что моя удача не может быть хуже, чем это, но всего через несколько месяцев Сербия подверглась нападению НАТО и интенсивно бомбила в течение 78 дней. Без выходных, 24 часа в сутки мы слушали боевые сирены, сверхзвуковые взрывы, управляемые ракеты и частые взрывы над городом.

Технологии и наследие пяти десятилетий

В 2006 году, после нескольких писем, я наконец получил свои внутрисхемные отладчики от Microchip, и руководство по применению было возвращено на место. Я твердо верю, что они сделали все, что могли, поэтому я не могу их винить. Мне по-прежнему нравится платформа PIC, и я никогда не переставал использовать ее для своих проектов среднего масштаба.

Долгое время я слушал «экспертов», которые говорили мне, что мой компьютер «Галаксия» в X раз медленнее современного ПК и в Y раз медленнее их смартфона. Однако в последнее время кажется, что мы вступили в своего рода ренессанс технологической культуры. Люди начинают ностальгировать и больше ценят старые вещи. Сейчас существует множество ретро-эмуляторов компьютеров для ПК, в том числе эмулятор Galaxy, а также одночиповая реплика FPGA под названием µGalaksija, созданная Бу [Душаном Груичем].

Музей науки и техники (Музей науки и техники) в Белграде удостоил меня чести, когда меня попросили пожертвовать образец компьютера Galaksija. Как я могу его подарить, если у меня его нет? К счастью, один забытый прототип я нашел у себя в подвале, почистил и теперь он часть музейной экспозиции.

Последнее десятилетие 20-го века было катастрофой для моей страны, но самый большой ущерб был нанесен уму людей. Распространялась коррупция, больше всего пострадали социальные ценности. Как и в Средние века, различные ясновидящие, пророки, шарлатаны и лжеучёные заполонили СМИ, и не было ни одного голоса со стороны разума.

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

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

Вот как я вижу последствия этой утечки мозгов. В 1960 году Югославия была одной из шести стран, имевших собственный компьютер CER-10. Его создали наши инженеры в Институте Михаила Пупина, который находится всего в нескольких сотнях метров от моего дома. Угадайте, что производят сегодня эти «ученые»? Магнитные тапочки! Что ж, у вас может быть лженаука в ваших СМИ, но мы пошли дальше - у нас лженаука в нашей науке!

Все-таки ко всему привыкаешь. В этот момент я был бы удивлен, если бы все оказалось немного лучше. Что касается меня, то все, что мне нужно, это четыре стены и покой, чтобы я мог делать свою работу и творить. Мне не нужно много денег, поэтому мои проекты открыты. Я никогда их не считал, но думаю, что у меня есть от 50 до 100 открытых проектов, опубликованных в компьютерных журналах.

В прошлом году я встретил [Митча Альтмана], который известен не только благодаря TV-B-Gone, но и проведением вводных семинаров по электронике по всему миру. Когда мы говорили о творческой работе в целом, я сказал ему, что моя проблема в том, что я влюбляюсь в каждый из своих проектов, а он засмеялся и сказал: «Какая хорошая проблема иметь»! Он был прав, это лучшая из возможных проблем, и поэтому мои проекты открыты - когда ты влюблен, то тебе хочется сказать об этом всему миру и показать всем объект своей любви. Может быть, вы не разбогатеете таким образом, но вы обязательно проживете жизнь, достойную жизни.

[Иллюстрация Боба Живковича]

Воя Антонич работает внештатным инженером по микроконтроллерам в Белграде. Его первые микропроцессорные проекты на базе Z80 относятся к 1977 году, всего через несколько лет после появления первого интеловского 4004. Прошивку он собирал вручную, с помощью ручки и бумаги. В 1983 году он опубликовал свой оригинальный проект микрокомпьютера DIY под названием Galaksija, который был создан примерно 8000 энтузиастами в бывшей Югославии. На сегодняшний день он опубликовал более 50 проектов, в основном основанных на микроконтроллерах, и все они выложены в открытый доступ.