Как воровать бензин с помощью Ассемблера (основано на реальных событиях)

:

Приветствую тебя, хабрачитатель!

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

«Строго говоря, в названии статьи ошибка. Мы не воровали бензин, ни с помощью Ассемблера, ни с помощью электродрели. Мы вообще не воровали его. Просто жизнь заставила в свое время немножко изловчиться и перераспределить небольшую часть этого бензина в личные бензобаки, честно оплатив при этом весь бензин, до копейки. Но зачем же нужно было этим заниматься? Что ж, вспомним историю.

Не очень далекую историю, а всего лишь 90-е годы. В нашем почти южном городе сложилась ситуация, когда просто негде было приобрести бензин. Ни с переплатой, ни по знакомству. Никак. Ненормальный, тяжелый дефицит бензина приостановил всякое желание поездить на личном автомобиле в личных целях. Разумеется, кто-то решал эту проблему очень значительным телефонным звонком, кто-то по-простому воровал бензин с предприятий, а вот у меня и моих коллег-инженеров таких возможностей не было. И тут оказалось, что силу интеллекта еще никто не отменял. Город должен был обеспечивать бензином спецмашины. Это не только автомобили милиции, скорой помощи и других экстренных спецслужб, это также немало начальственных машин, чьи пассажиры никак не желали терпеть нехватку бензина „как все“. Как же сделать, чтобы, несмотря на традиционную коррупцию, спецмашины всегда были с бензином? Помогла электроника.

Небольшие технические детали: в то время уже была технологическая база для электронного учета бензина, уже было немало „персоналок“, иначе говоря, персональных компьютеров с мощным, скоростным процессором Intel 8086, а то и Intel 80286 с тактовой частотой аж до 16 MHz. Очень оперативно очень добросовестная и ответственная компания разработала комплекс по выдаче бензина с помощью пластиковых карточек. Настоящий чип внутри карточки обменивался с приемным устройством настоящими секретными кодами, и только эта система могла управлять автозаправочным оборудованием. Любое ручное управление было отключено и запломбировано. Оператор бензозаправки, по-простому заправщик, теперь сидел перед настоящим персональным компьютером, а водитель спецмашины вставлял карточку КУДА НАДО, и система наливала в бак бензин со строгим учетом, кому, куда, и сколько. В запломбированом компьютере был отключен дисковод, так что информационная защита была, как бы так сказать, железной.

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

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

Включился секундомер!
Коршуны, любители программной мертвечины в количестве двух человек прибежали на бензозаправку. Понятно, что никто не пломбирует компьютер, когда завтра нужно продолжать работу, и когда система все равно не работает. Компьютер и в самом деле не был запломбирован. Очень быстро мы подключили чудесный, надежный дисковод для 5-дюймовых гибких магнитных дисков и записали на жесткий диск необходимое нам программное обеспечение. А обьем жесткого диска очень большой, целых 20 мегабайт, поместится что угодно. До этого времени наладчики строго следили, чтобы в операционной системе MS-DOS не было ничего лишнего, в файлах AUTOEXEC.BAT и CONFIG.SYS должно быть только то, что нужно, и не более. Так оно и было, поэтому решено было модернизировать драйвер клавиатуры и дисплея. Драйвер был именно тем, что нам надо. Он при работе всегда висит резидентом в оперативной памяти, и все знают, что он нужен, что без него не обойтись. Началась ответственная работа по модернизации драйвера.

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

Настало утро, пришли профессионалы-электронщики. Они быстро закончили свою работу, потом вводили с гибких дисков свои секретные тестовые программы, всесторонне проверили работу системы, наконец, все было запломбировано и приведено в рабочее состояние. Бензозаправка для спецмашин опять заработала. А ведь эти парни действительно берегут свои секреты! Они тщательно убрали с жесткого диска весь тестирующий набор программ, оставили одну, надежно запароленную рабочую программу, внимательно перепаковали жесткий диск полезной программой SPEEDDISK.EXE и, выполнив свою работу, ушли. Теперь никто не сможет восстановить вытертые с диска файлы, после программы SPEEDDISK.EXE даже следа от них не остается. Остается, правда, обеспеченный нами дубль введенных файлов в том месте на диске, где нам нужно.

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

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

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

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

Напрасно я о них вспомнил, даже настроение упало. Просто хотел рассказать, как мы когда-то „ломали чужие секреты“. Хотел, и рассказал. И хотя наш взлом, естественно, может показаться смешным и наивным, но это всего лишь история, и относиться к ней нужно, как к истории.»