bash.im ithappens.me zadolba.li
649

Наплодили тут сущностей

#639 напомнило.

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

Тут меня посещает мысль, что, возможно, эта последовательность (хоть она и не слишком типичная, да и не короткая) может встретиться в коде несколько раз. Проверяю - точно! Всего нашел 11 таких последовательностей. Удивлению моему небыло предела, пока я не включил отображение хекс-кодов "буквами" - 10 раз из 11 эта последовательность была частью слова "Button1", и только один раз - исполняемым кодом.

648

Без пруда не выловишь и рыбку из него

5 марта 2009, 20:30

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

Недавно попросили помочь в библиотеке. Прихожу, спрашиваю, что надо сделать. Оказывается, что недавно пришел библиотечный модуль 1С, он уже поставлен, но ни в какую не хочет запускаться. Провожу стандартную процедуру "проверки" правильности установки, на всякий случай переустанавливаю сервер лицензий. При этом лицензионный диск с модулем находится в приводе. Все так же вылетаю на запуске с "нехваткой прав". Повторно провожу все нехитрые манипуляции. Не помогает. Уже собираюсь уходить, как вдруг библиотекарь говорит:
- Там еще флэшка в комплекте была...
С возрастающим интересом прошу показать флэшку. Библиотекарь роется в каком-то ящике своего стола и извлекает на свет... HASP-ключ. Через две минуты система заработала.

647

AI Интеллектович

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

Так вот, при сдаче процедурка где-то забарахлила и потрясенному преподавателю комп расстрелял все корабли хода за полтора - ну, повезло железяке, что попадала часто, бывает! - оставив каждому ровно по одной(!) целой клеточке! А затем, на секунду задумавшись, и, клянусь, злорадно ухмыляясь, бездушная вроде бы железяка одной длинной "очередью" садистки добила всех оставшихся на плаву.
Зачет мне поставили, не задумываясь.

646

Естественное охлаждение

5 марта 2009, 09:00

Работаю я в банке, раньше ремонтировал банкоматы, сейчас немного продвинулся по службе и переключился на POS-ы. Работа больше сидячая, но периодически ко мне обращаются с вопросами по банкоматам, как к старожилу. И вот, совсем недавно, подходит ко мне замнач отдела и "рисует картинку". Банкомат каждую ночь самопроизвольно выключается, причину найти не могут. Сам атм стоит в вестибюле торгового центра, который в 10 вечера закрывается. Самопроизвольные выключения происходят примерно с 12 до 2-х ночи. Каждый раз по-разному.

На место съездил первый инженер, выяснил, что выключается только системник, устройства включены. Два других инженера ездили включать банкомат в последующие дни, но причины выключений тоже не нашли. Я перерыл все логи, трассы порта, грешил на ПО UPSa, но все не подтвердилось. Пришлось ехать самому. Приехав, я "обнюхал" банкомат и, не обнаружив ничего подозрительного, включил системник. Первое же сообщение на экране гласило примерно следующее: "System was halted by the CPU оverheating". Хрен с ними с инженерами, которые не могли прочесть простую фразу на английском, мне все же было интересно, почему же именно ночью?!

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

645

Внимание, внимание и еще раз...

5 марта 2009, 09:00

Как же просто, порой, попасть впросак по собственной невнимательности и неаккуратности. Работаю сисадмином. Звонят юзеры из одной комнаты, говорят, мол, сеть у них пропала (надо сказать, что контора работает на терминалах на сервере, а, следственно, без сети невозможна никакая рабочая деятельность). Я медленно, вальяжной походкой, иду к кабинету юзеров. Сажусь за комп, пингую сервак - теряются пакеты. Подхожу к хабику, который лежит в кабинете, осматриваю его. А хаб, надо сказать, по моей вине лежит в куче мотков витой пары (лень было, блин, убраться). Разом вытыкаю все концы из хаба, нажесткую его ребутаю. Затем все концы, которые попались в куче проводов, втыкаю назад в хаб.

Снова пингую сервак. Пакеты продолжают теряться. Иду в серверную, проверяю хаб, который подключает все это крыло к локалке. Вроде работает. На всякий случай и его ребутаю. Подключаюсь к нему напрямую. Пингую сервак - теряются пакеты. Опаньки, теперь и этот пакеты теряет! Проверяю патчкорд, который локалку на этот общий хаб приводит. Ну так и есть - обжат плохо. Переобжимаю. "Вот проблема и решена", - думаю я. Пингую... сервак снова пингуется с потерей пакетов.

Тут мне начинают звонить другие пользователи, у них тоже сеть пропадает. Я начинаю беспокоится, потому как весь офис сидит без работы, а простой рабочего времени вычтут из моей зарплаты. Вальяжность как рукой сняло. Начинаю суетиться. Проверяю работоспособность главного хаба. Работает. Ребутаю - пакеты теряются. Начинаю паниковать. Как же так получилось: сначала через один хаб пакеты терял, за ним второй стал терять пакеты, а теперь все хабы теряют. Рисую себе страшные картины какого-то зловредного вируса, который заражает не програмно, но железно. Придумываю способы лечения хабов (может, их спиртом протереть).

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

644

На всякую хитрую гайку...

Вспомнилась одна древняя история: прислали как-то к нам на практику двух студентов, с целью обучения их искусству программизма. Для работы им временно выделили 286-ю эйтишку (с DOS-ом, естественно), которой иногда пользовались бухгалтера. Повозюкались они полдня и ушли.

А тётушка - бухгалтер полезла зачем-то в комп и немедленно пришла ко мне жаловаться на появившийся в компе ужасный вирус. Пошёл разбираться. Выяснилось, что студенты перед уходом вставили в autoexec строчку "type xxx.txt", а в этом самом txt содержался нарисованный псевдографикой во весь экран мерзостного вида таракан, сопровождавшийся строчкой: "Поймай меня, если сможешь! Хе-хе.". Почесав репу, я вынес вердикт:
1. Не интересно.
2. Не смешно.
3. Наказать.

Рассказал начлабу о своём коварном плане. План был принят с восторгом. После чего я слегка подправил command.com, чтобы он вместо autoexec-а запускал другой командник, содержавший вывод копии упомянутого таракана и вызов autoexec-а. Копия таракана и левый командник были запрятаны поглубже. Все обитатели комнаты были оповещены о предстоящем шоу, и на следующее утро пришли на работу без опоздания. Пришедшим студентам начлаб громко и строго сказал, чтобы они "убрали это безобразие, а то люди пугаются". Не знаю, что студенты подумали про умственные способности здешнего персонала, но вежливо ответили: "Да-да, конечно, сию минуту..." и, сдерживая ржач, уселись за комп. С каким удовольствием народ наблюдал за постепенным изменением выражений их лиц... Через 2 (!) часа один из бедолаг подошел ко мне и с каменным лицом попросил у меня дистрибутив MS-DOS. Каковой и был немедленно выдан ему. На пятидюймовых дискетах. По 320 килобайт каждая.

643

О наблюдательности

Эта история, так сказать, взгляд с другой стороны баррикад. Я хоть и не профессиональный админ или программист, но настроить сеть в малом офисе или подкрутить php-шный движок сайта под свои нужды вполне могу.

Районный провайдер вещает в сеть IP-TV по технологии multicast. Подал ему заявку на включение 100-мегабитного порта и трансляцию мультикаста. На следующий день должно заработать. Проверяю - тишина. Звоню в саппорт - включено и должно работать. Вспоминаю, что в грозу у меня выгорала сетевуха, и я поставил некую древнюю карту, добытую из ящика под столом. Она вполне может и не поддерживать вещание. Покупаю новую гигабитную сетевую карту. Не помогло. Сеть есть - мультикаста нет. В течение двух следующих дней, периодически позванивая саппорту, проверяю настройки файрвола и антивируса, обновляю кодеки, ставлю свежую версию проигрывателя потокового видео. Вместе с тремя юношами из саппорта погружаюсь в состояние тягостного недоумения. Чувствую себя идиотом.

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

Господа, если возникает странная проблема, научитесь начинать анализ с себя, даже если работаете в саппорте. А вам, Алёна, персональное спасибо!

642

Свернуть в трубочку

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

Звонит один раз знакомая - не работает беспроводной интернет. Так у них называется CDMA в обиходе. Вкратце - ставится стационарный аппарат, в него втыкается симка и телефон. Если нужен интернет - пожалуйста, подключаем приставку к USB, и все в ажуре. Хитрость в том, что подключается сие чудо специальным кабелем за 1 килорублей, этаким переходником СОМ-USB, который определяется как отдельное устройство.

Приезжаю, смотрю... Модем на девайсе не отвечает. Смотрю в устройствах - есть модем... А кабеля нет. Первая мысль - порвался. Выдергиваю из компа, вставляю обратно - устройство не опознано. Внешних повреждений вблизи штекеров не обнаружено, на всякий случай заглядываю за стол, где проходит основная часть кабеля - и вижу картину... USB-провод длинной порядка 3 метров аккуратно свернут колечками диаметром сантиметра 4! На вопрос: "Кто такой умный?", - был получен простой ответ: "Это наш кладовщик Сашенька, провода у себя на компутере уж больно хорошо прибрал - мы его и на нашем попросили поакуратнее сделать".

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

641

Шаг влево, шаг вправо…

Дело было давно, когда я только учился программировать. Один баг запомнился особенно. Решил написать игру в шашки. Ну, сделал поле, расставил шашки, объяснил компу основные правила – куда ходить, как есть, как ходить нельзя и т.д. Мой ход, ход компа – и на цикл.

Стал тестировать – играть. Сначала, вроде, всё нормально: комп примитивно играет, но правильно. Вдруг замечаю, что шашек компа становится всё меньше (я столько не съедаю). Задумался… А, хрень какая-то, играем дальше. Через несколько ходов мои шашки стали тоже исчезать, причём в тылу, а на их месте стали появляться шашки компа! Ничего не понятно!. Несколько прогонов – то же самое.

Когда разобрался, выяснил: так как компу было прописано «ходить вперёд на соседнее свободное место» (по правилам шашек), то он просто уходил за край доски – там же препятствий нет! У меня прорисовывалось только поле шашек 8х8, а его шашки уходили на 0-й, 9-й, 10-й столбец массива. Потом коварно, из невидимости, у меня в тылу ел мои шашки по всем правилам «если рядом наискосок вражеская шашка, и за ней – пусто, то надо есть».
Исправил сей баг по-русски: чтобы не писать везде в коде ограничения по координатам, просто расширил массив (-2 to 11)х(-2 to 11) и все неотображаемые клетки вокруг игрового поля забил тройным рядом своих шашек. Теперь шашки компа за край не совались – занято!