Общий Hi. Сегодня я расскажу вам удивительные вещи. Кого-то они порадуют; кто-то зло плюнет в экран; кто-то будет рвать волосы, причем не на голове. Однако, все это не важно.
Итак. Есть каспер, и есть авп. И есть его базы в формате .avc, коий раскладывается на составляющие программой AVPX. А внутри баз лежат coff obj-файлы. И вторым двордом в этих файлах......
Каким хуем, спросит наивный читатель, какой-то там дворд связан с конторой каспера?! Спокойно. Вот каким. В этом дворде хранятся дата и время _компиляции_ файла, то есть тот великий момент, когда сорец становится obj'ом.
Казалось бы, ну и что с того? Ан, не тут-то было. Из времен и дат создания лечащих вирусы obj'ей, можно извлечь весьмааа интересную информацию, например о том, как работает любимая нами контора.
Итак, были выполнены примерно следующие действия:
Теперь о критериях.
Зависимость количества выпущенных OBJ'ей от времени суток:
час | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
всего | 1 | 1 | 1 | 3 | 0 | 1 | 0 | 1 | 0 | 3 | 22 | 95 | 154 | 267 | 314 | 207 | 245 | 286 | 356 | 287 | 206 | 118 | 19 | 4 |
последние | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 4 | 7 | 12 | 55 | 57 | 31 | 33 | 19 | 28 | 24 | 28 | 9 | 7 | 2 |
.asm | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 3 | 48 | 13 | 65 | 93 | 43 | 43 | 64 | 39 | 20 | 26 | 15 | 6 | 0 |
win32/9x | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 2 | 8 | 13 | 12 | 10 | 6 | 13 | 26 | 9 | 12 | 4 | 4 | 0 |
Как видно, основная часть конторы начинает работать в 10 утра, а расходится в 8-9 вечера. Два пика наблюдаются где-то к 2-м часам дня и в 6 часов вечера. Можно предположить, что после двух у них обед. Конечно, эта инфа не такая уж и секретная... Просто радует сам факт ее обнаружения посредством анализа общедоступных баз.
Зависимость количества выпущенных OBJ'ей от дня недели:
день недели | Пн | Вт | Ср | Чт | Пт | Сб | Вс |
---|---|---|---|---|---|---|---|
всего | 550 | 530 | 473 | 429 | 315 | 178 | 116 |
последние | 43 | 118 | 33 | 41 | 56 | 20 | 9 |
.asm | 57 | 121 | 59 | 140 | 68 | 25 | 10 |
win32/9x | 11 | 24 | 24 | 27 | 12 | 12 | 13 |
Интуиция мне подсказывает, что, судя по графику, контора находится на второй стадии болезни Паркинсона. Иначе чем объяснишь такое рвение в понедельник, к пятнице сходящее на нет? Не могу удержаться, процитирую:
<<...первый признак опасности состоит в том, что среди сотрудников появляется человек, сочетающий полную непригодность к своему делу с завистью к чужим успехам. Ни то, ни другое в малой дозе опасности не представляет, эти свойства есть у многих. Но достигнув определенной концентрации (выразим ее формулой N3Z5), они вступают в химическую реакцию. Образуется новое вещество, которое мы назовем непризавием. Наличие его определяется по внешним действиям, когда данное лицо, не справляясь со своей работой, вечно суется в чужую и пытается войти в руководство. Завидев это смешение непригодности и зависти, ученый покачает головой и тихо скажет: "Первичный, или идиопатический, непризавит". Симптомы его, как мы покажем, не оставляют сомнения. Вторая стадия болезни наступает тогда, когда носитель заразы хотя бы в какой-то степени прорывается к власти. Нередко все начинается прямо с этой стадии, так как носитель сразу занимает руководящий пост. Опознать его легко по упорству, с которым он выживает тех, кто способнее его, и не дает продвинуться тем, кто может оказаться способней в будущем. Не решаясь сказать: "Этот Шрифт чересчур умен", он говорит: "Умен-то он умен, да вот благоразумен ли? Мне больше нравится Шифр". Не решаясь опять-таки сказать: "Этот Шрифт меня забивает", он говорит: "По-моему, у Шифра больше здравого смысла". Здравый смысл - понятие любопытное, в данном случае противоположное уму, и означает оно преданность рутине. Шифр идет вверх, Шрифт - еще куда-нибудь, и штаты постепенно заполняются людьми, которые глупее начальника, директора или председателя. Если он второго сорта, они будут третьего и позаботятся о том, чтобы их подчиненные были четвертого. Вскоре все станут соревноваться в глупости и притворяться еще глупее, чем они есть. Следующая (третья) стадия наступает, когда во всем учреждении, снизу доверху, не встретишь и капли разума. Это и будет коматозное состояние, о котором мы говорили в первом абзаце. Теперь учреждение можно смело считать практически мертвым. Оно может пробыть в этом состоянии лет двадцать...>> "Законы Паркинсона" (c) Сирил Паркинсон
Теперь рассмотрим зависимость количества выпущенных OBJ'ей от года:
год | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 |
---|---|---|---|---|---|---|
всего | 911 | 222 | 317 | 422 | 709 | 8 |
последние | 0 | 0 | 0 | 0 | 312 | 8 |
.asm | 35 | 12 | 36 | 108 | 285 | 4 |
win32/9x | 3 | 3 | 17 | 45 | 55 | 0 |
Комментировать тут особо нечего, ну, разве что кроме какой-то глобальной перекомпиляции в 96-м.
Теперь вот о чем вспомним. Как-то каспер вякал, будто они свои новые базы тестируют чуть ли не по месяцу. Так вот, это - наглая ложь. Вот файлик, ircwormd.c, был скомпилен, когда? - 'Fri Jan 05 00:25:10 2001', то бишь ночью. А апдейт, в коий он был включен, вышел в этот же день.
Подведем итоги. К чему все это было надо? Во-первых, плюнули в рожу касперу. Во-вторых, показали, как можно круто облажаться используя отстойный майкрософтовский софт (я думаю, что 32-битные obj'и они masm'ом компиляют). В третьих, выяснили, что контора, в общем-то, работает весьма регулярно и с высокой вероятностью в конторе постоянно находится хоть кто-то способный писать нечто на C и компилять obj'и. Причем, иногда народ там засиживается допоздна. В четвертых, выяснили время, когда контора на 99% неактивна -- с часа ночи до 8-ми утра. В пятых, мы знаем, что в субботу/воскресенье контора генерит obj'и лишь на треть своей мощности. Далее, мы теперь знаем, что на 400-500 трепаков под винду, obj'и приходится писать примерно на каждые 100, то есть на четверть.
И в заключение (критика должна быть конструктивной!) процитирую еще немного из Паркинсона:
<<...на третьей стадии сделать нельзя ничего. Учреждение практически скончалось. Оно может обновиться, лишь переехав на новое место, сменив название и всех сотрудников. Конечно, людям экономным захочется перевезти часть старых сотрудников, хотя бы для передачи опыта. Но именно этого делать нельзя. Это верная гибель - ведь заражено все. Нельзя брать с собой ни людей, ни вещей, ни порядков. Необходим строгий карантин и полная дезинфекция. Зараженных сотрудников надо снабдить хорошими рекомендациями и направить в наиболее ненавистные вам учреждения, вещи и дела немедленно уничтожить, а здание застраховать и поджечь. Лишь когда все выгорит дотла, м