Пугалка.

Jun 09, 2015 00:01


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

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

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

К чему это привело? Хотя команду сохранения убрали из меню и панели тулбара, дотошный Владимир Палыч решил проверить ее ввод в командном окне, используя конструкцию макроязыка.

И вот вводит он в командном окне слово “save”, а программа, в место того, чтобы сказать, что такая команда недоступна, как ни в чем не бывало, начинает ему задавать стандартные вопросы по процессу сохранения. В.П. удивился, но терпеливо ответил на все вопросы. Вот он нажимает финальный “ОК”. И тут, вместо сохранения модели, происходит следующее. Компьютер тревожно загудел, экран зловеще замелькал, и на нем появилась надпись:

ЗАПУЩЕН ПРОЦЕСС НАКАЗАНИЯ ВЗЛОМЩИКА!!! ИДЕТ ФОРМАТИРОВАНИЕ ДИСКА C:

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

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

Лет, наверное, восемь назад наблюдали мы весьма неприятный для нас процесс. На каком-то форуме, в режиме онлайн, некий хакер с ником fallout ломал нашу программу “К3-Коттедж”. Началось с того, что этот рыцарь ноликов и единиц бросил клич:

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

Предлагали ему разное. Кто-то написал жалостливо, мол существует такая программа “К3-Коттедж”, для проектирования домов из бревна и бруса. Мол хочу сам спроектировать себе баньку, вот только рабочая версия защищена электронным ключом, а демо-версия не дает ни модель сохранять, ни чертежи распечатывать.

И решил этот fallout заняться “Коттеджем”. В те времена программы защищали электронным ключом. Это маленькая фиговинка, внешне похожая на флэшку. Если она воткнута в порт USB - программа работает. Если не воткнута - не работает. Каждая копия программы имеет собственную прошивку. Ключ от одной копии нельзя использовать с другой копией. Формально, когда продается коробка с программным продуктом, в которой лежит СD с программой, несколько книг инструкций, лицензия и электронный ключ, фактически продается только ключ, ибо остальное легко копируется.

Замечу, что защита ключом, и попытки взлома такой защиты напоминают классическое соревнование “брони и снаряда”. Я сам не совсем в теме, но есть у нас человек, который занимается этим профессионально, отслеживая в интернете достижения обеих противоборствующих сторон, и, соответственно, стараясь, чтобы наша “броня” была сильней их “снарядов”.  Поэтому, вначале мы и не сильно забеспокоились. Но удар был нанесен с другой стороны.
Через какое-то время хакер пишет на форуме:

-Народ, не буду я заморачиваться с ключом. Я тут обнаружил кое-что более интересное. Все модули, что необходимы рабочей версии, в демо-версии тоже подлинкованы. Только на них управление не передается. Вот я и попытаюсь их “расконсервировать”.

А дальше, в течении трех дней, он тщательно описывал на форуме все свои “открытия”, выдавая примерно такие тексты:

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

И так три дня.  В ответ же никто по ассемблерным кодам не уточнялся. Писали обычное:

-Давай-давай, ты нереально крут!
-Ура, моя банька ждет меня!

Наконец, хакер заявил:

-Все ребята, сделал я из демо-версии полнофункциональную. Теперь дизассемблер вам в руки, и, пользуясь моими описаниями, можете сделать то же самое.

Тональность ответов сразу сменилась:

-Ты что, охренел, какой дизассемблер! Мне банька нужна, а не дизассемблер.
-Давай выкладывай файл в общий доступ.

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

-Хватит строить из себя целочку.

Наконец, его уломали, и он выложил программу. Дальше было так. Обычно, если в строке поиска Яндекса набрать “К3-Коттедж”, на первой странице результатов будут наши сайты, сайты наших дилеров, форумы по программе, статьи.  А вот на следующий день после взлома половину первой страницы заняли сайты, дружно предлагающие рабочую версию “К3-Коттедж” без защиты. Вот только, все как один, программу они предлагали не бесплатно, а за вполне полноценные 200 долларов.

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

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

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

Кстати, предложения о продаже ворованного за 200 баксов продержались недолго. Видели мы потом “пятерку” и за 1000 рублей, чуть ли не в коробочной версии, видели и за 100, на радиорынках. Потом, конечно, на торрентах, она стала совсем бесплатной.

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

Один раз даже на каком-то форуме появилась изрядно насмешившая нас “инфа 100%”. Мол “Геос” уволил всех русских программистов, писавших “пятерку”, а вместо них нанял индусов. А иначе как объяснить, что “пятерка” - шедевр, а “шестерка” и “семерка” - дерьмо. Смешно, но понятно. Халява - она всегда слаще.

Вот собственно и все воспоминание. А где разжигание, спросите вы?

Удивил меня тогда в этой истории один маленький нюанс. Все сайты, оперативно предложившие свежевзломанную программу за немалые деньги - 200 баксов, имели один и тот же корневой домен. И был это, отнюдь, не ru, или, скажем, com. А вот какой, можете угадать сами.

Previous post Next post
Up