11371

Блок-наволочка

Понадобилось узнать алгоритм, реализуемый маленькой софтиной. Программка состояла из исполняемого файла весом 35 КБ и файла драйвера, который меня не интересовал. Об алгоритме было известно, что он реализует обмен данными с несколькими разновидностями криптозащищённой памяти через обычный комовский JDM-совместимый программатор. Опыта работы с дизассемблерами у меня, можно сказать, не было, но ассемблер немного знал, поэтому решил попробовать.

Загрузил экзешник в IDA, он вроде как нормально распотрошился в автоматическом режиме. Поначалу всё оказалось просто: получение дескрипторов консольного ввода/вывода, определение режима работы по ключу запуска, загрузка драйвера программатора, проверка подключения. В конце концов дело дошло до самого криптоалгоритма, а именно до формирования открытого ключа. В его состав входили как константы, так и параметры, получаемые в ходе выполнения программы (например, дата и время). Всё это набивалось в стек для передачи в качестве параметров процедуре, которая должна была сварганить готовый ключ. Вот как раз на передаче такого большого числа разнотипных параметров меня и заклинило: я понял, что окончательно запутался, что, где и откуда берётся. Так как дело было в субботу, решил на работе не засиживаться и пошёл домой.

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

Утром воскресенья я понял, что почти не выспался. Жена смотрела на меня как-то странно и после некоторых колебаний всё же рассказала, что происходило ночью. Оказывается, я почти не спал. Проснувшись, она увидела, что я вожу пальцем по подушке и что-то бормочу. На вопрос, что я делаю, ответил, что прямоугольники на подушке — это на самом деле байты, которые нужно засунуть в стек в нужном порядке. Несмотря на отсутствие технического образования, жена поняла, что это полный абзац, и до утра меня лучше не трогать.

По всей видимости, такому необычному поведению во сне способствовало ещё то, что на работе ко мне на тестирование после ремонта попал 24-дюймовый сенсорный монитор, на котором оказалось очень удобно двигать элементы блок-схемы, составленной IDA.

Криптоалгоритм я так и не срисовал, так как через пару дней нашёлся более простой способ решить поставленную задачу.

11370

Всем ребятам пример

Обращение от пользователя, менеджера группы продаж:

Олег, привет!

При добавлении новых правил в Аутлук он начал мне писать табличку: «Одно или несколько правил не удалось передать на сервер Exchange, и они были отключены. Возможно, некоторые параметры не поддерживаются или не хватает места для хранения всех ваших правил».

Погуглив, нашёл, что это можно поправить, увеличив немного квоту под правила, выполнив на сервере Эксчейндж команду Set-Mailbox <имя ящика> -RulesQuota:256kb. Помоги, плиз, сделай побольше квоту под правила.

Спасибо.

Вот он, идеальный пользователь! Прямо слёзы радости.

11369

Пока горит свеча

Начало девяностых. На наш рынок начали попадать маленькие портативные копирчики с чисто оптическим переносом изображения на барабан, а не по принципу «сканер — принтер», как сейчас. Помните, там ещё и большой такой лампой накаливания оригинал подсвечивался?

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

Копии вылезали, но тонер с них можно было счищать пальцем. Как его закрепить? Выход нашли — свечка! Если правильно подобрать расстояние, краска слегка запекалась, а бумага не загоралась. После этого копию накрывали ещё одним листом сверху (благодаря предварительному запеканию смазывания можно было почти не бояться) и проглаживали утюгом, прямо как при чтении молочной или лимонно-соковой стеганографии. После этого копия окончательно переставала бояться стирания тонера — не хуже, чем при обработке настоящей печкой копирчика.

Не дровишки, конечно, но…

11368

Витая в облаках

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

— Скажите, вы что-нибудь слышали об облачных вычислениях?

— Да, конечно! — не моргнув глазом, отвечаю я. — Что именно вас интересует?

Оказалось, оператор предлает купить Office 365.

11367

Твердеет от поглаживания

Стандартная клавиатура, поставляющаяся с самым что ни на есть обычным Android. Русская раскладка.

ЙЦУКЕНГШЩЗХ

ФЫВА…

Так, стоп. Где твёрдый знак? Оказывается, мягкий знак «твердеет», если кнопку долго держать. Интуитивно понятный интерфейс? Не, не слышали.

11366

Отмучалась старушка

SMS в семь утра от менеджера:

у нас тут тп сдох

Уже подумал, что секретарша кони двинула. Оказалось, маршрутизатор одноимённой фирмы накрылся…

11365

Докиньте дровишек

Несмотря на то что ремонт принтеров и копировальной техники не входит в мои обязанности, приходится иногда консультировать коллег по электронной начинке этих устройств.

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

А вот неисправность была заковыристая: днём аппарат мог сделать 1–3 копии, после чего встать намертво до переподключения питания. После окончания рабочего дня все глюки прекращались. Спецы по механике перешерстили всё, что было в их компетенции, проверили срабатывание всех датчиков, убедились, что нагреватель в печке звонится и имеет нормальное сопротивление, после чего развели руками и сказали: «Это всё ваша электроника».

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

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

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

После некоторых пререканий механики всё-таки заменили «нормально звонящуюся печку», и всё заработало.

11364

Цветные шарики — угроза безопасности

Работаю в техподдержке крупного нефтяного предприятия. Нас в отделе десять человек на четыре с хвостиком тысячи пользователей и компьютеров соответственно.

Как-то к нам нагрянула проверка службы информационной безопасности. Проверяли на наличие пиратского софта. Сел за мой рабочий ПК главный специалист службы информационной безопасности и начал шерстить. Не нашёл ничего, кроме забытой мной на рабочем столе Zuma Deluxe. Его не смутило ни то, что на ПК нет офисного пакета, ни то, что на двух разделах жёсткого диска есть только две папки: Windows и Program Files. Всё остальное я банально скрыл в Проводнике. Он, может, и догадывался, но понятия не имел, как в Windows 7 отобразить скрытые папки. Далее он сделал скриншот папки с Зумой, запихнул это всё в формате BMP в Wordpad (файл получился ~50 МБ) и попытался заслать себе на почту (у нас ограничение по размеру аттача 20 МБ). Отчаявшись, он сделал какие-то записи в своих бумажках и ушёл.

В итоге меня всё равно наказали за перерасход трафика. Не помогли даже объяснения: мол, качал драйвера с HP.com. Тяжело с нефтяниками!

11363

Да будет свет, или После Большого взрыва

Делал я в студенчестве источник питания для лазера. Гелий-неоновый лазер — ему нужно полтора киловольта, да ещё и при старте киловольт десять. А ток надо стабилизировать, причём в довольно узких пределах: чуть выше — быстро перегреется, чуть ниже — разряд гаснет, снова зажигается, снова гаснет — и так много-много раз в секунду. Секунд пять — и катод уже убит.

В общем, источник питания я сделал на макете, отладил, настроил — работало всё просто прекрасно. Делаю плату, монтирую всё на ней, запускаю — не работает. Начинаю тыкать осциллографом по схеме в поисках проблемы. Ткнул — и коротнул что-то. А на плате было порядочно танталовых конденсаторов — чтобы импульсные помехи не гуляли по земле и питанию, ёмкость между ними была распределена равномерно. Десятка два мелких оранжевых кирпичиков.

Так вот, коротнул я что-то — и оглох сразу. Вся куча конденсаторов рванула, закоптив всё вокруг и заполнив комнату характерным запахом. Я поднял глаза — и увидел красный зайчик на стене. Лазер работал.

Секрет фокуса был, конечно же, в ошибке разводки платы.

11362

Ты куда нас послал?

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

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

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

Система была успешно протестирована. Устроена очень просто:

— игрок вводит два раза адрес своей почты;

— на неё отправляется пароль с инструкцией;

— игрок заходит на сервер и меняет пароль на свой, если нужно.

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

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