Книга
Книга
Модификация операционной системы WindowsРазгон компьютераАтаки хакероО и зашитаФорсирование ИнтернетаКомпьютерные шуткиМодификация операционной системы WindowsРазгон компьютераАтаки хакероО и зашитаФорсирование ИнтернетаКомпьютерные шутки
Модификация операционной системы Windows
Разгон компьютера
Атаки хакероО и зашита
Форсирование Интернета
Компьютерные шутки
Модификация операционной системы Windows
Разгон компьютера
Атаки хакероО и зашита
Форсирование Интернета
Компьютерные шутки
Михаил Фленов
н □ m п ьз га т е iziЖ г п а з а гп и
Санкт-Петербург«БХВ-Петербург»2005
УДК 681.3.06
ББК 32.973.26-018.2
Ф69
Флеков М. Е.
Ф69 Компьютер глазами хакера. — СПб.: БХВ-Петербург, 2005. — 336 с.: ил.
ISBN 5-94157-582-3
Рассмотрены компьютер, операционная система Windows и Интернет с точки зрения организации безопасной и эффективной работы на ПК. Описаны основные методы атак хакеров и рекомендации, которые позволят сделать компьютер быстрее, надежнее и безопаснее. Представлены примеры накручивания счетчиков на интернет-сайтах и методы взлома простых вариантов зашиты программ Shareware. Приведены советы хакеров, которые позволят при путешествии по Интернету не заразиться вирусами и не стать добычей сетевых мошенников, владеющих методами социальной инженерии. Показано, как сделать интерфейс Windows более удобным и привлекательным, компьютер — надежнее и быстрее, а работу в сети — более эффективной.
Для пользователей ПК
УДК 681.3.06
ББК 32.973.26-018.2
Группа подготовки издания:
Главный редактор Зам. гл. редактора Зав. редакцией Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производствомГлавный редактор Зам. гл. редактора Зав. редакцией Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производствомЕкатерина Кондукова Игорь Шишигин Гтиорий Добин Алла Воробейчик Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай ТверскихЕкатерина Кондукова Игорь Шишигин Гтиорий Добин Алла Воробейчик Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских
Главный редактор Зам. гл. редактора Зав. редакцией Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производством
Главный редактор Зам. гл. редактора Зав. редакцией Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производством
Екатерина Кондукова Игорь Шишигин Гтиорий Добин Алла Воробейчик Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских
Екатерина Кондукова Игорь Шишигин Гтиорий Добин Алла Воробейчик Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских
Лицензия ИД Ne 02429 от 24.07.00. Подписано в печать 25.03.05.
Формат 70x100’/|6. Печать офсетная. Усл. печ. л. 27,1.
Тираж 4000 экз. Заказ Ng 923
"БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б.
Санитарно-эпидемиологическое заключение на продукциюNe 77.99.02.953.Д.0О8421.11.04 от 11.11.2004 г. выдано Федеральной службойпо надзору в сфере защиты прав потребителей и благополучия человека.
Отпечатано с готовых диапозитивовв ГУП "Типография "Наука"199034, Санкт-Петербург, 9 линия, 12
-Wi-t^SlX-^
ISBN 5-94157-582-3с Фл=но» м Е., 2005
С Оформление, издательство “БХВ-Петербург-. 2005
Оглавление
Введение 1
Компьютер глазами хакера 1
Кто такие хакеры? 4
Как стать хакером?6
Предыстория13
Глава 1. Интересные настройки Windows17
Собственный Internet Explorer17
Мой логотип в 1Е 18
Раскрасим кнопочную панель20
Основные настройки IE 21
Шалости с настройками IE22
Назови меня как хочешь24
Как стать OEM-партнером Microsoft".24
Установите коврик для мышки26
Элементы управления Windows 28
Немного истории 28
Стандартные элементы управления 29
Как работают элементы шестой версии31
Темы оформления Windows ХР/200332
Опции 35
Темы — 36
Визуальные стили и обои36
Схемы загрузчика37
Зачем нужна программа StyleXP 39
Создание собственной темы 40
Загрузчик в стиле ХР .43
Windows 9 г в стиле WEB 45
МРЗ-кодинг46
Глава 2. Внутренний мир Windows 49
Ресурсы Windows 49
Программа Restorator51
Редактирование меню53
Редактирование диалоговых окон..56
Редактирование строк и акселераторов62
Редактирование изображений63
Визуальное редактирование ресурсов,.... 63
Редактирование меню 65
Редактирование окон диалогов66
Редактирование строк68
Редактирование изображений68
Темы Windows ХР69
Войди правильно,73
Рисунки 74
Строки 75
Скрипт75
Загрузчик в стиле хакеров81
Загадочный Shell Style85
Рабочий стол под ножомхакера86
Оболочка ХР89
АVI 90
Картинки90
Меню 90
Диалоги91
Строки.91
Иконки 91
Памятка .92
Глава 3. Шутки над друзьями93
Шутки с мышкой 94
Железные шутки ,96
Смерть видео .....96
Девичья память.-.- ♦96
ATX — не защита -97
Чуть отключим 97
Монитор 98
Турбовентилятор 99
Суперскотч.....99
Мультикнопочник100
Сетевые шутки Ю0
Софт-шутки Ю5
Искусственное зависание ...,.........^........105
Ярлычки.. 105
Мусор на Рабочем столе105
Смерть Windows 9л107
Бутафория ..107
Запланируй это108
Смерть IE 109
Шутовские ресурсы109
Windows Total Commander109
Темы Windows111
Полное управление114
Программные шутки..... 116
Мораль118
Глава 4. Советы хакера 119
Как не заразиться вирусами119
Как работают вирусы..121
Как же предохраняться? 123
И тебя вылечат, и меня129
Полный доступ к системе138
Виагра для BIOS141
Оптимизация системы141
Быстрая загрузка143
Определение дисков144
Быстрая память 145
Тотальное обновление BIOS.146
Разгон железа 147
Холодильник148
Теория разгона 151
Процессоры AMD..152
Процессоры Intel155
Разгон видеокарты157
Оптимизация Windows159
Готовь сани летом. ...159
Сервисы Windows 2000/ХР 160
Удаление ненужного164
Автозагрузка 167
Дамп памяти168
Красоты169
Лишние копии170
Форсирование выключения172
Зашита172
Вирусы и трояны173
Оптимизация 173
*ЛЗ. Сложные пароли173
Пароли по умолчанию....175
Обновления175
Открытые ресурсык..176
Закройте ворота 177
Настройки 178
Невидимость 179
Мнимая зашита BIOS182
Шифрование182
Учетные записи184
Физический доступ186
Восстановление утерянных данных 186
Как удаляются файлы 187
Полное удаление 187
Утилиты восстановления данных188
Ручное восстановление файлов190
Восстановление данных с носителей193
Реанимация194
Вентиляторы 195
DVD- и компакт-диски196
CD-приводы196
Жесткие диски198
Взлом программ199
Почему ломают?...199
Срок службы..200
Накручивание счетчика201
Полный взлом 203
Сложный взлом205
Глава 5. Интернет для хакера207
Форсирование Интернета208
Форсирование протокола ..209
Форсирование DNS....213
Локальное кэширование215
Только то, что надо218
Качать не перекачать219
Накрутка голосования220
Вариант накрутки №1•.221
Вариант накрутки №2 222
Вариант накрутки №3 .. 222
Вариант накрутки №4 223
Социальная инженерия 228
Как он хорош 229
Смена пароля,; 230
Я забыл231
Я свой231
Новенький и глупенький233
Эффективность социальной инженерии233
Анонимность в сети 234
Прокси-серверы 234
Цепочка прокси-серверов237
Готовые сервисы ..239
Расскажи-ка, где была240
Анонимность в локальной сети241
Анонимная почта 242
Подделка отправителя242
Подделка текста сообщения...245
Служебная информация 245
Безопасность в сети 246
Закройте лишние двери.-.247
Хранение паролей247
BugTraq248
Firewall 249
Firewall — не панацея252
Firewall как панацея254
Virtual Private Network255
Интернет — зло256
Внутренний взлом257
Сканирование открытых ресурсов258
Атаки хакеров 260
Исследования 261
Взлом WWW-сервера 267
Серп и молот 271
Локальная сеть 272
Троян 276
Denial of Service 279
Взлом паролей 282
Взлом не зависит от ОС 285
Резюме 286
Как скрываются хакеры287
На долгий срок287
Коротко и ясно289
Скрываться бесполезно289
Произошло вторжение290
Резервирование и восстановление292
295 295ПРИЛОЖЕНИЯ
295
295
Приложение 1. Содержимое UIFile297
Приложение 2. Полезные программы311
Приложение 3. Полезные ссылки 313
Приложение 4. Термины314
Описание компакт-диска317
Список литературы318
Предметный указатель319
••'>-.г.. ■• ?-T.ijr.^.......।^ л ,г'.&Ш / 'Vr
... ч_^^ч.I4.jf.iij4 .£.^й
1 i5! I I '-1 i5! I I '-
1 i5! I I '-
1 i5! I I '-
-.... ■* L^.j4iX^|^^. Д$Й№^1т1*^пП A
stTt-:5np^)^"H*i;>#%MWeStt?it^lC f^ ' 'j '
Введение
Компьютер становится уже неотъемлемой частью нашего бытия, и лично я всегда ношу с собой свой ноутбук, т. к. даже не представляю себе жизни без него. Выдалась свободная минутка, — так крышка ноутбука открывается, и экран начинает переливаться разными цветами, показывая загрузку Windows ХР. Теперь творить можно где и когда угодно, лишь бы хватило заряда аккумулятора.
Компьютер глазами хакера
В данной книге описываются составные части ОС Windows, интересные приемы настройки компьютера и операционной системы. Вы увидите, как можно подшутить над друзьями или коллегами, используя компьютер, узнаете некоторые секреты использования Интернета и сможете повысить эффективность своего пребывания в сети. Помимо этого, вас ждет множество интересных и веселых ситуаций, компьютерных шуток из моей жизни и многое другое.
Книга стоит на трех китах: компьютер, ОС Windows и Интернет. Это действительно значимые понятия современной эпохи, и именно их мы будем рассматривать с точки зрения хакера. А если конкретнее, нам предстоит узнать про тюнинг (настройка, оптимизация и ускорение), взлом и защиту компьютера, ОС Windows и Интернета.
Эта книга отличается от других тем, что здесь полезные знания можно приобрести, совмещая процесс познания с отдыхом и развлечением. Вы узнаете, как сделать свою работу за компьютером лучше, интереснее, эффективнее и безопаснее.
Но работа должна приносить удовольствие. Постоянно трудиться за одним и тем же рабочим столом утомляет. Вы же делаете дома перестановку, обновляете интерьер, чтобы четыре стены не докучали своим видом? То же самое и с компьютером. Однообразные окна надоедают, а смена только обоев Рабочего стола и окраски окон не приносит нужного эффекта. Хочется чего-то большего.
Microsoft*
Windows^
Pirated Edition
MlCfOAOtl
Рис. 1. Вот так красиво может загружаться Windows ХР
Чтобы проведенное за компьютером время стало приятней, надо научиться украшать ОС Windows и ее программы. Сначала я покажу простые методы тюнинга с использованием специализированных утилит, позволяющих упростить работу, а во второй главе вы познакомитесь с составом тем, загрузчиков и программ входа в Windows ХР и способами их редактирования напрямую.
Компьютер сейчас — не просто дань моде, для меня это источник дохода, средство отдыха и развлечения, инструмент для получения информации и обучения, ну и, конечно же, способ самовыражения. Он позволяет реализовать многие мои желания. В этой книге я поделюсь с вами самым интересным из того, что я знаю о "внутренностях" ОС Windows с точки зрения пользователя. Это поможет придумать новые компьютерные шутки, использовать железо по максимуму или просто разнообразить вашу жизнь.
Вы узнаете, как сделать интерфейс приложений более удобным и изящным. Свои любимые программы я под Новый год иногда украшаю гирляндами, а летом на диалоговых окнах рассаживаю цветы. Это делает жизнь приятнее и красивее.
Многие люди, покупая новый автомобиль, сразу же приступают к тюнингу. Это позволяет через машину продемонстрировать свою индивидуальность и выделиться среди окружающих. Почему не поступить так и с компьютером? Он ведь тоже является отражением наших характерных особенностей, и мы имеем на это полное право.
Некоторые хакеры занимаются модингом, украшая системный блок, но ведь он очень часто стоит под столом и незаметен. Да и по восемь часов на работе мы смотрим не на эту "коробку", а на монитор и окна, которые там нахо-
дятся. Именно поэтому первым делом мы будем украшать Windows, а заодно познакомимся с универсальными способами изменения и других программ. Конечно же, эти приемы применимы не ко всем программам, но к большинству, это уж точно.
Я провожу за компьютером по 10—12 часов, а когда еше не было ни жены, ни детей, то у монитора просиживал до 16 часов, в основном ночью, когда тихо и спокойно. Я даже ел, держась одной рукой за клавиатуру, а отходил от компьютера только чтобы поспать. Так как в игры практически не играю, то получалось, что большая часть времени уходила на программирование и изучение системы. Но надо же как-нибудь отдыхать и развлекаться!! Вот я и начал писать маленькие смешные программы, с помощью которых легко подшутить над друзьями и коллегами по работе. Большинство таких программ рождалось именно на работе, где есть "испытательный полигон" для новых идей. Всегда хочется показать свои знания и умения (и даже превосходство), и юмор позволяет это сделать как нельзя лучше. А главное, на работе есть корпоративная сеть, в которой много компьютеров, а значит и потенциальных "жертв". Именно сеть позволяет сделать шутки более интересными.
Мне в те времена повезло с заместителем начальника моего отдела, потому что он тоже был любителем подшутить над ближним (я уже сменил работу). Сия чаша не миновала и меня. Однажды у меня перестал работать монитор, и я долго не мог понять почему. Оказалось, что монитор работал, просто над ним "поколдовал" мой шеф (про эту шутку читайте в гл. J). После этого между нами развернулась настоящая война. Мы постоянно искали новые способы "напакостить" друг другу. С каждым днем шутки становились интереснее и изощреннее.
Некоторые вещи, которые мы будем рассматривать, могут нарушать какое- либо лицензионное соглашение разработчика программы, ОС или компьютера, поэтому прежде чем приступать к действиям, следует внимательно с ним ознакомиться. Например, мы узнаем, как можно изменить ресурсы приложения (окна, меню, иконки и т. д.), что противоречит лицензионному соглашению на использование разработок большинства крупных производителей программного обеспечения. Небольшие фирмы или программисты- одиночки делают соглашения более мягкими или вообще не используют их в своей практике.
Лично я не понимаю, почему нам воспрещается изменять что-то в программе, которую мы честно купили. Производители телевизоров не запрещают перекрашивать его в другой цвет, да и с автомобилями можно делать все, что угодно (теряется только гарантия). Так почему же нельзя то же самое сделать с Windows?
Но необходимо отдавать себе отчет в том, что, нарушив лицензию, вы можете лишиться поддержки. Я, да и многие другие этой поддержкой не пользуемся, поэтому смело изменяем все, что захотим.
Помните, что большинство примеров приводится только в информационных целях, для лучшего понимания системы и компьютера. За использование этих знаний в незаконных целях автор и издательство ответственности не несет. Я всегда говорил, что даже безобидный предмет может стать оружием уничтожения или разрушения.
Когда мы будем рассматривать разгон компьютера, то при практическом использовании этой возможности вы нарушите гарантию производителя. Если по вашей вине сгорит компьютер, то никто уже не примет его в ремонт. Если у вас нет достаточного опыта работы с железом компьютера, то воспринимайте эту информацию как познавательную. Большинство начинающих при экстремальных разгонах обязательно что-нибудь сжигают (материнскую плату или процессор), и замена будет производиться только за ваш счет, поэтому практический опыт окажется дорогим. Если у вас есть лишние деньги, то можно потренироваться. Я в основном занимаюсь этими вопросами на машинах, которые уже отработали положенный срок (и их выкинуть не жалко). Если компьютер новый и работает быстро и стабильно, то и разгон ему не нужен.
Так как Интернет уже завоевал сердца большинства компьютерщиков, я достаточно много внимания уделю его использованию, раскрою некоторые секреты и дам советы для путешествия по сети. В Приложении 3 приведен список некоторых полезных ссылок. Конечно же, находясь в Интернете, большую часть времени мы проводим в браузере, поэтому эта составляющая займет большую часть главы 5.
В этой книге я дам достаточно много советов по использованию компьютера, ОС Windows и Интернета. Это позволит вам максимально эффективно использовать эти три составляющие, которые захватили мир и нашу повседневную жизнь. Все, что будет рассматриваться, основано на моем личном, многолетнем опыте работы с компьютером. В Приложении 2 приведен перечень полезных программ. Надеюсь, что мой взгляд придется вам по душе, и вы откроете для себя что-то новое и сможете воспользоваться этим в своей повседневной жизни.
Напоследок хочу еще раз предупредить, что все материалы, описываемые в книге, даются только в познавательных целях. Если вы по неосторожности испортите компьютер или нарушите закон, автор за эти действия ответственности не несет. ■
Кто такие хакеры?
Это довольно спорный вопрос, и я достаточно много писал о том, кто такие хакеры и как ими стать. Давайте разберем понятие "хакер" с позиции, с которой я буду рассматривать его в данной книге. Но для начала надо углубиться немного в историю.
Понятие "хакер" зародилось, когда только начинала распространяться первая сеть ARPANET. Тогда это понятие обозначало человека, хорошо разбирающегося в компьютерах. Некоторые даже подразумевали под хакером человека, "помешанного" на компьютерах. Понятие ассоциировали со свободным компьютерщиком, человеком, стремящимся к свободе во всем, что касалось его любимой "игрушки". Собственно благодаря этому стремлению и тяге к-свободному обмену информацией и началось такое бурное развитие всемирной сети. Именно хакеры помогли развитию Интернета и создали FIDO. Благодаря им появились UNIX-подобные системы с открытым исходным кодом, на которых сейчас работает большое количество серверов.
В те далекие времена еще не было вирусов и не внедрилась практика взломов сетей или отдельных компьютеров. Образ хакера-взломщика появился немного позже. Но это только образ. Настоящие хакеры никогда не имели никакого отношения к взломам, а если хакер направлял свои действия на разрушение, то это резко осуждалось виртуальным сообществом. Даже самые яркие представители борцов за свободу не любят, когда кто-либо вмешивается в их личную жизнь.-
Настоящий хакер — это творец, а не разрушитель. Так как творцов оказалось больше, чем разрушителей, то истинные хакеры выделили тех, кто занимается взломом, в отдельную группу и назвали их крэкерами (взломщиками) или просто вандалами. И хакеры, и взломщики являются гениями виртуального мира. И те и другие борются за свободу доступа к информации. Но только крэкеры взламывают сайты, закрытые базы данных и другие источники информации с целью собственной наживы, ради денег или минутной славы, такого человека можно назвать только преступником (кем он по закону и является!).
Если вы взломали программу, чтобы увидеть, как она работает, то вы — хакер, а при намерении ее продать или просто выложить в Интернете crack (крэк) — становитесь преступником. Ежели вы взломали сервер и сообщили администрации об уязвимости, то вы, несомненно, — хакер, но коли уничтожили информацию и скрылись, то это уже преступление.
Жаль, что многие специалисты не видят этой разницы и путают хакерские исследования с правонарушениями. Хакеры интересуются системой безопасности систем и серверов для определения ее надежности (или в образовательных целях), а крэкеры — с целью воровства или уничтожения данных.
Итак, к крэкерам относятся:
Вирусописатели — применяют свои знания на то, чтобы написать программу разрушительной направленности.
Вандалы — стремятся уничтожить систему, удалить все файлы или нарушить работу сервера.
Взломщики компьютеров/серверов — совершают "кражу со взломом" с целью наживы, выполняя, зачастую, чьи-либо заказы на получение информации, очень редко используют свои знания в разрушительных целях.
Взломщики программ — снимают защиту с программного обеспечения и предоставляют его для всеобщего использования. Такие люди приносят ущерб софтверным фирмам и государству. Программисты должны получать зарплату за свой труд.
Чтобы еще раз подчеркнуть разницу между хакером и крэкером, можно сравнить их со взломщиками программ. Все прекрасно понимают, что многие софтверные фирмы завышают цены на свои программные продукты. Крэкер будет бороться с ценами с помощью снятия зашиты, а хакер создаст свою программу с аналогичными функциями, но меньшей стоимости или вообще бесплатную. Так движение Open Source можно причислить к хакерам, а те, кто пишет крэки, относятся к взломщикам, т. е. крэкерам.
Мне кажется, что путаница в понятиях отчасти возникла из-за некомпетентности в этом вопросе средств массовой информации. Журналисты популярных СМИ, не вполне разбираясь в проблеме, приписывают хакерам взломы, делая из них преступников.
На самом же деле хакер — это просто гений. Истинные хакеры никогда не используют свои знания во вред другим. Именно к этому я призываю в данной книге, и никакого конкретного взлома или вирусов не будет. Только полезная и познавательная информация, которую вы сможете использовать для умножения своих знаний.
Хакеры должны не просто знать компьютер. Когда мы будем рассматривать атаки, которые используют хакеры, то вы увидите, что без навыков программирования реализовать большинство из этих приемов будет невозможно. Если вы заинтересовались и решили повысить свой уровень мастерства, то могу посоветовать прочитать мои книги "Программирование в Delphi глазами хакера" |2] и "Программирование на C++ глазами хакера" [1] (англ, вариант — "Hackish C++ Pranks&Tricks"). Надеюсь, это поможет вам научиться создавать собственные смешные программы и хакерский софт. Для понимания материала не надо иметь глубоких знаний в программировании. Компьютерные шутки, которые мы будем рассматривать в данной книге, хороши, но не менее интересна самостоятельно сотворить забавную программу и подбросить ее друзьям.
Как стать хакером?
Этот вопрос задают себе многие, но точного ответа вам не даст никто. Я постараюсь выделить некоторые общие аспекты, Но все зависит от конкретной области, в которой вы хотите стать лучшим.
Сравним компьютерного специалиста со строителем. В каждой профессии существует некая специализация (разная направленность). Хорошим строителем может быть отличный каменщик или штукатур. Точно также и хакером может быть специалист по операционным системам (например, UNIX)
или программист (приложений или WEB-сайтов). Все зависит от ваших интересов и потребностей.
Итак, вот некоторые рекомендации, которые помогут вам стать настоящим хакером и добиться признания со стороны друзей и коллег.
Вы должны знать свой компьютер и научиться эффективно им управлять. Если вы будете еще и знать в нем каждую железку, то это только добавит к вашей оценке по '’хакерству" большой и жирный плюс.
Что я подразумеваю под умением эффективно управлять своим компьютером? Это значит знать все возможные способы для выполнения каждого действия и в каждой ситуации уметь использовать наиболее оптимальный из них. В частности, вы должны научиться пользоваться "горячими" клавишами и не дергать мышь по любому пустяку. Нажатие клавиши выполняется быстрее, чем любое, даже маленькое перемещение мыши. Просто приучите себя к этому, и вы увидите все прелести работы с клавиатурой. Лично я использую мышью очень редко и стараюсь всегда применять клавиатуру.
Маленький пример на эту тему. Мой начальник всегда копирует и вставляет данные из буфера обмена с помощью кнопок на панели инструментов или команд контекстного меню, которое появляется при щелчке правой кнопкой мыши. Но если вы делаете так же, то, наверное, знаете, что не везде есть кнопки Копировать, Вставить или соответствующие пункты в контекстном меню. В таких случаях мой начальник набирает текст вручную. А ведь можно было бы воспользоваться копированием/вставкой с помощью "горячих клавши" <Ctii>+<C>/<Ctrl>+<V> или <Ctrl>+<lns>/<Shift>+<Ins>, которые достаточно универсальны и реализованы практически во всех современных приложениях (даже там, где не предусмотрены кнопки и меню).
За копирование и вставку в стандартных компонентах Windows (строки ввода, текстовые поля) отвечает сама операционная система, и тут не нужен дополнительный код, чтобы данные операции заработали. Если программист не предусмотрел кнопку, то это не значит, что данного действия нет. Оно есть, но доступно через "горячую клавишу".
Еще один пример. Я работа,! программистом на крупном предприятии (более 20 000 работников). Моей задачей было создать программу ведения базы данных для автоматизированного формирования отчетности. Большое количество параметров набиралось вручную, и для этого использовались операторы. Первый вариант программы работал без "горячих клавиш", и для ввода данных требовалось 25 операторов. После внедрения "горячих клавиш" производительность возросла, и с программой работало уже менее 20 операторов. Экономия заметна даже без увеличительного стекла.
Вы должны досконально изучать все, что вам интересно о компьютерах. Если вас интересует графика, то вы должны освоить лучшие графические
пакеты, научиться рисовать в них любые сцены и создавать самые сложные миры. Если вас интересуют сети, то старайтесь узнать о них все. Если вы считаете, что познали уже все, то купите книгу по данной теме потолще, и вы поймете, что сильно ошибались. Компьютеры — это такая сфера, в которой невозможно знать все!!!
Хакеры — это, прежде всего, профессионалы в каком-нибудь деле. И тут даже не обязательно должен быть компьютер или какой-то определенный язык программирования. Хакером можно стать в любой области, но мы в данной книге будем рассматривать только компьютерных хакеров.
Желательно уметь программировать. Любой хакер должен знать как минимум один язык программирования. А лучше знать даже несколько языков. Лично я рекомендую всем изучить для начала Borland Delphi или C++. Borland Delphi достаточно прост, быстр, эффективен, а главное, — это очень мощный язык. C++ — признанный стандарт во всем мире, но немного сложнее в обучении. Но сие не означает, что не надо знать другие языки. Вы можете научиться программировать на чем угодно, даже на языке Basic (хотя использовать его не советую, но знать не помешало бы). Хотя я не очень люблю Visual Basic за его ограниченность, не- удобность и сплошные недостатки, я видел несколько великолепных программ, которые были написаны именно на этом языке. Глядя на них, сразу хочется назвать их автора хакером, потому что это действительно виртуозная и безупречная работа. Создание из ничего чего-то великолепного как раз и есть искусство хакерства.
По ходу изучения книги вы увидите, что без навыков программирования некоторые приемы были бы невозможны. Используя готовые программы, написанные другими хакерами, вы можете стать только взломщиком, а для того, чтобы стать хакером, нужно научиться создавать свой код.
Хакер — это творец, человек, который что-то создает. В большинстве случаев это касается кода программы, но можно создавать и графику, и музыку, что тоже относится к искусству хакера. Но даже если вы занимаетесь компьютерной музыкой, знания программирования повысят ваш уровень. Сейчас писать свои программы стало гораздо легче. С помощью таких языков, как Borland Delphi, можно создавать простые утилиты за очень короткое время, и при этом вы не будете ни в чем ограничены. Так что не поленитесь и изучите программирование.
Не тормозите прогресс. Хакеры всегда боролись за свободу информации. Если вы хотите быть хакером, то тоже должны помогать другим. Хакеры обязаны способствовать прогрессу. Некоторые делают это через написание программ с открытым кодом, а кто-то просто делится своими знаниями.
Открытость информации не означает, что вы не можете зарабатывать деньги. Это никогда не возбранялось, потому что хакеры тоже люди, и тоже хотят кушать, и должны содержать свою семью. Но деньги не
должны быть основополагающим в вашей жизни. Самое главное — это созидание. Вот тут проявляется еще одно отличие хакеров от крэкеров: хакеры "создают”, а крэкеры "уничтожают" информацию. Если вы написали какую-нибудь уникальную шуточную программу, то это вас делает хакером. Но если вы изобрели вирус, который с улыбкой на экране уничтожает диск, то вы — крэкер-преступник.
В борьбе за свободу информации может применяться даже взлом, но только не в разрушительных целях. Вы можете взломать какую-либо программу, чтобы посмотреть, как она работает, но не убирать с нее систем зашиты. Нужно уважать труд других программистов, не нарушать их авторские права, потому что защита программ — это их хлеб.
Представьте себе ситуацию, если бы вы украли телевизор. Это было бы воровство и преследовалось бы по закону. Многие люди это понимают и не идут на преступления из-за боязни наказания. Почему же тогда крэкеры спокойно ломают программы, не боясь закона? Ведь это тоже воровство. Лично я приравниваю взлом программы к воровству телевизора с полки магазина и считаю это таким же правонарушением.
При этом вы должны иметь право посмотреть на код купленной программы. Ведь вы же можете вскрыть свой телевизор, и никто не будет вас преследовать по лицензионным соглашениям. Кроме того, нас же не заставляют регистрироваться, когда вы честно приобрели товар, как делают это сейчас с активацией.
Я понимаю разработчиков программ, которые пытаются защитить свой труд. Я сам программист и продаю свои программы. Но я никогда не делаю сложных систем защиты, потому что любые попытки "предохранения" усложняют жизнь законопослушным пользователям, а крэкеры все равно взломают. Какие только "замки" не придумывали крупные корпорации, чтобы защитить свою собственность, но Crack существует на любые программы, большинство из которых взламывалось еще до официального выхода на рынок. С нелегальным распространением программ нужно бороться другими методами, а системы активации или ключей бесполезны.
В цивилизованном мире программа должна иметь только простое поле для ввода некоего кода, подтверждающего оплату, и ничего больше. Не должно быть никаких активаций и сложных регистраций. Но и пользователи должны быть честными, потому что любой труд должен оплачиваться. А то, что какой-то товар (программный продукт) можно получить бесплатно, это не значит, что вы должны это делать.
Знайте меру. Честно сказать, я уважаю Билла Гейтса за то, что он создал Windows и благодаря ей сделал компьютер доступным для каждого в этом мире. Если раньше пользоваться компьютерами могли только люди с высшим образованием и математическими способностями, то теперь он доступен каждому ребенку.I .
Единственное, что я не приветствую — это методы, которыми продвигается Windows на компьютеры пользователей. Мне кажется, что уже давно пора ослабить давление и Windows наоборот станет более популярной, и у многих пропадет ненависть к корпорации и ее руководству.
Нельзя просто так лишать денег другие фирмы только из-за того, что ты проиграл конкуренцию, как это произошло с Netscape Navigator. Тогда Microsoft не удалось победить фирму Netscape в честной борьбе, и Microsoft сделала свой браузер бесплатным, потому что у корпорации достаточно денег и она может себе это позволить. Но почему нельзя было просто уйти от борьбы и достойно принять проигрыш? Ведь доходы фирмы от перевода браузера на бесплатную основу не сильно увеличились, а интеграция Internet Explorer в ОС — чистый фарс.
Для продвижения своего портала Microsoft могла найти и другие способы, а конкуренция должна быть честной. Нельзя требовать от пользователя добросовестного отношения к своим продуктам, когда сам играешь нечестно.
Не придумывайте велосипед. Тут опять действует созидательная функция хакеров. Они не должны стоять на месте и обязаны делиться своими знаниями. Например, если вы написали какой-то уникальный код, то поделитесь им с ближними, чтобы людям не пришлось создавать то же самое. Вы можете не выдавать все секреты, но должны помогать другим.
Ну а если вам попал чужой код, то не стесняйтесь его использовать (с согласия хозяина!). Не выдумывайте то, что уже сделано и обкатано другими пользователями. Если каждый будет изобретать колесо, то никто и никогда не создаст повозку, и тем более автомобиль.
Хакеры — не просто отдельные личности, а целая культура. Но это не значит, что все хакеры одеваются одинаково и выглядят на одно лицо. Каждый из них — отдельный индивидуум и не похож на других. Не надо копировать другого человека. Удачное копирование не сделает вас продвинутым хакером. Только ваша индивидуальность может сделать вам имя.
Если вы известны в каких-либо кругах, то это считается очень почетным. Хакеры — это люди, добывающие себе славу своими познаниями и добрыми делами. Поэтому любого хакера должны знать.
Как вам определить, являетесь ли вы хакером? Очень просто, если о вас говорят как о хакере, то вы один из них. Жаль, что такого добиться очень сложно, потому что большинство считает хакерами взломщиков. Поэтому, чтобы о вас заговорили как о хакере, нужно что-то вскрыть. Но это неправильно, и не надо поддаваться на этот соблазн. Старайтесь держать себя в рамках дозволенного и добиться славы только хорошими делами. Это намного сложнее, но что поделаешь...
Никто и не обещал, что будет просто.
Чем отличаются друг от друга программист, пользователь и хакер? Программист, когда пишет программу, видит, какой она должна быть, и делает на свое усмотрение. Пользователь не всегда знает, что задумал программист, и использует программу так, как понимает.
Программист не всегда может предугадать действия своих клиентов, да и приложения не всегда тщательно оттестированы. Пользователи имеют возможность ввести параметры, которые приводят к неустойчивой работе программ.
Хакеры намеренно ищут в программе лазейки, чтобы заставить ее работать неправильно, нестабильно или необычно. Для этого требуется воображение и нестандартное мышление. Вы должны чувствовать исполняемый код и видеть то, чего не видят другие.
Если вы нашли какую-то уязвимость, то необязательно ее использовать. Об ошибках лучше сообщать владельцу системы (например, администрации сайта). Это весьма благородно, а главное, — создаст вам имя, и при этом можно не опасаться оказаться в зале суда. Хотя те, кто оказываются в суде, быстрее получают популярность, потому что о таких людях пишут в газетах. Но кому в тюрьме нужно признание общественности? Я думаю, что никому. Тем более что после отбывания срока очень часто тяжело найти себе работу. Мало кто захочет содержать в штате бывшего преступника, да и после пребывания в местах не столь отдаленных могут еще долго не разрешать пользоваться любимыми компьютерами. Лучше быть здоровым и богатым, т. е. знаменитым и на свободе.
Некоторые считают, что правильно надо произносить "хэкер", а не "хакер". Это так, но только для английского языка. У нас в стране оно обрусело и стало "хакером". Мы — русские люди, и давайте будем любить свой язык и признавать его правила.
Тут же возникает вопрос: "Почему же автор относит к хакерскому искусству компьютерные шутки и сетевые программы?" Попробую ответить на этот вопрос. Во-первых, хакеры всегда пытались доказать свою силу и знания методом написания каких-либо интересных, веселых программ. К этой категории я не отношу вирусы, потому что они несут в себе разрушение, хотя они тоже бывают с изюминкой и юмором. Зато простые и безобидные шутки всегда ценились в узких кругах.
Таким способом хакер демонстрирует не только знания особенностей операционной системы, но и старается заставить ближнего своего улыбнуться. Не секрет, что многие хакеры обладают хорошим чувством юмора и он поневоле ищет своего воплощения. Я советую шутить с помощью безобидных программ.
Ну и последнее. Я уже сказал, что любой хакер должен уметь писать программы на каком-нибудь языке программирования. Некоторые заведомо считают, что хакер должен свободно владеть ассемблером. Это не так. Знание
ассемблера желательно, но не обязательно. Я люблю Borland Delphi, и он позволяет мне сделать все, что я захочу. А главное, что я могу сделать это быстро и качественно. Но я также использую C++ и ассемблер.
Языки программирования надо использовать с умом. Несмотря на мою любовь к Borland Delphi, он удобен для написания практически любых программ, кроме игр. Тут всегда властвовал и будет властвовать C++. При сетевом программировании иногда может оказаться удобнее C++, а иногда Borland Delphi. Но писать большие приложения на ассемблере не просто не эффективно, это глупо.
Вы также должны понимать необходимость использования технологий. Я по образованию эконом ист-менеджер и 6 лет проучился в институте по этой специальности. Но даже до этого я знал, что заказчик всегда прав. Почему- то в компьютерной области стараются избавиться от этого понятия. Например, Microsoft пытается заставить программистов писать определенные программы, не объясняя, зачем это нужно пользователям. Многие тупо следуют этим рекомендациям и не задумываются о необходимости того, что они делают.
Тут же приведу простейший пример. Сейчас все программисты вставляют в свои продукты поддержку XML, и при этом никто из них не задумывается о целесообразности этого. А ведь не всем пользователям этот формат нужен, и не во всех программах он востребован. Следование рекомендациям Microsoft не означает правильность действий, потому что заказчик — не Билл Гейтс, а ваш потребитель. Поэтому надо всегда делать то, что требуется конечному пользователю.
Я рекомендую не обращать особого внимания на корпорацию Microsoft (хотя некоторые разработки гениальны), потому что считаю определенные их действия тормозом прогресса. И это тоже можно доказать на примере. Сколько технологий доступа к данным придумала Microsoft? Просто диву даешься: DAO, RDO, ODBC, ADO, ADO.NET, и это еше не полный список. Корпорация Microsoft регулярно выкидывает на рынок что-то новое, но при этом сама этим не пользуется. При появлении новой технологии все программисты кидаются переделывать свои программы под новоиспеченный стандарт и в результате тратят громадные ресурсы на постоянные переделки. Таким образом, конкуренты сильно отстают, a Microsoft движется вперед, потому что не следует своим собственным рекомендациям и ничего не переделывает. Если программа при создании использовала для доступа к данным DAO, то можно спокойно оставить ее работать через DAO, а не переделывать на ADO, потому что пользователю все равно, каким образом программа получает данные из базы, главное, чтобы данные были.
Могу привести более яркий пример — интерфейс. В программе MS Office постоянно меняется интерфейс, и при этом всем говорят, что именно он самый удобный для пользователя. Все бегут переводить свои программы
на новый внешний вид меню и панелей, а тот же Internet Explorer (и все остальные программы) выглядит как 10 лет назад, в нем практически ничего не меняется. Microsoft не расточает на это время, а конкуренты тратят месяцы на переписывание множества строчек кода.
Да, следование моде придает вашим программам эффектность, но при этом вы должны суметь сохранить индивидуальность.
Возможно, сложилось впечатление, что я противник Microsoft, но это не так. Мне очень нравятся продукты, например, Windows или MS SQL Server, но я не всегда согласен с их методами борьбы с конкурентами. Это жестокий бизнес, но не до такой же степени.
Программисты и хакеры навязывают другим свое мнение о любимом языке программирования как о единственно приемлемом, обычно добиваясь успеха, потому что заказчик часто не понимает в программировании. На самом же деле заказчику все равно, на каком языке вы напишете программу, его интересуют только сроки и качество. Лично я могу обеспечить минимальные сроки написания приложения, сохраняя хорошее качество, только работая на Borland Delphi. Такое же качество на C++ я (да и любой другой программист) смогу обеспечить только в значительно большие сроки.
В данной книге будут описываться примеры именно на Visual C++, потому что этот язык является наиболее распространенным и многими признан стандартом для программирования. Но су шествует книга, в которой решаются те же проблемы, но с использованием примеров на языке Borland Delphi. Вот когда заказчик требует минимальный размер или наивысшую скорость работы программы, тогда я берусь за С (не путать С и C++) и ASM (встроенный ассемблер). Но это бывает очень редко, потому что сейчас носители информации уже практически не испытывают недостатка в размерах, и компьютеры работают в миллионы раз быстрее своих предков. Таким образом, размер и скорость программы уже не являются критичными, и на первый план выдвигаются скорость и качество выполнения заказа.
Предыстория
Чтобы лучше понимать мир хакера, нужно оглянуться назад и увидеть, как все развивалось, начиная с зарождения Интернета и появления первых хакерских программ, первых взломов и т. д.
В 1962-м году директор агентства ARPA (Advanced Research Projects Agency, Управление передовых исследовательских проектов) J.C.R. Licklider предложил в качестве военного применения компьютерных технологий использовать взаимосвязанные выделенной линией имеющиеся компьютеры. Целью такого применения компьютеров стало создание распределенных коммуникаций. А в основу ноу-хау был положен принцип функционирования системы.
устойчивой к отказам линий связи. Благодаря этому ключевым направлением исследований агентства стали компьютерные сети. Это время можно назвать началом появления сети ARPANET (Advanced Research Projects Agency NETwork, сеть коммутации пакетов).
С этой ошибки и началось развитие Интернета. Почему ошибки? В основу был положен принцип функционирования системы при отказе отдельных ее блоков, т. е. уже в самом начале заложили вероятность отказа отдельных компонентов!!! Во главе угла должна была стать безопасность системы, ведь она разрабатывалась для военных нужд США. Но как раз на этот аспект никто не обращал внимания. И это понятно, ведь компьютеры были доступны только профессионалам, о домашних компьютерах только мечтали. А о том, чтобы подключить домашний компьютер к сети, использовавшейся для военных и исследовательских целей, никто и не задумывался. Дальше еще хуже.
Дату рождения сети все воспринимают по-разному. В различных источниках можно найти даты, начиная с 1965 до 1970 года. Но многие признали >969 гад — период появления ARPANET, и именно тогда зарождается ОС UNIX, на которой и будет создаваться Интернет в ближайшие десятилетия.
В начале 70-х годов ARPANET стала расширяться и объединять различные исследовательские институты. Сеть вышла за пределы одного здания и начала опутывать США. Изначально никто даже не предполагал, что рост пойдет такими быстрыми темпами и сеть объединит такое большое количество компьютеров. Поэтому первые технологии, которые использовались для связи и обмена данными, устарели в первые Ю лет.
С I970 года начинается десятилетие фрикеров. Их тоже относят к категории хакеров, хотя они напрямую не связаны с компьютерами. Основное направление их деятельности — телефоны, услуги по использованию которых стоили дорого, поэтому молодые ребята (и не очень молодые, и не очень ребята :)) старались снизить эти затраты.
Эпоху фрикеров начинают отсчитывать с момента, когда компания Bell опубликовала в журнале Technical Assistance Program частоты тональных сигналов, которыми управляется телефонная сеть. В 1971 году появилась "синяя коробка" (Blue Box), с помощью которой можно было генерировать сигналы нужных тонов. Следующие 10 лет такие коробки позволили экономить людям немалые деньги на телефонных разговорах, телефонные компании стали терять деньги. После 1980 года эта болезнь начинает проходить, потому что фрикеров начали активно ловить, и это стало небезопасно.
Среди фрикеров были замечены достаточно знаменитые личности, например, основатели Apple Computers. Они продавали студентам электронные приборы, среди которых были и "синие коробки".
В 1972 году появляется первое приложение для передачи электронных сообщений, а через год сеть вышла за пределы США, и к ней подключились
компьютеры из Англии. В этом же году начались первые разговоры и предложения по построению международной сети.
Только в 1981 году был создан Defence Security Center (DSC, центр компьютерной безопасности министерства обороны США). Этот центр должен был определить степень пригодности предлагаемых систем для их ведомства.
16 декабря 1981 года начался судебный процесс против самого знаменитого фрикера Роско. В этом же деле участвовал и известный хакер Кевин Мит- ник, но ему повезло, — тогда он проходил в качестве свидетеля. Не прошло и года, как знаменитый хакер попался на другом деле и все же сел в тюрьму для подростков.
В 1982 году в основу Интернета был положен протокол передачи данных TCP/IP (Transmission Control Protocol/Internet Protocol). Количество хостов росло, а для обращения к компьютерам использовались их адреса. С появлением TCP/IP началась разработка DNS (Domain Name System, система доменных имен), что позволило бы обращаться к компьютерам по именам, а система сама переводила бы их в адреса компьютеров.
1983 год возвращает Кевина Митника на свободу. Но ненадолго, потому что руки хакера тянутся к взлому, и он снова попадается, из-за чего ему приходится скрываться вплоть до 1985-го года.
В 1984 году система DNS вводится в эксплуатацию. Проходит еще четыре года, и весь мир узнает, что существует угроза "червя". В 1988 году происходит одно из самых масштабных заражений "червем" компьютеров, подключенных Интернету. Молодой выпускник Корнельского университета по имени Роберт Моррис, являющийся сотрудником фирмы Digital, пишет программу-"червя", которая должна была самостоятельно перемещаться по сети и заражать файлы всех взломанных компьютеров.
Для внедрения на чужой компьютер "червь" использовал подбор пароля. В теле программы находилось несколько наиболее часто употребляемых паролей, и именно они применялись для проникновения в другой компьютер. Если напрямую пароль не удавалось подобрать, то подключался системный словарь слов. Таким простым способом было взломано более 7 % всех компьютеров в сети. Это достаточно большая цифра. "Червь" был запушен по случайной ошибке, когда его код еще не был закончен. Трудно предположить последствия, если бы Роберт Моррис смог дописать программу до конца.
Но и это еще не все. 1988 год оказался самым продуктивным с точки зрения взлома и громких судебных дел. Именно в этом году в очередной раз был пойман Кевин Митник, и на этот раз он уже надолго был отлучен от компьютеров.
Начиная с 1990 года, сеть ARPANET перестает существовать, потому что ее просто съедает Интернет. Всемирная сеть начинает поглощать все отдельные сети.
В I99I году мир первый раз увидел WEB-страницы, без которых сейчас уже никто не может себе представить всемирную сеть. Интернет-сообщество начинает смотреть на сеть по-новому. В этом же году появляется одна из самых мощных систем высоконадежного шифрования с использованием открытых ключей — PGP (Pretty Good Privacy, буквально — "очень неплохая защита конфиденциальности), которая постепенно становится стандартом в большинстве областей, в том числе и в шифровании электронных сообщений E-mail.
В 1994 году количество пользователей Интернета уже исчисляется миллионами. Чтобы народ не просиживал за монитором зря, предпринимаются первые попытки полноценной коммерческой деятельности через сеть, которая постепенно перестает быть инструментом для обмена информацией, теперь это источник рекламы и продвижения товара в массы.
В 1995 году регистрация доменных имен перестает быть бесплатной, и начинается эра войны за домены. Хакеры стремятся скупить все доменные имена, похожие на торговые марки или просто легко запоминающиеся слова. Компании, которые хотят, чтобы доменное имя совпадало с их торговой маркой, тратят большие деньги для их выкупа.
Этот же год стал знаменит и тем, что я купил себе модем и влился в Интернет. До этого я появлялся в сети очень редко и ненадолго, потому что для меня это было слишком дорогое удовольствие.
Итак, на такой деловой ноте мы закончим вводную лекцию и перейдем к практическим упражнениям по воинскому искусству, где часто главное — скрытность и победа минимальными силами.
Глава 1
Интересные настройки Windows
Когда я первый раз познакомился с Windows 95, то понял, что полюбил эту ОС. Несмотря на то, что она была нестабильная и выдавала синие экраны, да и переустанавливать приходилось раз в пару месяцев, в ней было очень много удобных для простого пользователя и заядлого хакера вещей.
С появлением следующих версий, таких как Windows 98 и 2000, моя любовь только укреплялась. С каждой новой версией система усложнялась, и появлялись новые, интересные возможности для выражения своей индивидуальности. Но нестабильность и проблемы иногда склоняли меня установить Linux и работать в нем, но с появлением Windows ХР я понял, что ни о каком дистрибутиве в "красной шапке" можно больше и не думать. Лучше заплатить подороже, но получить отличную, удобную и стабильную систему. Главное — подойти с правильной стороны и все строго настроить. А тут есть где "разгуляться", и не только для повышения надежности, но и с целью улучшения внешнего вида.
В этой главе мы будем рассматривать настройки Internet Explorer, которые спрятаны от пользователя, и к ним можно получить доступ только через реестр. Описывать все параметры я не буду, потому что их очень много, но самое интересное, что может пригодиться хакеру, разберем достаточно подробно.
В дальнейшем большое внимание будет уделено настройке внешнего вида Windows и, конечно же, Windows ХР, потому что именно эта версия позволяет сделать интерфейс максимально красивым и удобным при минимальных затратах.
Собственный Internet Explorer
Первое, с чего я начинаю тюнинг своей ОС, — изменяю Internet Explorer (IE). Некоторые программисты пишут собственный браузер на движке IE, но я не понимаю, зачем это делать, когда итак в нем можно изменить практически все. Сейчас мы рассмотрим, как трансформировать главное окно
браузера до неузнаваемости, после чего вы сможете говорить друзьям, что это ваша собственная разработка.
На данный момент уже существуют специальные программы, которые умеют делать некоторые настройки автоматически, но когда-то приходилось работать руками. Я вам продемонстрирую второй вариант, потому что ручной способ помогает понять, как все работает, не ограничивает в возможностях и не требует затрат на покупку чужих программ.
Рис. 1.1. Анимация самолетаРис. 1.1. Анимация самолетаБольшинство настроек мы будем проводить в реестре, и для их вступления в силу может понадобиться перезапуск компьютера. Я тестировал предлагаемые установки на Windows ХР с установленным Internet Explorer 6.0, и перезагрузка не понадобилась ни разу.
Рис. 1.1. Анимация самолета
Рис. 1.1. Анимация самолета
Мой логотип в IE
Анимация в Windows в большинстве случаев создается из простых растровых изображений в формате вмр. Почему-то Microsoft очень редко использует анимационные форматы типа GIF или видео-формат avi. Если первый перешел на платную основу и требует отчислений, то второй пока что еще открыт, но используется крайне редко. Как же тогда статичные картинки начинают двигаться? Это делается, как и в играх 90-х годов. На рис. LI показано несколько изображений самолета в разных фазах поворота. Каждое представление имеет размер 180x90 пикселов, и все они выстраиваются по горизонтали или вертикали (в данном случае выбран второй способ, как и в Internet Explorer). Чтобы добиться эффекта анимации, программа последовательно выводит изображения из такого массива картинок, создавая иллюзию движения.
В программе Internet Explorer также формируется в столбик массив изображений. Размер их не имеет особого значения, главное, чтобы они были квадратными. Дабы не было проблем (чуть позже я их
покажу), лучше всего подготовить картинки размером 26x26 пикселов и расположить их по вертикали. Количество изображений не имеет значения. Сохраните подготовленную ленту картинок в файле с расширением bmp. Я советую размещать такие вещи в директории Windows, чтобы они не мешались или их случайно не удалили.
Теперь нужно подключить картинку к Internet Explorer. Для этого запустите программу regedit.exe (выберите меню Start/Run или Пуск/Выполнить, в появившемся окне наберите команду regedit и нажмите кнопку ОК). Перед вами откроется окно редактора реестра (см. рис. 1.2). Перейдите в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inteniet Explorer\Toolbar.
Рис. 1.2. Программа редактирования реестра
По этому пути реестра нужно создать два новых ключа. Для этого щелкните правой кнопкой мыши в правой половине окна и выберите в появившемся меню New/String Value или Создать/Строковый параметр. Будет создан новый параметр, который надо переименовать в BrandBitmap и установить в качестве значения путь к вашему bmp-файлу. Точно также создайте параметр SmBrandBitmap с указанием того же пути.
Если все сделано правильно, то при запуске программы Internet Explorer в правом верхнем углу появится первый кадр из массива ваших картинок. При загрузке сайта начнется анимация.
Рис. 1.3. Слишком большой рисунок заставляет меню программы увеличиться по вертикали
Теперь рассмотрим возможные проблемы. Если сделать рисунки слишком большими, то панель с пунктами меню значительно вырастет по вертикали (см. рис. 1.3). Кому-то это может даже понравиться, но слишком большое меню выглядит не очень красиво,
Эти изменения достаточно простые, но очень эффектные, к тому же меня раздражает глобус или флажок от Microsoft.
Примечание
На компакт-диске, в директории \Chaptert\IELogo вы можете найти несколько картинок, подготовленных мною для использования в качестве логотипа для Internet Explorer.
Раскрасим кнопочную панель
В одной из версий Internet Explorer панель с кнопками имела приятный внешний вид. Это достигалось благодаря фоновой картинке в виде разводов. Впоследствии панель опять стала серой и немного скучной, но возможность установки фона осталась.
Подготовьте картинку любого размера в формате BMP. Запустите редактор реестра и перейдите в раздел HKEY_CURRENT_USER\Software\Microsoft\ Internet Explorer\Toolbar. Если фон уже используется, то в списке будет строковый параметр BackBitmap, иначе его надо создать. В качестве значения параметра укажите полный путь к файлу. Запустите Internet Explorer, и теперь окно будет выглядеть совершенно по-другому. На рис. 1.4 вы можете увидеть Internet Explorer с установленным фоном. С каждым нашим изменением окно становится все меньше похожим на своего родителя.
Рис. 1.4. Окно Internet Explorer с установленным фоном для панели
Примечание
На компакт-диске, в директории \Chapter1\IEBackground вы можете найти несколько картинок, подготовленных мною для использования в качестве фона панели кнопок.
Основные настройки IE
Так как мы создаем видимость собственной разработки, в заголовке окна не должно быть ссылки на Microsoft.
Давайте заменим этот текст на что-то свое. Для этого перейдите в редакторе реестра в раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Expiorer\
Main и добавьте здесь строковый параметр с именем Window Title, а в качестве значения укажите нужный текст.
В Internet Explorer (начиная с версии 5.5) при наведении мышью на картинку через определенное время появляется панелька с командами. Лично меня она раздражает, и я не понимаю смысл ее существования, ведь к тем же командам можно получить доступ из всплывающего меню при щелчке правой кнопкой мыши по нужной картинке. Чтобы убрать источник раздражения, создайте в этом же разделе реестра параметр с именем Enable_MyPics_Hoverbar, а в качестве значения укажите по.
Шалости с настройками IE
Отвлечемся от косметических изменений и немного попроказничаем. Среди настроек есть такой параметр, который запрещает пользователю закрывать окна Internet Explorer. Во время путешествия в сети на некоторых сайтах выскакивает достаточно много всплывающих окон, которые засоряют экран.
Если использовать возможность такой настройки, то окна будут только плодиться, а при попытке закрытия появится окно с предупреждением, как на рис. 1.5.
Рис. 1.5. Предупреждение о невозможности закрытия окна IEРис. 1.5. Предупреждение о невозможности закрытия окна IE
Рис. 1.5. Предупреждение о невозможности закрытия окна IE
Рис. 1.5. Предупреждение о невозможности закрытия окна IE
Чтобы сделать Internet Explorer незакрываемым, нужно перейти в реестре в раздел HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Ыхр1огег\ Restrictions. Этот путь может отсутствовать, и нужно будет добавить недостающие разделы. Для этого достаточно щелкнуть правой кнопкой на нужном разделе и в появившемся меню выбрать New/Key. Например, если у вас существует путь только HKEY_CURRENT_USER\Software\Policies\Microsoft, то щелкните правой кнопкой на строке Microsoft и создайте раздел Internet Explorer, а затем в нем — Restrictions.
Когда все разделы будут существовать, добавьте параметр NoBrowserClose типа dword и со значением 1.
Все эти действия можно проделать на компьютере своего друга и посмотреть за его реакцией, когда он попытается закрыть окно. Я однажды подшутил так над своими коллегами по работе. Реакция их была разнообразной. Большинство посчитало, что это было вмешательство вируса.
• Чтобы внести все эти изменения на компьютере пользователя, нужно достаточно много времени, а его может и не быть. Чтобы сделать все быстро и незаметно, можно поступить следующим образом:
внести изменения сначала в свой компьютер;
выполнить экспорт файла реестра с опцией Выбранная ветвь (в данном случае HKEY_CURRENT_USER\Software\Policies\Microsoft\Inteniet Ехр1огег\ Restrictions);
записать получившийся файл на дискету.
Теперь идите к компьютеру пользователя, над которым вы намереваетесь подшутить, и говорите, что хотите что-то показать. Вставляете дискету и запускаете файл с расширением reg. Вся необходимая информация будет автоматически добавлена. Не надо больше ничего делать, даже запускать Internet Explorer. Просто скажите, что это не та дискета, и уходите. Ждите, пока пользователь сам не запустит браузер и не встретится с проблемой закрытия программы.
Примечание
Готовый reg-файл вы можете найти на компакт-диске, в директории \Chapter1\NoClose.reg.
Рис. 1.6. Имена всех переменных
1.1.5. Назови меня как хочешь
Меня раздражают названия типа "Мой компьютер" или "Корзина", и я больше люблю использовать что-то более изящное и благозвучное. Именно поэтому после переустановки Windows я всегда забираюсь в реестр по адресу HKEY_CURRENT_USER\Software\Microsoft\Windows\ShelINoRoam\MUICache. Имена, которые вы здесь можете найти, относятся и к Рабочему столу, и системе вообще, и Internet Explorer, как одной из составляющих ОС. Этот раздел я редактирую с особой тщательностью.
Как стать OEM-партнером Microsoft
Где-то в 1999 году я купил себе новый компьютер, на котором уже была предустановленная OEM-версия (Original Equipment Manufacturer, Производители оригинального оборудования) ОС Windows 98. Когда я стал настраивать ОС под свои нужды и зашел в свойства системы (Start/Control Panel/System или Пуск/Паиель управления/Система), то на закладке General (Общие) увидел логотип фирмы (OEM-партнер), в которой был куплен компьютер.
Ради эксперимента эта версия ОС была поставлена на старый компьютер, который с трудом смог загрузиться, но показал то же самое. Неужели производитель компьютера перекомпилировал исходные коды Windows или переделал программу установки? Когда прочитал документацию к компьютеру, все оказалось просто: корпорация Microsoft не поддерживает ОЕМ-продукты, и этим должны заниматься производители компьютеров. А чтобы пользователь мог определить производителя, его логотип и краткая информация выносятся на окно свойств системы.
Я целый день искал лазейку, через которую логотип и описания смогли появиться в системе, и все же нашел. Посмотрите на рис. 1.7, где показано мое нынешнее окно свойств системы.
Это сделано не в графическом редакторе, просто пара правильных файлов оказалась в нужном месте. Достигается такой эффект достаточно легко. Необходимо создать файл с именем oeminfo.ini в директории Windows/System (или Windows/System32 для Windows 2000/ХР/2003). Вот его содержание: [general]
Manufacturer=Fleno Mikhail
Model=Pirated Edition
[OEMSpecific]
SerialNo=<12345>
OEM1=<01.01.00>
[Support Information]
Linel=I love Microsoft Windows XP
Line2=You must love it too
Line3=Just do it for me
Line4=My lovelly site http;//ww.cydsoft.com
Line5=Software For You
Line6=Best regards
Рис. 1.7. Измененное окно свойств системы
Первая секция general содержит информацию, которая будет отображаться в окне-свойств, здесь только два интересных параметра:
Manufacturer — название производителя;
Model — модель.
Если вы посмотрите на рис. 1.7, то увидите, что внизу окна добавилась еше одна кнопка — Support Information. Она появляется, если в файле oeniinfo.ini
2 Зек. 923
есть одноименный раздел. По нажатию этой кнопки появится окно с дополнительной информацией о производителе или оказываемой им поддержке. Пример такого окна приведен на рис. 1.8.
Рис. 1.8. Окно с дополнительной информацией о поддержке
В разделе support information можно создать несколько строк, которые будут иметь вид:
ЫпеЫ=Текст,
где N — это номер строки.
Нумеровать строки желательно подряд (без разрывов), иначе текст может быть выведен неверно. После знака равенства можно использовать любой текст на ваше усмотрение.
Установите коврик для мышки
Хакеры — достаточно веселый народ и постоянно подтрунивают над пользователями. Еще во времена Windows 95 ходила такая шутка: когда зависал компьютер или не двигалась мышь, хакеры говорили, что неверно установлен драйвер коврика, а "чайники" верили этому и искали соответствующие программы. И специально для таких людей я написал драйвер для коврика.
Создайте с помощью программы Блокнот новый текстовый файл с любым именем и расширением inf. В этот файл нужно поместить содержимое листинга 1.1.
Листинг 1.1. Текст драйвера для коврика
[VERSION]
SIGNATURE^*SCHICAGO5"
CLASS=SYSTEM
PROVIDER=%HORR%
SETUPCLASS=BASE
[CLASSINSTALLI
ADDREG^HORR
CLASSNAME="MOUSE PAD"
[MANUFACTURER]
%HORR%=HORR
[HORR]
Standart _Mouse_Pad,,,,%CLASSNAME%
[STRINGS].
HORR="Horrific Corporation"
Теперь перейдите в директорию, где вы только что сохранили inf-файл, и щелкните по нему правой кнопкой мыши. В появившемся меню нужно выбрать пункт Установить. Теперь, если в панели управления запустить ярлык Система, то среди системных драйверов можно будет увидеть драйвер MOUSE PAD.
Этот драйвер можно поставить и через программу Установки оборудования в панели управления. В этом случае нужно отказаться от поиска драйвера вручную, а выбрать установку с диска и напрямую указать подготовленный inf-файл.
Такой трюк хорошо работает в Windows 9.x, а вот в Windows 2000/ХР в системе ничего не появится. Видимо, корпорация Microsoft запретила драйверы на коврики из-за несовместимости с мышками или ОС Windows :).
Примечание j
На компакт-диске, в директории \Chapter1 аы можете найти файл описанного здесь драйвера mouse_pad .inf.
Элементы управления Windows
Лично мне уже надоели встроенные в Windows стили, а больше всего меня раздражает внешний вид кнопки Пуск, отвращение к которой появилось еще с самого первого взгляда на внешний вид ОС, и именно из-за нее я начал бороться со стилями.
В то время в Интернете было очень мало хороших стилей. Единственный способ расширить возможности — установить пакет Microsoft Plus!, который стоит денег, но при этом содержит кучу ненужных мне вещей. А я только хотел изменить Рабочий стол, сделать его более красивым и удобным.
В этой главе мы рассмотрим, как расширить возможности оформления оболочки ХР, и разберем по косточкам, как работают стили.
Сейчас я остановлюсь только на возможности редактирования с помощью специальных программ, а в дальнейшем вам предстоит детально познакомиться с темами ХР и принципами их работы.
Немного истории
Прежде чем приступать к корректировке Рабочего стола, нам необходимо совершить исторический экскурс и вспомнить, как развивались ОС и ее оформление.
Изначально ОС Windows создавалась как графическая. Сначала это была всего лишь графическая оболочка для MS-DOS, но потом эта обертка превратилась в полноценную операционную систему. Для облегчения работы и стандартизации внешнего вида программ Microsoft заложила в окна несколько элементов управления, с помощью которых упростилось создание примитивного интерфейса пользователя. Этот интерфейс преследовал нас с 90-х годов и практически не изменялся.
Элементы управления оказались удобной вещью для всех, в том числе и программистов. Достаточно было только написать в своей программе, что в определенном месте нужна кнопка, и она появлялась именно там, имела нужный вид и работала согласно заданным параметрам. Функционирование самой кнопки описывать не нужно, все это берет на себя ОС Windows.
Но это не основная причина, по которой большинство программ имеют схожий интерфейс и однотипные элементы управления. Чтобы какая-то программа получила логотип "Designed For Windows", она должна соответствовать определенным правилам, использовать встроенные в ОС элементы управления и не сильно выделяться. Да и Visual C++, который является одним из самых распространенных средств разработки, поддерживает в визуальном дизайнере только стандартные элементы. Остальное можно добавлять только как ActiveX или с помощью кода, а тогда про визуальность можно забыть.
Вот две причины, по которым мы уже на протяжении почти десятка лет пользовались 16 цветными зле ментами управления и прямоугольными кнопками и мирились с остальными неудобствами пользовательского интерфейса.
Стандартные элементы управления
Все стандартные элементы управления находятся в библиотеке ComCtl32.dll, и именно ей мы благодарны за такое однообразие. До появления Windows ХР мы даже не заметили, как мимо проскочили пять версий, потому что изменения в них были минимальны и, на первый взгляд, незаметны. Только в шестой версии Microsoft значительно модифицировала библиотеку, и кнопки уже перестали иметь привычный квадратный вид.
Все бы хорошо, но старые программы, которые не содержат специального манифеста, не будут полноценно отображаться в Windows ХР с использованием современного пользовательского интерфейса. Это связано с тем, что библиотека может работать в двух режимах: старой версии и новой. По умолчанию используются элементы управления из User32.dll и ComCii32.dll пятой версии (старый вид). Только если в программе содержится специальный манифест, позволяющий использовать стиль ХР, окна смогут иметь новый интерфейс.
В отличие от всех предыдущих версий библиотеки ComCtl32.dll, шестая версия привязана к ОС. Раньше мы могли спокойно скопировать эту библиотеку из Windows 98 в Windows 95 и использовать те незначительные изменения, которые внесла в библиотеку Microsoft. Теперь такой трюк не пройдет, и если ОС не содержит библиотеки нужной версии, то можете даже не мучаться с переносом, этот способ не сработает.
Я неоднократно пытался перенести стиль ХР на Windows 98, но только с появлением Windows 2003 Server понял свою ошибку. Когда я первый раз установил этот сервер, то удивился тому, что он выглядит как Windows 2000, а не ХР, хотя стили в системе были. Я попытался переключить стиль, но ничего не вышло. Загвоздка была в оснастке Services (Сервисы), которую вы можете найти в Control Panel/Administrative Tools (Панель управле- ния/Администрирование). Здесь есть сервис Themes, который был отключен. Я установил в его свойствах автоматическую загрузку при старте ОС Windows, и все сразу заработало (см. рис. I.9).
После этого стало понятно, что помимо простой библиотеки для использования тем нужен сервис Themes, который просто не будет работать в Windows 9х/МЕ. и все попытки прямого переноса будут заканчиваться в лучшем случае неудачей, а в худшем — крахом системы. Легче применять специализированную программу (например, Win Binds).
Если вы встретитесь с такой же проблемой, касающейся тем, то запустите оснастку сервисов и дважды щелкните по пункту Themes. В появившемся окне (рис. I.10) в поле Startup type (Тип загрузки) установите Automatic (Авто).
После этого сервис тем будет запускаться автоматически при загрузке ОС.
Рис. 1.9. Сервис Themes, который отвечает за стили ХР
Рис. 1.10. Установка автоматического старта сервиса Themes
Как работают элементы шестой версии
Выбранный в системе стиль используется по умолчанию только для элементов, не входящих в клиентскую область окна: граница окна, строка заголовка и системные полосы прокрутки. Остальные элементы (кнопки, списки и др.) приобретут необходимый вид, только если в программе присутствует манифест, пример которого вы можете увидеть в листинге 1.2.
Листинг 1.2. Файл манифеста, сгенерированный в Visual Studio для программы на языке С**
<?xml version»"1.0" encoding»"UTF-8" standalone»"yes"?>
«assembly xmlns»"urn:schemas-microsoft-com:asm.vl" manifestVersion="1.0"> «assemblyldentity
version»"!.0.0.0"
processorArchitecture»"X86"
name="Microsoft.Windows.ProgramName" type»"Win32"
«description»Your app description here*/description» «dependency»
«dependentAssembly»
«assemblyldentity
type»"Win32"
name»"Microsoft.Windows.Cannon-Controls”
version»"6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccfldf" language»" * " />
</dependentAssembly»
«/dependency»Г ._ BE. ..■
«/assembly»
Манифест создается в XML-формате и должен иметь расширение manifest, например, МуАрр.manifest.
Первая секция XML-файла assemblyldentity должна содержать следующие атрибуты:
version — версия манифеста;
processorArchitecture — процессор, для которого разрабатывалась программа, например, х86. Если ваша программа написана под 64-разрядную архитектуру, то необходимо указать 1А64;
name — включает имена компании, продукта и приложения;
type — тип приложения, например, Win32.
Помимо этого, в манифесте может быть комментарий к программе (секция description) и описание зависимости (dependency) со следующими полями;
type — тип зависимых компонентов, например, Win32;
name — имя набора компонентов;
version — версия компонентов;
process or Architecture — архитектура процессора, для которого создавались компоненты;
pubiicKeyToken — ключевой символ, используемый для компонентов;
language — ЯЗЫК.
Такой файл может быть самостоятельным (хранится отдельно) или встроен в ресурсы запускаемого файла. Главное, чтобы программа его видела и использовала по назначению. Некоторые умельцы помещают манифест в DLL- файл, который используют при необходимости в своих утилитах.
В самой программе требуется сделать еще несколько незначительных изменений по подключению файла манифеста, но это уже другая история, которая касается программистов, отдельных языков профаммирования и способа подсоединения XML-файлов в каждом из них, поэтому не будем затрагивать эту тему.
Но даже без какого-либо профаммирования вы можете любой старой про- фамме придать вид ХР. Для этого необходимо только выяснить ее запускаемый файл. Допустим, что надо придать профамме Program.exe, расположенной в папке c:\Program Files\CyD\, современный стиль. Перейдите в эту папку и создайте здесь файл с именем Program.exe.manifest. В него достаточно поместить содержимое листинга 1.2 и сохранить изменения. Теперь можно запускать профамму, и все элементы управления примут стиль ХР.
Примечание
На компакт-диске, в директории \Chaptert вы можете найти файл universal.manifest, которому достаточно присвоить имя изменяемой программы и поместить в нужную папку.
Темы оформления Windows ХР/2003
Используя библиотеку ComCtl32.dll, вы всего лишь получаете доступ к новым возможностям и делаете кнопки овальными, но эта библиотека никаким образом не отвечает за внешний вид приложения. Чуть позже мы узнаем, как устроены темы и как они работают на уровне ОС, а пока научимся изменять и редактировать их с помощью специализированных профамм.
Сначала покажу, где можно взять уже готовый набор тем. Для этого я советую обратиться по адресу в Интернете http://www.themexp.org/. Здесь расположены не только темы, но и обои, и оболочки для входа в систему, и много всего интересного и полезного для повседневной жизни (см. рис. 1.11).
Рис. 1.11. Сайт www/themexp.org для тех, кто любит красивое оформление Рабочего стола
Для большинства скачанных из Интернета надстроек нужна программа SiyleXP от фирмы TGTsoft, которую вы можете взять на сайте http://www.tgtsoft.com/ (см. рис. 1.12, здесь окно IE уже измененное). Эта программа позволяет работать с различными темами, правда, за это придется отдать 19,95 американских долларов.
Сразу хочу посоветовать скачать с этого же сайта программу style Builder, которая пригодится нам чуть позже для редактирования тем. А пока ограни-
чимся только использованием готовых оформлений ХР и различными настройками.
Рис. 1.12. Сайт фирмы TGTsoft, где вы можете скачать программу styleXP
После установки программы и перезагрузки компьютера в системный Tray попадает новая иконка с изображением каких-то пузырьков. Дважды щелкните по этой иконке, и перед вами откроется центр управления стилями программы StyleXP (рис. 1.13).
На момент написания этих строк на сайте была доступна версия 2.0 Release 3 этой программы. По сравнению с первой версией сразу же бросается в глаза поддержка множества национальных языков (в том числе и русский), а также несколько новых интересных настроек. С локализацией на некоторые языки есть проблемы. Сообщения и текст элементов управления переведен не полностью. В окончательной версии этот недостаток должен быть исправлен, поэтому будем ждать.
В главном окне программы слева расположены кнопки, с помощью которых можно переключать разделы. Посмотрим, какие возможности предлагает нам программа.
Рис. 1.13. Центр управления стилями в styleXP
Опции
В разделе Options находятся настройки самой программы. Здесь вы можете в любой момент включить (Enable Style ХР) или выключить стиль (Disable Style ХР).
В настройках можно выбрать опцию Run at Startup, чтобы программа отображалась в системной области. Это позволит получать быстрый доступ к настройкам стилей, но отнимет немного системных ресурсов (память, время при загрузке ОС). Данная опция эффективна на ранней стадии, когда вы экспериментируете со стилем и не определились со своими предпочтениями. Когда тема уже устоялась, можно выбрать опцию Use no resources, чтобы сэкономить используемые ресурсы.
Если у вас есть проблемы с установкой темы, то в этом разделе можно попытаться включить опции Reapply Theme at Startup (Переустановить тему во время загрузки) или Do not change resource bitmaps (He изменять картинки ресурсов). Первая опция понятна, а в ал. 2 вы сможете увидеть, что подразумевается под картинками ресурсов.
Style XP [Current Theme In IHer’Watercnlor Olive rireM»"]Style XP [Current Theme In IHer’Watercnlor Olive rireM»"]Visual StyleVisual StyleTheme Tools:Theme Tools:Register.Register.HideHideExitExit| Style XP ■ jCurrent Theme in UserWatercoior OHve Greenf| Style XP ■ jCurrent Theme in UserWatercoior OHve GreenfPreview: .CiXWINDOWSVesou . ^2badvance4-2.themePreview: .CiXWINDOWSVesou . ^2badvance4-2.themeStyle XPSelect a choice fam below...Style XPSelect a choice fam below...ThemesThemes include vtsyal.styles. :®fa;«aHfaper, sounds, cursors, and screensevere.' {521 -advanced 2~"| Theme Parts:ThemesThemes include vtsyal.styles. :®fa;«aHfaper, sounds, cursors, and screensevere.' {521 -advanced 2~"| Theme Parts:Display Properties..Create RewTIteme.Display Properties..Create RewTIteme.tiaokgroimrlSoundstiaokgroimrlSoundsApply Theme Adri a New Theme... Download a New Thome. Delete Selected ThomeApply Theme Adri a New Theme... Download a New Thome. Delete Selected ThomeRename...Reset to XP DefaultRename...Reset to XP DefaultClick to sendtoedb-i^Click to sendtoedb-i^£йе Language help£йе Language helpCencelCencelStatus B^rStatus B^rРис. 1.14. Настройки темРис. 1.14. Настройки темВ разделе Themes вы можете быстро переключать любые темы, добавлять новые или удалять существующие. Тема включает в себя визуальный стиль, иконки, обои, звуки, курсоры и заставки.В разделе Themes вы можете быстро переключать любые темы, добавлять новые или удалять существующие. Тема включает в себя визуальный стиль, иконки, обои, звуки, курсоры и заставки.Options521-advanced 7 j .f 521-rnlnuMi^^[ Themesнм deVlsn.rl StylesEclipse;. BackgroundsGoni■ logonsPantherIconsPahthorgI Boot Screens |Watercolor Blue| TransparencyWatercolor 1 rgojiomicRouteWatercolor Olivo Gro...Options521-advanced 7 j .f 521-rnlnuMi^^[ Themesнм deVlsn.rl StylesEclipse;. BackgroundsGoni■ logonsPantherIconsPahthorgI Boot Screens |Watercolor Blue| TransparencyWatercolor 1 rgojiomicRouteWatercolor Olivo Gro...Watercolor Silver Windows Classic Windows XI1 WispWatercolor Silver Windows Classic Windows XI1 Wisp
Style XP [Current Theme In IHer’Watercnlor Olive rireM»"]
Style XP [Current Theme In IHer’Watercnlor Olive rireM»"]
Visual Style
Visual Style
Theme Tools:
Theme Tools:
Register.
Register.
Hide
Hide
Exit
Exit
| Style XP ■ jCurrent Theme in UserWatercoior OHve Greenf
| Style XP ■ jCurrent Theme in UserWatercoior OHve Greenf
Preview: .CiXWINDOWSVesou . ^2badvance4-2.theme
Preview: .CiXWINDOWSVesou . ^2badvance4-2.theme
Style XP
Select a choice fam below...
Style XP
Select a choice fam below...
Themes
Themes include vtsyal.styles. :®fa;«aHfaper, sounds, cursors, and screensevere.' {521 -advanced 2~"| Theme Parts:
Themes
Themes include vtsyal.styles. :®fa;«aHfaper, sounds, cursors, and screensevere.' {521 -advanced 2~"| Theme Parts:
Display Properties..
Create RewTIteme.
Display Properties..
Create RewTIteme.
tiaokgroimrl
Sounds
tiaokgroimrl
Sounds
Apply Theme Adri a New Theme... Download a New Thome. Delete Selected Thome
Apply Theme Adri a New Theme... Download a New Thome. Delete Selected Thome
Rename...
Reset to XP Default
Rename...
Reset to XP Default
Click to sendtoedb-i^
Click to sendtoedb-i^
£йе Language help
£йе Language help
Cencel
Cencel
Status B^r
Status B^r
Рис. 1.14. Настройки тем
Рис. 1.14. Настройки тем
В разделе Themes вы можете быстро переключать любые темы, добавлять новые или удалять существующие. Тема включает в себя визуальный стиль, иконки, обои, звуки, курсоры и заставки.
В разделе Themes вы можете быстро переключать любые темы, добавлять новые или удалять существующие. Тема включает в себя визуальный стиль, иконки, обои, звуки, курсоры и заставки.
Options
521-advanced 7 j .
f 521-rnlnuMi^^
[ Themes
нм de
Vlsn.rl Styles
Eclipse;
. Backgrounds
Goni
■ logons
Panther
Icons
Pahthorg
I Boot Screens |
Watercolor Blue
| Transparency
Watercolor 1 rgojiomic
Route
Watercolor Olivo Gro...
Options
521-advanced 7 j .
f 521-rnlnuMi^^
[ Themes
нм de
Vlsn.rl Styles
Eclipse;
. Backgrounds
Goni
■ logons
Panther
Icons
Pahthorg
I Boot Screens |
Watercolor Blue
| Transparency
Watercolor 1 rgojiomic
Route
Watercolor Olivo Gro...
Watercolor Silver Windows Classic Windows XI1 Wisp
Watercolor Silver Windows Classic Windows XI1 Wisp
На рис. 1.И показано окно настроек тем. Слева расположены кнопки с названиями тем, установленными в системе. Выбранная схема отображается для предварительного просмотра в окне Preview. Если нажать кнопку Background, то в окне Preview можно увидеть обои, которые будут установлены вместе с темой, а по нажатию кнопки Sound раздадутся системные звуки.
Дабы назначить выбранную тему, нужно нажать кнопку Apply Theme. Чтобы добавить в набор уже скачанную из Интернета тему, нажмите кнопку Add a New Theme, а для удаления — кнопку Delete Selected Theme.
Визуальные стили и обои
В разделе Visual Styles можно установить только стиль, без изменения иконок, обоев и других ресурсов системы. Визуальный стиль отвечает за оформление окна, вид кнопок и стандартных элементов управления Windows. Здесь же можно выбрать цветовую схему (в одном стиле их может быть несколько).
В разделе Backgrounds подбираются обои Рабочего стола. Здесь ничего особо нового StyleXP не привносит, но разработчики встроили эту возможность, чтобы из программы управлять всеми настройками по оформлению Windows.
Схемы загрузчика
В разделе Logons можно настроить внешний вид окна, в котором вы выбираете пользователя и вводите пароль при входе в систему. На рис. 1.15 представлено окно для настройки схемы загрузчика. В стандартной поставке программы нет дополнительных экранов входа в систему, поэтому можно только скачать нужные файлы из Интернета и установить их с помощью StyleXP.
OptionsOptionsLogonUILogonUILogonsLogonsIconsIconsBoot Set eonsBoot Set eonsToots;Toots;Reset to XP DefaultReset to XP DefaultI | Style XP - (Current Theme In UsetWeleicolor Olive Green]I | Style XP - (Current Theme In UsetWeleicolor Olive Green]Preview:CAW)NDOWSteystem32\LogonUr exePreview:CAW)NDOWSteystem32\LogonUr exeStyle XPSelect a choice from belowStyle XPSelect a choice from belowLogon Schemes:Select a new welcome eoeen belpvo . Poly for non-domain users ' $Logon Schemes:Select a new welcome eoeen belpvo . Poly for non-domain users ' $Virus Free:У Always Rebuild Exe П Original StringsVirus Free:У Always Rebuild Exe П Original StringsMylr XP - (Currnif Thame liillwrWntrzriHOr Othrr GreenTMylr XP - (Currnif Thame liillwrWntrzriHOr Othrr GreenT) Logon ,Settlngs: , ; . Welcome Screen r ' Fast User Switching) Logon ,Settlngs: , ; . Welcome Screen r ' Fast User SwitchingRegister, Help... Hide ExitRegister, Help... Hide ExitTrenspeioncy RotateTrenspeioncy Rotate. Thomesi Visual Styles I Background#. Thomesi Visual Styles I Background#Рис. 1.15. Настройка схемы загрузчикаРис. 1.15. Настройка схемы загрузчикаUser Manager...Search Paths,,.Apply LogonAdd a New Logon,,,Rename...Download a New Logon...^User Manager...Search Paths,,.Apply LogonAdd a New Logon,,,Rename...Download a New Logon...^Delete Selected LogonDelete Selected Logon
Options
Options
LogonUI
LogonUI
Logons
Logons
Icons
Icons
Boot Set eons
Boot Set eons
Toots;
Toots;
Reset to XP Default
Reset to XP Default
I | Style XP - (Current Theme In UsetWeleicolor Olive Green]
I | Style XP - (Current Theme In UsetWeleicolor Olive Green]
Preview:
CAW)NDOWSteystem32\LogonUr exe
Preview:
CAW)NDOWSteystem32\LogonUr exe
Style XP
Select a choice from below
Style XP
Select a choice from below
Logon Schemes:
Select a new welcome eoeen belpvo . Poly for non-domain users ' $
Logon Schemes:
Select a new welcome eoeen belpvo . Poly for non-domain users ' $
Virus Free:
У Always Rebuild Exe П Original Strings
Virus Free:
У Always Rebuild Exe П Original Strings
Mylr XP - (Currnif Thame liillwrWntrzriHOr Othrr GreenT
Mylr XP - (Currnif Thame liillwrWntrzriHOr Othrr GreenT
) Logon ,Settlngs: , ; . Welcome Screen r ' Fast User Switching
) Logon ,Settlngs: , ; . Welcome Screen r ' Fast User Switching
Register, Help... Hide Exit
Register, Help... Hide Exit
Trenspeioncy Rotate
Trenspeioncy Rotate
. Thomes
i Visual Styles I Background#
. Thomes
i Visual Styles I Background#
Рис. 1.15. Настройка схемы загрузчика
Рис. 1.15. Настройка схемы загрузчика
User Manager...
Search Paths,,.
Apply Logon
Add a New Logon,,,
Rename...
Download a New Logon...^
User Manager...
Search Paths,,.
Apply Logon
Add a New Logon,,,
Rename...
Download a New Logon...^
Delete Selected Logon
Delete Selected Logon
В разделе Boot Screens определяется информация, которая будет отображаться во время загрузки Windows. Когда вы первый раз входите в этот раздел, программа предупреждает вас, что работа с экранами загрузки (Boot Screen) может быть опасной, и просит сделать резервную копию файла boot.ini. Соглашайтесь, и на диске С: будет создан файл booi.bkk. Если во время загрузки Windows возникнут проблемы, то вы всегда сможете вернуться к первоначальному состоянию простой заменой файла.
После этого появится еще один запрос на изменение строки загрузки. Подтвердите свое согласие. Программа добавит в файл boot.ini новую строку примерно следующего содержания:
multi(0)disk(0)rdisk(0 Jpartition(1)\WINDOWS=
"Windows XP (bootscreen)• /fastdetect /KERNEL=kerne11.exe
Теперь при запуске компьютера у вас будет дополнительный пункт меню для выбора загрузки с использованием установленного экрана загрузки или без него. Это необходимо, потому что Windows ХР, включающие SP1 (Service Pack, пакет исправлений), и без него используют разные форматы файла для описания экрана загрузки. Если поставить неправильный файл, то загрузка может не произойти.
Style XP - [Current I heme Xi) UtefWaterrirfor Olive ЬгеепдStyle XP - [Current I heme Xi) UtefWaterrirfor Olive Ьгеепд£ile Lavage {Help£ile Lavage {HelpBoot Screens:Select a boot screen below Only for admin users.Boot Screens:Select a boot screen below Only for admin users.LkLtiLkLtiBoot Screen Preview:C:\WlNDOWSVe sources . tPiratolll boot sc remBoot Screen Preview:C:\WlNDOWSVe sources . tPiratolll boot sc remBoot Actions:Boot Actions:Boot Tools:Boot Tools:Help..HideHelp..HideStyle XPSelect a choice from belowStyle XPSelect a choice from below.Bootscreen File: И Ulditk Palette M Goar Overlays.Bootscreen File: И Ulditk Palette M Goar OverlaysEdit Doot llmooiit...Convori .rip to .boots,., I lloolscteun Info...Edit Doot llmooiit...Convori .rip to .boots,., I lloolscteun Info...Windows v plwkd Cdiik'nWindows v plwkd Cdiik'nExitExit**Anllurr swissboyAnllurr swissboyHesel Kamui filo.Search Paths,..Hesel Kamui filo.Search Paths,..Roiidmo...Roiidmo...Hesol lloot.inl tiloHesol lloot.inl tiloApply Ooul ScreenAdd a New Bool Screen...Download a New Bout Screen,»»Delete Selected Bool ScreenApply Ooul ScreenAdd a New Bool Screen...Download a New Bout Screen,»»Delete Selected Bool Screen
Style XP - [Current I heme Xi) UtefWaterrirfor Olive Ьгеепд
Style XP - [Current I heme Xi) UtefWaterrirfor Olive Ьгеепд
£ile Lavage {Help
£ile Lavage {Help
Boot Screens:
Select a boot screen below Only for admin users.
Boot Screens:
Select a boot screen below Only for admin users.
LkLti
LkLti
Boot Screen Preview:
C:\WlNDOWSVe sources . tPiratolll boot sc rem
Boot Screen Preview:
C:\WlNDOWSVe sources . tPiratolll boot sc rem
Boot Actions:
Boot Actions:
Boot Tools:
Boot Tools:
Help..
Hide
Help..
Hide
Style XP
Select a choice from below
Style XP
Select a choice from below
.Bootscreen File: И Ulditk Palette M Goar Overlays
.Bootscreen File: И Ulditk Palette M Goar Overlays
Edit Doot llmooiit...
Convori .rip to .boots,., I lloolscteun Info...
Edit Doot llmooiit...
Convori .rip to .boots,., I lloolscteun Info...
Windows v plwkd Cdiik'n
Windows v plwkd Cdiik'n
Exit
Exit
*
*
Anllurr swissboy
Anllurr swissboy
Hesel Kamui filo.
Search Paths,..
Hesel Kamui filo.
Search Paths,..
Roiidmo...
Roiidmo...
Hesol lloot.inl tilo
Hesol lloot.inl tilo
Apply Ooul ScreenAdd a New Bool Screen...Download a New Bout Screen,»»Delete Selected Bool Screen
Apply Ooul ScreenAdd a New Bool Screen...Download a New Bout Screen,»»Delete Selected Bool Screen
| Style XP (Current Пиши, In UseiWotercului Olivn Greunf
Рис. 1.16. Настройка экрана загрузки
Если во время старта ОС возникли какие-либо проблемы, вы можете запустить компьютер без использования экрана загрузки и удалить изменения. Для этого надо нажать кнопку Reset Boot.ini file.
Вы можете позаимствовать экраны, более подходящие вашему стилю, в Интернете (например, на сайте http://www.themexp.org) и установить их в систему. Для этого сначала нажмите кнопку Add a New Boot Screen и выберите файл темы. Как только он установится в программе StyleXP, выделите его и нажмите кнопку Apply Boot Screen.
Я постарался подготовить скрины с использованием различных тематик, чтобы продемонстрировать, что можно сделать со своими окнами. Но знайте, что это не предел. В Интернете еще полно неизведанных уголков, где можно достать что-то интересное, красивое, хотя на первый взгляд абсолютно бесполезное.
Мне тяжело вспоминать те времена, когда окна на всех компьютерах выглядели одинаково, а отличались только обои. Если еще несколько лет назад свою систему украшали только избранные, то теперь это может сделать любой, и постарайтесь не ударить лицом в грязь и превратить свой компьютер в шедевр.
Я думаю, что пора уже организовывать на Demo Party отдельный конкурс на лучший Рабочий стол (включая обои и внешний вид окон), потому что его оформление становится искусством. И если такое случится, то вы должны быть во всеоружии.
Зачем нужна программа StyleXP
Для чего необходима программа StyleXP, если можно скачать готовые темы из Интернета, а их поддержка заложена в ХР? В принципе, ставить всю программу нет необходимости. Она состоит из удобной оболочки, с помощью которой вы можете изменять темы из файла uxtheme.dll. Если вы не хотите засорять системный Tray еще одной иконкой, то можете только обновить этот файл для своей версии ХР, помня, что uxtheme.dll отличается для разных версий ХР (зависит от наличия SP1), и вы должны быть внимательны, иначе можно нарушить работоспособность системы.
На том же сайте фирмы TGTsoft скачайте в разделе Download утилиту UxTheme Util. Она соответствующим образом изменит (пропатчит) файл uxtheme.dll, и вы сможете работать с любыми темами из Интернета без программы StyleXP.
Если возникнут проблемы с перезаписью системного файла (например, не будет к нему доступа), то поможет один из четырех вариантов:
Перегрузиться и войти в систему в безопасном режиме — при старте компьютера нажимать клавишу <F8> и в появившемся меню выбрать Безопасный режим загрузки.
Если на компьютере установлены разные версии Windows, то запустить другую и попробовать восстановить оттуда. Если вторая версия из серии 9х, а том для Windows ХР отформатирован под NTFS (New Technology File System, файловая система новой технологии), то понадобится специальная утилита для Windows 9х, чтобы можно было увидеть продвинутую файловую систему NTFS.
Если Windows ХР стоит на FAT (File Allocation Table, таблица размещения файлов), то можно загрузиться с дискеты и в DOS-режиме заменить файл.
Запустить инсталляцию Windows ХР, но при перезагрузке не выбирать установку, а перейти в консоль, где работают основные команды DOS, в том числе и копирования.
После патча файла uxtheme.dll ОС может запросить восстановление и инсталляционный диск. Ни в коем случае не давайте ей возможность воскресить библиотеку. На все запросы твердо отвечайте "Cancel", "Отмена". Именно поэтому при патче в устройстве не должно быть диска с установочным CD, иначе не успеете оглянуться, как все вернется на свое место.
Зачем нужно заменять этот файл? Я могу сказать, что темы, разбросанные по Интернету, не сильно отличаются от оригинальных, а новых возможностей в пропатченной библиотеке я не нашел. Единственное, что я отыскал — в стандартном файле uxtheme.dll стоит нечто похожее на защиту, которая не позволяет использовать не Microsoft-темы. Может, я и ошибаюсь, но все мои раскопки указывают только на это. Модифицированная библиотека убирает эту защиту. Возможно, что есть что-то еще, но мои поиски и всемирная сеть ничего конкретного по этому поводу добавить не могут.
Корпорация Microsoft разработала пакет MS Plus, который расширяет возможности оконных ресурсов и, похоже, решила заработать деньги на разработке тем, только добрые дядьки сломали их планы и библиотеку uxtheme.dll.
Если у вас Windows ХР с установленным SPI, то указанная библиотека может не подойти (редко, но были случаи). Тогда советую скачать специальное обновление с http://downloadJightstarl.com/install/PatchXP-SPl.zip.
Создание собственной темы
Для создания темы вы можете воспользоваться уже упоминавшейся в разд. 1.5 утилитой styleBuilder от фирмы TGTsofl. Ее можно скачать вместе с StylcXP с сайта http://www.tgtsoft.com/. Если вы этого еще не делали, то пора бы выполнить сейчас. Свежую версию я добывал неделю и постоянно нарывался на ошибки: то качалось не полностью, то архив не открывался. Но, в конце концов, получил!!! И особых отличий от первой не заметил. Нет ничего такого, что бы стоило так мучиться. Так что если вы встретитесь с подобными ошибками, то воспользуйтесь более старой версией, много не потеряете.
В Windows ХР программа устанавливается без проблем. Если у вас Windows 2003 Server, то инсталлятор даже не запустится, а вы увидите сообщение о том, что styleBuilder работает только в ХР-версии. Не верьте глазам своим, потому что разработчики просто еще не учли или не знают о том, что Windows 2003 поддерживает темы. Зайдите в свойства файла styleBuilder.exe и на закладке Compatibility (Совместимость) выберите режим совместимости с Windows ХР (см. рис. 1.17). Инсталлятор запустится, и программа больше не вспомнит о том, что у вас не ХР-система, а что-то более мощное.
Рис. 1.17. Настройка совместимости программы с Windows ХР
Запустите программу. Для начала вы получите предупреждение, что нужно чаше нажимать кнопку Apply, потому что автоматическое обновление работает не всегда. После принятия изменений можно протестировать созданную тему, нажав кнопку Test
Теперь создайте новый проект. В главном окне слева находится панель с базовыми цветовыми схемами, каждая из которых содержит рисунки различных наборов элементов управления (рис. LI8). При выборе этих наборов, в основном окне будет появляться дерево со списком элементов и их графическое представление. Элементы можно выбирать и там, и там, хотя визуальный способ, наверное, намного проще и удобнее.
Справа внизу вы можете увидеть окно с тремя вкладками: Properties, Zoom и Colorize Выделив какой-то компонент (в данном случае это элемент заголовка окна Blue\Values\General\Window\Caption), корректируйте на свой вкус его параметры. На вкладке Colorize изменяются цвет и яркость. Для этого нужно просто двигать бегунки и тут же следить за результатом. Сове-
тую снять флажки Lock Brightness, Source Brightness и Gamma Brightness, тогда каждым бегунком можно будет управлять по отдельности. Чтобы сохранить внесенные цветовые изменения, нажмите кнопку Apply Colorization.
Рис. 1.18. Главное окно программы StyleBuilder
Для редактирования графического элемента щелкните по нему правой кнопкой мыши и в появившемся меню выберите пункт Edit или Edit With для указания программы, с помощью которой вы хотите (любите) работать с растровой графикой. Таким образом можно не только изменить цвет, но и нарисовать какие-то дополнительные эффекты.
Если у вас уже есть готовая тема, но необходимо внести изменения, воспользуйтесь строкой меню File/Import .msstyles file (Файл/Импорт .msstyles файл).
Чтобы проверить свою работу, найдите в меню Tools (Инструменты) пункт Test System Style (Тестирование системного стиля). Когда ваша тема готова, нужно выбрать меню Actions/Compile (Действия/Скомпилировать). Если нужно сразу »же установить новую тему, то нажмите Action/Compile and Apply (Действия/Скомпилировать и установить).
В программу встроен архиватор Zip, с помощью которого можно упаковать файл и отправить друзьям. Это избавляет от необходимости выбирать тре-
буемые файлы в проводнике, достаточно произвести архивирование прямо из Style Builder, Для этого выберите из меню File пункт Zip и в появившемся окне введите имя темы.
Если у вас есть опыт работы с графическими редакторами и вы обладаете художественными способностями, то для вас не составит труда создать красивую и незабываемую тему, которой не стыдно будет похвастаться перед друзьями.
Загрузчик в стиле ХР
Меня часто спрашивают, а чем отличается моя версия Pirated Edition от Home или Professional? Я просто говорю, что это моя собственная операционная система, которую я собрал из исходных кодов, украденных из Microsoft. Достаточно часто верят, потому что экран загрузки выглядит довольно изящно (рис. 1.19). Но специалисты понимают, что тех кодов, которые могли быть позаимствованы, явно недостаточно даже для компиляции ядра, не говоря уже обо всей ОС.
MtcfOMjCi*MtcfOMjCi*Windows1’Windows1’Pirated EditionPirated Edition
MtcfOMjCi*
MtcfOMjCi*
Windows1’
Windows1’
Pirated Edition
Pirated Edition
MtewctT
Рис. 1.19. Windows XP Pirated Edition
Конечно же, можно было бы продолжить рассказ о том, что я сам что-то взломал и украл, но те, кто знают меня, никогда не поверят, потому что я никогда не занимался взломом в Интернете. Да и подключен я простым модемом, а для того, чтобы похитить все исходные коды, мой модем должен работать около двух недель на полной скорости без сна и перекуров.
Но как же приятно, когда некоторые верят в мои сказки. Самое сложное в этот момент — сдержать свой смех.
Если вам надоел не только интерфейс Windows, но и вид загрузки компьютера, а точнее, логотип Windows ХР, то вы легко можете это изменить. Попробуйте установить программу Boot Editor. Ее можно найти в Интернете по адресу http://members.rogers.com/userxp.
Программа не гребует инсталляции, но скачанный архив желательно распаковать в отдельную директорию, потому что после первого старта в этой папке будет создан целый вагон вспомогательных файлов. Если запустить программу с Рабочего стола или из папки Мои документы, то бардак будет обеспечен.
После копирования содержимого архивного файла выполните в той же директории следующую команду:
regsvr32.exe Axlmage.ocx
Это необходимо, чтобы зарегистрировать для программы компонент ActiveX. Без этого при запуске программы вы увидите только ошибки или несколько звуковых сигналов, и больше ничего,
На всякий случай советую еще перезапустить компьютер, иначе вероятность удачного старта будет невысокой. Видимо, это связано с проблемой регистрации компонента. Вот теперь можете запустить файл BootEditor.exe и идти пить чай, потому что процесс идет минуты две. У меня на ноутбуке он вообще не загрузился, а на стационарном компьютере стартовал долго, но без проблем, хотя версии ОС одинаковые и настройки ничем не отличаются.
Рис. 1.20. Программа редактирования окна загрузки
Как работает программа? В системной папке Windows\system32\ есть файл ntoskrni.exe. Именно он отвечает за внешний вид экрана во время загрузки. Откройте с помощью программы Boot Editor этот файл, и перед вами откроется окно с отображением рисунка загрузчика. Это действительно рисунок, и его можно редактировать, как любое другое изображение, но возможности программы ограниченны, поэтому лучше воспользоваться более мощным графическим редактором. Boot Editor желательно применять только для загрузки готового изображения в файл ntoskrnl.exe.
Перед работой с программой я рекомендую на всякий случай сделать резервную копию файла ntoskrnl.exe (для этого его достаточно скопировать в любой другой каталог), потому что автор не гарантирует стабильную работу программы. Только после этого можно вносить в него изменения.
При трансформации изображения вы должны учитывать, что палитра при загрузке ОС ограничена 256 цветами, поэтому не надо даже пытаться использовать здесь фотографии высокого качества. Еще я не советую изменять размер картинок. Если у вас установлена только одна ОС, то необходимо пользоваться редактором аккуратно, потому что воскрешение первоначального файла будет проблематично (только через консоль восстановления в установке Windows). Если у вас две ОС, то эта проблема решается проще (см. разд. 1,5.5).
В следующей главе мы будем рассматривать ОС Windows более глубоко, и вы узнаете еще много интересного из мира загрузчиков. Я покажу, как редактировать загрузчики без применения специализированных программ, которые удобны для быстрого создания, а для полного тюнинга лучше использовать более универсальные способы. Сейчас же мы только знакомимся с интересными возможностями косметического тюнинга.
Windows Эх в стиле WEB
В Windows есть возможность при просмотре содержимого компьютера через "Проводник" или "Мой компьютер" отображать окно в стиле WEB. В этом случае окно как бы делится на две части: слева высвечивается отображение HTML-страницы (это действительно HTML-страница, как на WEB-сайтах) и выводятся подсказки, основные команды и т. д., а справа показано содержимое текущей папки/диска.
Откуда берутся эти страницы в окне? В системной папке Windows есть скрытая палка WEB. Чтобы ее отобразить, надо сделать возможным показ скрытых файлов и папок. Для этого в окне "Мой компьютер" выберите Tools/Folder options (Сервис/Свойства папки) и на закладке View (Вид) в списке дополнительных параметров установите переключатель Показывать скрытые файлы и папки
Первым делом советую обратить внимание на файл wvlefi.bmp (скрытый, но легко модифицируемый), в котором находится изображение фона HTML- страницы, После этого можно переходить к редактированию htt-файлов. Для их редактирования подойдет любой текстовый редактор, даже стандартный Блокнот. Если вы знакомы с языком разметки HTML, то содержимое этих файлов вам будет понятно, и можно сделать отображение WEB абсолютно удивительным, внеся необходимые поправки. Если нет, то измените только знакомые вам имена.
Не бойтесь экспериментировать с файлами htt, потому что на стабильность системы это не повлияет, и в любом случае Windows будет работать без проблем. Только я все же рекомендую предварительно сделать резервную копию.
МРЗ-кодинг
По умолчанию Windows Media Player умеет записывать музыку только в WMA (Windows Media Audio) формат файла. Но не все устройства или программы понимают его, и на данный момент самым распространенным все же остается формат MP3. Что же теперь, покупать стороннюю программу для кодирования в MP3? Не торопитесь тратить деньги, потому что Windows Media Player можно заставить записать и МРЗ-звук.
Для этого нужно запустить редактор реестра и перейти в раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Settings\MP3 Encoding. Последних двух разделов может не быть, поэтому вы должны их создать (шелкнуть правой кнопкой мыши и в появившемся меню выбрать New/Key). Здесь введите четыре параметра типа dword:
I, HighHate — со значением 2ee00h (шестнадцатеричное) или 192000 (десятичное),
MediumHighHate — со значением lf400h или 128000.
MediumRate — со значением faOOh или 64000.
LowRate — со значением dacOh или 56000.
Вам ничего не напоминают значения этих параметров? Я вижу сходство с битрейт — это качество, с которым будет оцифровываться звук. При таких настройках максимальное качество записи будет 192000. Если изменить значение параметра HighRate на 256000, то можно повысить качество записи
Теперь, чтобы кодировать музыку в формате MP3, нужно запустить Windows Media Player и выбрать меню Tools/Options (Инструменты/Настройки). Откроется окно, где на вкладке Copy music (Копировать музыку) вы увидите настройки копирования (рис. 1.21). В выпадающем списке Format (Формат): нужно выбрать MP3 и передвинуть бегунок Audio Quality (Качество аудио) на максимальное качество оцифровки.
Рис. 1.21. Окно настройки копирования музыки с CD
Примечание
На компакт-диске, в директории \Chapter1\ вы можете найти файл трЗ.гед. Чтобы не создавать описанные выше параметры в реестре вручную, просто запустите трЗ.гед и импортируйте настройки из файла.
Глава 2
Внутренний мир Windows
Если в предыдущей главе мы рассматривали Windows весьма поверхностно, то здесь я глубже и детальнее опишу проблемы настройки, тюнинга и украшательства. Вы узнаете, из чего состоят программы, что позволит изменять практически любой софт по собственному усмотрению.
Некоторые настройки, которые мы делали с помощью специализированного программного обеспечения (см. разд. 1.5—1.7), в этой главе мы проделаем другим способом. Таким образом, вы лучше узнаете тот мир, в котором живет компьютер, и получите возможность управления этим миром.
В этой главе нам предстоит познакомиться с великолепной программой Restorator, с помощью которой вы сможете редактировать ресурсы запускаемых файлов и динамических библиотек. В качестве практических примеров мы отредактируем загрузчик Windows ХР и программу входа в систему.
Изменение ресурсов, которое мы будем рассматривать в данной главе, применимо в равной степени к любой версии ОС. Но я затрону только загрузчики Windows 2000/ХР, которые имеют новый формат и намного больше интересных для хакера настроек. Однотипные же ресурсы в Windows 9х реализованы проще, и о них уже много сказано в Интернете, и нет смысла повторяться.
Ресурсы Windows
Прежде чем приступать к серьезным изменениям системы, мы должны немного познакомиться с теорией. Основой этого раздела будет работа с ресурсами программ, и именно о них мы сейчас поговорим с научной точки зрения.
Исполняемые файлы Windows имеют расширение ехе. В общем виде они состоят из следующих частей:
заголовок;
исполняемый код;
ресурсы.
Заголовок содержит служебную информацию, которую ОС использует при запуске файла. Например, здесь находится точка, начиная с которой должен выполняться исполняемый код. Это очень важная информация для любой программы. Помимо этого, можно узнать, где размещаются ресурсы программы (чаще всего — после исполняемого кода, но возможны и исключения).
Исполняемый код мы изменять не будем, это достаточно сложно и нужны знания Ассемблера и сложных программ отладки приложений. Ну а с ресурсами познакомимся достаточно подробно, потому что здесь для настоящего хакера кроется много интересного.
Все ресурсы разбиты по разделам:
Bitmap — картинки, высвечиваются в окнах программы;
Menu — меню, обеспечивают удобный доступ к функциям приложения, структурируя их в однородные группы;
Dialog — всевозможные окна диалогов;
Siringtable — таблица с сообщениями, которые используются в строках состояния или в окнах диалогов;
Accelerator — сочетания клавиш для быстрого вызова каких-либо команд;
Cursor — различные курсоры;
Icon — рисунки определенного размера, чаще используются для отображения в виде значка формы в свернутом состоянии;
Version info — информация о версии. В дальнейшем мы этот раздел использовать не будем, поэтому забудьте про его существование и что я о нем упоминал :).
Все ресурсы хранятся в открытом виде и доступны для редактирования. Ресурсы могут быть не только в исполняемых файлах, но и в динамических библиотеках (dll), программах-заставках (scr), отдельных файлах ресурсов (res) и в некоторых других типах файлов.
Руками какой-либо из ресурсов изменить невозможно, но программ для их редактирования великое множество. Практически в каждом языке программирования есть утилита или встроенный модуль, который позволяет изменять ресурсы:
Borland Resource Workshop — поставляется с не которым и средствами разработки фирмы Borland;
Microsoft Visual C++ — может открывать исполняемые файлы для редактирования ресурсов.
Тут надо заметить, что модули, написанные на разных языках программирования, могут иметь разные типы ресурсов. Например, компилятор Visual C++ создает программы, в которых все визуально созданные диалоговые окна хранятся в ресурсах в стандартном виде. Borland Delphi использует для этих
целей собственный формат, т. к, обладает более мощными визуальными возможностями. Поэтому не помешает научиться определять язык, на котором написана программа.
Программа Restorator
Для редактирования ресурсов лучше всего использовать такую утилиту, которая одинаково хорошо работала бы с программами, написанными на разных языках программирования.
Мне больше нравится утилита Restorator, которую можно скачать на сайте http://www.bome.com/Restorator/. Она позволяет редактировать запускаемые файлы и обладает гораздо большими возможностями, чем другие программы, которые я видел. Именно ее мы и будем рассматривать.
Прежде чем продолжить чтение, я советую установить эту программу на свой компьютер, чтобы она была под рукой и вы в любой момент могли проверить описываемые действия. Так лучше всего будет запоминаться описываемый здесь материал. Данная книга не является файлом помощи по программе, поэтому мы рассмотрим только основы, которые касаются взлома программ и придания им симпатичного вида.
На рис. 2.1 вы можете увидеть главное окно программы Restorator. Основное окно программы разбито на три части:
Resource tree — панель для отображения всех ресурсов открытого файла по категориям в виде дерева;
Resource view — вкладка для просмотра выделенного ресурса;
File browser — вкладка с браузером (в стиле программы Проводник), в котором можно обозревать содержимое компьютера. Это очень удобно для поиска и открытия ресурсов.
Давайте откроем какую-нибудь программу и посмотрим, как можно изменять ресурсы. Для примера я взял программу dialer.exe, которая устанавливается вместе с Windows. Если у вас ОС установлена на диске С:, то путь к файлу будет C:\Program Files\Windows NT\dialcr.exe (или C:\Windows\dialer.exe).
Выберите в программе Restorator меню File/Open (Файл/Открыть). Перед вами появится стандартный диалог открытия файла. Найдите файл dialer.exe. Программа загрузит названия его ресурсов в панель Resource tree. Чтобы раскрыть все дерево ресурсов, выделите название файла (оно должно быть в корне дерева) и нажмите знак умножения (*) в дополнительной секции клавиатуры. Результат этих действий показан на рис. 2.2.
Я специально выбрал программу, в которой присутствуют практически все типы ресурсов, и сейчас нам предстоит рассмотреть, как их можно редактировать.
Рис. 2.1. Главное окно программы Restorator
Рис. 2.2. Окно программы Restorator с открытым файлом
Редактирование меню
На рис. 2.2 в дереве ресурсов в разделе Menu вы увидите только один пункт под номером 118. Выделите его, и на вкладке Resource Viewer появится исходное меню, для редактирования которого нужно выбрать в главном меню опцию Viewer/Edit mode, это заставит отображать ресурс в виде команд, кроме того, появится окно для просмотра изменений (рис. 2.3).
Рис. 2.3. Редактирование меню
В листинге 2.1 приведен полный код (исключены только комментарии) меню программы Dialer в командах ресурсов. Этот код достаточно прост для понимания, и сейчас мы его рассмотрим.
Листинг 2.1. Исходный код меню
118 MENU
<и#**
POPUP "&File*
( MENUITEM “E&xit", 1000
}
POPUP "&Edit
(
MENUITEM
MENUITEM
MENUITEM
MENUITEM
MENUITEM
MENUITEM
}
POPUP "&Tools"
{
1002
1003
SEPARATOR
&Speed Dial..
1005
1006
SEPARATOR
SAbout Phone Dialer",
"bCopy\tCtrl+C",
"&Paste\tCtrl+V"
Cu&tXtCtrl+X", 1001
"bDeleteXtDel", 1004
"&Help Topics", 1010
"bWhat's This?", 1015
MENUITEM "SConnect Using...", MENUITEM "&Dialing Properties )
popup "SHelp
(
MENUITEM
MENUITEM
MENUITEM
MENUITEM
>
}
Прежде чем рассматривать код из листинга 2.1, познакомимся с понятием "комментарии". Это произвольный текст, который никак не влияет на ресурс, но позволяет добавлять какие-либо собственные описания или примечания. Когда компилятор ресурса встречает двойной слеш (/Д весь последующий текст в этой строке воспринимается в качестве комментария. Итак, я буду давать пояснения к рассматриваемому коду, а вы можете использовать комментарии для того, чтобы помечать места, в которых производили изменения.
Меню начинается с номера, который определяет имя ресурса (в данном случае 118). После этого следует ключевое слово menu. Начало и конец меню обозначаются фигурными скобками {):
11В MENU
(
// Здесь идет описание меню
}
Если у вас есть опыт программирования на языке C/C++, то для вас такая структура будет знакома.
Между фигурными скобками, ограничивающими меню, располагаются выпадающие меню и их элементы. Описание выпадающего меню начинается с ключевого слова popup, после чего в двойных кавычках идет имя, которое вы хотите увидеть в самом меню. При создании имени перед любой буквой можно поставить знак "&". Следующий за этим знаком символ будет ключевым для меню, и если нажать кнопку <Alt> вместе с ним, то будет вызвано это меню, а при отображении данная буква в названии будет подчеркнута.
Таким образом, выпадающее меню File будет иметь такую структуру:
POPUP "&File"
(
)
После описания выпадающего меню снова идут фигурные скобки, внутри которых можно создавать вложенные элементы:
MENUITEM "Имя", Код
При написании имени работают те же правила, что и для выпадающего меню, т. е. можно использовать знак "&". Помимо этого, после знаков можно добавлять "горячие" клавиши. Например, сочетанию клавиш <Ctrl>+<X> соответствует "Ctrl+X".
Код — это идентификатор (число), по которому программа определяет меню и реагирует на него. Таким образом, с помощью редактора ресурсов можно изменять имена, и программа будет работать корректно. Но если поменять код, то работа программы в данном месте будет нарушена.
Допустим, что вы хотите откорректировать следующие пункты меню:
MENUITEM "Cu&t\tCtrl*X*, 1001
MENUITEM "&Copy\tCtrl+C", 1002
MENUITEM *bPaste\tCtrl+V, 1003
С помощью редактора ресурсов попробуйте изменить идентификаторы, просто поменяв их местами:
MENUITEM *Cubt\tCtrl+X*, 1002
MENUITEM *&Copy\tCtrl+C*, 1003
MENUITEM "bPaste\tCtrl+V, 1001
Теперь при попытке вырезать выделенную часть текста (команда cut) будет происходить копирование данных в буфер обмена, а при копировании (Сору) — вставка, а при вставке (paste) — программа вырежет данные и поместит в буфер. Но это уже из серии шуток, а это отдельная история.
Итак, номера можно только менять местами. Выдумывать что-то свое бесполезно, потому что такой пункт меню работать просто не будет.
Для создания полосы разделителя между меню нужно написать:
MENUITEM SEPARATOR
После внесения изменений в код меню, их можно просмотреть в окне предварительного просмотра, которое появилось во время перехода в режим редактирования. Но чтобы меню в этом окне отразилось, нужно обновить информацию. Для этого нажмите клавишу <F7>.
Теперь вы без проблем сможете создавать свои собственные меню любой сложности.
Редактирование диалоговых окон
Отдельная песня — это редактирование диалоговых окон. Тут достаточно много команд, и описать их все просто невозможно. Откройте раздел Dialog в дереве ресурсов и выделите ресурс под номером 200. Вы должны увидеть диалоговое окно в визуальном представлении (рис. 2.4).
.4. Просмотр диалогового окна
Для перехода в режим редактирования нужно выбрать меню Viewer/Edit Mode. Код диалогового окна под номером 200 можно увидеть в листинге 2.2.
Листинг 2.2. Исходный код диалогового окна
200 DIALOG 50, 50, 194, 168
STYLE DS_SETFONT J DS_3DLOOK | WS_MINIMIZEBOX ( WS„CAPTION | WS_SYSMENU
MENU 118
CAPTION "Phone Dialer"
FONT 8, "MS Shell Dig* (
CONTROL "", 224, "STATIC", SS_ETCHEDHORZ | WSJDISABLED, 0, 0, 194, 1
LTEXT "^Number to dial:", 223, 7, 7, 90, 10
COMBOBOX 201, 7, 21, 90, 104, CSS_DROPDOWN | CBS_AUTOHSCROLL | CBS^SORT | WS„VSCROLL | WS„GROUP
DEFPUSHBUTTON "&Dial", 1, 7, 38, 90, 14, WS_DISABLED | WS_GROUP
PUSHBUTTON "\nl", 202, 6, 62, 27, 20, BS_CENTER | BS_MULTTLINE |
NOT WS_TABSTOP
PUSHBUTTON "ABC\n2", 203, 37, 62, 27, 20, BS_CENTER | BS_MULTILINE |
NOT WS_TAESTOP
PUSHBUTTON "DEF\n3", 204, 69, 62, 27, 20, BS_MULTILINE | NOT WS_TABSTOP
PUSHBUTTON "GHI\n4", 205, 6, 86, 27, 20, BS_CENTER | BS_MULTILINE J
NOT WS_TABSTOP
PUSHBUTTON "JXL\n5", 206, 37, 86, 27, 20, BS_CENTER | -BS_MULTILINE | NOT WS_TABSTOP
PUSHBUTTON "MNO\n6", 207, 69, 86, 27, 20, BS_CENTER | BS_MULTILTNE |
NOT WS_TABSTOP
PUSHBUTTON "PRS\n7", 208, 6, 110, 27, 20, BS_CENTER [ BS_MULTILINE | NOT WS_TABSTOP
PUSHBUTTON "TUV\n8", 209, 37, 110, 27, 20, BS_CENTER | BS_MULTILINE |
NOT WS_TABSTOP.
PUSHBUTTON "WXY\n9", 210, 69, 110, 27, 20, BS_CENTER | BS_MULTILINE | NOT WS_TABSTOP
PUSHBUTTON "\n*", 212, 6, 134, 27, 20, BS_CENTER | BS_MULTILINE | NOT WS_TABSTOP
PUSHBUTTON "\n0", 211, 37, 134, 27, 20, BS_CENTER | BS_MULTILINE | NOT WS_TABSTOP
PUSHBUTTON "\n#", 213, 69, 134, 27, 20, BS_CENTER ] BS„MULTILINE |
NOT WS_TABSTOP
GROUPBOX "Speed dial", 222, 103, 7, 84, 154
LTEXT "И", 225, 109, 24, 7, 10
PUSHBUTTON "*. 214, 117, 21, 63, 14, BS_LEFT | WS_GROUP
LTEXT "&2", 226, 109, 41, 7, 10
PUSHBUTTON "", 215, 117, 38, 63, 14, BS_LEFT | WS_GROUP
LTEXT "&3", 227, 109, 58, 7, 10
PUSHBUTTON "", 216, 117, 55, 63, 14, BS_LEFT I WS_GROUP
LTEXT "Ь4", 228, 109, 75, 7, 10
PUSHBUTTON ’", 217, 117, 72, 63, 14, BS_LEFT | WS_GROUP
LTEXT "&5", 229, 109, 92, 7, 10
PUSHBUTTON "", 218, 117, 89, 63, 14, BS„LEFT [ WS_GROUP
LTEXT "&6", 230, 109, 109, 7, 10
PUSHBUTTON ’", 219, 117, 106, 63, 14, BS_LEFT ] WS_GROUP
LTEXT "&7", 231, 109, 126, 7, 10
PUSHBUTTON "", 220, 117, 123, 63, 14, BS_LEFT | WS_GROUP
LTEXT °&B", 232, 109, 143, 7, 10
PUSHBUTTON "", 221, 117, 140, 63, 14, BS_LEFT ] WS_GROUP
Объявление диалогового окна в общем виде выглядит следующим образом:
П DIALOG X, У, W, h
STYLE Флаги стилей
MENU Номер меню
CAPTION "Заголовок"
FONT размер, "Название шрифта"
(
U Здесь идет описание элементов окна )
где:
п — номер ресурса;
х — левая позиция окна;
у — верхняя позиция окна;
w — ширина окна;
ь — высота окна.
Далее идет описание стилей окна (style). Если окно имеет меню, то оно указывается в следующей строке командой menu номер. Заголовок окна задается командой caption "текст заголовка". Затем следует описание используемого шрифта (размер/имя) и фигурные скобки, внутри которых перечисляются элементы окна. Давайте рассмотрим описание основных элементов, которые вы можете вставлять в текст окна.
Начиная с третьей версии программы, появилась возможность визуального редактирования диалоговых окон. Для этого нужно сначала выбрать режим просмотра ресурса по умолчанию (меню Viewer/Default view mode), а затем перейти в режим редактирования (меню Viewer/Edit mode). В этом случае в окне просмотра ресурсов появится панель свойств выбранного элемента окна. Вы можете мышью двигать любые элементы, изменять их размеры и просматривать сделанные изменения (в той же панели свойств).
Единственный недостаток визуального редактора — нельзя добавлять компоненты. В этом случае придется писать код вручную. Это не страшно, если нужно добавить всего один рисунок. При значительном количестве новых элементов лучше воспользоваться программой Resource Workshop, которую мы будем рассматривать позже (см. разд. 2.3\
Иконки
Этот тип ресурсов позволяет добавлять графические изображения в диалоговые окна. В принципе, эффективность окна не улучшается, но красоту навести можно. Иконки добавляются следующей командой: icon n, 1, х, у, w, h
Необходимо задать такие параметры:
п — номер картинки в файле ресурсов. Изображение с таким номером уже должно существовать. Например, в программе Dialer есть две иконки с номерами 1 и 116, и любой из этих номеров можно здесь использовать. Добавьте новые иконки под своими номерами и потом используйте в диалоговых окнах;
i — индекс, по которому программа сможет обращаться к иконке. Не изменяйте этот индекс при редактировании уже существующей картинки. Если вы добавляете новую иконку, то можно указывать любое значение (желательно, чтобы оно не конфликтовало с другими элементами в окне), все равно программа не знает о существовании новой иконки и не будет к ней обращаться;
х — левая позиция иконки;
у — верхняя позиция иконки;
w — ширина иконки;
h — высота иконки.
Надписи
Надписи существуют для добавления текстовых пояснений к каким-либо элементам управления. Они объявляются следующим образом: ltext "Текст", 1, х, у, w, h где:
Текст — текст подписи (указывается в кавычках);
1 — индекс, по которому программа сможет обращаться к подписи. Если вы редактируете уже существующую надпись, то нс изменяйте этот индекс. При добавлении новой подписи можно указывать любое значение (желательно, чтобы оно не конфликтовало с другими элементами в окне), все равно программа не знает о существовании новой надписи и не будет к ней обращаться;
х — левая позиция надписи;
у — верхняя позиция надписи;
w — ширина надписи;
h — высота надписи.
Кнопки
По нажатию кнопок выполняются какие-либо команды. Чаще всего мы их видим в диалоговых окнах (например, Да или Отмена), но бывают кнопки для вызова специализированных инструкций. Их объявление выглядит следующим образом:
PUSHBUTTON "Текст", 1, х, у, w, h, Флаги
Необходимо задать:
Текст — подпись на кнопке (указывается в кавычках);
1 — индекс, по которому программа сможет обращаться к кнопке. Правила его задания такие же, как для иконок и надписей;
Ох — левая позиция кнопки;
у— верхняя позиция кнопки;
w — ширина кнопки;
h — высота кнопки;
Флаги — описывают свойства кнопки, их может быть много, и они перечисляются через разделитель "|". Вот основные:
bs_center — надпись располагается по центру;
bs_left — текст будет прижат к левому краю;
bs_right — надпись выравнивается по правому краю;
bs_multiline — текст может быть многострочным;
ws_disabled — кнопка отключена;
ws_group — кнопка сгруппирована с другими кнопками на окне.
Косметика
Давайте попробуем воспользоваться полученными знаниями на практике и произведем несколько косметических операций над окном диалога. Во-первых,
расширим его. Для этого в первой строке объявления окна нужно изменить третий числовой параметр, например, на 225:
200 DIALOG 50, 50, 225, 168
Теперь поменяем заголовок — третью строку:
CAPTION "Horrific Dialer"
После этого изменения в заголовке окна будет отображаться надпись Horrific Dialer.
Теперь добавим в окно диалога иконку и подпись. Для этого вслед за открывающей фигурной скобкой добавим следующие две строки:
FONT 8, "MS Shell Dig"
(
ICON 1, 0, 195, 5, 18, 20
LTEXT "Copyright: Horrific", 223, 40, 1, 90, 10
//Остальное без изменений
)
Нажмите клавишу <F7>. Если в описании окна есть команда class, то при обновлении очень часто возникают ошибки. Просто удалите всю эту' строку. В большинстве случаев на работу программы это не повлияет.
Рис. 2.5. Результат редактирования окна
Если вас устраивает результат вашего творчества (рис. 2.5), то можно нажать <F8>, чтобы окончательно записать ресурс, а потом <Ctrl>+<S>, чтобы сохранить весь файл.
2.2.3. Редактирование строк и акселераторов
В разделе String (см. рис. 2.2) хранятся строки. Это могут быть различные сообщения, названия или просто текст, используемый программой. Выделите любой ресурс в этом разделе и перейдите в режим редактирования (меню Viewer/Edit Mode). Рассмотрим на примере 57 ресурса, как выглядит его исходный код:
STRINGTABLE
{
"Dialer"
"Phone Dialer"
}
Все начинается с ключевого слова stringtable. После него идут фигурные скобки, в теле которых описываются строки в виде:
Номер, "Строка"
Номер — это число, по которому программа находит нужную строку. Его изменять не рекомендуется, т. к. это может сказаться на стабильности программы. Сам же текст задается после запятой в кавычках, и его можно без проблем менять как угодно.
Акселераторы (раздел Accelerator) —• это список горячих клавиш, которые используются в программе. Если вас что-то не устраивает, то можно легко изменить на более удобный вариант, даже если смена клавиш не предусмотрена.
В программе Dialer только один набор акселераторов под номером 117. Выделите его, и в окне редактирования увидите следующий код:
"Alt+1*
"Alt+2"
"Alt+3"
1003: "Shift+Ins"
1001: "Ctrl+X"
Описание акселераторов похоже на описание строк. Вначале идет код, по которому программа находит нужное сочетание клавиш, а после двоеточия в кавычках указывается сам акселератор.
Редактирование изображений
В ресурсах может храниться два типа изображений — иконки (раздел Icon) и картинки (раздел Bitmap). Работа с обоими форматами происходит одинаково, посему и рассматривать их будем как один.
В программе Restorator нет встроенного графического редактора, поэтому приходится использовать любой другой, имеющийся на компьютере. Но для начала нужно сохранить ресурс в отдельном файле. Для этого щелкните по графическому ресурсу правой кнопкой мыши и в появившемся меню выберите пункт Extract/Extract as "Имя файла". Вместо номера будет стоять реальное имя ресурса. Перейдите на вкладку File Browser, и здесь вы увидите созданный файл.
Теперь вы можете подкорректировать его, а затем подключить обратно к ресурсу, для чего снова щелкнуть правой кнопкой мыши и в появившемся меню выбрать Assign/Assign to. В появившемся стандартном диалоге открытия файла вы должны найти и выбрать отредактированную версию графического файла.
Для редактирования изображений из раздела Bitmap подойдет любая графическая утилита, в том числе и входящая в поставку Windows программа Paint. Для работы с иконками в ОС Windows ничего нет, поэтому здесь можно выбрать один из следующих способов:
найти хорошую программу для редактирования иконок;
просто заменять иконки программы на свои.
Я чаще использую второй способ, потому что рисовать не умею, и даже самый лучший редактор иконок не поможет мне создать что-либо красивое. Хорошо, что в Интернете сейчас достаточно много готовых и профессионально сделанных иконок. Какие-то из них платные, а часть — нет, но даже бесплатные варианты бывают очень хорошего качества.
Визуальное редактирование ресурсов
Редактировать в кодах не так уж и сложно, но есть способ лучше. В разд. 2.1 я уже упоминал, что существует программа Borland Resource Workshop (BRW), которая поставляется с некоторыми языками программирования фирмы Borland, например, Borland C++ или Borland Pascal.
Хотя поддержка со стороны производителя не производится и давно не было обновлений, программа не устарела. С помощью BRW можно редактировать практически любые файлы, содержащие ресурсы, но только если они в стандартном формате Windows (Borland C++ или Visual C++). Это значит, что программы, написанные на Borland Delphi, редактированию не подлежат.
.6. Окно открытия файла
Единственный недостаток BRW — программа поставляется только в составе сред разработки. Отдельно продукт не продается, и скачать его с сайта производителя нельзя.
После установки и запуска Borland Resource Workshop вы увидите окно, в котором есть только меню и пустая рабочая область. Чтобы открыть файл, нужно выбрать меню File/Open project (Файл/Открыть проект). Перед вами появится окно, как на рис. 2.6. Оно не совсем стандартное и не поддерживает длинных имен Windows, но привыкнуть к нему можно. В выпадающем списке File type (Тип файла) нужно правильно выбрать тип файла, с которым вы собираетесь работать, иначе его не окажется в перечне.
Вслед за открытием файла рабочая область программы разделится на две части (см. рис. 2.7): в левой половине отобразится дерево ресурсов, которые есть в программе, а правая выделена для предварительного просмотра их содержимого.
Для перехода в режим редактирования ресурса достаточно дважды щелкнуть по нему, и откроется визуальный редактор, который зависит от типа ресурса. Давайте на примере все той же программы Dialer рассмотрим, как это происходит.
Редактирование меню
Дважды щелкните по единственному ресурсу меню с номером 118, и перед вами раскроется окно, как на рис. 2.8.
Рис. 2.8. Окно редактирования меню
Посмотрим, из чего состоит редактор ресурсов и что он нам предлагает.
Справа вверху располагается прототип меню (визуальное отображение).
Справа внизу находится то же самое меню, только в виде текста. Код, который показан здесь, идентичен тому, что мы рассматривали при изучении программы Restorator (см. разд. 2.2Y
Слева выводятся свойства выделенного пункта меню.
Для указания подлежащего редактированию элемента можно пользоваться как визуальным меню, так и текстовым. Просто выделяете нужный пункт и модифицируете свойства.
Какие свойства надо менять? Первым делом нужно отредактировать Item Text. Это текст, который будет отображаться в меню. Можете еще подправить Item Help — подсказка, появляющаяся в строке состояния. Ни в коем случае нельзя трогать поле Item id, потому что это идентификатор, по которому программа может обращаться к пунктам меню.
Редактирование окон диалогов
Дважды щелкните по любому ресурсу DIALOG, и вы попадаете в визуальный редактор диалоговых окон (рис. 2.9). Такие (или похожие) редакторы существуют в современных средах программирования. Уже давно никто не создает ресурсы вручную.
Здесь вы можете добавлять картинки и текст для украшения любимой программы. Воспользуйтесь для этого компонентами, которые находятся в маленьком окошке Tools.
Удалять элементы из окна не рекомендуется, потому что захочется (как всегда) избавиться именно от того, что может повлиять на работу программы. Для изменения уже существующего текста нужно просто дважды щелкнуть по нему, и перед вами появится окно для редактирования свойств текста (рис. 2.10). Здесь вам нужно подправить заголовок Caption, чтобы надпись засияла новым содержанием. Я под настроение люблю менять все названия: иногда весь текст делаю в блатном стиле, а иной раз — использую гусарский жаргон.
На рис. 2.10 в разделе Control type можно увидеть множество настроек. Описывать их все я не буду, но рекомендую поиграть с этими настройками, и вы на практике познаете эффект от каждой из них.
Если в надписи присутствуют какие-нибудь непонятные значки типа звездочек, черточек или еще чего-то на первый взгляд ненужного, то не торопитесь это удалять. Тем более, если этих символов нет во время выполнения программы. Некоторые чудо-программисты (когда не хватает мозгов ®) начинают использовать знаки, которые потом подменяются во время исполнения. Если вы удалите эту шифровку, то программа может даже не запуститься.
Рис. 2.9. Визуальный редактор диалоговых окон
Рис. 2.10. Визуальный редактор текста в диалоговых окнах
Редактирование строк
В разделе STRINGTABLE (рис, 2.7) находятся наборы строк, которые мы уже видели в программе Restorator в разделе String (рис. 2.2). Дважды щелкните по любой строчке, и перед вами откроется окно редактора — таблица, состоящая из трех колонок:
ID Source.
ID Value.
String.
Первые две колонки — это номера сообщений, и их менять нельзя. Вас в основном будет интересовать третья колонка, в которой хранится сам текст сообщения. Просто щелкните мышью (я иногда говорю крысой) в нужной строке и вводите свое описание.
Редактирование изображений
Самое простое — редактирование ресурсов из раздела ICON или BITMAP, т. е. картинок. Для примера щелкните дважды по строке 1 в разделе ICON, и перед вами откроется окно выбора иконки: их две, но разного размера (32x32 и 16x16). Дважды щелкните по любой из них, и вы попадете в простой графический редактор.
Рис. 2.11. Встроенный графический редактор
Когда будете редактировать картинку, не вздумайте изменять ее параметры. В некоторых случаях это пройдет незаметно, а иногда может повлиять на стабильность программы. Так что если захотите полностью сменить картинку, то делайте ее такого же размера.
И еще, картинки в ресурсах не могут иметь глубину больше 8 бит. Это значит, что вы не сможете разгуляться в цветовой палитре, потому что она ограничена 256 цветами. В большинстве случаев изменение количества цветов не скажется на работе программы, поэтому если вас не устраивает качество картинки, воспользуйтесь окном установки настроек изображения (рис. 2.12), нажав меню Bitmap/Size and attributes (Картинка/Размер и атрибуты).
Рис. 2.12. Настройки изображения
Изменяйте здесь только количество цветов. Как я уже сказал, многие программы чувствительны к изменению размера (особенно при увеличении программа может не выделить достаточно памяти для загрузки картинки). Компрессию и формат (Compression и Format) изображения лучше вообще не трогать.
Темы Windows ХР
В гл. I мы уже немного познакомились с Темами Windows ХР и научились их редактировать с помощью специализированных программ. Но в этом случае мы связаны ограниченными возможностями используемой утилиты
(а графический потенциал рассмотренной ранее программы Style Builder минимален), и темы получаются слишком простыми. Такой способ требует дополнительной установки программы StyleXP или замены системного файла. Намного лучше создать тему вручную и полностью совместимую с ХР.
Темы хранятся в папке Диcк:\Windows\Resouгces\Themes. Откройте ее и посмотрите на содержимое. На первый взгляд, папка выглядит так же, как и в старой Windows 9х. Все те же бесполезные файлы с расширением theme и еще куча ненужных папок.
В директории \Luna находятся все необходимые файлы для стандартной темы ХР. Давайте глянем на нее... А это что за "чудо в перьях" — luna.msstyles? Что-то я такого расширения в старом Windows не видел. Надо познакомиться с этим файлом поближе. Когда я первый раз заметил его, то немедленно проглядел содержимое в режиме просмотра (в Windows Commander я нажал <F3>). Сразу бросилось в глаза, что первые два байта — это "MZ". Такое начало говорит о том, что этот файл скорей всего имеет байт-код, как у исполняемых файлов. Опускаю глаза чуть ниже и вижу заветную надпись: "This program cannot be run in DOS mode.", значит, файл luna.msstyles не просто содержит байт-код, но и может выполняться или, по крайней мере, имеет схожую структуру.
Как известно, любой исполняемый файл или DLL-библиотека могут содержать ресурсы. Я понадеялся на это и попытался открыть файл в программе Borland Resource Workshop. Меня ждало разочарование, потому что BRW просто "выбило из колеи", и он выдал системную ошибку. Сказывается допотопность и запущенность программы.
Повторяю попытку с помощью программы Restorator, и "полет прошел нормально". Единственное, что надо сделать — в окне открытия файла, в поле Files of type выбрать из выпадающего списка All files. Просто программа не знает расширения msstyles и не отобразит необходимый файл, поэтому нужно попросить показывать все.
Я не ошибся. В этом файле действительно полно ресурсов. Посмотрите на рис. 2.13, где представлена структура файла luna.msstyles. Глядя только на ее заголовки, можно понять, что это то, что мы искали. Откройте ветку Bitmap и посмотрите на ее содержимое. На рис. 2.14 показан один из пунктов этой ветки, где находятся рисунки, которые используются для отображения элемента управления CheckBox (флажок).
Давайте поработаем, например, над элементом управления CheckBox. Для этого в разделе Bitmap нам понадобятся файлы BLUE_CHECKBOX13.bmp, BLUE_CHECKBOX16.bmp, BLUE CHECKBOX25.bmp Это группы изображений этого компонента разного размера.
Теперь правой кнопкой мыши щелкните по первому их этих пунктов и выберите в появившемся меню пункт Extraxt/Extract as BLUE_CHECKBOX13.bmp. Найдите этот файл в окне File Browser и измените в любом графическом редакторе.
Рис, 2.13. Структура файла luna.msstyles
Рис, 2.14. Вот из чего реально состоит компонент CheckBox
Я для простоты нарисовал вертикальную линию вдоль всего рисунка. Для загрузки отредактированного файла снова щелкните правой кнопкой по соответствующему ресурсу и выберите пункт Assign to BLUE_CHECKBOX13.bmp. Аналогичным образом можно поступить и с двумя другими рисунками для этого компонента.
Как только закончите редактирование, сохраните файл luna.msstyles под новым именем (меню File/Save as) и скопируйте новый файл в папку 4HCK;\Windows\Resourees\Themes. Чтобы установить его в систему достаточно просто запустить файл luna.msstyles, как любую другую программу, и применить новую тему. Если возникнут проблемы с запуском, то войдите в свойства дисплея и на закладке Themes (Темы) выберите в выпадающем списке Theme (Тема) пункт Browse (Обзор). В появившемся окне выберите отредактированный файл и нажмите кнопку Открыть.
На рис. 2.15 показано окно свойств программы Windows Commander, в котором очень много компонентов CheckBox, и если не подведет печать, то вы сможете увидеть, что все они перечеркнуты полосой.
Рис. 2.15. Окно свойств Windows Commander с перечеркнутым компонентом CheckBox
Таким образом, мы можем создать свою тему на основе стандартной, и она без проблем будет устанавливаться в систему.
Создание новой темы с помощью редактора ресурсов достаточно сложная, не очень удобная и кропотливая процедура. Нужно сохранять каждый рисунок в отдельности, редактировать его в графическом редакторе, а потом снова загружать в файл ресурсов. Но зато вы сможете создать прекрасные темы, не требующие дополнительных примочек типа StyleXP. Просто копируете в ОС другого компьютера свой файл luna.msstyles и используете. Кстати, имя файла можно менять, и, чтобы не было проблем, я назвал его в своей системе X.msstyles. Вот так у меня появилась абсолютно новая тема.
Войди правильно
Теперь посмотрим, как можно изменить программу входа в систему. Мы затронем только Windows ХР, потому что здесь для входа выполняется отдельная программа, которая выглядит достаточно симпатично, но и ее можно изменить. В Windows 9х права на вход в систему были слишком простыми, и дополнительные программы были не нужны, и в Windows NT/2000 использовалось простое диалоговое окно, которое вызывалось по нажатию <Ctri>+<Alt>+<Del>.
Рис. 2.16. Программа logonui.exe под ножом ресторатора
Когда компьютер уже загружен, перед нами появляется приглашение в систему (выбор пользователя и ввод пароля) — это выполняется программа logonui.exe. Лично меня внешний вид этой программы уже достал, а ведь ее не так уж сложно отредактировать. Вы, наверное, догадались, что самое интересное находится в ресурсах, а с ними мы работать умеем.
Прежде чем начинать редактировать, не забудьте сделать резервную копию. А лучше поступить следующим образом: скопировать файл под другим именем и изменять его. Чуть позже мы увидим, как научить систему брать наш файл, а не системный logonui.exe.
Итак, открываем программу с помощью утилиты Restorator и смотрим, из чего она состоит (рис. 2.16).
Рисунки
В разделе Bitmap спрятаны все интересующие нас картинки. Под номером 100 находится фон экрана. Если посмотреть на этот рисунок, то сразу и не догадаешься, что это фон, потому что он имеет размер 219x207. Эта картинка растягивается, а так как в ней использованы плавные переходы цветов, то даже при большом масштабировании картинка получается достаточно приятной. Но все же она не так красива, как хотелось бы.
А стало быть, берем любую картинку в BMP-формате. Желательно, чтобы ее размер соответствовал разрешению экрана, дабы система не занималась лишним масштабированием и не тратила на это ресурсы при загрузке программы. У меня разрешение 1024x768, и я подготовил рисунок именно такого размера.
За счет большого рисунка размер исполняемого файла logonui.exe может увеличиться и достигнуть 2—3 Мбайт. Это нормальная реакция на увеличение ресурсов, потому что в них не происходит сжатие.
Теперь выделяем ресурс под номером 100, щелкаем правой кнопкой мыши и выбираем меню Assign/Assign to. В открывшемся окне найдите ваш bmp- рисунок и нажмите ОК.
В принципе, на этом можно было бы закончить редактирование, но не фоном единым живет программа входа в систему. Есть еще над чем потрудиться. Картинок опять-таки много, и все их можно изменить. Объясню, для чего нужны оставшиеся рисунки:
102 — поле ввода пароля;
103 — кнопка со стрелкой для входа в систему;
104 — активная кнопка для входа в систему (103);
105 — кнопка вызова помощи;
106 — активная кнопка вызова помощи;
□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □107 — кнопка выключения компьютера;107 — кнопка выключения компьютера;108109 -ПО -108109 -ПО -стрелка вверх;стрелка прокрутки вниз;стрелка прокрутки вверх;стрелка вверх;стрелка прокрутки вниз;стрелка прокрутки вверх;111 — полоса прокрутки;112 — поле для выбранного пользователя;111 — полоса прокрутки;112 — поле для выбранного пользователя;113 -114 -119 -113 -114 -119 -поле для иконки;иконка для пользователя по умолчанию;поле для иконки выделенного пользователя;поле для иконки;иконка для пользователя по умолчанию;поле для иконки выделенного пользователя;— кнопка для выключения компьютера;— стрелка вверх;— применение неизвестно;— вертикальная линия разделителя;— линия, которая растянута по верху экрана;— линия, которая растянута по низу экрана;, 128 — горизонтальные разделители.— кнопка для выключения компьютера;— стрелка вверх;— применение неизвестно;— вертикальная линия разделителя;— линия, которая растянута по верху экрана;— линия, которая растянута по низу экрана;, 128 — горизонтальные разделители.
□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
107 — кнопка выключения компьютера;
107 — кнопка выключения компьютера;
108
109 -
ПО -
108
109 -
ПО -
стрелка вверх;
стрелка прокрутки вниз;
стрелка прокрутки вверх;
стрелка вверх;
стрелка прокрутки вниз;
стрелка прокрутки вверх;
111 — полоса прокрутки;
112 — поле для выбранного пользователя;
111 — полоса прокрутки;
112 — поле для выбранного пользователя;
113 -
114 -
119 -
113 -
114 -
119 -
поле для иконки;
иконка для пользователя по умолчанию;
поле для иконки выделенного пользователя;
поле для иконки;
иконка для пользователя по умолчанию;
поле для иконки выделенного пользователя;
— кнопка для выключения компьютера;
— стрелка вверх;
— применение неизвестно;
— вертикальная линия разделителя;
— линия, которая растянута по верху экрана;
— линия, которая растянута по низу экрана;
, 128 — горизонтальные разделители.
— кнопка для выключения компьютера;
— стрелка вверх;
— применение неизвестно;
— вертикальная линия разделителя;
— линия, которая растянута по верху экрана;
— линия, которая растянута по низу экрана;
, 128 — горизонтальные разделители.
Для некоторых картинок номера являются необязательными, точнее сказать, есть скрипт, в котором эти номера можно изменить. Но я не рекомендую это делать, а при необходимости советую добавлять новые изображения, которые можно будет впоследствии использовать. Как это делается, увидим чуть позже, при рассмотрении скрипта (разд. 2.5.3). Давайте сначала разберемся со строками.
Строки
В разделе String находится пять наборов строк. В них вы можете увидеть сообщения, которые появляются при входе в систему. В принципе, редактирование наборов строк мы уже рассматривали (см. разд.2.2.3 и 2.3.3), и нет смысла останавливаться на этом, а текст, который вы напишете здесь, зависит от ваших пристрастий и общего стиля, которого хорошо бы придерживаться при создании темы. Например, если в качестве темы для входа в систему вы выбрали фильм "Терминатор", то имеет смысл поменять надпись "Выход из системы" на "I’m will be back". Для этого откройте строковый ресурс 1 и измените надписи в строках Ии 13.
Скрипт
Вот теперь можно переходить к скриптовому файлу. Он находится в разделе LIFILE (хорошо виден на рис. 2.16). Здесь только один ресурс под номером 1000.
Когда мы знакомились с типами ресурсов, то не рассматривали UIFILE, потому что он не является системным. Это, так сказать, пользовательский тип, в котором может быть любая информация. В данном случае это просто текстовый файл, содержащий скрипт в формате XML. В нем описываются стили шрифтов, цвета, расположение элементов (картинок из ресурсов) на экране.
Если вы редактируете стандартную тему Windows ХР, то этот ресурс может оказаться пустым, и система будет использовать расположение элементов и стили по умолчанию. Я в любом случае рекомендую не обращать на него внимания, потому что сейчас мы рассмотрим созданный мною общий скрипт. Он будет универсален и подойдет для любых нужд. Полный текст вы можете увидеть в Приложении / или на компакт-диске, прилагаемом к книге, в директории \Chapter2 в файле uifile.txt.
Если вы работали с HTML или XML-файлами, то текст скрипта не покажется вам очень сложным. В UIFILE используется такой же принцип тегов.
Для примера рассмотрим один блок:
<style resid=ftamess>
element
(te ^i.JrirlbwmAiM^ - Д
background: argb(0,0,0,0);
)
element [id=atom(contentcontainer)]
(
background: rckmp (100,6, ifFFOOFF, 0,0,1,0) ;
I
button
(
background: rctnp(112,6,NFFOOFF,0,0,l,0);
borderthickness: rect(8,6,0,8);
</style>
Давайте разберем первую строку:
<style resid=ftamess>
В треугольных скобках указываются теги. Первое слово — это имя тега, в данном случае style (стиль). Затем следуют параметры тега. Здесь только один параметр — resid (идентификатор ресурса), которому присвоено значение framess.
Итак, в первой строке открывается новый стиль с идентификатором framess, который в данном случае указывает на то, что будут описаны параметры основной рабочей области. В дальнейшем мы рассмотрим стили с другими идентификаторами и разберем, для чего они нужны.
Для закрытия тега используется конструкция </имя тегах В нашем случае открыт тег <styie>, значит, парным для него будет </styiex Между этими двумя тегами включается описание и параметры рабочей области.
Этих знаний вам будет достаточно для понимания сути скрипта и редактирования основных параметров, множество которых можно найти внутри каждого стилевого тега. Вот основные параметры, которые вам нужно будет настраивать для улучшения внешнего вида программы logonui.exe (или любой другой):
Background (фон) — определяет цвет фона.
Этот параметр задается следующим образом:
background: argb(0,0,0,0) ;.
В скобках указываются цвета в формате Alpha, Red, Green, Blue (прозрачность, красный, зеленый, синий). Рассмотрим несколько примеров задания цвета фона:
background: argb(0,255,0,0) — Красный",
background: argb(0,0,255,0) —ЗСЛСНЫЙ;
background: argb(0,0,0,255) —СИНИЙ;
background: argb(0,255,255,0) —желтый.
Рис. 2.17. Окно определения составляющих цвета
Как определить, какие значения ставить? Первое число в скобках — это прозрачность, здесь всегда указываем о. Остальные три цвета определить
достаточно легко. Для этого запустите стандартную программу Paint. Выберите меню Colors/Edit colors (Палитра/Изменить палитру) и в появившемся окне нажмите кнопку Define custom colors (Определить цвет). Результатом будет окно, представленное на рис. 2.17. Подбирайте нужный вам цвет и запоминайте его красную, синюю и зеленую составляющие. Именно эти значения и надо использовать в скобках.
Foreground — цвет переднего плана, текста. Параметр задается так же, как и цвет фона.
Bordercolor — цвет обрамления (если он есть у элемента), задается аналогично Background.
Fontstyle — стиль шрифта.
Например, чтобы сделать шрифт подчеркнутым, нужно написать fontstyle: underline;.
Fontweight — толщина шрифта.
Чтобы Шрифт стал жирным, нужно указать fontweight: bold;.
cursor — тип курсора.
Чтобы курсор над элементом был в виде руки, нужно задать cursor: Hand;.
Таких параметров много, но я советую вам в первое время ограничиться только описанными выше и изменять их аккуратно. Если в скрипте допустить ошибку, то Windows может не загрузиться. В примере, который вы найдете на диске, я постарался использовать максимальное количество параметров, и лучше не добавлять туда ничего нового, а только изменять значения.
Давайте рассмотрим, какие в скрипте используются стили:
«style resid=framess> — основной фон (уже рассмотрели ранее);
«style resid=toppaneiss> — элементы, которые можно увидеть вверху окна;
«style resid=bottompanelss> — элементы, расположенные внизу окна;
«style resid=leftpanelss> — стиль элементов левой панели;
«style resid=rightpanelss> — СТИЛЬ элементов правой Панели;
«style resid= hotaccountlistss> — стиль окна, в котором отображаются горячие учетные записи.
Конструктор окна
После объявления стилей идет построение окна на основе этих стилей. Соответствующий код вы можете увидеть в листинге 2.3.
Листинг 2.3. Конструирование окна на основе стилей
«logonframe resid=main id=atcm(frame) sheet=styleref(framess) layout= borderlayout() layoutpos=client>
«element id=atom(contentcontainer) layout=borderlayout() layoutpos= client*
«element id=atom(toppanel) sheet=styleref(toppanelss) layout= borderlayout() layoutpos=top height=80rp>
«element id=atom(logoarea) layout=verticalflowlayout(0,3,3,2)*
«element id=atom(product) contentalign=topright padding= rect(10rp, 0rp,20rp, 20rp) />
«element id=atom(help) contentalign=wrapright width=lrp padding= rect(Orp,Orp,40rp,Orp)/>
«/element*
«element id=atom(msgarea) layout=verticalflowlayout(0,0,0,2) >
«element layout=filllayout() width=384rp>
«element id=atom(welcomeshadow) content=rcstr(7)/>
«element id=atom(welcame) content=rcstr(7)/*
«/element*
«/element*
«element id=atom(divider) layoutpos=bottom height=2rp/> «/element*
Д-»мж1С«г^адиф\л1 r, i .,^-,да^7< цг jjjcrju4?jA^^».-»4f'JeiA5tC'*>4fi’₽'/)'»
«element id=atom(bottompanel) sheet=styleref(bottompanelss) layout= borderlayout() layoutpos=bottcm>
«element id=atom(divider) layoutpos=top height=2rp/*
«element id=atom(options) layout=borderlayout() layoutpos=client*
II В следующей строке определяется выравнивание кнопки выключения
«element layout=borderlayout() layoutpos=left>
«button id=atom(power) layout=borderlayout() layoutpos= top accessible=true accRole=43 accName=rcstr(11)*
«element layoutpos=left content=rcbmp(107,3,-l,26rp,26rp,0,0) />
«element id=atom(label) layoutpos=client margin=rect(2rp,0,0,0)/>
«/button*
«button id=atom(undock) layout=borderlayout() layoutpos= top margin=rect(0,2rp,0,0) accessible=true accRole=43 accName=rcstr(14)>
«element layoutpos=left content=rchmp(108,3,-l,26rp,26rp,0,0)/*
«element id=atom(label) layoutpos=client margin=rect(2rp,0,0,0)/>
«/button*
«/element*
«element id=atom( instruct) layoutpos=right ccntent=rcstr(25) width=325rp/>
</element*
«/element*
«element id=atom(contentcontainerO) layout=flowlayout(1,3,2,3} layoutpos= client content=argb(0,0, 0,0)>
«element id=atam(leftpanel) sheet=styleref(leftpanelss) layoutpos=client>
«/element*
«element id=atom(rightpanel) sheet=styleref(rightpanelss) layout=
borderlayout() layoutpos=left width=920rp>
«element id=atom(divider) layoutpos=left width=lrp/*
«scrollviewer id=atom( scroller) sheet=styleref(scroller) layoutpos= client xscrollable=false margin=rect(Orp,Orp,Orp,Orp)>
«selector id=atom(accountlist) sheet=styleref(accountlistss) layout= vertleal flowlayout(0,3,3,2)/>
< / scr о 11 viewer *
«/element*
«/element*
«/element*
«/logonframe*
It ^!,
«logonaccount resid=accountitem id=atom(accountitem) layout=filllayout() accessible=true accRole=43*
«element id=atom(userpanelayer) 1ayout=borderlayout() height=80rp*
«element id=atom(userpane) layout=borderlayout() layoutpos=top>
«element id=atom(pictureframe) layout=flowlayout(0,2,2) layout- pos=left width=5Brp height=58rp*
«element id=atom(picture) /*
«/element*
«element id=atom{username) layoutpos=top/>
«button id=atom(statusO) class="status" layoutpos=none/>
«button id=atom(status1) class="status" layoutpos=none/*
«/element* 'i-ar,-
</element*
</logonaccount*
«element resid=passwordpanel id=atom(passwordpanelayer)
sheet=sty1eref(passwordpaness) 1ayout=borderlayout() height=в0rp>
«element layout=borderlayout() layoutpos=bottorn*
«edit id-atom(password) layoutpos-left width=163rp/>
«element id-atom(keyboard) layoutpos-left/>
«button id-atom(go) layoutpos-left accessible-true accRole-
43 accName- rcstr(100)/>
«button id-atom(info) layoutpos-left accessible-true accRole=
43 accName- rcstr(13)/>
</elenent>
«element id-atom(instruct) layoutpos-bottom content=rcstr{6)/> «/elements
В листинге 2.3 очень много обращений типа rcstr(xx), где хх — это число. Что это значит? rcstr — это команда, которая берет из ресурсов строку с номером XX и выводит ее на экран Таким образом, можно изменять номера строковых ресурсов. Главное, чтобы в скрипте были исправлены все ссылки на соответствующую строку.
Точно так же, как и на строки, есть ссылки на загрузку картинок. Для этого используется команда rcbmp(Параметры). Параметров много, и не будем на них заострять внимание, скажу только, что первый параметр — это и есть номер картинки (из раздела Bitmap ресурсов), которую надо загрузить.
В данном скрипте немало параметров layoutpos. С его помощью задается выравнивание. Например, следующий блок устанавливает выравнивание кнопок выключения:
// В следующей строке определяется выравнивание кнопки выключения «element layout-borderlayout() layoutpos-left>
Чтобы вам легче было ориентироваться, в листинге 2.3 есть соответствующий комментарий. Здесь этому параметру присвоено значение left (layoutpos-left). Если изменить его на right, то кнопки улетят вправо.
Вы можете без проблем менять в любой строке этот параметр, главное соблюдать "принцип симметричности": left на right и top на bottom (или наоборот). Изменение left на bottom может привести к неразберихе на экране. Таким образом испортить в ОС ничего нельзя, и Windows запустится в любом случае, но именно в загрузчике можно что-либо искалечить, и при старте будет выдаваться ошибка.
Загрузчик в стиле хакеров
В первой главе мы рассмотрели, как создавать загрузчики с помощью специализированных программ. То же самое можно сделать и с помощью программы Restorator. Это не отнимет много времени и сил и не потребует дополнительных финансовых затрат.
Итак, загрузчик находится в файле ntoskrnl.exe, который можно найти в директории Windows\system32\. В принципе, изменить файл вы не сможете, потому что он заблокирован, но это можно сделать в безопасном режиме. Для этого после включения компьютера нажимайте клавишу <F8>, пока не появится меню выбора типа загрузки, где и нужно выбрать безопасный режим. Не делайте этого, потому что неверные действия с файлом убьют Windows и загрузка станет невозможной!!!
Есть способ лучше. Просто делаем копию с другим именем, например, kernell.exe, и именно с ней и будем в дальнейшем работать. Если что-то пойдет не так, то мы всегда сможем загрузиться с родного файла.
Итак, открываем копию файла ntoskrnl.exe (у меня это будет kernell.exe) в программе Restorator. Снова видим множество ресурсов. Нас будет интересовать ресурс под номером 1 в разделе Bitmap. Выделите его. В окне просмотра будет видна только надпись "Bitmap image is not valid". Ничего страшного, это небольшой недостаток программы, но картинка есть (и это действительно картинка). Щелкните по ресурсу правой кнопкой мыши и выберите в появившемся меню Extract/Extract as "l.bmp".
Если вы теперь откроете сохраненный файл с картинкой в любом графическом редакторе, то вас ожидает только черный прямоугольник. Но это только на первый взгляд. Просто для наших целей нужно использовать "более умный" графический редактор.
Самый умный — это Adobe Photoshop, и попробуем открыть изображение с его помощью. И снова вы увидите только черный квадрат. Нажмите меню Image/Mode/Color Table. Перед вами откроется окно для установления таблицы цветов. Выберите в выпадающем списке любой из пунктов и посмотрите на нашу картинку. Черный квадрат превратился в нечто, напоминающее реальный рисунок загрузчика. На рис. 2.18 его изображение показано в таблице цветов System (Windows). Конечно же, окно искажено из-за неправильных цветов, но мы видим его. Вот где собака зарыта!!! Разработчики Microsoft думали спрятать от нас то, что принадлежит народу!!! Оказывается, нужно только использовать правильную таблицу цветов!!!
Хорошие графические пакеты умеют работать с палитрами (цветовые таблицы), которые обычно хранятся в формате PAL. Программа Adobe Photoshop понимает иной формат — ACT.
На компакт-диске, в директории \Chapter2 вы найдете файлы boot.pal и boot.act, с помощью которых можно загрузить нужную таблицу цветов и увидеть рисунок во всей красе.
Для загрузки палитры в программе Adobe Photoshop выберите меню Image/ Mode/Color Table, в появившемся окне нажмите кнопку Load. Затем найдите на диске и откройте файл boot.act. Теперь можете изменять изображение на свое усмотрение.
Рис. 2.18. Рисунок загрузчика в таблице цветов System (Windows)
После редактирования достаточно только поместить картинку опять в первый ресурс, и файл загрузки готов.
Что еще можно отредактировать из ресурсов? Да практически все. Отдельные картинки отображаются нормально, а для некоторых нужно использовать специальную палитру.
Рассмотрим остальные изображения в разделе Bitmap:
2 — надпись, которая отображается при переходе компьютера в спящий режим (очень часто используется на ноутбуках);
3 — сообщение о готовности компьютера к выключению;
4 — бегунок, который перемещается во время загрузки;
5 — логотип, появляющийся при выключении и переходе в спящий режим;
6 — логотип, используемый во время установки Windows;
7 — градиент, который отображается во время установки Windows;
8 и 9 — используются для индикатора загрузки ОС;
10 — рисунок типа ОС-Professional;
11 — рисунок в стиле ОС-Home Edition;
12 — надпись Embedded;
13 — логотип, который появится в центре окна;
14 и 15 — логотип и градиент, используемые при загрузке в безопасном режиме;
17 — рисунок типа ОС-Tablet PC Edition;
18 — надпись Freestyle.
(Замечание )
Во время редактирования изображений лучше не менять их размер и цветовую гамму (см. разд. 2.3.4).
Теперь посмотрим, как установить этот файл и использовать во время загрузки. Для этого копируем отредактированную версию kernell.exe в директорию Windows/System32, затем открываем файл bootini на диске С:. Этот файл может быть невидим и открыт только для чтения. Оба эти атрибута необходимо снять. Чтобы не мучиться с атрибутами, я рекомендую выполнить следующее:
Щелкните правой кнопкой мыши по иконке Мой компьютер и в появившемся меню выберите пункт Properties (Свойства). Перед вами откроется окно System properties (Настройки системы).
Перейдите на вкладку Advanced (Дополнительно). Нажмите кнопку Settings (Параметры) в разделе Startup and Recovery (Загрузка и восстановление).
Найдите надпись "То edit the startup options file manually, click Edit" (Отредактировать список загрузки вручную) и щелкните на кнопке Edit (Правка) справа от этой надписи.
Перед вами откроется текстовый редактор программы Блокнот, в котором может быть примерно следующее содержимое: [boot loader} timeout=0
default=multi(O)disk(O)rdisk(O)partition(11 WINDOWS [operating systems]
multi(0)disk(0}rdisk(0)partition(l)WXNDOWS="Windows XP" /fastdetect
Если у вас на компьютере несколько ОС, то в разделе [operating systems] может быть несколько строк. В каждой строке вначале идут команды, по которым за1рузчик компьютера определяет, где искать ОС. После знака равно, в кавычках следует текст, который вы можете увидеть в меню при загрузке ОС.
Найдите ту строку, которая соответствует нужной версии Windows ХР (для которой вы хотите изменить загрузчик). Сделайте копию этой строки и поменяйте текст в кавычках, чтобы в меню стало два пункта для выбора. Теперь в конце строки нужно добавить пробел и написать следующий текст: /KERNEL=kernell.ехе,
где kernell.exe— имя файла, который вы отредактировали. Таким образом, если при старте выбрать старый пункт меню, то ОС будет загружаться со стандартным загрузчиком, иначе — с вашим отредактированным.
Теперь найдите строку, которая начинается со слова Timeout (чаще всего это вторая строка), и измените число после знака равенства на 30. Это время в секундах для отображения меню и выбора нужного варианта. По истечении этого времени будет использоваться загрузка по умолчанию. Если указать Timeout равным о, то меню не будет отображаться.
Сохраните изменения и перезагрузите компьютер. Наслаждайтесь совершенно новым внешним видом вашего экрана. Он приобрел индивидуальность и стал еще более хакерским.
Примечание
Файл ntoskrnl.exe есть не только в Windows ХР, но и в Windows 2000, и обе версии имеют схожую структуру, а значит, их можно редактировать одинаковыми методами.
Загадочный Shell Style
Еще раз вернемся к темам, которые хранятся в каталоге \Windows\ Resources\Themes. Эту папку мы уже хорошо проштудировали, но здесь остался один файл, который регулярно встречается в различных поддиректориях — shellstyle.dll. Резонный вопрос — зачем он? Самый простой способ получить ответ — это раскрыть его в любом "просмотрщике" ресурсов (например, Restorator).
Я открывал все найденные у себя файлы, и всегда shellstyle.dll имел одну и ту же структуру ресурсов. Самое интересное находится в разделах Bitmap и Html. В первом из них вы можете найти картинки, которые использует Windows Media Player, а во втором — CSS-файлы, которые используются для форматирования HTML-информации, отображаемой в проигрывателе.
Библиотека легко редактируется, и ее можно спокойно переносить на другой компьютер совместно с соответствующим msstyles-файлом.
Как между собой связаны файлы msstyles и shellstyle.dll, я так и не смог понять. Вот то немногое, что я смог обнаружить:
Библиотека shellstyle.dll расположена в поддиректории по отношению к местонахождению соответствующего msstyles-файла. Имена директорий совпадают с цветовыми гаммами данной темы.
Если открыть файл msstyles в "просмотршике" ресурсов, то в разделе TEXTFILE есть интересный пункт THEMES_INI. Щелкните по нему правой кнопкой мыши и в появившемся меню выберите Extract As/Extract As THEMES_INI.res.raw (это если вы используете программу Restorator).
Теперь откройте файл THEMES_INI.res.raw в Блокноте. Я только здесь нашел ссылки на директории с цветовыми гаммами, но никакого указания на файл shellstyle.dll нет.
Видимо, файл shellstyle.dll должен находиться в каждой директории для цветовой гаммы, но его имя нельзя изменять.
В принципе, ничего сверхинтересного в shellstyle.dll-библиотеке нет. Вы можете только немного приукрасить Windows Media Player, но как сделать что-то глобальное, я не нашел. Хотя некоторые картинки из раздела Bitmap достойны внимания. Как редактировать изображения из ресурсов, вы уже знаете, поэтому не буду повторяться.
Рабочий стол под ножом хакера
Основа Рабочего стола Windows — это программа explorer.exe. Она отвечает за вид Рабочего стола, иконки, меню и основные сообщения. Давайте посмотрим, как все это выглядит в самом файле. Для этого в программе Restorator откройте файл explorer.exe, который находится в системной папке \ Windows.
Загляните в раздел Bitmap. Здесь очень много рисунков. Особого внимания заслуживают картинки под номерами 157—169. Это варианты изображения, которое вы можете наблюдать вдоль главного меню после нажатия кнопки Start (Пуск). Посмотрите на свое изображение. Неужели не хочется его изменить? Я поменял, и теперь мое меню выглядит как на рис. 2.19.
Programs
88DocumentsDocumentsSettingsSettingsSearchSearchiiУУyelp end Supportyelp end Support
8
8
Documents
Documents
Settings
Settings
Search
Search
i
i
У
У
yelp end Support
yelp end Support
Sun.Sun.S3 - 'A /.) 1234S3 - 'A /.) 1234
Sun.
Sun.
S3 - 'A /.) 1234
S3 - 'A /.) 1234
5
1 1^1 ShtfDown... l№3 Wti И ” ।
Рис. 2.19. Версия Windows изображения вдоль главного меню кнопки Start
Какой же рисунок редактировать? Ведь в ресурсах их очень много. Просто файл explorer.exe универсальный, и в зависимости от версии Windows (Home Edition. Professional или Server) подставляется одна из картинок.
В Windows ХР под номерами 170 и 171 хранятся рисунки предварительного просмотра стиля стартового меню. Щелкните правой кнопкой мыши по кнопке Start (Пуск) и в появившемся меню выберите пункт Properties (Свойства). В этом окне на вкладке Start menu (Меню "Пуск") можно увидеть эти рисунки. Честно сказать, смотрятся они посредственно. Лучше сделать что-нибудь более интересное. Я, например, поставил веселую картинку, как показано на рис. 2.20.
Рис. 2.20. Окно настройки стартового меню
Ресурсы под номерами от 145 до 153 — это тоже рисунки предварительного просмотра панели задач в различных состояниях. Помимо этого, есть картинки всевозможных логотипов, которые также должны быть подвержены жестокому изменению.
В разделе Menu ресурсов можно найти разнообразные меню, которые появляются в ответ на щелчок правой кнопкой мыши в различных местах панели
задач (кнопка Start (Пуск), системная область, кнопка программы и т. д.). Здесь рекомендуется изменить названия меню и сделать их соответствующими вашему стилю. Например, для пункта меню Свернуть все окна можно задать текст "Пошли вон", "Брысь отсюда" и т. д. Меняйте только текст, но не номера пунктов меню. Можно изменить и последовательность команд, поменяв строчки местами.
В разделе Dialogs спрятались все диалоговые окна, которые отображаются для настройки панели задач и кнопки Start (Пуск). Тут можно добавить свои иконки, изменить текст, спрятать то, что ненужно, или поменять местами компоненты на свой вкус. Например, в ресурсе под номером 205 находится диалоговое окно, показанное на рис. 2.20. А теперь взгляните на рис. 2.21, и вы увидите, что можно сделать с этим окном за пять минут. А я всего лишь добавил одну иконку, текст с копирайтом и изменил расположение всех элементов управления.
Рис. 2.21. Окно настройки стартового меню после моего вмешательства
В разделе String хранятся текстовые строки различных заголовков окон и системных сообщений. Конечно же, сообщения нужно изменить. Их можно сделать более жестокими или смешными, все зависит от ваших пристрастий.
Я больше люблю повеселиться. Например, вместо сообщения "Windows запущен в защищенном режиме" напишите "Windows запушен в антиглючном режиме" или "Глюк запущен в Windows-режиме". Таких сообщений можно сделать невероятное множество.
В разделе Accelerators находятся сочетания клавиш для быстрого вызова различных команд (например, переключение между окнами или вызов окна свойств объекта). Если вас не устраивают стандартные комбинации, то их без проблем можно заменить на что-то другое.
В разделе Icon хранятся основные иконки системы, которые можно встретить чуть ли не на каждом шагу. Именно отсюда берется изображение Корзины, Моего компьютера, Принтера, Документов и т. д.
(Замечание }
После сохранения изменений не спешите закрывать программу Restorator. Подождите секунду, пока не появится системное окно, предупреждающее о нарушении важного файла. Если окно не показалось, то попробуйте выполнить любое действие, активизирующее программу Restorator. Когда откроется окно с просьбой восстановить файл explorer.exe, откажитесь, иначе ваши изменения не будут приняты.
После сохранения файла сделайте его копию в другой директории. В отдельных случаях ОС может заняться восстановлением важных файлов и из резервной копии воссоздаст первоначальную версию explorer.exe. Если это произойдет, то не придется редактировать файл заново, а достаточно будет его только перезаписать из резервной копии.
Файл explorer.exe очень важен для системы, и его ресурсы мы видим каждый день, поэтому редактирование может привести к значительным изменениям в интерфейсе. В следующей главе мы узнаем, как можно с помощью редактирования explorer.exe подшутить над ближним.
Примечание
Изменения вступят в силу только после перезагрузки системы.
Оболочка ХР
Следующий файл, который мы будет редактировать, — shell32.dll. Это файл оболочки, в котором еще больше интересных ресурсов, которые пользователь видит каждый день. Файл shell32.dll находится в папке Windows\System32 (для NT систем — это WinNt\System32). Откройте этот файл в программе Restorator, и сразу же увидите множество разделов. Рассмотрим каждый из них в отдельности и взглянем, что там есть интересного.
AVI
В этом разделе находятся видеоклипы в формате AVI. Анимацию из них можно увидеть во время поиска файлов и компьютеров в сетевом окружении, в момент удаления или копирования файлов. AVI-файлы легко редактируются, но при наличии графических программ, которые стоят достаточно дорого. Поэтому я использую CyD Animation Studio или GIF Studio Pro (www.cydsoft.com). Эти программы вы найдете на компакт-диске, в директории \Soft. Оба пакета предназначены для работы с GIF-файлами, но умеют читать и сохранять и AV1, Это значит, что вы можете превратить в AVI любую GIF-анимацию, найденную в Интернете.
Единственный недостаток — не сохраняется цвет прозрачности. Но нежелательный фон легко изменить и сделать более привлекательным, тогда он впишется в любое окно. Например, можно нарисовать каждому фрейму красивую рамочку.
Если для редактирования видеофайлов вы будете использовать другую программу, то при сохранении ни в коем случае не используйте режим сжатия, потому что система не работает с такими файлами и при воспроизведении не использует кодеки. В крайнем случае, можно попробовать установить Microsoft RLE.
Картинки
В разделе Bitmap снова множество картинок. Тут и изображения кнопок для панели задач и обозревателя (ресурсы 204—228), и анимационная картинка логотипа в обозревателе (ресурсы 240—247), которую мы научились менять через реестр в гл. 7, помимо этого масса фоновых рисунков для различных окон Windows. Советую обратить внимание на рисунок 14351 — фон окна, которое вы видите при закрытии ОС Windows ХР.
Не каждая версия Windows использует все картинки. Например, в Windows 2000 нет ресурса 14351, потому что для выхода из системы используется простое окно (без рисунка).
Меню
В разделе Menu можно увидеть различные меню. Например, под номером 197 находится всплывающеее меню, которое появляется после перетаскивания файла правой кнопкой мыши. В нем четыре пункта, которые можно подменить:
Copy here (Копировать) — "Клонировать";
Move Неге (Переместить) — "Бегом сюда";
Create Shortcut Неге (Создать ярлык) — "Запомнить ссылочку";
Cancel (Отмена) — "Я передумал" или "Да ну его".
Таким образом, можно откорректировать все основные меню, которые пользователь видит при работе, например, в Проводнике.
Диалоги
В разделе Dialog находятся все диалоговые окна, которые видны при работе с Windows. Например, под номером 1003 находится окно, которое появляется при выборе меню Start/Run (Пуск/Выполнить). Диалоговых окон просто громадное количество, и редактировать есть что.
Очень часто в качестве текста в различных элементах управления используются специальные символы. Они начинаются со знака "%", после которого идет буква (чаще всего з). Такие символы в реальной жизни будут подменяться на что-то другое. Например, в текстовом заголовке "&Current user (%s)" комбинация "%" и буквы "s" как раз указывают на ключ, который в окне будет заменяться на имя пользователя.
Строки
В разделе String как всегда множество строк, и снова я покажу, в какую сторону двигаться, чтобы улучшить их. Откроем ресурс под номером 5. Здесь есть сообщение под номером 65, которое выглядит следующим образом: "Аге you sure you want to delete it?" (Вы действительно хотите удалить это?). Звучит как-то по-детски. Не лучше ли заменить это уведомление на нечто типа "Стиратель готов к работе, начать рециркуляцию?".
Все сообщения, которые вы найдете в этом разделе, можно увидеть, работая в Проводнике, при выполнении операций копирования/удаления файлов и др. Если вы не установили файловый менеджер (типа Windows Commander), а пользуетесь средствами Windows, то с этими сообщениями вы встречаетесь каждый день, и стоит их сделать выразительнее.
Иконки
Уже понятно, что находится в разделе Icon. Иконки вы можете увидеть у ярлычков в Проводнике, Панели управления или окне Мон компьютер. В Windows ХР они достаточно красивые и вписываются в тему, но если вы установили StyleXP и тему в манере Мас или Linux, то вполне логичным будет поменять все иконки и сделать их в таком же стиле. Тогда система будет полностью гармоничной.
Лично мне больше по душе стиль, используемый в компьютерах Apple, и Windows я тоже превратил в подобие Mac OS X. Я знаю людей, которые чаще работают в Linux и делают все, чтобы не забывать о своей любви, даже когда работают в Windows.
Как видите, полный тюнинг системы возможен только при ручном редактировании ресурсов основных системных файлов.
Памятка
С помощью редакторов ресурсов можно не только украшать программы. Некоторые хакеры с их помощью занимаются локализацией программ на различные языки и по слухам неплохо зарабатывают. Хотя с чего тут зарабатывать, когда этот софт становится пиратским. От такой работы только удобство для пользователя, а для фирмы производителя — убытки.
Лично я редактирую ресурсы только для собственного использования и не распространяю свои работы в Интернете (и не собираюсь этого делать!).
Помните, что когда вы вмешиваетесь в ресурсы, вы модифицируете запускаемый файл. Иногда даже незначительные изменения могут нарушить работу всей программы и повлиять на ее стабильность. Именно поэтому всегда нужно делать резервную копию исполняемого файла. Программа Restorator, которую мы рассматривали в этой главе, делает это автоматически. Но не стоит надеяться на компьютер, и перед каждым редактированием нужно делать собственную копию.
Я также напоминаю, что изменение запускаемого файла может привести к нарушению лицензионного соглашения, а это грозит тем, что фирма не будет производить поддержку измененного продукта. В некоторых странах невыполнение условий такого договора может приводить к более печальным последствиям (зависит от степени нарушения).
Но надо иметь в виду тот факт, что производитель не может учесть потребности всех, поэтому эти нужды усредняются. Мы же можем для себя решить некоторые проблемы юзабилити с помощью редактирования ресурсов любимой программы.
Глава 3
Шутки над друзьями
Шуточки являются одним из способов самовыражения. С их помощью можно не только показать свое превосходство, но и просто отдохнуть или развеселить коллег. Лично я очень люблю хорошие компьютерные остроты и с удовольствием могу позабавиться над друзьями.
Сразу хочу предупредить, что в моем понимании ради шутки можно затормаживать работу компьютера, временно запрещать запуск, организовать циклическую его перезагрузку и т. д. Нельзя только уничтожать информацию, ломать компьютер или окончательно выводить его из строя без возможности восстановления. Это уже не только не потешно, но и подло.
Самые лучшие шутки — это те, которые вызывают улыбки и смех, но и их нужно пробовать на опытных специалистах. Шутить над неуверенными и мало знающими пользователями не очень этично.
В некоторых моих шутках, с точки зрения отдельных читателей, может усматриваться небольшое хулиганство. Это как кино, кому-то нравятся семейные комедии Диснея, а кто-то любит черный юмор с убийствами и кровью. Угодить всем невозможно.
Я старался описать компьютерные шутки, которые работают на грани легкого хулиганства и тонкого английского юмора, удовлетворяющие определенным критериям:
не несут физического разрушения;
правильно будут восприняты большинством читателей и людьми, над которыми вы пошутите, ведь любителей хорошего и доброго юмора большинство;
подходят моему доброму и пушистому характеру :).
Некоторые эксперименты достаточно опасны с точки зрения стабильности работы железа, и эта информация дается только в познавательных целях. Не применяйте приведенные способы на практике, если не имеете достаточного опыта и не уверены в своих силах.
Внимание!!! Если будет описываться нечтр, требующее вскрытия системного блока, то не забудьте выключить компьютер. Компоненты компьютера находятся под напряжением, и это может быть опасно для вашей жизни.
Шутки с мышкой
Для начала классическая и одна из самых любимых моих шуток. Спрячьте куда-нибудь подсоединенную к компьютеру мышь (не отсоединяя ее). Если используется компьютерный стол, то можно закинуть за него и спрятать провод. Теперь на это место кладем другую (бутафорию), а провод тоже забрасываем за стол, чтобы создать впечатление, что устройство включено в компьютер. Главное, чтобы мыши были похожи. Когда жертва сядет за компьютер, то схватится за бутафорскую мышь, и будет думать, что она не работает. Разгадать проблему очень сложно, потому что компьютер не ругается (мышь-то подключена), и если взглянуть на корпус сзади, то в разъеме будет торчать штекер.
Точно также можно поступить и с клавиатурой, только ее спрятать труднее. Если положить ее за компьютер, то подмена быстро раскроется.
Еще одним вариантом может стать мышь без шарика. Просто вытащите его из мыши, и она перестанет работать. Когда пользователь начнет ее дергать, то не сразу догадается, что она пустая. Профессионалы тотчас замечают, что мышь стала слишком легкой (вес шарика составляет почти половину веса всей мыши), и раскроют эту шутку. Торопитесь, эту уловку' провернуть становится все сложней, потому что шарики заменяются оптикой.
Но оптика тоже имеет свои недостатки. Переверните оптическую мышь, и вы увидите посередине углубление с линзой. Самый простой способ — заклеить линзу чем-то тонким и непрозрачным (например, цветной скотч). Мышь перестает работать, а по моим наблюдениям на линзу обращают внимание в последнюю очередь.
Если у вас есть двусторонний скотч, то можно приклеить мышь к столу или коврику. Конечно, такая шутка раскроется быстро, но эффект от нее не меньше. Ваши коллеги или друзья с хорошим чувством юмора должны оценить это по достоинству.
Сейчас очень распространены ATX-корпуса с PS/2-разъемами для мыши и клавиатуры. Эти разъемы идентичны, поэтому поменять местами штекеры не составляет труда. Не волнуйтесь, от их перемещения ничего не сгорит, в современных компьютерах стоят отличные материнские платы, и в них эти манипуляции можно проводить даже при включенном компьютере. В этом случае не будет работать ни клавиатура, ни мышь, и в то же время все подключено.
Я проверял горячую замену на материнских платах Asus, Abit, Gigabyte, и проблем не было. Единственное, когда вы возвращаете штекеры в нор-
мальное положение при включенном компьютере, клавиатура начинает работать сразу, а мышь может проснуться только после перезагрузки. Это уже зависит не только от материнской платы, но и от типа и версии ОС.
Вот еше один вариант. В настройках системы установите мышь для левши. Для этого запустите оснастку ее свойств (Start/Control Panel/Mouse или Пуск/Панель управления/Мышь). Перед вами откроется окно конфигурирования параметров мыши (рис. 3.1). Выделите здесь пункт Switch primary and secondary buttons (Обменять назначение кнопок). Теперь левая кнопка будет выполнять функции правой и наоборот. Это достаточно простая шутка, которая сработает только над начинающими.
Рис. 3.1. Настройки параметров мыши
В настройках мыши можно еще установить флажок Double-click speed (Скорость выполнения двойного щелчка) в максимально возможное положение Fast (Выше). Это потребует от пользователя хорошей реакции. Когда я передвинул в это положение ползунок на своем компьютере, то, как бы быстро я не нажимал, мне не удалось сделать двойной клик.
Железные шутки
Следующие "шалости" требуют вмешательства в железо компьютера. В связи с этим для реализации описанных здесь приемов понадобится свободный доступ к компьютеру и возможность открытия крышки, поэтому удобнее дождаться, когда друзья выйдут в другую комнату или прийти на работу раньше всех. Конечно же, вам еще понадобятся знания компьютера.
Смерть видео
Для разминки раскрутите корпус компьютера. Теперь чуть-чуть открутите винтик от видеокарты, немного приподнимите ее из разъема и закройте корпус. Вытаскивать нужно совсем чуть-чуть. Достаточно, чтобы карта хотя бы с одной стороны выглядывала на миллиметр или два. На первый взгляд, все на месте, а компьютер загрузиться не сможет. При старте будут раздаваться только звуковые сигналы и никаких движений.
Если вы не знаете, где находится видеокарта, то эту плату легко определить, достаточно посмотреть, к чему подключен монитор.
Самое главное в этой шутке, что неисправность сможет определить только человек, очень хорошо знающий значения сигналов установленной материнской платы. Остальные будут искать проблему очень долго, потому что все на месте, а такой маленький перекос определить сразу сложно. .
Чтобы пощекотать нервишки даже профессионалу, можно отключить РС- Speaker, через который идет звук. Это маленький динамик, расположенный внутри компьютера. Очень часто он прикреплен к днищу системного блока или внизу передней панели. Лично я всегда в своем компьютере выдергиваю из этого динамика провода, чтобы он не доставал свойственными ему неприятными звуками. Для нормального озвучивания существует audio-карта и обычные колонки, правда такая "внесенная"ошибка через звуковую карту не сообщается.
Девичья память
Есть некоторые материнские платы, которые содержат 3 слота памяти. Третий из них может не работать с двусторонними модулями. Если это так и в компьютере только одна "таблетка" (такое бывает в старых моделях), го можно перекинуть ее в этот разъем. Я не думаю, что хозяин знает их нумерацию и вспомнит об этой особенности.
На современных платах может быть 4 слота, и устанавливают четное количество линеек памяти (2 или 4). Если их две, то очень часто требуется, чтобы "таблетки" обязательно находились в первых двух слотах. Если в компьютере только две линейки памяти, то можно их перекинуть из 1 и 2 разъемов в два другие.
При неправильном подключении памяти компьютер повредить нельзя, но работать он не будет. А для нас главное, чтобы найти причину было непросто.
ATX — не защита
Я регулярно соревнуюсь со своим начальником и его заместителем, потому что у них хорошее чувство юмора. У обоих компьютеры с АТХ-корпусами, в которых сзади есть специальные ушки для установки замка. Однажды заместитель начальника надел на эти ушки винтик, закрутил гайкой и сбил резьбу (ну не было под рукой замка). Но он забыл, что бывают модели корпусов ATX, у которых без проблем снимается верхняя крышка и передняя панель, и их заблокировать нельзя. Я снял кожух, одну боковую стенку (вторая закрыта на винт) и переднюю панель. В его компьютере три пятидюймовых отсека. В верхнем стоит CD-ROM, а через остальные два видно все внутренности. Я залез туда рукой и на ощупь отключил питание с флоппи диска. Вскоре после этого я из мусорного я шика вытащил целую пачку дискет, потому что заместитель начальника думал, что они испорчены, а реально не работал дисковод. Помимо этого, я получил благодарность от соратников по работе за сообразительность и лишился премии за наглость :).
Чуть отключим
Можно вытащить с материнской платы батарейку. Компьютер-то работать будет, а вот все настройки и время будут сбрасываться после каждого выключения. Первые два дня пользователь будет вспоминать "добрыми словами" всех своих родственников :), пока не поменяет заветную батарейку в системном блоке.
Переходим к следующему приколу. Совсем чуть-чуть выдвигаем разъем из монитора. Компьютер работоспособный, но откликаться ни на что не хочет.
Вообще, существует много мест, где можно приложить свои шаловливые ручки. Очень удобно вытаскивать вилку питания из принтера. Гнездо там глубокое, поэтому после извлечения нужно просто приставить его к розетке. Вроде все нормально, но не работает. .
Но только не советую слишком увлекаться экспериментами с проводами питания. Если между контактами проскочит искра, то может выгореть компьютер и устройство, которое вы отключили, но не убрали кабель (например, тот же монитор).
Если у вас появился полный доступ к внутренностям компьютера жертвы, то тут шутки приобретают совершенно иной размах. Вы можете поменять местами на материнской плате колодки кнопок Reset и включения пиния. Таким образом, даже сообразительный человек не с первого нажатия сможет догадаться, в чем проблема, и почему компьютер не запускается по кнопке Power On.
Отключить можно все, начиная от дисководов и приводов CD-ROM, и заканчивая вентилятором на процессоре. Мне больше всего нравится последнее, потому что если на материнской плате стоит процессор Intel, то он через некоторое время после запуска просто останавливается при перегреве процессора. В этот момент происходит эффект зависания, или компьютер может вообще выключиться.
Если вы не уверены в железе жертвы, то не советую играть с охлаждением, потому что можно что-то спалить (некоторые модели процессоров AMD не отключались и сгорали). В этом случае под глазами могут проявиться синяки, а также возможно сотрясение мозга :).
Монитор
У некоторых мониторов яркость убирается полностью и остается черный экран. К таким моделям относится мой любимый LG FLATRON 795FT. Если убрать яркость, то монитор по всем признакам работает, но информация не отображается. Это единственная шутка, на которою я попался и долгое время не смог понять, в чем дело. Я прыгал вокруг компьютера, колдовал, проверял кабели, но все работало, а изображения не было. Воспроизводилось только меню монитора, но мне даже в голову не пришло проверить яркость и контрастность ®.
Наконец мой обидчик не выдержал и с диким смехом показал на кнопки управления параметрами монитора. После этого я несколько дней подряд жестоко мстил за себя, потому что так меня еще никто не смог провести.
Могу еще посоветовать положить магнит позади монитора, чтобы его не было видно. В этом случае он будет давать страшные наводки, и глаза моментально будут уставать. Жертва будет ругаться и плеваться на производителя, но никто из моих подопытных кроликов не догадался о причинах происходящего. По помни, что не всякий магнит оказывает такое воздействие и не каждый монитор на них реагирует. Я не электроншик и объяснить это не могу.
Если магнит не будет найден, то выташите его сами, иначе человек может испортить зрение, а это уже не смешно. Со здоровьем шутить нельзя, поэтому данную процедуру нужно проводить кратковременно, да и эффект от этого будет больше.
Бояться этого метода тоже не стоит. Для того чтобы магнит испортил зрение, он должен пролежать очень долго, а пользователь вынужден по 8 часов проводить за компьютером, не отходя на перекуры и обеды. Например, у меня на работе при включении большого кондиционера (более- 2 метров длиной, мощность не знаю) на монитор идут наводки, и он постоянно дергается, как от магнита. И так я работаю все лето уже в течение двух лет. Без кондиционера нельзя, потому что жара в моих широтах достаточно сильная, и с ним невозможно.
И все же со здоровьем лучше не шутить, поэтому не держите магнит более получаса. Если жертва не заметит мерцания, то нет смысла продолжать эксперимент. Лучше вытащить магнит и честно признаться. А если мерцание появится и жертва начнет волноваться и веселить народ поисками о неисправности, то все равно важно вовремя остановиться.
Турбовентилятор
Как же многих раздражает громкий вентилятор! Видимо, эти люди не встречались со мной. Сейчас шутки с вентилятором самые мои любимые. Недавно мне подкинули свежую идею, в которую я влюбился до кончиков ногтей :).
Найдите где-нибудь пластмассовую линейку и отломите от нее несколько маленьких кусочков. Потом забросьте их в вентилятор блока питания и ждите, когда жертва включит компьютер. Грохот будет стоять такой, что глаза от страха могут вылезти на лоб :). Но если гула не будет, то срочно выключайте компьютер. Возможно, что вентилятор просто заклинило, и тогда блок питания может сгореть, а нам этого допускать нельзя. Мы шутники, а не злодеи какие-то. Именно поэтому старайтесь не переборщить с запчастями, которые подкидываете в вентилятор. Как потом все удалить? Большинство запчастей вылетает само. Но будьте снисходительны к пострадавшему, помогите аккуратно вытащить остатки пинцетом.
Когда я протестировал этот прием над своим приятелем, то он сначала испугался, потом долго смеялся, а вслед за тем так возбудился, что повесил на решетку от вентилятора полоски туалетной бумаги и тонкой фольги от шоколада. Теперь вентилятор дует на всю эту гирлянду, и за системным блоком стоит сумасшедший гул, а он наслаждается этими звуками. Вроде как мелодии какие-то слышит :). Вот сижу и думаю, может записать его завтра на прием к психиатру?
В принципе, бумагу и фольгу можно использовать и ради шутки. Когда человек не знает, что к сетке, за которой прячется пропеллер, прикручена фольга, и услышит шум, то он может сильно удивиться.
Суперскотч
На старой работе перед самым увольнением я написал программу, которая печатала на этикеточном принтере баркоды, PDF-коды и информацию о товаре. Принтер должен был распечатывать все эти данные на самоклеящихся этикетках, которые операторы потом прикрепляли на коробки с продукцией.
К чему это я? А к тому, что такая этикетка-самоклейка прилипает к чему угодно, да так, что отодрать ее проблематично. Сначала мы склеивали ящики в столах, чтобы они не открывались. Потом занялись розетками и, в конце концов, — компьютерами. Тут первой досталось кнопке старта ком-
пьютера, ее заклеивали двойным и тройным слоем. Следом — все дисководы, приводы CD-ROM и разъемы системного блока (USB, LPT и т. д.).
Если нет самоклеящейся этикетки, то можно воспользоваться скотчем. Так я одному парнишке уже на новой работе весь системный блок обмотал скотчем. Пришлось употребить всю упаковку. Как он маялся, когда разматывал все это :). Мои же мучения стоили того, чтобы увидеть, как освобождают системный блок от рулона скотча. Самое интересное, — если под рукой нет ножниц и ленту нельзя срезать...
Но больше всего мне понравилось заклеивать дисководы. Это нужно делать аккуратно, чтобы вашу работу не было видно. Если скотч прозрачный, то он незаметен и дисковод кажется пустым, но при этом вставить туда дискету проблематично.
Мультикнопочник
У меня на компьютере три кнопки Пуск и четыре кнопки Reset :). Зачем столько и откуда они взялись? Все очень просто. Только одна из них рабочая, а все остальные — это просто рисунок, распечатанный на бумаге и аккуратно наклеенный на системный блок. Я-то знаю, какая кнопка настоящая, а все остальные, кто пытается включить компьютер, впадают в панику или начинают нажимать на все подряд.
При реализации данной шутки главное, чтобы изображение было хорошего качества. Рисунок может не соответствовать подлинному образцу, и кнопка может иметь другую конфигурацию. Можно обклеить компьютер картинками из кнопок разных форм.
Чуть позже я пошел еще дальше. На работе у меня кнопка пустая, потому что сам выключатель я снял и вывел на проводах сбоку от компьютера. Тот, кто не знает, начинает тыкать в кнопку Пуск, а компьютер не запускается. Таким образом, я не только прикалываюсь над другими, но и защищаюсь, потому что чужой человек не сможет включить без меня компьютер. И нечего им лазать по моим файлам, это моя приватность.
Сетевые шутки
Так как мы с заместителем начальника отдела находимся на большом расстоянии друг от друга (в разных зданиях), то он постоянно звонит мне, чтобы загрузить своей очередной проблемой, связанной с программированием на Visual C++.
Телефон стоит не на моем столе, и чтобы постоянно не вставать, я показал ему, как пользоваться командой net send (отправлять сообщения по сети). Если вы не в курсе, то объясняю. Для отправки сообщения нужно написать так:
NET SEND Адрес Текст сообщения
Выполняете эту директиву в любой командной строке, и у адресата появляется окно с текстом вашего сообщения. Это работает только в NT-системах (Windows NT/20O0/XP/2O03), но сейчас в большинстве сетей это не проблема, т. к. Windows 98 редко используется для организации совместного доступа. Итак, не проходит и недели, как меня ученик забросал такими сообщениями. Вы не представляете, как меня бесит, когда во время войны с очередным монсгром появляется окно с вопросом, а игра сворачивается. Недолго думая, я написал небольшую программу на Delphi. На форме у меня была только одна кнопка, по нажатию которой выполнялся следующий код: var
i:Integer;
begin
for i:=0 to 10 do
begin
WinExecl'NET SEND 10.1.1.15 Ты будешь страдать каждый день', SW_SHOW};
sleep{100);
end;
end;
Аналогичный код на C++ выглядит следующим образом: for (int i=0; i<10; i++)
WinExec("NET SEND 192.168.1.121 You will be cry by me", SW_SHOW);
Sleep(1000};
)
В примере на C++ запускается цикл из 10 шагов, в котором с перерывом в 1000 миллисекунд отправляется сообщение на адрес 192.168.1.121. Если убрать строку с задержкой, то экран бедной жертвы засыплет сообщениями так, что он не сможет работать. Хотя и без этого достаточно. А можно смастерить код еще злее — сделать цикл бесконечным, тогда прервать программу можно будет только через снятие задачи.
Вы можете написать что-то подобное на любом языке программирования, на это много времени не потребуется. В принципе, можно создать даже командный файл. Тут все уже зависит от ваших знаний и умений.
Если вас начали бомбить сообщениями, то первое, что я советую сделать —- выдернуть сетевой шнур из системного блока. Только не тот, что дает вашему компьютеру 220 вольт, а тот, что связывает его с сетью. После этого нажмите Start/Control Panel/Administrative tools/Services (Пуск/Панель управления/ Администрирование/ Сервисы). Перед вами откроется окно настройки сервисов (см. рис. 3.2).
Рис. 3.2. Окно просмотра установленных сервисов
Найдите сервис Messenger, дважды щелкните по соответствующей строке, и вы увидите окно свойств службы (рис. 3.3). Здесь нужно нажать кнопку Stop (Стоп) чтобы остановить сервис, и потом в выпадающем списке Startup type (Тип запуска) выбрать Disabled (Отключено), чтобы служба сообщений не запускалась при загрузке системы.
Возвращайте сеть в исходное состояние и работайте дальше. Компьютер обидчика будет швырять сообщения, а ваш — станет просто отбрасывать их. Так что отправитель только зря будет тормозить свой компьютер.
Вывод из этой шутки один — сервис Messenger от Microsoft как всегда не защищен и принимает все, что к нему приходит. Необходимая защита не появилась даже в Windows Server 2003. Если на вас начали атаку, то приходится отключать сервис и отказываться от удобного средства общения.
Если в вашей сети на компьютерах установлены принтеры, а администраторы полные "чайники", то можно поиграть и с этими устройствами. По умолчанию любой локальный принтер становится доступным по сети, и это
делает его хорошей мишенью для шутки. Зайдите через сетевое окружение на компьютер жертвы и дважды щелкните по его принтеру. Он установится в вашу систему, и вы сможете без проблем пользоваться им. Только не надо отправлять на него картинки или текст, потому что этим вы сразу же выдадите сетевое происхождение напечатанного документа. Пользователь может зайти в Диспетчер печати и успеть увидеть источник задания. Уж лучше каждые пятнадцать минут направляйте на печать пустую страницу, которая обработается достаточно быстро и незаметно. Вот этим вы заставите пользователя задуматься о неисправности принтера или драйвера. Повторяйте эту операцию, пока пострадавший не догадается или вам не надоест смеяться.
Рис. 3.3. Окно свойств сервиса
Как видите, очевидные варианты — не всегда самые прикольные. Иногда лучше немного подумать и сделать что-то действительно оригинальное, и при этом не выдать себя, иначе можно открыть войну. Вам тоже могут отомстить и начать подшучивать над вашим компьютером.
Классической шуткой в сети является отправка сообщений от другого лица, например, через команду net send.
Допустим, что вы работаете в небольшом офисе и хотите послать своему коллеге информацию от имени начальника. В этом случае необходимо, чтобы его компьютер был выключен (или хотя бы не находился в сети). Для этого есть три варианта:
временно выдернуть сетевой шнур из компьютера босса. Но если в этот момент шефу что-нибудь понадобится и он узнает, кто нарушил связь, то у вас могут возникнуть проблемы с получением очередной премии;
проследить, когда патрон будет перезагружать или выключит на время компьютер. Для этого можно воспользоваться программой CyD Careful Observer (www.cydsoft.com), которая может наблюдать за компьютерами в сети, и при потере связи выдавать сообщения;
самый опасный метод — сменить IP-адрес вашего компьютера на такой же, как у начальника. Это вызовет конфликт, и оба компьютера могут быть выведены из сети. Подождите некоторое время. Шеф скорее всего начнет перезагрузку, чтобы разрешить ситуацию. Как только это произойдет, немедля еще раз поменяйте свой адрес на его.
Если вы добились временного выхода начальства из сети, нужно подменить имя своего компьютера. Для этого щелкните правой кнопкой по иконке Му Computer (Мой компьютер) и выберите пункт Properties (Свойства). Перейдите на вкладку Computer Name (Сетевая идентификация) и щелкните по кнопке Change (Свойства). Здесь замените имя компьютера и нажмите ОК.
Теперь, пока шеф перезагружается и отсутствует в сети, у вас есть возможность от его имени отправлять сообщения. Можно послать что-то типа "Зайди ко мне" или "Ты уволен". Получатель будет думать, что это руководитель шлет сообщения, и, как минимум, испугается.
Помните, что у вас в распоряжении не так уж много времени. Перезагрузка Windows идет примерно 3 минуты (или чуть больше). Как только вы отправили сообщение, сразу верните исходные имя компьютера и IP-адрес, т. к. компьютер начальства после перезагрузки снова может выдать ошибку из-за этих параметров, и тогда администраторы сети начнут искать конфликт и выйдут на вас.
Если в сети используется электронная почта, то задача упрощается. В разд. 5.5 мы будем рассматривать, как отправлять анонимные сообщения или письма от чужого имени, и я уверен, что коллеги поверят. Текст сообщения зависит от конкретной ситуации.
Когда подшучиваете с помощью сообщений, то выбирайте в качестве жертв людей с хорошим чувством юмора. Это поможет вам избежать лишних проблем и ссадин :).
Софт-шутки
В этом разделе мы рассмотрим шутки над ОС Windows. Они наиболее простые в реализации, а эффект не менее интересный, чем от тех, что мы рассматривали ранее.
Искусственное зависание
Давайте сделаем копию Рабочего стола вместе с иконками и панелью, но без запушенных программ (клавиша <Print Screen>). Потом в любом графическом редакторе выполните вставку из буфера обмена и сохраните копию экрана в BMP-файл. Теперь уберите с Рабочего стола все иконки и спрячьте панель с кнопкой Пуск, чтобы ничего не осталось. Далее нужно установить в качестве фона сохраненную вами копию экрана. Даже профессионалы клевали на эту бутафорию. Интересно наблюдать, когда жертва пытается щелкнуть в иконку или кнопку Пуск, а ничего не происходит, потому что он тыкает в обои, а реальные ярлыки и панель спрятаны за пределами экрана.
Ярлычки
Я очень люблю приписывать ярлыкам совершенно другие программы. Для этого щелкните правой кнопкой мыши по ярлыку и в появившемся меню выберите пункт Properties (Свойства). Перейдите на вкладку Shortcut (Ярлык) и измените содержимое поля Target (Объект), указав здесь путь к другой программе. Лучше всего поменять местами значения этого свойства в двух разных ярлыках.
Тут главное быть внимательным и не поменять иконку, потому что она может автоматически измениться на ту, что используется в указанной вами программе. Если это произошло, то вернитесь в свойства ярлыка и нажмите кнопку Change Icon (Сменить значок). Появится окно открытия файла. Найдите запускаемый файл программы, которая была до вашего вмешательства. ОС возьмет из нее иконку.
Таким простым способом можно по выбору значка Microsoft Word запускать, например, Калькулятор или Блокнот. Чаще всего пользователями овладевает недоумение, и только с пятого перезапуска они догадываются, что их обманули.
Мусор на Рабочем столе
Мой начальник постоянно держит все ссылки на документы, файлы и программы на Рабочем столе. Когда так У?'- нет места н негде бросить очередной файл, скачанный с Интернета, он переустанавливает Windows. Получается, что загромождение Рабочего стола является для него индикатором
времени для переустановки ОС. Хороший показатель, не правда ли? Я бы до такого не догадался никогда.
Но это не единственный его недостаток. Он всегда и везде ставит простейший пароль —11. Видимо, боится забыть. Недавно он усложнил нам задачу и начал устанавливать другой пароль — 1111. Его интеллектуальный уровень вырос, и он смог запомнить, что цифра повторяется четыре раза :).
Благодаря знанию пароля администратора легко пробраться на компьютер и сделать с ним все, что угодно. Еще во времена Windows 98 шеф часто оставлял открытым диск С:, и тогда мы веселились через сеть по полной программе. Если у вас есть пароль администратора для чужого компьютера, но при этом в сетевом окружении не видно диска С:, то это дело поправимо.
Наберите в строке адреса окна сетевого окружения следующий путь: \\Компьютер\с$
Здесь вместо параметра Компьютер нужно указать имя или IP-адрес компьютера жертвы. Если пока нет прав доступа к диску, то перед вами может появиться окно для ввода имени пользователя и пароля. Укажите данные администратора, и весь диск окажется для вас полностью доступным.
Итак, получив доступ к диску, мы копировали по сети на его Рабочий стол (папка C:\Windows\Desktop для Windows 9х или C:\Documents and Settings\ All Users\Desktop для Windows 2000/XP) кучу маленьких файлов, ссылок и документов. Попробуйте и вы проделать это с кем-нибудь. Интересно наблюдать за человеком, у которого прямо на глазах на Рабочем столе появляется разный мусор.
Если нет доступа к компьютеру по сети, но вы можете воспользоваться его клавиатурой (в перерыв или пока хозяин куда-то вышел), то можно, заранее подготовившись, пойти другим путем.
Создайте на Рабочем столе файл с каким-либо заманчивым названием и расширением bat. В этот файл необходимо поместить следующий код: md hi md format md c md delete
Потом в свойствах ярлыка укажите какую-нибудь заманчивую иконку' и прячьтесь в ожидании жертвы.
Если вы сделали все очень привлекательным, то он запустит файл, и на Рабочем столе появится множество бесполезных папок. А главное, что названия у них будут format, с, delete. Шок — это по-нашему!!!
Смерть Windows 9х
Год назад я поменял работу и стал системным администратором. Просто надоело вкалывать программистом, и нужна была работа со свободным графиком, где можно было бы писать программы для себя и сочинять новые статьи и книги. Моей основной обязанностью было администрировать сеть из сорока компьютеров и двух серверов. Мой предшественник уехал в Москву и оставил все в совершенно запущенном состоянии. Только на двух компьютерах стоял Windows ХР и на одном — Windows 2000 Professional. Все остальные машины управлялись из-под Windows 98. А конфигурация некоторых компьютеров — Pentium Ш с 32 Мбайтами памяти. И это во времена, когда 512 Мбайт стоит копейки. Хочется посмотреть в глаза тому человеку, что выписывал счет на такую своеобразную комплектацию. Я бы ему "настучал по процессору" и "прочистил оперативку".
Я был в шоке, но переустанавливать систему никто не хотел, чтобы не останавливать работу.
Но неожиданно мне подбросили одну великолепную идею, которая позволяет спокойно блокировать Windows 9х. Достаточно в корне диска С: создать пустой файл с именем win.com, и ОС больше сама не будет стартовать. Можно только насильственно указывать полный путь C:\Windows\win.com или удалять пустой бутафорский файл.
Вот так я последовательно кидал файл на все компьютеры, дамочки- пользователи кричали, что компьютеры сломались, а я забирал их на восстановление и устанавливал Windows 2000 или ХР в зависимости от мощности процессора и объема памяти. Жаль, что меня уволили за то, что при мне компьютеры стали ломаться чаще, а ведь я это делал с добрыми намерениями и повысил надежность и безопасность сети.
Для большей достоверности желательно сделать свой файл win.com невидимым, чтобы какой-нибудь умник его не обнаружил и не уничтожил.
Бутафория
На компакт-диске, в директории \Chapter!, вы можете найти программу IE.exe. Попробуйте запустить ее. Выглядит как настоящий Internet Explorer, а реально эта программа написана мною за пять секунд. Ничего тут работать не будет, потому что все содержимое окна — это рисунок. Подсуньте этот файл жертве и измените в настройках значка Internet Explorer строку запуска так, чтобы исполнялся наш файл, а не стандартный IE из состава Windows.
Как только пострадавший попытается запустить программу, так слово "Ишак" в отношении IE будет самым ласковым и нежным :).
Если вы дружите с программированием, то эту шутку сможете воспроизвести и сами с любой другой программой в такой последовательности:
выберите программу, которой жертва пользуется чаще всего;
снимите скриншот окна этой программы;
создайте обычное приложение в Borland Delphi или любой другой среде программирования. На форме уберите область заголовка окна и элементы управления в ней, а в качестве фона (background) укажите скриншот. В случае с Delphi установите свойство Borderstyle в Ьзыопе, поместите на форму компонент Timage и загрузите туда скриншот программы.
Бутафория готова, и ее можно подбрасывать своим друзьям.
Примечание
Исходный код примера-шутки с Internet Explorer, написанный на Delphi, вы можете найти в директории \Chapter2\IEDelphiSource.
Запланируй это
В Windows есть такая удобная утилита, как планировщик задач. Ее вы можете найти в меню Start/All programs/Accessories/Systern tools/Scheduled Tasks (Пуск/Все программы/Стандартные/Служебные/Назначение задания).
Запустите эту утилиту, и вы увидите окно, как на рис. 3.4.
Рис. 3.4. Окно настройки запланированных задач
Щелкните правой кнопкой мыши по строчке Add Scheduled Task (Добавить задание), нажмите единственную строчку меню Open (Открыть), и перед вами появится мастер планирования заданий. Первый шаг чисто информационный, и здесь нажмите кнопку Next (Далее). На втором шаге появляется список программ, устанонленных в системе, где вы должны выбрать что-либо интересное и снова нажать кнопку Next. Далее определите ежедневное выполнение задачи. На последнем этапе нужно указать время запуска выбранной программы, в которое жертва точно будет работать за компьютером.
Завершите работу мастера, Теперь в заданное время будет запускаться указанная программа. Когда это будет происходить, пользователь станет теряться от неожиданности. И снова замелькают мысли о вирусах или барабашках в системном блоке :).
Смерть IE
В ел. 7 мы рассматривали, как изменить логотип в браузере Internet Explorer. Этот метод легко превратить в шутку. Достаточно поставить в качестве логотипа изображение больше, чем разрешение экрана, и шок обеспечен. Логотип займет всю область экрана, не оставляя места для меню, панелей инструментов и рабочей области браузера. Все, что увидит пользователь — рамка окна Internet Explorer и ваша огромная картинка.
Шутовские ресурсы
Мы достаточно много времени потратили на изучение ресурсов (ся. гл. 2), и эти знания пригодятся не только для изменения настроек системы, но и шутки ради. Забавляться таким способом хорошо над начинающими или просто ламерами. Они всегда читают надписи, которые они видят, и доверяют им. Опытные пользователи знают наизусть программы, с которыми они работают, и им незачем лишний раз применять пункты меню, когда есть панели инструментов с кнопками и клавиши горячего вызова.
Другая категория — продвинутые пользователи. Они не первый день за компьютером, большинство надписей знают наизусть, но если они замечают что-то неладное, то это может их ввести в ступор. Я не раз встречал довольно знающих людей, которые на какую-то нестандартную мелочь начинают выдумывать сумасшедшие теории. Когда зависает машина, то некоторые умники начинают выводить теории багов, списывают на жучков в микросхемах, глючность материнки, а ведь проблема заключается всего лишь в ошибке программы.
Windows Total Commander
Самый распространенный файловый менеджер по умолчанию использует английский язык. Если я не ошибаюсь, то он реализован на Delphi (хотя это не имеет особого значения) и в коде прописан именно английский. Чтобы
отображать национальные языки, используются текстовые файлы, в которых все надписи даны в открытом и легко читаемом (а значит, и редактируемом) виде. Если вы используете английский язык, то вам нужно будет работать с файлами WCMD_ENG и редактировать именно в них.
Точнее сказать, файлов для каждого национального языка (например, для России с именем WCMD_RUS) целых два: один с расширением mnu, а другой — Ing.
В файле MNU находятся заголовки для пунктов меню. Они выглядят примерно так: POPUP "&Файл"
MENUITEM "Изменить ^атрибуты...", cm_Set:Attrib
MENUITEM "ЬУпаковать...XtALT+F5", cm_PackFiles
MENUITEM "ЬРаспаковать...\tALT+F9", cm„UnpackFiles
END_POPUP
Как видите, это полная копия текстового описания меню из ресурсов. Вы можете, как минимум, сделать более интересными названия пунктов меню, но это будет простым украшением. Наша задача подшутить над пользователем, поэтому лучше измените клавиши быстрого вызова. На работу программы это не повлияет, но спутает все карты. Пользователь будет видеть в меню одни клавиши, а реально для вызова соответствующей команды нужно использовать другие.
Для полного счастья перетасуйте аккуратненько названия всех пунктов меню. Даже большинство опытных ребят знают наизусть не все горячие клавиши, и далеко не для всех пунктов меню есть кнопки на панели. Редко используемые команды никто запоминать не будет, поэтому хоть иногда приходится лезть в меню, а здесь названия перепутаны, и будут вызываться не те команды, которые ожидаются. Ну а если вашу программу запустит чайник, то он получит по полной программе. Слава Биллу, если этот лам не удалит все файлы со своего винчестера, что достаточно сложно. Постарайтесь оформить меню как можно интересней и перемешать все, что только попадет под мышь.
Результат — первое действие спектакля вызывает замешательство, а потом начинаются поиски вирусов и троянского коня.
Теперь поближе познакомимся с файлом WCMD_RUS.LNG. Это тоже текстовый файл, в каждой строчке которого находятся отдельные сообщения, которые можно увидеть во время работы с Windows Total Commander.
Тут тоже есть где развернуться: поменять местами сообщения или просто изменить их, чтобы запутать бедную жертву. Вот несколько примеров:
"Нельзя копировать файл сам в себя!" — можно заменить на "Копирование прошло удачно";
"Копировать %i файл(а,ов) в:" — новый вариант "Переименовать/ переместить %i файл(а,ов) в:";
упаковку превратите в распаковку, перемещение в копирование и т. д.
Постарайтесь хорошенечко и отредактируйте все, что только мыслимо.
После того, как закончите свой жестокий труд, осмотритесь еще раз. Может, вам придет в голову еще более безрассудная идея. Хоть я и шутник со стажем, но глаз мог уже замылиться.
Темы Windows
В гл. 1 мы рассматривали, как редактировать темы Windows. Надеюсь, что вы прочитали эту главу полностью. Если что-то упустили, то неплохо было бы перечитать.
Итак, в прошлой главе вы увидели, что все элементы управления — это всего лишь картинки. Так кто нам мешает поменять эти картинки местами и из флажка (check Box) сделать переключатель (Radio Button) или еще что-нибудь подобное (см. рис. 3.5). Я недавно проверил подобную шутку над заместителем
Configuration[X
Display Font Color T abstops Folder T abs Language OperationEdit/View Copy/Delete FTPPacker Zip packetMise.Display Font Color T abstops Folder T abs Language OperationEdit/View Copy/Delete FTPPacker Zip packetMise.| Layout
Display Font Color T abstops Folder T abs Language Operation
Edit/View Copy/Delete FTP
Packer Zip packet
Mise.
Display Font Color T abstops Folder T abs Language Operation
Edit/View Copy/Delete FTP
Packer Zip packet
Mise.
, Screen layout
© Show button bar
© Show drive buttons
© Show two drive button bars (fixed width, above file windows)
© Flat icons
© Show dive combobox
© Show directory tabs
© Show current directory
© Show buttons for history list and hotlist
@ Show tabstop header
@ Show status bar
@ Show command fine
© Show function key buttons
@ Flat user interface (button bar configured separately)
OK | | Cancel ] | Help
Рис. 3.5. Все элементы CheckBox превратились в RadioButton
начальника своего отдела, так я такое услышал про Билла Гейтса, что у всех в отделе долго потом уши болели. А когда он узнал, что над ним прикололись, то я уже хотел идти покупать себе костыли :). Вообше-то он достаточно продвинутый, но просто не ожидал, что может так попасться.
Через пару дней я закрасил в ресурсах тем все компоненты цветом фона диалога. Таким образом, они будут сливаться с диалоговыми окнами, т, е, станут невидимы. Посмотрите на рис. 3.6, где показано все то же окно настроек Windows Total Comander, в котором остались только надписи, а элементы управления просто исчезли. И вот так во всех окнах Windows.
Рис. 3.6. Исчезнувшие элементы управления
В ресурсах тем Windows очень много интересного, и попробуйте поковыряться самостоятельно. Я дал вам пишу для размышления, а как вы этим воспользуетесь, зависит от вас самих. Главное — включить свое воображение и использовать его плоды в правильном направлении.
Диалоговые окна
Если вы нашли в ресурсах какое-то окно, то можно перетасовать все элементы и поменять местами надписи для кнопок. Пользователь будет до посинения нажимать кнопочки и удивляться.
Если вам попалось модальное окно (блокирует работу программы, пока его не закроют), то я бы убрал заголовок, чтобы не было видно кнопок Свернуть, Максимизировать и Закрыть, а также сделал невидимыми кнопки Да и Отмена. В этом случае программа будет ожидать от пользователя подтверждения или отмены действия, а кнопок нет, и ему некуда будет нажимать. Так что придется воспользоваться Диспетчером задач для ее снятия.
Удалять кнопки не советую, потому что без них файл может не запуститься, а вот изменить свойство visible на false у всего, что только можно — это будет очень хорошим решением. Можете даже спрятать абсолютно все окна, тогда пользователю вообще нечего будет выбирать.
Запускайте свой Restorator или любой другой редактор ресурсов, который вам больше нравится, и начинайте править все подряд. Большинство программ, написанных на Visual C++, в своих ресурсах содержат много интересного, и все это легко поддается редактированию. Тут я больше ничего добавить не могу, потому что это процесс творческий, и в каждом случае требует своего подхода.
Только не забывайте перед редактированием сохранять копию рабочего файла, потому что некоторые изменения могут сделать программу неработоспособной, а это уже не остроумно. Если вы хотите добиться именно этого, то просто удалите файл и не истязайте больше ресурсы.
Система
В разд. 2.8 на примере файла explorer.exe мы рассматривали, как можно изменять параметры системы. В ресурсах этого файла хранятся основные надписи, картинки и диалоговые окна, которые мы видим каждый день. Если их изменить, то это очень сильно воздействует на пользователя. Например, среди ресурсов есть значки Корзина и Мой компьютер. Если их поменять местами, то эффект будет достаточно интересный, потому что большинство не смотрит на подсказки к иконкам, а верит изображениям. Конечно, и подпись тоже можно изменить.
Отредактируйте все картинки и напишите все, что вашей душе угодно. Но рекомендую сдерживать свои эмоции в рамках приличия, потому что это не всем может понравиться. Например, можно использовать текстовые надписи "Внимание! Вирус!!!" или "Марсиане атакуют!!!". Это интересно и подчеркнет ваше чувство юмора и интеллект. . Я люблю редактировать explorer.exe, потому что его можно изменять на своей машине, а потом подбрасывать жертве. Достаточно поместить этот файл
в корень диска С:, и будет уже использоваться ваша, а не системная версия explorer.exe. Перед такой операцией убедитесь, что версии Windows на ваших машинах одинаковые. Программа explorer.exe из состава Windows ХР не подойдет для Windows версии 9х или 2000.
Итог
Редактирование надписей, удаление, замена или перемещение текста очень хорошо срабатывает для любого типа пользователей. Даже опытные порой приходят в исступление, когда видят нарушение заведенного на экране порядка, а чайник вообще может впасть в коматозное состояние примерно на час :).
Ваша задача при создании шуток с ресурсами подготовить нужные файлы на своем компьютере, а потом только подкинуть их на компьютер жертвы.
Напоследок хочется поблагодарить Билла Гейтса за предоставленную всем народам ОС, в которой так легко насмехаться над ближним. Уж где-где, а в этой операционной системе настоящему юмористу есть где разгуляться.
Полное управление
Допустим, что вы знаете имя и пароль администратора домена сети или на другом компьютере. В этом случае шутки могут быть еще более изящными и эффективными. Для начала нужно создать в своей системе учетную запись с идентичными параметрами для входа. Для этого выполните следующие действия:
Щелкните правой кнопкой мыши по иконке Му computer (Мой компьютер) и в появившемся меню выберите пункт Manage (Управление). Перед вами откроется окно управления компьютером (рис. 3.8). Слева расположено дерево элементов компьютера, каждому из которых соответствует служебная программа.w
В этом дереве откройте ветку Computer Management/System tools/Local Users and Groups/Users (Управление компьютером/Служебные програм- мы/Локальные пользователи и группы/Пользователи). В правой части окна должен появиться список всех пользователей компьютера.
Щелкните правой кнопкой мыши и в появившемся меню выберите пункт New User (Новый пользователь). Перед вами появится окно, в котором нужно указать имя пользователя и пароль. Введите данные, как на компьютере, которым вы хотите управлять. Помимо этого, уберите галочку с параметра User must change password at next logon (Потребовать смену пароля при следующем входе в систему).
Сохраните учетную запись, нажав кнопку Create (Создать). Перезагрузите компьютер и войдите в систему под этим именем и паролем.
Снова щелкните правой кнопкой мыши по значку Му computer (Мон компьютер) и выберите пункт Manage (Управление). Той же кнопкой активизируйте самую верхнюю строку Computer management (Управление компьютером)
и в выпадающем меню найдите пункт Connect to another computer (Подключиться к другому компьютеру). Вы увидите окно, как на рис. 3.8. Укажите компьютер, которым хотите управлять, и нажмите кнопку ОК.
Рис. 3.7. Окно управления компьютером
Рис. 3.8. Окно выбора компьютера
В принципе, после этого окно программы управления компьютером, показанное на рис. 3.7, не должно сильно измениться. В нем будут практически
те же пункты, но теперь вы имеете возможность просматривать содержимое чужого компьютера и управлять им. Тут шутки уже могут быть посолиднее.
Очень красиво смотрится, когда у ничего не подозревающего пользователя вдруг выезжает лоток CD-ROM.
Для этого нужно выбрать раздел Computer Management/Storage/Removable storage/ Libraries (Управление компьютером/Запоминающие устройства/Сьемные ЗУ/ Физическое размещение). Справа от структуры компьютера появится список всех доступных приводов CD-ROM. Щелкните по любому из них правой кнопкой мыши и выберите в появившемся меню пункт Inject (Вставить). Перед вами откроется окно мастера загрузки диска в привод CD-ROM, на котором пока только ознакомительная информация. Нажмите кнопку Далее, крышка CD-ROM откроется. Еще одно нажатие по кнопке Далее заставит крышку закрыться.
Можно еще запустить на удаленном компьютере Дефрагментацию диска. Это заставит винчестер работать в усиленном режиме, оптимизируя содержимое. Компьютер будет работать медленнее, но с помощью этой операции мы можем сделать жертве даже доброе дело. За счет оптимизации файлов скорость работы компьютера после дефрагментации может увеличиться, и потом пользователь, над которым мы подшучивали, даже скажет нам спасибо.
Программные шутки
Программно можно реализовать самые эффективные шутки. Я программирую уже давно, и иногда люблю сотворить что-нибудь шуточное. Если вы хотите самостоятельно научиться создавать такие программы, то советую прочитать книгу "Программирование на C++ глазами хакера" [1] (Hackish C++ Pranks & Tricks) или "Программирование на Delphi глазами хакера" [2]. Если нет тяги к этому занятию, то можно просто воспользоваться готовыми решениями. Благо в Интернете их предостаточно.
Одной из самых известных фирм по разработке такого программного обеспечения является RJL Software (www.rjlsoftware.com). На их сайте вы найдете множество веселых утилит, с помощью которых можно заставить улыбнуться кого угодно. Они расположены на странице http://www.rjlsoftware.com/ software/entertainment/. Любую из этих маленьких программ нужно скачать и просто запустить файл. Обращаю ваше внимание, что программы невидимы, и просто так их закрыть нельзя. Чтобы закончить работу, нужно нажать <Ctrl>+<Alt>+<Del>. Если вы работаете в Windows 2000/ХР/2003, то перед вами появится окно Безопасность Windows с кнопками для выбора нужного действия. Нажмите Task Manager (Диспетчер задач), чтобы запустить Windows Task Manager (Диспетчер задач Windows). В этом окне перейдите на вкладку Process (Процессы) и найдите в списке имя файла запущенной программы. Выделите его и нажмите кнопку End Process (Завершить процесс). Есть и более простой способ завершения работы шуток от RJL Software. Отведите курсор в левый верхний угол экрана, и вы увидите сообщение, после которого программа сама закроется.
Вот, как мне кажется, наиболее интересные шутки от RJL Software:
Avoid — запустив ее, вы больше никогда не щелкните мышью на кнопку Пуск. При каждой попытке навести курсор кнопка будет убегать вдоль панели задач;
Click Stan — каждые 45 секунд имитируется нажатие кнопки Пуск;
Cursor Fun — эта программа заставит курсор беспорядочно двигаться по экрану, пугая пользователя и сбивая с толку;
СНрру — через определенное время на экране будет выскакивать скрепка в стиле подсказчика MS Office и давать глупые советы;
Fake format — программа создает видимость форматирования какого- либо диска. Появляется вполне реалистичное окно форматирования, и любой пользователь может не на шутку испугаться потери данных;
Fake delete — утилита имитирует удаление какой-либо директории. Если вы уже испытали на ком-нибудь Fake format, го попробуйте еще и Fake delete. Это будет как контрольный выстрел, чтобы окончательно добить бедного пользователя (предварительно поинтересуйтесь состоянием сердечно-сосудистой системы коллеги);
Fake start menu — программа заменяет стандартную панель задач Windows, но при этом не реагирует ни на какие события (действия пользователя);
Headache — экран начинает мигать черно-белым цветом. Для того чтобы остановить это, нажмите <Alt>+<F4>;
Open/Close CD — вроде бы простое открытие крышки CD-ROM, но очень действенное на любого пользователя;
Rotate — программа переворачивает Рабочий стол вверх ногами. Конечно же, реального изменения нет, потому что делается копия Рабочего стола, а разворачивается рисунок и отображается на весь экран. Чтобы завершить работу, нажмите <Alt>+<F4>;
Show-Hide Desktop — программа прячет и отображает иконки на Рабочем столе;
Time traveler— каждые 30 секунд время на вашем компьютере будет изменяться на случайное значение.
Но классикой жанра я считаю программу Floppy madness. На первый взгляд, примитивная затея, потому что программа постоянно опрашивает дисковод, пока пользователь не вставит дискету. Когда это произойдет, появляется сообщение об ошибке с надписью "Чтение с дискеты невозможно". Вроде просто, но есть возможность изменить текст сообщения, если запустить программу с параметром setup (Fioppy.exe setup). Можно указать один из следующих вариантов:
Ну наконец-то. Я-то думал, что ты уже забыл про меня.
Спасибо за бутерброд.
Опочки, сейчас отформатирую!!!
Дискета пуста, или мне кажется?
Читай сам эту дискету, я уже устал.
Одно из преимуществ утилит от RJL Software — их маленький размер, что позволяет легко подбросить файл своему другу. Можно отправить программу по почте, а можно подбросить на Рабочий стол, чтобы пользователь сам ее запустил.
Но не только RJL Software умеет шутить. Есть еще Dewa Soft и ее программа Key Panic. Вы должны указать программе какое-нибудь слово, и она сгенерирует исполняемый файл размером около 70 Кбайт. После его запуска клавиатура окажется фактически блокированной (в том смысле, что на экране будет только слово, введенное вами). Например, если указать слово "бублик", то что бы не набирала жертва, в результате будут только бублики. Программу можно скачать с сайта http://dewasoft.com/Software/KeyPanic/ KeyPanic.html. Единственный недостаток — она платная ($10). И если не заплатить, то пользователя будут предупреждать о том, что в системе находится программа-шутка. Если все оплачено, то невидимость гарантируется.
В Интернете можно найти очень много разных шуточных программ, но создать что-то самому намного приятнее. И тем, кто уже умеет программировать, и тем, кто еше только пробует создавать шуточные программы, я еще раз рекомендую прочитать книгу Hackish C++ Pranks&Tricks. В ней вы найдете множество готовых решений и на их основе сможете создать что-то свое, даже не имея образования программиста.
Мораль
Нет предела совершенству, главное иметь хорошее воображение. Если вы тоже любите подшутить над ближним, то пишите мне на horriric@vr-online.ru.
Я собираю хорошие компьютерные шутки и обязательно испытаю ваш прикол на своем заместителе начальника и передам вам от него привет :).
Только помните, что хорошая шутка должна быть безвредна. Можно временно выводить из строя, вешать ОС, но ничего уничтожать и ломать нельзя. Это уже не этично, и легче просто стукнуть по монитору молотком. Прежде чем начать подшучивать, обязательно убедитесь, что ваш избранник имеет чувство юмора и правильно поймет вас. Некоторые люди могут слишком эмоционально воспринять ваши попытки развеселить себя, его и окружающих.
Не забывайте присылать мне свои идеи. Если вы придумали что-то оригинальное, то народ должен с этим познакомиться.
Подшути над ближним своим, ибо он пошутит над тобой и возрадуется :).
Глава 4
Советы хакера
В данной главе мы рассмотрим некоторые секреты хакеров. Это позволит вам правильно использовать свой компьютер и повысить его производительность. Мы будем рассматривать не только работу с компьютером и ОС Windows, но и Интернет.
Лично я почти постоянно нахожусь в режиме on-line и выхожу из этого состояния только для того, чтобы покушать или поспать. Поэтому для меня очень важным является использование компьютера и сети с максимальной отдачей. За многие годы работы набралось уже немало приемов и методов повышения эффективности, и сейчас я собираюсь поделиться с вами этим опытом.
В данной главе мы узнаем, как оптимизировать или форсировать работу компьютера. Для этого будут описаны различные методы разгона процессора.
Как не заразиться вирусами
Это самая больная тема для пользователей Интернета. Многие считают, что, установив хороший антивирусный пакет, они обезопасили свой компьютер от вторжения зловредных программ. Это верно, но такая зашита эффективна не более, чем на !0 %. Почему? Все очень просто. Когда появляется новый вирус, то большинство антивирусных программ даже при использовании эвристического анализа не могут его определить.
Новые вирусы распространяются с максимальной скоростью и инфицируют все, что попадается на их пути. Вероятность подхватить заразу при неумелых действиях возрастает до 90 %. По прошествии какого-то времени пользователи Интернета обновляют свои антивирусные базы и лечат компьютеры. После этого заразиться намного сложнее, потому что зловредный код уже изолирован и его действия и эффект уменьшаются.
Получается, что антивирусы предназначены для лечения, а нам необходимо средство для предотвращения заражения компьютера. Вирус может оказаться
злым и успеет уничтожить информацию, например, отформатирует диск или просто все сотрет. Такой компьютер лечить уже будет поздно.
За всю мою жизнь работы с компьютером у меня вирусы не функционировали. Они попадают на мой компьютер через почту или WEB, но сразу изолируются, и в большинстве случаев без участия антивирусных программ. Конечно же, у меня есть антивирус, и я регулярно его обновляю, но не держу в запушенном состоянии, дабы экономить ресурсы компьютера и не отнимать лишнюю память. Каждодневные проверки только уменьшают вероятность заражения, но никак не исключают ее.
На сайте одного из крупнейших производителей антивирусных продуктов — Лаборатории Касперского (www.kaspersky.com) — можно увидеть текущую активность вирусов (рис. 4.1). Низкой активности присваивается зеленый код. Его можно наблюдать, когда по сети прогуливаются старые вирусы, от которых давно есть вакцина, или новые, но абсолютно не оригинальные по своей природе.
Рис, 4.1. Сайт Лаборатории Касперского
Во время появления новоиспеченного и оригинального вируса, который начинает заражать системы, код активности повышается, но нам от этого не легче. Увидев такое предупреждение, остается только выключить компьютер, чтобы
не заразиться, и ожидать, пока производитель вашего антивирусного продукта не подготовит вакцину, которую можно будет скачать из Интернета и спокойно жить дальше.
Прежде чем защищаться, давайте немного познакомимся с нашим врагом, узнаем, как он устроен и какие методы использует. Только так можно будет найти эффективное решение проблемы.
Большая часть повествования поможет вам предохраниться не только от вирусов, но и от троянов, и даже, в какой-то степени, от спама. Вы должны уметь не только защищаться от вторжения, но и научиться изолировать вирусы или обезвредить троянскую утилиту. Если вы являетесь администратором сети и получили зловредный код, самостоятельно написанный каким- либо хакером специально под вас (с целью выкрасть определенную информацию), то ни один антивирус такую утилиту не обнаружит и не сможет обезвредить. Тут уже безопасность зависит от ваших умений и навыков выявления и борьбы с хакерскими приемами.
Как работают вирусы
Когда мы рассматривали структуру программы, то говорили о заголовке исполняемого файла (cn. разд. 2.1). В этом заголовке есть точка входа — адрес внутри программы, с которого начинается выполнение. Если вирус должен присоединиться к программе, то он дописывается в ее конец и изменяет точку входа на себя, а программа со старого адреса вызывается после выполнения тела вируса. Таким образом, после старта запускаемого файла сначала активизируется вирус, а потом управление передается основной программе.
Особо ленивые писатели вирусов не любят разбираться с заголовками. Они наоборот добавляют запускаемый файл другой программы к своему, т. е. тело вируса оказывается в начале файла.
Так работает большинство вирусов, которые прикрепляются к программам, и таких до 2000 года было очень много, особенно в операционной системе MS DOS. Если вы хотите защититься от вредоносного кода, то минимальным требованием должно быть слежение за заголовками запускаемых файлов. Как только заголовок изменился, нужно бить тревогу, потому что это может быть вирус или червь. Конечно же, вручную это делать тяжело, но необходимо следить хотя бы за размером основных программ, ведь когда к исполняемому файлу прикрепляется вирус, изменяется его размер.
Но существует вариант, когда тело вируса добавляется к запускаемому файлу, а заголовок не изменяется, т. к. в этом случае тело вируса вызывается из другой программы. Получается эффект, как в динамической библиотеке — программа загружает в память дополнительный файл, выполняя в нем тело вируса.
Как я уже говорил, такие вирусы властвовали до 2000 года. Тогда Интернет был развит еще не так сильно, как сейчас, и основным средством распространения инфекции были дискеты или файлы, скачанные с BBS (Bulletin Board System, электронная доска объявлений), с помощью которых люди обменивались информацией. Некоторые вирусы записывались не в программу, а в загрузочную область дисков, и выполнялись при первом же обращении. В этом случае, запустив файл с дискеты, вирус загружался в память и распространялся по файловой системе, заражая все, что попадалось на пути.
Зачем производился поиск и заражение всех исполняемых файлов? Все очень просто. В MS DOS была только одна возможность загрузить программу автоматически при старте компьютера — autoexec.bat. В этом файле прописываются программы, которые должны запускаться при загрузке ОС. Если бы все вирусы записывались в этот файл, то антивирусам легко было бы обезвредить внедренный код. Именно поэтому заражались все файлы. После этого при загрузке любой программы запускался вирус.
Есть вирусы, которые просто копируют себя в систему и помещаются в раздел автозапуска. С появлением Windows именно такие вирусы стали более популярны, потому что здесь уже больше способов их спрятать. В данном случае уже нет смысла сканировать весь диск в поисках исполняемых файлов и заражения их, достаточно записаться в автозагрузку, и дело в шляпе. При каждом старте системы ОС сама запустит вредоносный код. Но теперь такие вирусы не столь признаны, потому что с автозагрузкой уже научились бороться.
В Windows, помимо большого количества способов автоматической загрузки, появилось очень много файлов, которые обязательно загружаются при старте ОС, например, системные динамически подключаемые библиотеки (DLL, Dynamtc-Link Library). Это тоже упрощает жизнь вирусам. Если раньше нужно было заражать все, потому что заранее неизвестно, с какими программами работает пользователь, то теперь достаточно инфицировать одну из библиотек или важный исполняемый файл, и нет необходимости в сканировании.
Выходит, если раньше проблема пряталась только в EXE и СОМ-файлах, то теперь источник зла нужно искать и в динамических библиотеках, у которых есть большой недостаток— возможность выполнять код при старте DLL. И если вирус записать в автозапуск важной библиотеки, то он сможет загружаться автоматически. Таким образом, количество потенциальных лазеек в системе резко увеличилось.
Но динамические библиотеки — не единственное зло. Корпорация Microsoft для упрощения жизни пользователей во многие свои продукты включила элементы языка программирования Visual Basic. Такая поддержка есть почти во всех компонентах пакета MS Office. Это очень удобно, когда с помощью
простого языка можно облегчить свою жизнь и расширять возможности используемой программы. Но хакеры увидели в этом очередную лазейку.
Большинство пользователей Интернета привыкли, что опасность от вирусов кроется в исполняемых файлах, и никто не мог себе представить, что угроза придет из текстовых документов или электронных таблиц MS Office. Именно поэтому первые вирусы, встроенные в документы Microsoft Word или исполняемые в почтовой программе Microsoft Outlook, заразили громадное количество компьютеров за минимальное время. К таким обстоятельствам не были готовы ни пользователи, ни самые лучшие антивирусные продукты. Лично я никогда не приветствовал вирусописательство и считал это самым глупым занятием. Это ребячество, присущее только маленьким детям, которые при покупке новой игрушки стараются ее поломать, а не использовать по назначению. Именно так ведут себя хакеры, которые не работают (или играют) за компьютером, а пытаются поломать его.
В настоящий момент вирусы распространяются через Интернет и практически не используют в качестве носителя файлы или дискеты. Основным переносчиком стала электронная почта и массовые рассылки. Вы получаете письмо, к которому прикреплен вирус и заманчивый текст, убеждающий открыть программу-вложение. Если такой файл запустить, то вирус заражает компьютер и рассылает себя по всем адресам, внесенным в вашу адресную книгу.
Как же предохраняться?
С вирусами никогда не знаешь, откуда придет очередная проблема. Но у меня никогда не было резидентно работающих антивирусных программ, а последний раз я сканировал диск на наличие вирусов 6 лет назад. И несмотря на это в моем компьютере никогда не было более 5 минут активных вирусов.
Во времена MS DOS я сканировал жесткий диск только раз в год (и то для очистки совести). Как мы уже знаем, в ту пору основным источником заражения были BBS и дискеты. Первое я не использовал, и с этой стороны угрозы для моего компьютера не было. А все дискеты прежде, чем открыть в файловом менеджере, обязательно проверялись антивирусной программой, даже если дискету' дал хороший знакомый. Друзья могут не знать о существовании на их компьютере вирусов и, не желая того, принести вам зараженный файл.
В настоящее время я не пользуюсь дискетами и не обмениваюсь исполняемыми файлами с друзьями. Все и всегда надо брать из первоисточников, т. е. с официальных сайтов в Интернете. Именно официальные источники могут на 90 % гарантировать отсутствие вирусов. Конечно же, были случаи, когда хорошо зарекомендовавшие себя фирмы по неосторожности распространяли вместе со своими продуктами вирусы, но это бывает крайне редко, и такие ошибки Интернет-сообществом определяются очень быстро и исправляются моментально.
Используйте нераспространенные программы
Как я уже говорил, сейчас основным источником вирусов стал Интернет, а точнее электронная почта. В качестве почтовой программы я использую The Bat (http://www.ritlabs.com), которая не поддерживает скриптов и не имеет встроенного языка VB (язык скриптов Visual Basic, может позволить автозапуск прикрепленного к письму файла) или VBScript. Хотя в большинстве почтовых клиентов уже есть защита от автозапуска через скрипты VB, но иногда в них отыскивают уязвимые места, и вирусы получают черный ход для проникновения в систему. Конечно же, и в The Bat есть ошибки, которые иногда находят, но эта программа не очень широко известна, поэтому вирусы практически не используют ее слабые места.
Я всем рекомендую использовать что-нибудь менее распространенное, потому что вирусописатели делают ставку на самое популярное. То, что для ОС Linux не пишут вирусов, еще не говорит о невозможности их создания. Просто эта ОС мало распространена, и масштабы заражения будут небольшими. Любой крэкер ищет известности и как хакер хочет получить уважение большинства, поэтому и использует ОС Windows как самую востребованную среди домашних пользователей.
Но даже если вы работаете с самой незаметной программой, все равно нельзя быть уверенным в своей безопасности. В разных программах встречаются одинаковые ошибки, и тогда ваш компьютер тоже будет подвержен атакам. Допустим, что вы используете для доступа к WEB-сайтам самый простой браузер, который ничего не поддерживает, кроме отображения текста, и не может быть атакован. Но для получения данных от сервера используется протокол HTTP, а тот в свою очередь работает поверх TCP/IP. Если в одном из этих протоколов будет найдена ошибка, используя которую злоумышленник получит доступ к локальному диску вашего компьютера, то тут уже никого не будет волновать, какая у вас программа или ОС. В этом случае можно будет без особых проблем произвести взлом.
Непопулярные программы — это благо, которое с другой стороны может обернуться источником больших проблем. Предположим, что ваш продукт разработчик перестал поддерживать, и найдена критическая ошибка. Обновить программу будет невозможно, а переход на другую отнимет много времени и средств. Чтобы не столкнуться с такой ситуацией, лучше выбирать программные средства, в будущем которых можно не сомневаться. Такими бывают продукты фирм, которые считаются вторыми или третьими по популярности, но никак не последними. Первыми умирают самые незаметные и неизвестные.
Регулярно обновляйте программы
Если вам необходимы возможности распространенных программ, то регулярно проверяйте наличие обновлений. В этом отношении лучше всех работает Microsoft. Как бы не ругали эту компанию, она очень большое внимание
уделяет поддержке пользователей и регулярно предоставляет обновления, позволяющие исправить погрешности в своих разработках. Ошибки есть везде, но ищут их только в самом популярном. Корпорация Microsoft делает все возможное для уменьшения негативного эффекта от собственных ляпсусов.
Своевременное обновление ОС и основных программ тоже позволяет обезопаситься от вторжения вирусов. Всевозможные аналитические компании всегда показывают разные данные, но все они сводятся к тому, что большинство пользователей Интернета не обновляют свои продукты: одни из-за лени, другие из-за слабого канала связи, а некоторые из-за использования нелицензионного программного обеспечения. Вирусописатели пользуются этим. При нахождении новой уязвимости, позволяющей проникнуть в систему, очень часто появляются вирусы, использующие этот изъян. Если вы узнали, что появилась какая-то брешь, то обязательно обновите систему.
В распространении вирусов через уязвимые места ОС Windows я большую часть вины возлагаю не на ленивых пользователей, а на Microsoft. Обновлений очень много, и сложно разобраться, какие из них устанавливать. Корпорация Microsoft должна своевременно доводить до сведения.всех пользователей о найденных ошибках, а о наиболее критичных нужно сообщать во всеуслышанье. В большинстве случаев компания старается промолчать, чтобы лишний раз не говорить о своих проколах, но это неправильно. Хакеры следят за такими лазейками и знают о них больше, чем рядовые пользователи. Конечно, руководство компании может сказать, что они информируют пользователей через рассылки. Но это не самый удачный способ. Адреса E-mail регулярно меняются, почта не может считаться надежным источником информации. Существуют и другие причины, которые требуют использования иных методов (телевидение или радио). Только так можно повысить надежность компьютеров и навсегда установить зеленый код активности вирусов.
Доверяй, но проверяй
При работе с электронной почтой никогда не доверяйте получаемым сообщениям и никогда не запускайте прикрепленные файлы!!! Даже если вы получили письмо, в поле отправителя которого указан адрес вашего друга, вложение не может считаться надежным. Если компьютер отправителя заражен, то вирус будет от его имени рассылать всем копии писем, и вы можете попасть на эту удочку.
Писатели вирусов используют психологию и социальную инженерию и большое внимание уделяют тексту рассылаемого письма. Я очень часто получаю письма от своих знакомых, партнеров с текстом "Посмотри этот файл", но это точно вирусы.
Вложения
Если вы получили по почте исполняемый файл с предложением открыть его, то прежде, чем это делать, не поленитесь обратиться к отправителю
с просьбой удостоверить посыпку. Вирусы могут только рассылать письма, а следить за подтверждениями не могут.
Как определить, какие файлы во вложении могут содержать вирусы, а какие нет? Вирусов точно не может быть в текстовых файлах TXT, в картинках JPG, GIF, BMP, в аудио- и видеофайлах WAV, MP3, AVI и некоторых других. Но нельзя быть совершенно уверенным, что в будущем эти форматы не смогут быть заражены. В определенных ситуациях и при использовании отдельных программ вирусы смогут распространяться через что угодно. Пока хакеров сдерживает слишком большое количество условий. После кражи исходных кодов Windows появился вирус Agent, который заражал компьютер при безобидном просмотре специально сконструированных ВМР-файлов.
Когда смотрите вложение к письму, вы должны быть убеждены, что оно имеет правильное расширение. В Windows 9x/NT/2000 по умолчанию не отображаются расширения для зарегистрированных типов файлов. Это значит.
Рис. 4.2. Окно настроек свойств отображения файлов
что если вложение имеет расширение ехе, то перед вами предстанет только его имя. Хакеры пользуются этим и дают файлам двойные расширения. Например, если файл назвать update.jpg.exe, то расширение ехе система спрячет, а вы увидите только update.jpg. Создается ложное представление, что перед вами картинка, и файл может быть запущен, а это грозит заражением компьютера.
Чтобы не было проблем с псевдорасширениями, я рекомендую отказаться от их сокрытия для зарегистрированных типов файлов. Для этого нужно перейти в панель управления (Start/Settings/Control Panel или Пуск/Настройка/ Панель управления) и запустить оснастку Folder Options (Свойства папки). Здесь необходимо перейти на вкладку View (Вид). Перед вами откроется окно, как на рис. 4.2. Уберите галочку с пункта Hide extensions for known file types (Скрывать расширения для зарегистрированных типов файлов).
Сомнительные сайты
Помимо электронной почты, источником инфекции можно считать и WEB- сайты. Так как в Интернет-браузерах (а главное, в самом распространенном из них Internet Explorer) регулярно находят ошибки, позволяющие получить доступ к диску пользователя, то этот способ заражения нельзя исключать. Я использую Интернет по назначению и путешествую только по официальным сайтам. Там не задействуют бреши в браузерах для заражения пользователей, ибо это очень сильно подорвет авторитет компании.
Большинство персональных страничек тоже не используются для нанесения вреда, но иногда там можно найти тестовый полигон хакера. Но если вы любите путешествовать по сайтам сомнительного характера, то тут уж вероятность получить неприятности увеличивается в несколько раз. В этом случае обновлять нужно все и регулярно, а антивирус должен быть всегда включенным. И даже при выполнении всех этих условий система заполняется различным мусором с неимоверной скоростью.
Недавно любопытство заставило меня щелкнуть по одной ссылке, и в корне диска С: тут же появилось два файла ххх.ехе и ууу.ехе. Когда пишешь подобные книги, то приходится тестировать много сомнительного софта или Интернет-сайтов и заражать свой компьютер.
Однажды мне довелось писать статью по интим-сайтам. Для этого пришлось попутешествовать по сети, после чего неделю вычищал диск от посторонних вещей. Многие из них, конечно же, не работали, потому что требовали ручного запуска, но само их присутствие меня не радовало.
Мой E-mail — моя крепость
У меня всегда 4 почтовых ящика: рабочий, для общения с друзьями, публичный и мусорный. Рабочий знают только коллеги, и он существует уже 6 лет. При этом количество вирусов и спама, попадающего в этот ящик, мини-
мально. Адрес для общения с друзьями более распространен, и на него иногда приходят вирусы. Остальные два — для широкой публики, их адреса известны многим, поэтому во времена большой вирусной активности я выкачиваю мегабайты зараженных писем.
Иногда настает момент, когда на публичных адресах количество нежелательной почты в несколько раз превышает основную. Тогда я просто открываю новый ящик и начинаю все с чистого листа. Да, это создает некоторые неудобства для моих знакомых, но они меня понимают.
Мусорный ящик я использую, когда нужно указать E-mail при регистрации в Интернете. В этих случаях адрес распространяется среди спамеров мгновенно, и его приходится менять довольно часто. Но это вообще никого не волнует.
За счет такого вот разграничения я знаю, что на публичных адресах нужно быть особо внимательным, и письма с вложением удаляю сразу, вне зависимости от формата. Даже если файл по своей сути не может содержать вирусов (например, текст в формате TXT), я не увижу его.
Фальшивый URL-адрес
Так как мои адреса достаточно известны, на них регулярно приходят письма сомнительно характера. Буквально вчера получил письмо, в котором мой банк просил поменять параметры доступа к счету. Вот письмо, которое я увидел;
Письмо с просьбой смены параметров счета банка
Dear SunTrust valued member.
Due to concerns, for the safety and integrity of the Internet Banking community we have issued this warning message.
It has come to our attention that your account information needs to be updated due toin- active accounts, frauds and spoof reports. If you could please take 5-10 minutes out of your online experience and renew your records you will not mil into any future problems with the online service. However, failure to update your records will result in account deletation. Once you have updated your account records your online banking account will not be interrupted and will continue as normal.
Please follow the link below and renew your account information.
https: //www2 .su nt rust. c om//cgi_w/cfn i/pe rso n al/accou nt_access/account_access. cfm
SunTrust Internet Banking
Я услугами этого банка не пользуюсь, поэтому сразу почувствовал что-то неладное. Внизу письма давалась ссылка на WEB-страничку, и адрес вроде бы реальный и без ошибок. Но если навести мышь на строку с URL, то выскакивает подсказка с истинным адресом, который будет загружаться, если щелкнуть по ссылке. В ней почему-то адрес www2.suntrust.coin изменился на
IP-адрес http://211.202.3.208. После проверки выяснилось, что сервер расположен совершенно в другом месте, просто оформлен, как сайт банка.
Хакеры допустили большую ошибку, когда так просто спрятали URL. Намного эффективнее было бы зарегистрировать адрес www2.santrust.coin или что-то в этом роде. Тогда подстава была бы незаметна, потому что разница в именах доменов только в одной букве. Когда видишь IP-адрес, то сразу понятно, что это письмо-фальшивка, а доменное имя, скорей всего, не вызовет подозрений (даже при незначительной разнице).
Взломы с использованием схожих доменных имен были очень популярны несколько лет назад. Таким образом очень часто вскрывали пароли пользователей для доступа в Интернет, когда он был достаточно дорогим. Например, пользователь получал письмо с просьбой выслать свой пароль на адрес администрации провайдера. Допустим, что реальный адрес был support@provider.com. Хакер регистрировал домен, например, provader.com (разница только в 5 букве) и указывал в запросе E-mail support@provader.com. Очень многие пользователи верили таким письмам, потому что не замечали подставного адреса.
Такие атаки легко проходили, потому что до 1995 года регистрация домена была бесплатной и бесконтрольной, а для многих это было в новинку, поэтому никто не замечал такой простой подстановки. Сейчас регистрация стала платной, да и все имена, схожие с торговыми марками, скуплены, поэтому подобрать что-то похожее стало сложно.
В настоящее время количество таких взломов уменьшилось, но это может быть только затишьем перед бурей. Пользователи стали забывать о таком простом методе, как подмена адресов, и хакеры могут воспользоваться этим спокойствием. Количество новых пользователей Интернета растет с каждым днем, многие из них и не слышали о подобных способах взлома. Введи я на указанном в письме сайте параметры своей учетной записи, то скорей всего увидел бы простое сообщение об ошибке, а реально мои данные попали бы в руки хакеров.
Еще пять лет назад таким способом хакеры воровали пароли доступа к Интернету, но с расширением электронной коммерции могут появиться взломы Интернет-аккаунтов и другой важной информации.
И тебя вылечат, и меня
Даже самый защищенный компьютер, с самым лучшим антивирусом когда- нибудь будет заражен. Я это ощущаю постоянно. Чтобы своевременно избавляться от вирусов, вы должны регулярно выполнять несколько простых действий (помимо описанных в разд. 4.1.2), и антивирусник в автозапуске не понадобится.
Как мы уже знаем, если программа написана специально для вторжения в определенную среду, то она будет иметь уникальный код, и противовирусные
системы ее, скорее всего, не заметят. В этом случае безопасность компьютера зависит от умения правильно распознать и нейтрализовать зловредную программу. ,-
Обезвредить не так уж и сложно — просто завершаем работу программы и удаляем все ее файлы. Намного сложнее правильно определить исполняемый файл.
Корень системного диска
Регулярно следите за всем, что появляется у вас в корне системного диска. Вы должны знать, для чего предназначен каждый файл, и видеть любые изменения. Для наблюдения лучше всего включить отображение скрытых файлов. Для этого нужно перейти в панель управления (Start/Settings/Control Panel или Пуск/Настройка/Панель управления) и запустить оснастку Folder Options (Свойства папки). Перед вами откроется окно, как на рис. 4.2. Здесь необходимо перейти на закладку View (Вид) и поставить галочку на пункте Show hidden files and folders (Показывать скрытые файлы и папки).
Никаких EXE или PIF-файлов в корне диска быть не должно. Единственный СОМ-фаЙл, который может лежать в корне диска С:, — это ntdetect.com. Все остальные должны иметь расширения sys, bin, ini или bat и не могут выполняться.
Файлы с расширением bat не могут быть вирусами, но это командные файлы, которые могут запускать другие программы и те же вирусы. Именно поэтому за ними тоже надо следить. В корне диска может быть только файл autoexec.bat.
Чтобы вам проще было нести наблюдение, никогда не устанавливайте программы и не копируйте файлы в корень диска. Заведите для этого отдельные папки.
Автозагрузка
Вирусы появляются где угодно, но чаше всего — в системных директориях или в корне системного диска. Если за корневым каталогом следить легко (не так уж и много файлов), то в системных директориях (\Windows, \Windows\systein, \Windows\system32) искать намного сложнее, потому что здесь исполняемых файлов пруд пруди. Вирусы чаще всего стараются попасть в автозагрузку, а это упрощает нам жизнь. В Windows 9х/ХР/2003 есть утилита msconfig (в Windows 2000 она отсутствует), с помощью которой можно узнать, что в системе запускается автоматически.
Чтобы воспользоваться утилитой, выберите меню Start/Run (Пуск/Выполнить) и в появившемся окне укажите имя программы msconfig.exe. Нажмите ОК, и перед вами откроется главное окно программы, которое состоит из нескольких вкладок. Нас будет интересовать последняя — Startup (Автозагрузка). Перейдите на эту вкладку, и вы увидите окно, как показано на рис. 4.3.
Рис. 4.3. Окно отображений автоматически запускаемых программ в msconfig
Все имена, которые отобразятся в этом окне, должны быть вам знакомы. В принципе, если даже по незнанию отключить какой-либо флажок, то работу Windows это не нарушит. Может только пропасть какая-то иконка в системной области возле часов или исчезнуть некая возможность. Чаше всего первое.
Весь список состоит из трех колонок:
Startup item (Элемент автозагрузки) — произвольное имя загружаемой программы. Чаще всего это полное название программы, иногда включает наименование компании.
Command (Команда) — команда, которая выполняется, или путь к файлу.
1лкабоп (Расположение) — местоположение загрузки программы.
Наблюдайте за названиями, которые здесь отображаются. Если появилась не устанавливаемая вами программа, то моментально удалите ее. Следите за всеми строками, которые могут вызвать подозрение, например, чужая программа (так маскируются вирусы), странное название или имя запускаемого файла и т. д.
На рис. 4.3 в списке есть одна строка, в которой показан запускаемый файл у.ехе с именем "у". Ни один производитель не будет называть так программу, и это должно зародить у вас подозрения. Для проверки можно убрать галочку напротив этой строки и перезагрузить компьютер.
В колонке Расположение видно, откуда запускается программа. Здесь могут быть следующие варианты:
Common startup (Основной загрузчик) — находится в меню Пуск/Программы/Автозагрузка (Start/Programs/Startup). За этими программами легко наблюдать и без специализированных утилит;
путь в реестре — если указано значение в таком виде, то вы можете просмотреть соответствующие ключи через программу regedit.
Если у вас нет утилиты msconfig, то придется самостоятельно просматривать реестр. Автоматически запускаемые программы можно увидеть в следующих разделах реестра:
НК Е Y_C URRENT_US Е R\SoRwa гс\М icrosoR\Windows\CurrentVersion\Run;
HKEY_CURRENT_USER\SoRware\MicrosoR\Windows\CurTentVersion\RunOnce:
HKEY_LOCAL_MACHlNE\SoRware\Microsofi\Windows\CurrentVersion\Run.
Рис. 4.4. Список автоматически загружаемых программ в реестре
Пример списка автоматически загружаемых программ, полученный при просмотре реестра, приведен на рис. 4.4. Он идентичен перечню, сформированному утилитой msconfig (pnutils — уникальное имя программы у.ехе).
В принципе, это не гак уж сложно и не требует много времени. В Windows 9х программы могли автоматически загружаться и через system.ini или win.ini.
Но там утилита msconflg обязательно присутствует и отображает соответствующие файлы.
С помощью программы msconflg или через реестр мы узнаем имя файла, который выполняется. Не забывайте, что нужно удалить не только ссылку на программу в реестре, но и сам файл. Возможно, что он запускается еще при каких-то условиях, и тогда все может восстановиться в автозапуске, и зло-программа снова будет стартовать автоматически.
Если файл не удаляется, то скорей всего он сейчас выполняется, и нужно завершить работу программы. Для этого совершите следующие действия:
Нажмите <Ctr!>+<Ali>+<Dei>. Если у вас серверная ОС, то откроется окно с шестью кнопками для выбора выполняемых действий. Нажмите здесь кнопку Task Manager (Диспетчер задач). В клиентской версии ОС сразу появится окно Диспетчера задач.
В Диспетчере задач (рис. 4.5) перейдите на вкладку Processes (Процессы).
Найдите нужный процесс и нажмите кнопку End Process (Завершить процесс).
S Windows Task Manager
Fie Options View Help
Appkations Processes j performance | Networking ] Users |
Image Name
User Name
] CPU)
Mem Usage | *
I WINWORD. EXE
Administrator
00
- 21 680 К 1^1'
taskmgr.exe
Administrator
00
3 736K
mspaint.exe
Administrator
00
7 908 К
wmlprvse.exe
SYSTEM
00
4 324 К
svchost.exe
SYSTEM
00
5 180 К
sqlmarigr.exe
Administrator
00
4 480 К
thebat.exe
Administrator
00
13 332 К
svchost.exe
SYSTEM
00
3 824 К
slserv.exe
SYSTEM
00
1 052 К
WnCinerriaMgr.exe
Administrator
00
2 528 К
svchost.exe
LOCAL SERVICE
00
1 224 К
inetinfo.exe
SYSTEM
00
10 328 К
acrotray.exe
Administrator
00
2 212 К
TOTALCMD.EXE
Administrator
00
8 036 К
alg.exe
LOCAL SERVICE
00
3 552 К
spootsv.exe
SYSTEM
00
7 016 К
lgfxtray.exe
Administrator
00
3 528 К
DrgToOsc.exe
Administrator
00
4 580 К
agentsvr.exe
Administrator
00
4 076 К
1 vAnent.exe
Ariminirfratnr
nn
1 9ЛЯ К 3J
Г Show processes from all users
End Process
Processes: 35 [CPU Usage: 0% ’ 'Commit Charge: 152M /12Э4М
Рис. 4.5. Диспетчер задач— запущенные процессы
Когда будете отслеживать программы, обязательно обращайте внимание на каждую букву. Хакеры очень искусно умеют маскировать плоды своего творчества. Например, однажды я написал троянского коня, который должен был перезагружать компьютер начальника. Файл я назвал lntemat32.exe и поместил в автозапуск через реестр. Целый месяц никто не мог понять, почему компьютер так нестандартно себя ведет. Его тестировали даже профессиональные администраторы, но ничего не нашли. В системе есть программа Intemat.exe, и ее выполнение очень критично, поэтому ни один администратор не обратил внимания на файл с искаженным названием lnternat32, хотя такого не должно быть.
Еще один случай произошел через пару лет, когда мне поручили создать систему слежения за программами, которые работают на компьютерах сотрудников нашей фирмы. Тогда троянского коня я назвал scanbisk.exe. И опять все прошло незамеченным. Просто в ОС есть утилита scandisk.exe для сканирования дисков, и никто не заметил, что в названии заменена буква "d" на "Ь".
Точно так же хакеры производят подмены символов и маскируют программы под другие. Буквы удобно замещать цифрами со схожим начертанием. Например, буква "О" может быть заменена цифрой ноль, и это будет уже другой файл, а вот названия будут похожи, и на скорую руку отличие заметить сложно. Затем такой файл кладут в ту же папку, где находится программа, сходства с которой мы добиваемся, и большинство пользователей уже можно будет считать обманутыми.
Сервисы
В Windows 2000/ХР/2003 у вирусов и троянов появился новый способ активизироваться при входе в систему — стать сервисом (службой).
Сервисы — это программы, которые выполняются невидимо для пользователя, и могут автоматически запускаться при старте системы.
Многие начинающие пользователи боятся управлять службами Windows, потому что некоторые из них могут оказаться критичными для работы. Именно поэтому хакеры в последнее время все больше внимания уделяют написанию зло-кода в виде сервисов. Лично я подобных вирусов пока еще не видел, но в ближайшее время все может случиться, а возможно, уже случилось, но я об этом не знаю.
Первыми под службы начали маскировать программы нелегального сбора информации с компьютеров пользователей. Есть еще достаточно много злостных нарушителей нашего спокойствия, и вы должны регулярно следить за своими сервисами, чтобы там не появилось никаких неожиданных программ, которых вы не просили.
Управление службами происходит с помощью оснастки Services (Службы). Для ее запуска нужно выполнить Start/Control Panel/Administrative tools/
Services (Пуск/Настройка/Панель управления/Администрирование/Службы). Перед вами откроется окно, как на рис. 4.6.
Рис. 4.6. Оснастка сервисов
Список служб состоит из пяти колонок:
Name (Имя) — короткое название.
Description (Описание) — назначение службы.
Status (Состояние) — текущий статус сервиса, здесь может быть надпись "Работает", если в данный момент служба функционирует.
Startup Туре (Тип запуска) — способ запуска службы. Здесь могут быть такие варианты:
автоматически (при старте системы);
вручную;
отключена (запустить нельзя).
Log On As (Вход в систему) — указывается учетная запись, права которой будет иметь служба. Если установлен администратор, то программа будет обладать доступом ко всем ресурсам, для гостевой учетной записи права
ограничены. Чаще всего указывают системную запись, тогда служба будет иметь права пользователя, который вошел в систему.
Не поленитесь и узнайте, какие службы для чего предназначены. Сейчас в качестве сервисов распространяется достаточно много вредоносного кода, и вы должны уметь его обезвредить, не надеясь на антивирус.
Рис. 4.7. Свойства службы
Если вы видите название службы, которая вызывает подозрение, дважды щелкните по соответствующей строке и перед вами откроется окно свойств выбранного сервиса (рис. 4.7).
На вкладке General (Общие) вы можете увидеть следующую информацию:
Service Name (Имя сервиса) — короткое название сервиса;
Display Name (Выводимое имя) — название, которое вы видите в списке;
Description (Описание) — короткий комментарий. Он настолько краткий, что меньше того, что можно увидеть в панели подсказки при расширенном просмотре списка сервисов;
Path to executable (Исполняемый файл) — название файла и его расположение, строка используется для старта сервиса. После имени могут идти параметры, передаваемые сервису.
Вся эта информация только для просмотра, и редактировать ее нельзя. Но книга называлась бы по-другому, если бы я не показал вам, как можно ее изменить.
Если очень хочется, то подкорректировать можно все, и для этого нет необходимости наматывать мышью километры. Нужно только залезть в реестр и открыть ветку: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Senices. Вот здесь расположены все сервисы, и вы можете изменять любые их параметры. Названия разделов не всегда понятны и в большинстве случаев не говорят об их предназначении. Поэтому приходится выделять каждый из них и смотреть в параметрах ключ DisplayName, чтобы определить точное имя.
С помощью реестра вы безболезненно можете редактировать описания. Если хотите изменить параметры запуска, то тут желательно проштудировать документацию по интересующему вас сервису. Изучайте хорошенько, потому что при неправильно заданных параметрах служба может запуститься не так, как вы хотите, или вообще не заработает.
Если вы сейчас посмотрите на свой реестр, то заметите, что разделов на много больше, чем вы могли видеть сервисов в оснастке Services (Службы) на рис. 4.6.
Как всегда Microsoft предоставила нам возможность ограниченного управления, а большинство вещей осталось скрытыми. Главная проблема состоит в том, что мы не можем штатными средствами точно определить, какие службы сейчас запущены, потому что видим далеко не все. Некоторые из сервисов достаточно сложные, состоят из нескольких частей и могут иметь по две ветки в реестре.
Я бы за это программистам Microsoft спасибо не сказал, потому что создается обширная поляна для маскировки вредоносного кода, который сейчас не очень прячется в сервисах. Но через год или два, если не будет хорошей возможности мониторинга служб, противный код основательно переберется из процессов в сервисы.
В поле Path to executable окна настройки сервиса (см. рис. 4.7) можно-увидеть путь к запускаемому файлу и по нему определить используемую программу. Здесь же есть кнопка Stop (Стоп) для остановки службы, после нажатия которой можно удалять все, что относится к сервису. Даже если эта кнопка недоступна, все равно сразу переходите к этой операции. В этом случае уничтожение будет отложенным и произойдет после перезагрузки компьютера.
Для удаления надо перейти в папку, где расположен соответствующий исполняемый файл, и запустить его, указав в качестве параметра ключ
/uninstall. Этим вы уберете из системы службу, а потом можно будет физически удалять файл с диска, дабы он вас больше никогда не смущал.
Чтобы облегчить себе жизнь и не следить самостоятельно за изменениями в сервисах, можно возложить эту обязанность на одну очень хорошую и полезную программу — Ad-aware. Ее можно взять с сайта http://www.lavasoft.de/. Обязательно скачайте ее и установите, потому что Ad-aware ищет нарушителей спокойствия среди сервисов и автоматически загружаемых программ.
Даже если вы автоматизируете процесс обнаружения злостного кода, это не значит, что можно сложить ручки и спокойно путешествовать по сомнительным страницам Интернета. Сейчас регулярно появляются новые программы, которые обходят защиту автоматизированных поисковиков, поэтому хоть иногда надо самостоятельно проверять работающие службы.
Смена параметров
Если ваш компьютер был заражен троянской программой, то после того, как вы вычистили систему, я рекомендую поменять все пароли. Большинство вирусов этого типа направлено именно на воровство кодов доступа. Первым делом меняйте пароли на Windows, после этого нужно сменить параметры входа в Интернет, и, наконец, не забудьте сменить пароли на все свои почтовые ящики, т. к. именно они чаще всего являются целью троянов.
Если есть время, то лучше сменить пароли на доступ к различным сайтам или форумам, где вы зарегистрированы. Возможно, что программа успела просканировать данные, которые вы вводили в браузере, и переслала их злоумышленнику. Не исключено, что могут пострадать номера кредитных карточек или номера/пароли электронных кошельков. Конечно же, если у вас есть кредитная карточка, то не стоит торопиться ее менять (это может оказаться ненужными затратами). Просто контролируйте расходные операции, и если появятся лишние платежи, то в этом случае нужно сразу же бить тревогу, пока ваш счет не опустошили.
Полный доступ к системе
Когда мы рассматривали компьютерные шутки (с«. гл. 3), то очень часто требовался доступ к дискам компьютера, и лучше всеФо по сети. Но многие пользователи открывают доступ только к безобидным папкам. Если вы знаете пароль администратора на компьютере жертвы, над которой хотите подшутить, то логические устройства становятся для вас доступными автоматически. Но если войти в сетевое окружение, то будут представительны только открытые папки.
Как же увидеть какой-нибудь диск, зная пароль администратора? Нужно набрать в строке для поиска следующий путь: \\Компьютер\е$, где "Компьютер" —- это имя или IP-адрес компьютера. Затем через слеш пишется имя
нужного устройства и знак доллара. Таким способом мы получаем полный доступ к диску, который невиден в сетевом окружении.
Если в вашей сети используется доменная организация, то администраторы домена по умолчанию имеют полные права на каждый компьютер в группе. Для доступа к любому устройству достаточно указать адрес компьютера в виде \\Имя\с$ . Это не есть хорошо.
Когда я пришел в одну фирму и ввел свой ноутбук в домен, то через пять минут заметил некую активность по сети. Об этом говорило необъяснимое моргание иконки сетевого подключения, а ведь я в данный момент ничего не передавал. Да и нагрузка на жесткий диск почему-то была достаточно большой.
Просмотр подключений показал, что это недобросовестный администратор местной сети пытается поковыряться в моей личной информации и скачать мои секретные файлы. Благо все пароли на диске спрятаны так, что даже я с трудом могу их найти. А то злой администратор украл бы исходные коды моих программ или электронные версии книг, чтобы опубликовать их в Интернете или продавать мои программы под своим именем, и месяцы плодотворного труда ушли бы в трубу. Я, конечно, не Билл Гейтс, но исходные коды являются результатом кропотливой работы и моей собственностью, которая должна приносить прибыль мне, а не любопытной Варваре.
Как только я удостоверился, что по дискам моего компьютера путешествует посторонний, и точно определил обидчика по его адресу, я тут же .выдернул из ноутбука сетевой кабель. Это позволило разорвать связь и не дать злоумышленнику продолжать скачивать данные. Если вы окажитесь в подобной ситуации, то советую поступать так же.
Теперь нужно было найти этого шустрячка и растолковать ему, что он не прав. Поиск тоже не составил труда, потому что женщины в кабинете, где я находился, показали дорогу в комнату администраторов. Через две минуты я разминал мышцы худощавого мальчика, посмевшего забраться на мою территорию :). После этого я вежливо попросил удалить все позаимствованное с моего жесткого диска и проконтролировал этот процесс.
Чтобы у вас не возникло подобных проблем, необходимо отключить доступ к компьютеру сторонним администраторам. Для этого нужно выполнить следующие шаги:
Щелкните правой кнопкой мыши по иконке Мой компьютер и в появившемся меню выберите пункт Manage (Управление). Перед вами откроется окно управления компьютером (рис. 4.8). Слева расположено дерево его элементов, которыми можно управлять.
В этом дереве откройте ветку Computer Management/System tools/Local Users and Groups/Groups (Управление компьютером/Служебные проптаммы/ Локальные пользователи и группы/Группы). В правой части окна вы должны
Рис. 4.8. Окно управления компьютеромРис. 4.8. Окно управления компьютеромРис. 4.9. Окно свойств группы администраторовРис. 4.9. Окно свойств группы администраторов
Рис. 4.8. Окно управления компьютером
Рис. 4.8. Окно управления компьютером
Рис. 4.9. Окно свойств группы администраторов
Рис. 4.9. Окно свойств группы администраторов
увидеть список всех доступных групп. Найдите строку Administrators (Администраторы) и дважды щелкните по ней. Перед вами откроется окно, в котором перечислены все учетные записи (рис. 4.9), имеющие права администратора на данный компьютер.
Если вы работаете в системе под учетной записью администратора, то удалите все остальные. Если у вас своя учетная запись, то оставьте ее и учетную запись Administrator (Администратор).
Теперь ни один администратор домена не сможет получить доступ к вашим дискам, не зная пароль именно вашего локального администратора системы.
Виагра для BIOS
Большинство из нас, когда не хватает мощности компьютера, бежит его обновлять. А ведь можно увеличить производительность без дополнительных вложений с помощью оптимизации работы компьютерного железа или даже разгона.
Чем отличается оптимизация от разгона? Оптимизация — это настройка параметров устройств с целью максимального использования их ресурсов. При этом мы не нарушаем указанные производителем рекомендации. При разгоне железо заставляют работать на пределе возможностей и с нарушением правил эксплуатации.
Почему надо оптимизировать компьютер? Большинство стационарных компьютеров выпускаются с настройками в BIOS (Basic Input Output System или базовая система ввода вывода) по умолчанию. При этом устанавливаются такие значения, при которых любые комплектующие будут работать надежно. Но компоненты различных производителей могут иметь разные технические характеристики и возможности. Если не менять заводские настройки, то железо будет работать с минимальным потенциалом.
В этом отношении очень хорошо покупать ноутбуки и компьютеры крупных производителей Apple, IBM. Sun. В них тщательно подбирается комбинация компонентов, и BIOS настраивается на оптимальное использование возможностей. В таких компьютерах вообще может не понадобиться настроек в BIOS.
Если компьютер собран в гараже из различных запчастей, то он скорей всего будет иметь низкую производительность. Тратить большие деньги на технику и использовать ее по минимуму — по меньшей мере, глупо. Поэтому вы должны уметь выжать из железной коробки все, на что она способна.
Оптимизация системы
Как я уже сказал, оптимизация системы связана с настройкой BIOS. Описывать этот процесс достаточно сложно, потому что существует немало производителей, которые оформляют утилиту настройки по-своему, да еще с учетом многочисленных версий. Благо параметры называются везде оди-
наково. Я буду рассматривать настройку на основе самого популярного BIOS от фирмы AWARD.
Для настройки BIOS нужно перезагрузить компьютер и нажать кнопку входа в утилиту. Какую клавишу нажимать? Во время тестирования памяти и определения IDE-дисков внизу экрана можно увидеть подсказку "Нажмите Del для входа в BIOS". Чаще всего это бывает клавиша <Del>, но иногда встречается <F2> или <F12>.
Современные BIOS имеют возможность не отображать ход тестирования компьютера, а скрывать все за черным экраном или логотипом. В этом случае после начала загрузки нужно многократно нажимать клавишу <Del>, пока не появится главное меню утилиты настройки BIOS. На рис. 4.10 приведен пример такой программы от компании Award Software.
CMOS Setup Utility - Copyright (C) 1984-2000 Award Software
► Standart CMOS Features► Standart CMOS Features► Advances BIOS Features► Advances Chipset Features► Integrated Peripherals► Power Management Setup► PnP/PCI Configurations► PC Health Status► Advances BIOS Features► Advances Chipset Features► Integrated Peripherals► Power Management Setup► PnP/PCI Configurations► PC Health Status► Frequency/Voltage ControlLoad Setup DefaultsLoad Turbo DefaultsSet Supervisor PasswordSet User PasswordSave 4 Exit SetupExit Without Savings► Frequency/Voltage ControlLoad Setup DefaultsLoad Turbo DefaultsSet Supervisor PasswordSet User PasswordSave 4 Exit SetupExit Without Savings
► Standart CMOS Features
► Standart CMOS Features
► Advances BIOS Features
► Advances Chipset Features
► Integrated Peripherals
► Power Management Setup
► PnP/PCI Configurations
► PC Health Status
► Advances BIOS Features
► Advances Chipset Features
► Integrated Peripherals
► Power Management Setup
► PnP/PCI Configurations
► PC Health Status
► Frequency/Voltage Control
Load Setup Defaults
Load Turbo Defaults
Set Supervisor Password
Set User Password
Save 4 Exit Setup
Exit Without Savings
► Frequency/Voltage Control
Load Setup Defaults
Load Turbo Defaults
Set Supervisor Password
Set User Password
Save 4 Exit Setup
Exit Without Savings
Esc : Quitт 4 -♦ f : Select Item
F10 : Save & Exit Setup
Time, Date, Hard Disk Type ...
Рис. 4.10. Утилита настройки BIOS от Award Software
Некоторые из описываемых параметров могут не совпадать для разных компьютеров. И если вы заметили отличия, то я рекомендую ознакомиться с документацией на BIOS к материнской плате вашего компьютера. Книжки, которая идет в комплекте с компьютером, будет достаточно. В крайнем случае, советую поискать документацию на сайте производителя.
Быстрая загрузка
Самое первое, что надо ускорить в своем компьютере, — это загрузка. Здесь можно оптимизировать тестирование системы. Например, зачем трижды прогонять тест памяти или проверять наличие дисковода, когда это просто не нужно.
Выберите в меню утилиты настройки пункт Advanced Chipset Features (Расширенные возможности чипсета), в некоторых утилитах это просто Advanced. И перед вами откроется список параметров этого раздела (см. рис. 4.11). В отдельных версиях BIOS в разделе Advanced параметры могут быть сгруппированы по подразделам, и ваша задача найти нужный параметр в одном из них.
CMOS Setup Utility - Copyright (C) 1984-2000 Award SoftwareAdvanced BIOS Features
External CacheExternal Cache[Enabled][Enabled]item Descriptionitem DescriptionQuick boot1st Boot Device2st Boot Device.3s! Boot DeviceBoot Other DeviceSwap FloppySeek FloppyBoot Up Num-Lock Led Gate A2D Option Typematlc Rate Setting ж Typematlc Rate (Chars/Sec x Typematlc Rata (Msec)Security Option APIC Function MPS Table VersionQuick boot1st Boot Device2st Boot Device.3s! Boot DeviceBoot Other DeviceSwap FloppySeek FloppyBoot Up Num-Lock Led Gate A2D Option Typematlc Rate Setting ж Typematlc Rate (Chars/Sec x Typematlc Rata (Msec)Security Option APIC Function MPS Table Version(Enabled] [HDD-0] [CDROM] [Floppy] [Enabled] [Disabled] [Disabled] [On] [Fast] [Disabled] 6 250 [Setup] [Enabled] [1.4](Enabled] [HDD-0] [CDROM] [Floppy] [Enabled] [Disabled] [Disabled] [On] [Fast] [Disabled] 6 250 [Setup] [Enabled] [1.4]Menu levelMenu level
External Cache
External Cache
[Enabled]
[Enabled]
item Description
item Description
Quick boot
1st Boot Device
2st Boot Device
.3s! Boot Device
Boot Other Device
Swap Floppy
Seek Floppy
Boot Up Num-Lock Led Gate A2D Option Typematlc Rate Setting ж Typematlc Rate (Chars/Sec x Typematlc Rata (Msec)
Security Option APIC Function MPS Table Version
Quick boot
1st Boot Device
2st Boot Device
.3s! Boot Device
Boot Other Device
Swap Floppy
Seek Floppy
Boot Up Num-Lock Led Gate A2D Option Typematlc Rate Setting ж Typematlc Rate (Chars/Sec x Typematlc Rata (Msec)
Security Option APIC Function MPS Table Version
(Enabled] [HDD-0] [CDROM] [Floppy] [Enabled] [Disabled] [Disabled] [On] [Fast] [Disabled] 6 250 [Setup] [Enabled] [1.4]
(Enabled] [HDD-0] [CDROM] [Floppy] [Enabled] [Disabled] [Disabled] [On] [Fast] [Disabled] 6 250 [Setup] [Enabled] [1.4]
Menu level
Menu level
Esc : QuitF10 ; Save & Exit SetupEsc : QuitF10 ; Save & Exit SetupT IT I: Select Item: Select ItemPU/PD/+/- : ModifyPU/PD/+/- : Modify
Esc : Quit
F10 ; Save & Exit Setup
Esc : Quit
F10 ; Save & Exit Setup
T I
T I
: Select Item
: Select Item
PU/PD/+/- : Modify
PU/PD/+/- : Modify
Time, Date, Hard Disk Type ...
Рис. 4.11. Параметры раздела Advanced Chipset Features
Первое, что я рекомендую, — установить параметр Quick Boot в значение Enabled. Чаше всего значения изменяются клавишей <Enter> или двумя клавишами <PgUp>/<PgDn>. Теперь, чтобы при старте компьютера не было лишних обращений к дисководу, нужно установить параметр seek Floppy в значение Disabled.
В современных BIOS такие параметры могут отсутствовать, и по моим наблюдениям в таких версиях память тестируется один раз и не происходит поиска дисковода при старте. Второе отключили, скорей всего, потому, что флоппи-диск сейчас уже устанавливают все реже.
В большинстве систем по умолчанию компьютер ищет загрузчик сначала на дискете, а потом уже на главном жестком диске. Если вы очень редко загружаетесь с флоппи-диска, то я рекомендую изменить порядок и поставить винчестер первым. Зачем лишний раз исследовать дисковод на наличие дискеты с загрузчиком, когда это необходимо раз в год.
Чтобы изменить порядок загрузки в большинстве BIOS, нужно выделить строку 1st boot device и клавишей <Enter> или <PgUp>/<PgDn> изменить значение на hdd-o. Есть утилиты настройки BIOS, в которых порядок загрузки изменяется не в разделе Device, а в отдельном разделе Boot.
Определение дисков
Очень часто по умолчанию в BIOS установлено автоматическое определение IDE-устройств (Integrated Device Electronics) — жестких дисков и CD-ROM- приводов. Но большинство из нас меняет HDD или приводы CD/DVD раз в год, и зачем же каждый день при загрузке заново их определять?
CMOS Setup Utility - Copyright (С) 1984-2000 Award SoftwareStandard CMOS Features
Date (mm:dd:yy): Wed, Jan Q ZOOS
Time (hh:mm:ss): 20 :10 : 00
HARD DISKS
TYPE
SIZE
CYLS
HEAD
PRECOMP
LANDZ
SECTOR
MODE
Primary Master
: User
30739M
3737
255
0
59559
63
LBA
Primary Slave
: None
0M
0
0
0
0
0
Secondary Master
: None
0M
0
0
0
0
—*•
Secondary Slave
: User
3249M
787
128
0
5295
63
LBA
Drive A : [1.44M, 3.5 In.]
Drive В : [None]
Video :[EGA/VGA]
Halt On : [All, But Keyboard]
Esc : Quitt l -. «- : Select Item
F10 : Save 4 Exit SetupPU/PD/+/- : Modify
Time, Date, Hard Disk Type ...
Рис. 4.12. Параметры раздела Standard CMOS Features
Настройки определения жестких дисков хранятся в разделе Standard CMOS Features (Стандартные возможности CMOS) (см. рис. 4.12) или в подразделе IDE Configuration раздела Advanced BIOS Features (Расширенные возможности BIOS). Здесь перечислены четыре IDE-устройства: два ide Primary (основной встроенный интерфейс дисковых устройств) и два ide secondary (вторичный IDE). Нигде не должно гореть слово Auto. Если к одному из шлейфов подключен винчестер или привод CD/DVD, то вы должны это явно указать. Если устройства нет, то установите значение None, чтобы при старте компьютера не проверялся пустой канал.
Для явного указания подключенного диска нужно выбрать вместо Auto значение user, и BIOS тут же постарается определить подключенное устройство. Если попытка не удалась, то возможны два варианта:
к данному каналу ничего не подключено, и нужно указать значение None;
надо использовать отдельный пункт для автоматического определения дисков, расположенный в главном меню утилиты настройки BIOS. Выберите его и выполните поиск устройств.
Быстрая память
В компьютеры может устанавливаться память различных типов, и при настройках по умолчанию BIOS берет самые слабые значения. Скорость памяти характеризуется тремя основными параметрами (в. начале каждого параметра может содержаться имя типа памяти SDRAM, DRAM и др.):
cas# Latency — определяет время, необходимое для получения запрашиваемой ячейки с данными (самый важный параметр). Здесь можно указывать значения 2, 2,5 или 3. Чем меньше значение, тем меньше задержка и быстрее работа. Современная память хорошо работает при значении 2, и нет смысла его завышать.
has# to cas# — задержка при чтении памяти, которая может принимать значения от 2 до 4. Оптимальным считается значение з, потому что в этом случае гарантируется стабильная работа на всех типах памяти и с любыми процессорами. Если вы уверены в качестве памяти, то можно уменьшить значение до 2. Если будут возникать проблемы, то верните значение 3.
has# Precharge — время до перезаписи блока памяти. Можно указывать значения от 2 до 4. Стабильность гарантирует число 3, но при качественной памяти можно понизить значение и до 2.
Настройки этих параметров можно найти в разделе Advanced BIOS features или разделе Advanced подразделе Chipset Configuration (зависит от версии BIOS). Чтобы иметь возможность изменить эти параметры, нужно выполнить следующие действия (в зависимости от утилиты конфигурирования BIOS):
параметр System performance установить В состояние Expert, a Memory Timings — В User (см. рис. 4.13);
параметру Extended configuration Присвоить значение User Defined И SDRAM Timing Control установить В состояние Manual-user defined.
CMOS Setup Utility ■ Copyright (C) 1964-2000 Award SoftwareAdvanced Chipset FeaturesSyitem Periomence CPU Click Ratio FSB Frequency CPU Interface Memory Frequency Resulting Frequency Memory Timings fc T (RAS) x T (RCS) xT|RP) x CAS Latenacy x RAS PrechargeCMOS Setup Utility ■ Copyright (C) 1964-2000 Award SoftwareAdvanced Chipset FeaturesSyitem Periomence CPU Click Ratio FSB Frequency CPU Interface Memory Frequency Resulting Frequency Memory Timings fc T (RAS) x T (RCS) xT|RP) x CAS Latenacy x RAS Precharge[Expert][Expert](Default! [133MH1] [Aggressive] (Auto]133 MHi[Turbo}52'; '(Default! [133MH1] [Aggressive] (Auto]133 MHi[Turbo}52'; '22i.Oi.O22Item DescriptionItem DescriptionMenu levelMenu level
CMOS Setup Utility ■ Copyright (C) 1964-2000 Award SoftwareAdvanced Chipset Features
Syitem Periomence CPU Click Ratio FSB Frequency CPU Interface Memory Frequency Resulting Frequency Memory Timings fc T (RAS) x T (RCS) xT|RP) x CAS Latenacy x RAS Precharge
CMOS Setup Utility ■ Copyright (C) 1964-2000 Award SoftwareAdvanced Chipset Features
Syitem Periomence CPU Click Ratio FSB Frequency CPU Interface Memory Frequency Resulting Frequency Memory Timings fc T (RAS) x T (RCS) xT|RP) x CAS Latenacy x RAS Precharge
[Expert]
[Expert]
(Default! [133MH1] [Aggressive] (Auto]
133 MHi
[Turbo}
5
2'; '
(Default! [133MH1] [Aggressive] (Auto]
133 MHi
[Turbo}
5
2'; '
2
2
i.O
i.O
2
2
Item Description
Item Description
Menu level
Menu level
Esc : Quitт i -a <- : Select Item
FID : Save 4 Exit SetupPU/PD/ + /- : Modify
Time, Date, Hard Disk Type ... •
Рис. 4.13. Настройка параметров работы памяти
Смысл обоих действий схож, а разница существует только в названиях, потому что производители именуют параметры как им вздумается.
Тотальное обновление BIOS
BIOS — это программа, а в ней могут быть и бывают ошибки, которые влияют на работу системы. Если компьютер работает нестабильно, то это не обязательно из-за Windows. Было немало случаев, когда виновниками сбоев оказывались ошибки в процессоре или BIOS. И Intel, и AMD уже не раз отзывали целые партии процессоров.
Чтобы исправить погрешности, нужно обновлять BIOS, при этом исчезают и некоторые ошибки процессора. Такая процедура может улучшить производительность, если новая прошивка работает быстрее. Это как драйвер, если он работает быстро, то и система бегает, кйк спринтер. Если тормозит, то весь компьютер будет спать даже при простых вычислениях.
Описывать прошивку BIOS бесполезно, потому что способ выполнения зависит от материнской платы и ее производителя. В последнее время этот
процесс упростился до запуска утилиты, которая перезагружает компьютер и все делает автоматически, главное взять нужный файл именно с сайта производителя и конкретно для вашей материнской платы. Установка неверной версии BIOS сделает старт компьютера невозможным, и восстановить работоспособность можно будет только в сервисном центре. Если ошибка обновления произошла по вашей вине, то воскрешение будет платным.
Я рекомендую обновлять BIOS, но только иногда и не сразу после выхода новой версии прошивки, т. к. она тоже зачастую содержит ошибки. Поэтому стоит подождать, пока другие пользователи обожгутся или производитель сам тщательно не протестирует свежую версию.
Обновление BIOS может позволить вашему компьютеру работать с современными устройствами или процессорами, а может исправить критические ошибки. Один мой ноутбук (Fujitsu) после покупки не работал от аккумулятора, а другой (Siemens) отказывался воспринимать РСМСА-сетевые карты. В обоих случаях помогло обновление BIOS.
Разгон железа
Если оптимизация не позволила добиться нужных результатов, вот тогда переходят к разгону и завышают параметры системы, заставляя ее перепрыгнуть через голову и работать на запредельных возможностях. Некоторые процессоры можно разогнать без особых усилий на 50 %, но я прибегаю к этому очень редко и на короткие промежутки времени, потому что это нарушение технологии, которое может привести к нежелательным последствиям.
Если на процессоре стоит маркировка 3 ГГц, то производитель гарантирует его стабильную работу именно на такой частоте. При этом качество чипов, производимых компаниями AMD и Intel, достаточно высокое, что позволяет попробовать заставить их работать быстрее. Но при этом вы должны учитывать, что теряется гарантия и, возможно, стабильность системы.
Я вспоминаю 1995 год, когда у меня был компьютер с 486 процессором, и мне его производительности в то время хватало для работы с основными приложениями, программирования и игры в Doom2. Но вышла новая игра. Это был 3D Action, который немного тормозил и работал с задержками, что очень сильно влияло на глаза. Обновлять компьютер из-за одной игры не хотелось, поэтому пришлось прибегнуть к разгону.
Частота процессора была поднята с 66 МГц до 100 МГц. Компьютер продолжал работать стабильно. И хотя процессор стал больше греться (это можно победить, и мы поговорим на эту тему в разд. Холодильник'), игра работала приемлемо. Вроде ничего не предвещало беды, пока я нс вставил в FDD дискету. Шина FSB (Front Side Bus, обеспечивает обмен информацией с памятью и некоторыми другими устройствами) работала слишком быстро, и данные с дисковода проходили с ошибками, поэтому чтение и запись
на дискеты стали невозможными. При любом обращении к диску появлялось сообщение "Ты зачем сломал игрушку", которое шутники-разработчики встроили в файловую оболочку.
В результате я смог поиграть в очень хорошую игру, но при этом приходилось постоянно то разгонять процессор, то понижать скорость для корректной работы с дисководом. Я использовал этот механизм только как временное явление, потому что это опасно для системы, но иногда очень хочется получить необходимую производительность.
Если у вас нет опыта сборки компьютера, то советую ограничиться оптимизацией параметров или небольшим повышением тактовой частоты, т. к. разгон не требует особых навыков, но может привести к выходу из строя памяти, материнской платы или процессора.
Внимание
Если вам потребуется вскрыть системный блок, то не забудьте выключить компьютер. Его компоненты находятся под напряжением, и это может быть опасно для вашей жизни.
Холодильник
При работе компьютера некоторые компоненты подвержены нагреву. К этой категории относится и процессор. При разработке очередного компьютера производители делают охлаждение для этого элемента, обеспечивающее запас в 10—20 %. Именно на столько можно без проблем ненадолго разгонять процессор, но при этом мы теряем задел.
Старые процессоры при перегреве сгорали, но на хороших материнских платах встроен термодатчик, который отключает чип, и при повышении температуры вы ощутите эффект зависания. Чтобы этого не произошло, до начала разгона необходимо позаботиться о хорошем охлаждении, которое позволит работать процессору на запредельных частотах при максимальной загрузке достаточно продолжительное время.
Если у вас корпус Media, то в нем изначально плохое охлаждение из-за неудачного форм-фактора — горизонтальное расположение не способствует обдуванию. Все компоненты в таком корпусе налеплены друг на друга, и воздух плохо циркулирует среди плат. Проблема усложняется, если поверх корпуса у вас стоит монитор, который еще больше затрудняет поступление потока холодного воздуха в системный блок и дополнительно нагревает окружающее пространство.
Намного лучше, если у вас Big Tower (большой вертикальный корпус в виде башни), потому что в нем больше свободного пространства, а значит и воздуха для охлаждения всех компонентов.
Для нормальной работы компьютера достаточно двух-трех вентиляторов:
На процессоре (должен быть максимально мощным). Лучшим вариантом будет замена штатного пропеллера на более мощный, с хорошим радиатором. В данном случае не советую экономить и помогать Китаю развивать свое "коленное" производство, а установить фирменный вентилятор от таких фирм, как ThermaKake Technology или Titan. Мне больше по душе вторая фирма, и ее вертушки меня пока ни разу не подводили.
На блоке питания. Он нас не будет сильно волновать, особенно, если вы установите дополнительные вентиляторы, о которых мы поговорим позже.
Например, на видеокарте, если она достаточно мощная, и охлаждения радиатором недостаточно. Разгоном видеокарты мы также заниматься не будем, поэтому оставим эту тему в покое. Но даже если вы немного поднимите частоту видеокарты, то она, скорей всего, не перегреется при наличии дополнительного охлаждения в корпусе.
Этого достаточно для штатной работы. Если вы будете разгонять компоненты системы, то я рекомендую установить добавочное охлаждение. Сейчас в магазинах продаются вентиляторы, которые устанавливаются в 5-дюймовый отсек и подключаются к стандартному питанию компьютера 12 вольт.
Поставить такой вентилятор легче, чем подключить CD- или DVD-привод. Просто снимаете крышку компьютера, убираете заглушку со свободного отсека и вставляете вместо нее вентилятор (см. рис. 4.14). В компьютере должно быть несколько свободных разъемов для подключения питания, например, на жестком диске или CD-приводе. Воспользуйтесь одним из них для подсоединения вентилятора.
Рис. 4.14. Вентилятор, устанавливаемый на передней панели в отсек 5,25 дюймов
Если свободных разъемов питания нет, то используйте тройник (может быть в комплекте с вентилятором). Отсоедините питание от CD-ROM, перекиньте его в тройник, а тот, в свою очередь, подключите к CD-ROM и вентилятору.
Такой вентилятор позволяет понизить общую температуру в системном блоке за счет дополнительной подачи холодного воздуха. Если этого не делать, то воздух, находящийся внутри блока, постепенно нагревается, и ниже этой температуры охладить компоненты (процессор, видеокарту или жесткий диск) уже будет невозможно.
Установив на переднюю панель вентилятор на вдув, желательно поставить на заднюю панель вентилятор на вытяжку, чтобы он освобождал системный блок от горячего воздуха. Весь поток, который втягивается в корпус через одну стенку компьютера, должен забираться на противоположной стороне, поэтому мощность вентиляторов желательно уравнять.
Компьютеры на базе Intel страдают большим количеством шлейфов, которые грудой свалены внутри корпуса. Большинство гаражных сборочных производств даже не пытаются как-то упорядочить эти провода, и только крупные производители скручивают все в жгуты и раскладывают вдоль стенок. Откройте корпус и постарайтесь заняться уборкой. Лишние провода на пути воздушных потоков только ухудшают охлаждение. Я всегда зажимаю провода хомутами и аккуратно прикрепляю по краю материнской платы. Таким образом, центральная часть корпуса остается свободной.
Вернемся к охлаждению процессора. Я уже отмечал, что очень важно поставить вентилятор помощнее. Штатный (исключая фирменный Intel-вентилятор) может иметь небольшой запас мощности, которого может не хватить. Китайские вертушки неплотно прижимаются к кристаллу и поэтому слабо забирают от него тепло.
Повторюсь, что хорошей альтернативой будут изделия Thermaltake Technology или Titan, но даже они не лишены недостатков и требуют небольшой доработки. Если конструкторы считают, что большой радиатор плюс мощный вентилятор смогут охладить что угодно, то это глубокое заблуждение. Радиатор — это замечательно, но только если у него хороший контакт с кристаллом процессора. А контакт не может быть нормальным, если радиатор гашеный.
Да, большинство даже солидных производителей красят радиаторы, а дополнительное покрытие нарушает теплообмен, и лишние градусы вам обеспечены. Чтобы улучшить теплоотвод с процессора, достаточно просто снять его и зачистить краску мелкой наждачной бумагой. Делать это нужно аккуратно, чтобы поверхность была максимально отшлифованной и без царапин, которые также уменьшают площадь соприкосновения.
После зачистки нужно хорошо протереть поверхность радиатора для уличения образовавшейся пыли. Затем выдавливаем в центр одну каплю теплопроводящей пасты. Больше — не значит лучше, потому что при креплении радиатора (если он фирменный, а не "made in Sosedniy Garag") все остатки выползут на материнскую плату. Лучше всего, если это будет российская паста КПТ-8. У любого радиоэлектронщика такая обязательно есть в арсенале. После этого возвращаем процессор на родину.
При установке вентилятора будьте осторожны, потому что некоторые процессоры (например, Celeron по технологии Copermine) имеют очень слабую защиту кристалла. В момент крепления вентилятор может просто раздавить кристалл, т. к. он слабо защищен и слишком далеко выступает над поверхностью процессора.
Теория разгона
Прежде чем рассматривать разгон определенных моделей процессоров, нужно познакомится с теорией этого процесса. Частота, на которой будет работать процессор, характеризуется двумя показателями: частотой шины и коэффициентом умножения. Эти два значения перемножаются, и результатом будет искомый параметр. Допустим, что у вас простой Pentium 111, который должен работать на частоте 600 МГц. При частоте системной шины 100 МГц (заложено производителем, фирмой Intel) множитель должен быть равен 6 (100 х 6 = 600).
Скорость процессора можно поднимать двумя способами:
Повышение частоты шины.
Увеличение множителя.
Я рекомендую начинать именно с первого, потому что частота шины влияет не только на процессор, но от этого параметра зависит работа со всеми остальными устройствами. Например, на скорости, определяемой частотой шины, происходит обмен данными с оперативной памятью, и если этот параметр повысить, то, соответственно, ускорится обмен информацией, а заодно быстрее будут работать почти все составляющие компьютера.
Если для 600-Мгерцового процессора установить частоту шины 133 МГц (это приемлемая частота) и коэффициент 4.5, то рабочая частота процессора будет 598,5 МГц. Скорость процессора даже немного уменьшилась, но за счет форсирования работы остальных компонентов, связанных по шине, в целом получится повышение производительности.
Если увеличить коэффициент до 5, то процессор будет работать на частоте 665 МГц, и это будет уже разгон не только шины, но и процессора. Но в некоторых процессорах частота шины и множитель фиксированы и не могут изменяться вручную. Эти значения выбирает материнская плата. Большинство фирменных компьютеров не имеет такой возможности, поэтому в таких случаях лучше всего подходят машины, собранные мелкими производителями или самостоятельно.
У меня дома стационарный компьютер на базе процессора Celeron 566. Это первый Celeron, созданный по технологии Copennine (применялась в Pentium Hl). Сердцем материнской платы является чипсет ZX. Для такого процессора это очень старый чипсет, и BIOS тоже древний. Но производители не обратили внимания на фиксацию параметров, поэтому, определив процессор как
Pentium Hl, частота шины автоматически стала 126 МГц, а множитель 4,5. Результат — рабочая частота процессора 567 МГц. В то время даже Pentium 111 рекомендовано было работать на 100-Мгерцовой шине, a Celeron вообще должен радоваться 66 МГц. Итак, мой процессор в среднем работает па 15 % быстрее своих собратьев, вкалывающих на штатной частоте шины в 66 МГц, и при этом без ущерба нагрузке и без каких-либо перегревов. Но при этом могут возникнуть проблемы с некоторыми устройствами, которые не поддерживают высокую частоту.
Перед повышением частоты шины вы должны первым делом убедиться, что оперативная память сможет работать в таком режиме. Если у вас установлены карты памяти стандарта PC 100, то они без проблем будут работать на скорости 100 МГц, ио для значения 133 МГц, скорей всего, возникнут проблемы. Так уж получилось, что изготовители памяти не закладывают задела производительности. Если процессор за счет усиленного охлаждения можно заставить работать быстрее, то память практически невозможно.
Установка частоты шины и множителя в основном происходит с помошью переключения джамперов на материнской плате. В современных платах (но не во всех) эти изменения можно производить через BIOS. Напоминаю, что производители процессоров постоянно борются с разгоном, чтобы пользователи за небольшие деньги не получали более быстрые системы. Но это не всегда целесообразно.
Я поддерживаю блокировку для защиты от продавцов. Были такие случаи, когда процессор разгонялся, на нем перебивали маркировку скорости и продавали как более быстрый, но дороже.
А вот пользователи должны иметь возможность разгона, но при этом обязаны отдавать себе отчет, что надежность системы уменьшается пропорционально накрученным мегагерцам. Если ваша система вылетит, то ни один производитель уже не будет нести за это ответственность. Но если следовать главному правилу разгона, то потерять данные будет сложно. А основной принцип заключается в том, что надо постепенно, максимально маленькими долями повышать частоту и после каждого изменения тщательно тестировать компьютер на работоспособность. Если что-то пошло не так, то сразу выключайте машину и возвращайте все в исходное состояние.
Овладев теорией, переходим к рассмотрению отдельных процессоров и проблем, связанных с их разгоном. Разобрать абсолютно все варианты материнских плат и процессоров невозможно, но основные знания, которые вам могут пригодиться, вы получите.
Процессоры AMD
Я очень редко использую процессоры этой фирмы, потому что несколько раз уже обжигался на их качестве. Сейчас исполнение процессоров Athlon достигло приемлемого уровня, но страдает поддержка. Это видно даже при
установке Windows. Если на компьютер с huel-процессором ОС устанавливается без вопросов, то с Athlon всегда натыкаешься на "подводные камни", которые чаще всего связаны с драйверами для материнской платы, и эти проблемы появляются даже при использовании материнских плат именитых производителей типа Asus, Gigabyte.
Из-за этих недостатков я стараюсь избегать применения процессоров AMD, но два раза уже приходилось разгонять подобную систему и результат, к счастью, достаточно хороший. Но об этом чуть позже.
А сейчас я хочу предупредить, что старые процессоры (в том числе и первые Athlon) не имеют термодатчика. Это значит, что при перегреве процессор не выключается, а сгорает. В lntel-процессорах такой датчик появился давно, и его разгонять намного безопаснее.
Процессоры семейства Кб без проблем разгоняются на 33 и даже 66 МГц. Если вы являетесь обладателем процессора с тактовой частотой 233 МГц, то из него можно сделать 266 МГц (шина 133 МГц и множитель 2) или даже 300 МГц (шина 100 МГц и множитель 3). Напоминаю, что не каждая память поддерживает частоту 133 МГц, но если работает, то я рекомендую лучше выбрать меньшую скорость процессора, но большую частоту шины. Для процессора с частотой 233 МГц хорошим вариантом будет разгон до 266 МГц. Нагрев в этом случае увеличивается не сильно, а производительность повышается существенно.
Если при разгоне компьютер не запускается или начинает работать, но зависает, то возможны две причины:
Память не может работать на высокой частоте. Нужно понизить частоту шины и использовать другое сочетание параметров частота/множитель.
Процессору не хватает мощности для работы на такой частоте. В этом случае можно попытаться повысить подаваемое на процессор напряжение. Повышение напряжения может производиться через BIOS или с помощью джампера на материнской плате. Стандартным считается потенциал в диапазоне 2—2,2 вольта, но процессор великолепно воспримет даже 2,4 вольта. Большее значение ставить не советую, потому что вероятность сжечь чип увеличивается, а повысить стабильность, скорей всего, не удастся.
С появлением нового семейства процессоров от AMD, которые называются Athlon и Duron, разгон стал сложнее. С одной стороны, в процессоре был достаточно большой задел для разгона, а с другой, — возникали проблемы с памятью. В таких процессорах начали применять шину Alpha EV6. Данные в старой шине передавались по одному фронту тактовых импульсов, а в новом варианте — по обоим. Это значит, что скорость обмена с памятью увеличилась в два раза, и если у вас установлена шина 100 МГц, то реальная работа будет происходить на частоте 200 МГц. Повысив частоту на 33 МГц, мы увеличиваем скорость шины на 66 МГн и превращаем ее в 266 МГц.
Далеко не каждая память могла выдержать повышение частоты на 66 МГц, поэтому если у вас сохранился старый Athlon 800, то перед разгоном следует обновить память. Только после этого можно делать серьезные телодвижения. Если память старая, то частоту шины можно увеличивать до 120 МГц. В принципе, если у вас материнская плата выполнена на чипсете KTI33, то больше задать и не получится. Чипсеты КТ133А, КТ266, КТ266А позволяют устанавливать частоту шины до 150 МГц, а при хорошей памяти можно добиться скорости шины в 300 МГц (150 МГц шины, умноженные на передачу по двух фронтам).
В отличие от серии Кб, в процессоре Athlon запрещено изменение множителя, поэтому этот параметр даже отсутствует в большинстве BIOS материнских плат. Вместо этого можно пользоваться повышением напряжения и/или только увеличением частоты шины, что не обеспечивает плавности разгона. Но множитель заблокирован неокончательно. На заводе явно осталось старое оборудование, потому что в первых версиях Athlon и Duron блокировки множителя не было, а производитель просто стал перерезать мостики L1. В этом хакеры увидели большие возможности по разгону процессора. На рис. 4.15 показан процессор AMD, и черным прямоугольником выделено место, где располагаются мостики L1 и L3.
Рис. 4.15. Процессор Athlon от AMD
Если вы посмотрите на свой процессор, то увидите, что все мостики L1 перерезаны. Ваша задача — восстановить эти дорожки. Я не заставляю вас брать в руки паяльник, потому что есть способ лучше. Достаточно только простого мягкого графитового карандаша, чтобы аккуратно нарисовать дорожки,
как показано на рис. 4.16. Почему именно мягкий? Жесткие карандаши крошатся, и с ними вы намучаетесь, да и держаться графит на плате не будет, Очерчивать нужно аккуратно, чтобы не зарисовать лишнее. Если у вас что-то пошло не так или нужно убрать следы своего присутствия, можно легко вернуть все на место, стерев графитовые линии.
и уте -,,L2
L3 • м : i *: i i ; L4
Рис. 4.16. Дорожки L1
Карандаш, конечно, хорошо, но недолговечно. Бывали случаи, что через какое-то время контакт пропадал, и приходилось рисовать заново. Если вы хотите сделать контакт более устойчивым, то советую найти токопроводящий клей и с помощью иголки нанести его на дорожки. Такой контакт будет понадежнее, но с другой стороны, клей сложнее удалять, если капля случайно уплыла не туда, куда нужно.
В Atlon ХР задача разгона еще больше усложнилось, потому что теперь на процессоре с помощью лазера выжжены ямки. Это говорит о том, что технология взлома осталась та же, просто восстановить разрыв стало сложнее, потому что карандаш ямку не зарисует и контакта не будет. Но если вы научились работать с клеем, то этот способ можно попробовать применить. Главное — все делать как можно аккуратнее.
Для большей надежности запал ните канавки, сделанные лазером, суперклеем, который не проводит ток, но позволяет выровнять поверхность процессора. Но прежде я рекомендую закрыть все вокруг скотчем. Это как при покраске царапины на автомобиле, когда обклеивают бумагой те части, на которые не должна попасть краска. Только здесь лучше воспользоваться скотчем.
Процессоры Intel
Эти процессоры я люблю разгонять, потому что они более надежны и имеют неплохой запас в частоте при хорошем охлаждении. Единственный недостаток — в современных моделях множитель заблокирован на кристалле, и блокировку снять невозможно. Но до реализации этой идеи были еще Pentium II и их аналоги, которые не так сильно были защищены, и при наличии хорошей материнской платы все легко менялось.
До появления Pentium III во всех моделях процессоров официально использовалась шина 66 МГц, но несмотря на это любая материнская плата позволяла частоту 85, 100 или даже 133 МГц.
Напоминаю, что коэффициент умножения не всегда доступен, и если вам попалась подобная модель или изменения невозможны из-за материнской платы, то сильно увеличить частоту шины не удастся. Например, если у вас процессор Celeron 400, то множитель у него установлен равным 6, а частота шины должна быть 66 МГц. Если разогнать шину до 85 МГц, то при умножении на 6 частота процессора увеличивается до 510 МГц. По своей практике могу сказать, что такая система заработает только при очень хорошем охлаждении. Чтобы еще больше ускорить шину, просто необходимо понижать множитель.
При переводе процессоров на разъем FCPGA проблема разгона для Intel стала более существенной. Если раньше Celeron и Pentium отличались архитектурно, то теперь только объемом кэша и частотой шины. С переходом на технологию Copermine в процессорах Pentium этот параметр был поднят до 100 МГц, а в некоторых моделях до 133 МГц, в то время как у Celeron остались те же 66 МГц. Но это было сделано для явного разделения рынка между компьютерами на базе Celeron и Pentium.
Если процессор Celeron заставить работать на 100 или большей частоте шины, то разница в производительности между дешевым Celeron и дорогим Pentium уменьшалась, а сказывался только разный объема кэша. А если Celeron заставить работать на большей, чем 100 МГц частоте, то производительность сравнивалась. Именно поэтому Intel больше всех борется за то, чтобы процессоры не форсировали, и встраивает всевозможные зашиты.
И все же, несмотря на блокировки, я уже привел пример с моим Celeron 566, который легко ушел в разгон благодаря старой материнской плате и стабильно работает уже в течение 4 лет на уровне Pentium с аналогичной частотой. И все это потому, что процессор функционирует на родной частоте и абсолютно не перегревается. Я мог бы заставить работать свой процессор на большей частоте, ведь материнская плата итак определила его как Pentium и позволила менять частоту до 133 МГц.
Если вы счастливый обладатель процессора Celeron, выполненного по технологии Copermine, то будьте осторожны. Эти процессоры требуют разного напряжения и могут работать на 1.5, 1.65 и 1.7 вольта. Чем больше вольтаж, тем лучше разгоняется процессор.
Для процессоров Pentium III некоторые производители стали изготавливать материнские платы с возможностью наращивания частоты шины до 150, 170 и даже 200 МГц. Но такие частоты выдержит далеко не каждая память, и на моей практике 150 МГц было пределом. Конечно, можно попробовать купить самую дорогую память ради дополнительной сотни мегагерц на процессоре, но не легче ли тогда купить новый процессор?
Разгон Pentium IV ничем не отличается от Pentium III, но только не каждый процессор одинаково хорошо поддается этому. Корпорация Intel с каждым днем все больше и больше встраивает зашит от хакеров, усложняя им жизнь. И все равно иногда хочется выжать лишнюю сотню мегагерц.
Когда начинаете форсировать систему, то частоту процессора повышайте максимально плавно. Как только заметили нестабильность в системе, опустите скорость на 100 МГц и спокойно работайте на такой частоте. При этом всегда следите за температурой в системном блоке и на кристалле (для этого существует множество утилит).
Если вы занимались разгоном в холодное время, то при повышении температуры на улице будьте особо бдительными. В жару охлаждение ухудшается и повышается количество пыли, которая также плохо влияет на теплообмен. Пыль засоряет вентилятор, и он может крутиться слабее, подавая меньше холодного воздуха, поэтому при разогнанной системе нужно регулярно проводить влажную уборку викру! компьютера и пылесосить внутренности.
Предупреждение^
Пыль всегда является врагом компьютера, а при разогнанной системе этот противник становится еще сильнее.
Разгон видеокарты
Самый простой и безобидный способ ускорить работу видео — обновление драйверов. Например, когда появляется новая видеокарта от NVIDIA, то ее драйвера зачастую еще "сырые" и используют железо не на всю мощь. Это связано с тем, что программистский отдел всегда запаздывает (не успевает за железячниками). Сначала выпускают чип, а потом уже пишут для него окончательную версию драйверов. В процессе разработки видеочипсета невозможно написать оптимизированный код, поэтому происходит небольшая задержка.
А почему не придержать железо до выхода нормального софта? Но вступает в силу другой закон. Нет смысла задерживать новую разработку на складе, когда она должна приносить прибыль. Поэтому видеокарты запускают в производство раньше, чем для них готов соответствующий драйвер.
Если судить об NVIDIA и ее продуктах, то эта фирма постоянно выкладывает свежие версии драйверов, которые позволяют улучшить качество картинки и повысить производительность. Но были случаи, когда новейшая версия софта наоборот работала медленнее или вообще отказывалась работать. Однажды был выпущен вариант, в котором некоторые сложные расчеты производились настолько в приближенном виде, что качество картинки пострадало, зато значительно поднялась производительность. Поэтому я рекомендую
обновлять драйверы регулярно, но аккуратно, т. к. это не всегда может привести к хорошим результатам. После выхода свежей версии всегда нужно удостовериться в ее работоспособности и качестве на каком-либо тестовом компьютере.
Есть программы, которые с помощью графического интерфейса помогут вам повысить производительность за счет разгона процессора видеокарты или частоты работы памяти. Наиболее популярная из них PowerStrip. Программа получила большое распространение благодаря поддержке всех основных видеокарт. Конечно же, разгон будет доступен только в тех случаях, когда это возможно для данной карты.
PowerStrip можно скачать с сайта http://entechtaiwan.net/util/ps.shtm. Она позволяет настраивать любые параметры видеокарты, в том числе скорость работы чипа и памяти. Установите программу и перезагрузите компьютер. После перезапуска в системной области возле часов появится новая иконка программы PowerStrip. Щелкните по ней, и перед вами откроется меню, в котором надо выбрать Performance proflles/Configure (Профили вып од не- it ия/Конфи гура ция). Затем отобразится окно настройки параметров, определяющих производительность видеокарты (см. рис. 4J7).
Рис. 4.17. Настройка скорости памяти и чипа
В поле Engine clock отображается текущая частота работы графического процессора, установленного на видеокарте. В поле Memory clock можно увидеть скорость работы видеопамяти. Вдоль левой кромки окна располагаются два бегунка, перемещая которые вверх/вниз, можно изменять рабочие частоты: левый отвечает за скорость графического процессора, а правый — за память.
Как и в случае с разгоном процессора, скорость работы видеокарты нужно повышать постепенно, по одному делению и поочередно (процессор, память, процессор, память и т. д.) и тщательно тестировать после каждого изменения. Как только появилась нестабильность, надо сразу же немного понизить скорость процессора и памяти и на этом остановиться.
Помимо настройки скорости есть еще множество параметров и свойств, которые можно изменять. Я рекомендую ознакомиться с файлом помощи, чтобы больше узнать о доступных возможностях.
В Интернете есть еще много других программ .для изменения производительности видеокарт, но они предназначены для конкретных марок устройств. Например, Radeon Tweaker (http://radeontweaker.sourceforge.net) — программа для настройки видеокарт от фирмы Radeon. Здесь достаточно простой интерфейс в стиле Linux, но небольшое количество настроек.
Оптимизация Windows
Даже оптимизировав BIOS и разогнав железо, ресурсов компьютера может не хватить для ОС Windows более новой версии. А у некоторых пользователей просто может возникнуть желание, чтобы компьютер работал еще быстрее. В этом случае переходим к оптимизации Windows и максимально форсируем его работу.
Готовь сани летом
При долгом использовании Windows в нем набирается много мусора и скорость работы постепенно падает. Одним из источников медленной работы является дефрагментация файлов. Если у вас винчестер объемом 80 Гбайт и он не разделен на.логические устройства, то ОС, программы и файлы будут находиться на одном диске. Каждый файл система может записать в любое свободное место. Таким образом, разброс будет огромным.
К чему чаще всего происходит доступ? Конечно же, к системным файлам, и мы должны позаботиться о том, чтобы они компактно размещались на диске. Этого можно добиться регулярной дефрагментацией, но, как я уже говорил в разд. 3.6, это большая нагрузка на жесткий диск, его пластины, головку, а кроме того, хороший нагрев, который однажды может закончиться фатально.
Есть способ лучше — создать диск С: в основном разделе объемом в 5 Гбайт и установить систему на него. Остальное пространство отвести под логический диск D:, и все программы и данные записывать уже туда. Таким образом, системные файлы будут гулять уже в пределах 5 Гбайт, а не по всему диску. Тут и дефрагментация отнимет не так уж много времени, да и надобность в ней будет возникать значительно реже.
Диск с данными пускай фрагментируется по мере необходимости, но не слишком часто, т. к. места на нем много, а к большинству из содержащихся здесь файлов мы обращаемся редко. Но это не значит, что дефрагментацию не следует делать вообще. Конечно же, надо, но не чаще, чем раз в полгода.
Сервисы Windows 2000/ХР
Любая современная операционная система включает в себя очень много возможностей. ОС Windows в этом смысле одна из самых лучших, и в ней есть много полезного, но и достаточно практически ненужного рядовому пользователю. Начиная с Windows 2000, все основные функции реализованы в виде сервисов, и теперь нам легко управлять ими и выбирать только необходимые.
При оптимизации ОС я рекомендую первым делом обратить внимание на службы, которые запускаются по умолчанию. Мы уже говорили о сервисах при рассмотрении темы вирусов {см. разд. 4Д.З\ а сейчас взглянем на них с другой стороны. Каждый из них отнимает время при загрузке и тратит драгоценную память.
Запустите оснастку сервисов Start/Control panel/Administrative tools/Services (Пуск/Настройка/Панель управления/Администрирование/Службы). Перед вами откроется окно управления установленными сервисами (см. рис. 4.6).
В отличие от Windows 2000 в Windows ХР это окно стало попроще. Внизу вы можете заметить две вкладки: Extended (Расширенный) и Standard (Стандартный). В первом режиме откроется панель с описанием выделенного сервиса. В стандартном режиме (устанавливается по умолчанию) выводится только общий список (в Windows 2000 есть только такой режим).
Выделяя любую службу, вы можете ее запустить, остановить, приостановить или перезапустить с помощью соответствующих кнопок на панели или меню "Действие". Чтобы настроить какую-либо службу, нужно дважды кликнуть по ней, и перед вами откроется окно настроек, как на рис. 4.7.
На закладке General (Общие) окна настроек сервисов вы можете увидеть такие параметры, как Startup type (Тип запуска) и Start parameters (Параметры запуска). Выпадающий список Тип запуска может содержать одно из следующих значений:
Automatic (Авто) — сервис запускается при старте системы. После этого вы можете его остановить вручную или оставить в запущенном состоянии. Такой статус должны иметь только необходимые постоянно службы;
Manual (Вручную) — сервис запускается вручную из оснастки или из командной строки. Если вы чем-то пользуетесь очень редко, то лучше выбрать этот режим. Например, вы установили сервер баз данных MS SQL Server для выполнения определенной задачи. После этого удалять сервер жалко (может еше пригодиться), а держать в загруженном состоянии неэффективно, потому что тормозит систему и отнимает память. В таком случае лучше запускать сервер только по мере необходимости вручную;
Disabled (Отключен) — сервис отключен, и его невозможно запустить никакими методами. Если есть сервис, который вы не используете в целях безопасности, то отключите его. Это автоматически наложит запрет на запуск всех связанных с ним служб. Например, если отключить базовый сервис сети, то ни одна сетевая служба не заработает.
На вкладке Dependencies (Зависимости) вы можете определить взаимосвязи сервисов. В верхнем списке перечислены компоненты, от которых зависит избранный сервис. Это значит, что при отключении любой из них выбранная служба больше не запустится. Так что для обеспечения надежности работы какого-либо сервиса нужно защитить все, от чего он зависит.
В нижнем списке вы можете увидеть компоненты, которые зависят от выбранной службы. Если вы решили что-либо отключить, то прежде, чем это делать, семь раз загляните в этот перечень, иначе вы можете остановить очень полезный сервис.
Теперь рассмотрим некоторые службы, установленные на вашем компьютере, которые можно или даже нужно отключить, во-первых, от греха подальше и, во-вторых, для повышения производительности системы:
Automatic Updates (Автоматическое обновление) — при включении этой службы компьютер имеет право автоматически загружать обновления ОС Windows по сети. Если вы жалеете свой трафик и не хотите качать всякую ерунду, то переключите эту службу в ручной режим, чтобы запускать ее по мере необходимости, освобождая тем самым ресурсы. При этом выполните отключение автоматического обновления, для чего зайдите в свойства системы (щелкните правой кнопкой мыши по значку Мой компьютер, выберите пункт Свойства) и здесь на вкладке Автоматическое обновление отключите эту функцию. Если этого не сделать, то при очередной попытке обновления произойдет ошибка, потому что не запушена служба;
Print Spooler (Диспетчер очереди печати) — обслуживает очередь печати. Даже при наличии принтера и определенных настроек можно работать без этой службы. Ну а если таковой отсутствует, то перевести службу в ручной режим — святое дело. Я, например, очень редко печатаю со своего ноутбука, и держать в загруженном состоянии этот сервис — бессмысленное расходование ресурсов;
Task Scheduler (Планировщик заданий) — лично я никогда не заставлял ОС выполнять свою работу. Некоторые любят, чтобы каждый день в оп-
ределенное время запускалась дефрагментация диска. А представьте себе, что вы в это время убиваете очередного монстра в новом 3D Action, а тут вам такие тормоза. Использование дефрагментатора вообще глупое занятие (лишняя нагрузка на винчестер, перегревы и т. д., см. разд. 4.6.1), а выполнение по заданию — еще хуже. Достаточно вручную выполнять эту операцию по мере необходимости. Так что забудьте про планировщик и освободите компьютер от лишней службы;
Portable media serial number (Служба серийных номеров переносных устройств мультимедиа) — получение серийных номеров всех медиаустройств, подключенных к системе. А оно вам надо? Тогда переводите запуск сервиса в ручной режим;
DHCP Client (DHCP-клиент) — клиент для динамического получения IP- адреса от DHCP-сервера. Если у вас IP-адрес статический (прописан явно), то в этой службе нет надобности, и стоит сделать ручной запуск. Отключать совсем я не рекомендую;
DNS Client (DNS-клиент) — служба определения IP-адреса компьютера по его имени. Если в вашей сети используются домены, то этот клиент необходим, иначе можно перевести в ручной режим запуска. На преобразование имен Интернет-сайтов данная служба не влияет;
□ Smart card (Смарт-карты) — менеджер для работы со смарт-картами. Для использования смарт-карты (устройство для хранения ключей, паролей и т. д.) необходим присоединенный к компьютеру специальный считыватель. Если у вас нет устройства чтения смарт-карт, то службу лучше перевести в ручной запуск;
Messenger (Службы сообщений) — используется для приема-передачи сообщений командой net send. Эта служба абсолютно не защищена от флуда (об этом мы говорили в разд. 3.3), и если она вам не нужна (например, нет сети или используются другие способы обмена сообщениями), то обязательно отключайте от греха подальше;
Terminal Service (Служба терминалов) — применяется для того, чтобы другие компьютеры работали по сети с вашим Рабочим столом. Для этого необходимы сервер и клиент службы терминалов. Такая возможность часто используется на фирмах, где администраторы удаленно управляют другими машинами, или для работы с тонкими клиентами, но в домашних условиях это лишнее. Именно поэтому этот сервис по умолчанию отключен, и если вам не нужен терминальный доступ, то оставьте все как есть;
Remote Registry Service (Удаленный реестр) — и из названия понятно, что служба позволяет изменять параметры реестра по сети. Самое интересное, что она еще и работает по умолчанию. Так что срочно переводите в ручной режим запуска, чтобы реестр можно было править только локально;
FIT Publishing Service (Служба FTP-публикаций) — необходима в автозапуске только в том случае, если вы хотите использовать свой компьютер в качестве FTP-сервера. Тогда другие пользователи сети смогут с помощью FTP-клиентов подключаться к вашему компьютеру и обмениваться файлами. По умолчанию в некоторых версиях ОС Windows служба не устанавливается (подробней об этом см. разд. 4.6.3);
П US .Admin Service (Служба IIS Admin) — если вы не планируете использовать свой компьютер для публикаций FTP- или WEB-страничек, то отключите этот сервис. В некоторых версиях ОС Windows служба не устанавливается по умолчанию (см. разд. 4.6.3);
Themes (Темы) — служба необходима для управления темами Windows ХР, Если вы предпочитаете классический вид Рабочего стола, то сервис зря отнимает память, и его нужно отключить;
О Telnet — сервис позволяет удаленному пользователю с помощью командной строки войти на ваш компьютер и запускать программы. Обязательно отключите его. На 99 % компьютеров эта служба не используется, и незачем давать возможность злоумышленнику получить доступ к вашей системе. Если когда-нибудь эта возможность понадобится, то запустите Telnet вручную;
RunAs (Служба RunAs) —• существует в Windows 2000, позволяет запускать приложения от имени другого пользователя. В Windows ХР есть команда Runas с параметрами, которая связана со службой вторичного входа в систему;
ClipBook (Сервер папки обмена) — позволяет просматривать страницы папок обмена других компьютеров. Поставьте ручной запуск, потому что такие папки даже в локальных сетях используются редко;
Fax service (Служба факсов) — если вы добавили возможность работы с факсом (при инсталляции Windows служба не устанавливается по умолчанию), но пользуетесь им редко, то стоит использовать ручной запуск;
Distributed Link Tracking Client/Server (Клиент отслеживания изменившихся связей) — поддерживает связи NTFS-файлов, перемещаемых в пределах компьютера или между компьютерами в домене. При локальной работе этот параметр точно должен быть установлен в положение "Вручную”, но даже если и есть сеть, я его отключаю;
Distributed Transaction Coordinator (Координатор распределенных транзакций) — использование распределенных транзакций для доступа к базам данных, очередям сообщений или файловым системам. Я отключаю этот сервис, когда не работаю с базами данных;
Logical disk manager (Диспетчер логических дисков) — мониторинг за новыми жесткими дисками. Состояние динамических дисков и информация о конфигурации изменяется не так часто, чтобы ее постоянно отеле-
живать, поэтому переведите сервис в ручной режим запуска, но не отключайте совсем.
Как видите, в системе достаточно много служб, которые могут понапрасну расходовать ресурсы на вашем компьютере. Если отключить их, то загрузка ОС ускорится и освободится несколько мегабайт свободной памяти.
Удаление ненужного
Один из лучших вариантов оптимизации работы Windows — избавиться от лишних программ. Вспомните об оснастке Установка и удаление программ и удалите неиспользуемые компоненты Windows и сторонние программы. Для этого щелкните по кнопке Add/Remove Windows Components (Установка компонентов Windows), и перед вами откроется окно с перечислением всех доступных разделов. Посмотрим назначение каждого из них и определим, что из этого нужно, а что нет:
□ Internet Information Services (ISS) — это поддержка WEB и FTP. Чаше всего этим сервисом пользуются программисты для отладки своих WEB- приложений и администраторы сети на сервере для создания корпоративного сайта. Если вы далеки от этих проблем, то можете отключить сразу весь раздел, а если заинтересовались, то вот его содержимое:
Служба FTP — обеспечивает создание FTP-узлов, предназначенных для передачи файлов, и дает возможность обновлять локальный WEB- сайт другим пользователям сети. Это лишняя дыра в безопасности, потому что вы и так сможете поменять файлы на своем диске, а для пользователей локальной сети можно открыть общую папку;
Служба WWW — это непосредственно сервер, который будет управлять страничками, может быть установлен локально;
Оснастка HS — позволяет администрировать сервер IIS через обозреватель;
Документация — материалы о публикации содержимого узла и администрировании WEB- и FTP-ссрверов. Компонент на первый взгляд не несет угрозы, но при его включении устанавливаются сценарии ASP, через которые просматривается документация, а любые сценарии могут быть уязвимы;
Серверные расширения Frontpage 2000 — разработка и администрирование WEB-узлов. Сколько уже было найдено уязвимостей в этих расширениях, что и сосчитать сложно. Если вы даже не знаете, что это такое, то лучше и не устанавливать. А если серьезно, то эти расширения позволяют сделать странички динамичными, но не каждый сервер в Интернете сможет потом отобразить ваш сайт, потому что услуги хостинга обычно предоставляются под Unix-системами, где эти расширения не поддерживаются;
Служба SMTP (Службы электронной почты — для серверных ОС) — поддерживает передачу сообщений электронной почты с вашего компьютера и получение новостей, которые в последнее время потеряли свою актуальность, а устанавливать себе SMTP-службу не стоит, если вы не WEB-лрограммист;
Другие службы доступа к файлам и принтерам в сети ■■ по умолчанию устанавливается только служба, которая позволяет работать с ресурсами Windows-систем. В этом разделе вы можете подключить дополнительные службы, которые позволяют Macintosh- и Unix-клиентам печатать документы на любом доступном принтере;
Лицензирование служб терминала — компонент существует для семейства серверных операционных систем на базе Microsoft Windows 2000 с установленными службами терминалов в режиме сервера приложений. Настраивает компьютер как сервер лицензий сервера терминалов, позволяет управлять количеством клиентских лицензий на доступ к этим службам. Если у вас отсутствует служба терминалов, то и лицензирование не стоит устанавливать;
Отладчик сценариев (для Windows 2000) — используется программистами для отладки сценариев;
Сетевые службы — набор специализированных служб и протоколов для работы с сетью, большинство из них используются только на сервере и для клиентского компьютера не нужны:
DHCP (Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста) — устанавливает DHCP-сервер, который автоматически назначает временные IP-адреса клиентским компьютерам. Используется в больших сетях для облегчения администрирования адресации;
DNS (Domain Name System, служба имен доменов) — сервер преобразования DNS-имен (не путать с именами компьютеров) в IP-адреса;
WINS (Windows Internet Naming Service, служба имен Internet для Windows) — сервер NetB IOS-и мен, позволяющий их регистрировать. Это как раз и есть имена компьютеров;
Простые службы 1’CP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол Internet) — поддержка таких служб, как Character Generator, Daytime, Echo и т. д. В большинстве случаев они не нужны даже серверу;
QoS RSVP (Quality of Service/Resource Reservation Setup Protocol, Качество службы/Протокол настройки резервирования ресурсов) — позволяет управлять распределением графика по приоритетам для программ, поддерживающих Qos-стандарт, и контролировать уровни обслуживания. Эту службу обязательно нужно отключить, потому что
она отнимает от каждого соединения часть пропускной способности, что тормозит связь. При этом ее мало кто использует;
Служба индексирования — позволяет производить быстрый поиск в файлах. Занимает лишнее место на диске, если вы очень редко пользуетесь поисковой системой Windows;
Службы Windows Media — обеспечивает потоковую передачу файлов мультимедиа по сети. Если вы не занимаетесь вещанием звука или видео, то не стоит и устанавливать;
Сервер терминалов — настраивает компьютер для удаленной работы с приложениями нескольких пользователей одновременно. Клиент подключается и видит ваш Рабочий стол, при этом может запускать любые установленные программы и работать с ними. Такая служба используется на сервере и устанавливается для клиентов, у которых не хватает мощности собственного компьютера для локальной работы с приложениями или с целью экономии средств на покупке лицензий;
Службы удаленной установки — позволяют выполнять удаленную установку Windows на клиентские компьютеры;
Средства управления и наблюдения — включает средства слежения за производительностью сети. Простой пользователь, скорей всего, не найдет им применения, хотя в администраторских целях это может оказаться полезным:
Пакет администрирования диспетчера подключений — средство для создания настраиваемых подключений удаленного доступа и служба телефонной книги;
Протокол SNMP (Simple Network Management Protocol, простой протокол сетевого управления) — используется для наблюдения за работой сетевых устройств и позволяет выводить результаты обработки на рабочую станцию сетевой консоли;
Средства сетевого монитора — позволяют следить в реальном времени за пакетами данных, передаваемыми по сети (кто подключается к компьютеру, какие файлы и папки использует, какие данные передает). Есть возможность подслушивать трафик, как это делают программы- сниферы, о которых мы будем говорить в гл. 5;
Стандартные и служебные программы — здесь расположены стандартные программы Windows и офисные приложения, которые вы можете использовать в каждодневной работе. Чаше всего на производительность они не влияют, поэтому отключение компонента позволит только освободить лишнее место на диске:
Игры (отсутствуют в Windows Serverv 2003) — стандартные игры Windows, такие как "Сапер" или "Косынка";
Мастер специальных возможностей — позволяет специальным образом настроить систему для людей с ограниченным слухом, зрением или подвижностью. Можно отключить, потому что эти возможности отнимают лишние ресурсы;
Мультимедиа — если у вас установлена звуковая карта (а сейчас они стоят везде), то в этом разделе вы найдете программы звукозаписи и регулировки громкости, лазерный проигрыватель и образцы звуков. Они не расходуют ресурсы, на диске не занимают много места. Отключив образцы звуков, можно выиграть 1 Мбайт дискового пространства;
Связь — средства для подключения к другим компьютерам или интерактивным службам через COM-порт. Здесь вы найдете программу HyperTerminal, позволяющую обмениваться файлами и сообщениями, и другие возможности "поговорить" с друзьями напрямую (через модем), без подключения к Интернету;
Стандартные — такие программы, как Paint, WordPad, Калькулятор, Папка обмена и т. д. Если удалить какие-либо из них, то сэкономите только место на диске, и ничего больше.
Но список, который вы видите в рамках оснастки Установка и удаление программ, еще не полный. Очень многие программа скрыты от удаления. Чтобы их увидеть, необходимо отредактировать файл sysoc.inf из папки Windows\Inf.
В этом файле после строки [Components] идет описание всех установленных компонентов, например, так:
WBEM=ocgen.dll,OcEntry,wbemoc.inf,hide,7
Обратите внимание на параметр hide перед последней запятой. Благодаря ему мы не видим данный компонент и не можем его удалить. Чтобы программа отображалась в списке, необходимо просто удалить это слово, тогда строка примет следующий вид:
WBEM=ocgen.dll,OcEntry,wbemoc.inf,,7
Уберите слово hide во всех строчках, и все компоненты станут доступными для удаления.
Автозагрузка
Помимо сервисов автоматически могут запускаться и другие программы, и все они отнимают лишние ресурсы. Выберите меню Start/Run (Пуск/Выполнить) и выполните команду msconfig. Перед вами откроется окно настройки системы (рис. 4.3). Мы уже рассматривали эту утилиту, когда затрагивали тему вирусов (см. разд. 4.7.5). Перейдите на закладку Startup (Автозагрузка), где перечислены все автоматически запускаемые программы. Убедитесь, что в перечне только те программы, которые вы используете достаточно часто.
Например, если у sac установлен Microsod Office, то в этом списке будет утилита, позволяющая запускать офисные программы быстрее. Это происходит за счет загрузки определенных библиотек уже на этапе старта компьютера, и при запуске самих приложений уже не будет этих затрат. Очень хорошо. Но что, если ваш компьютер используется для игр и только иногда для написания какого-то реферата? В этом случае мы будем при каждом старте зря терять ресурсы. Лучше отключить эту утилиту и освободить память, и пусть, например, Microsoft WORD грузится на секунду дольше.
Дамп памяти
Что еще можно улучшить? При системном сбое по умолчанию до перезагрузки системы создается дамп памяти. Это значит, что ОС сохраняет на диске (в отдельном файле) все содержимое оперативной памяти. Данное действие необходимо разработчикам, чтобы определить причину ошибки, но мы же не программисты и исследовать байт-код не будем. Поэтому я рекомендую
Рис. 4.18. Окно настройки загрузки и восстановления
не тратить время (достаточно большое) на создание файда-дампа и сэкономить место на диске, т. е. отключить эту возможность. Для этого щелкните правой кнопкой по иконке Мой компьютер и в появившемся меню выберите пункт Свойства (Properties). Перед вами откроется окно свойств системы. Перейдите на вкладку Дополнительно (Advanced) и нажмите кнопку Settings (Параметры) в разделе Startup and Recovery (Загрузка и восстановление). В появившемся окне (см. рис. 4.18) в поле Write debugging information (Запись отладочной информации) выберите пункт попе (отсутствует).
Красоты
Когда мы устанавливаем новую версию ОС, то хочется увидеть всю ее красоту и почувствовать комфортабельность (как у любимого автомобиля), но внешний вид — это не всегда удобство и скорость. Для повышения производительности иногда приходится жертвовать красотами, если ваш компьютер изначально не справляется с операционной системой.
Для отключения лишних эффектов снова щелкните правой кнопкой мыши по картинке Мой компьютер и в появившемся меню выберите пункт Свойства. В уже знакомом окне свойств системы перейдите на вкладку Дополнительно и нажмите кнопку Settings (Параметры) в разделе Performance (Производительность). Если у вас Windows Server 2003, то перед вами откроется окно, как на рис. 4.19 (по умолчанию флажки устанавливает ОС в зависимости от параметров компьютера). Выберите пункт Adjust for best performance (Обеспечить наилучшее быстродействие). В списке эффектов все пункты станут без галочек.
Таким образом, мы отказываемся от визуальных эффектов, зато позволяем компьютеру работать, не теряя эффективности.
Но это еще не все эффекты. Щелкните правой кнопкой по Рабочему столу и в появившемся меню выберите пункт Properties (Свойства). Перед вами появится окно настройки экрана. Перейдите на вкладку Appearance (Оформление) и нажмите кнопку Effects (Эффекты). Если у вас Windows 2000 или более старая версия, то в окне настройки экрана сразу перейдите на закладку Effects (Эффекты). Здесь перечислены все методы, используемые при отображении окон, меню или значков.
Прорисовка Рабочего стола тоже отнимает время. Допустим, что у вас работает несколько программ и нужно запустить еше одну. Для этого щелкаем по значку Свернуть все и видим, как долго ОС перерисовывает Рабочий стол. Это особенно заметно, если в системе не хватает памяти или выполняется какой-нибудь трудоемкий процесс. На отрисовку картинки Рабочего стола просто не остается сил. Наилучшее ускорение — вообще не использовать фон, а установить цвет.
Performance Options
?|х?|хVisual Effects j Advanced ]
?|х
?|х
Select the settings you want to use for the appearance and performance of Windows on this computer.
<* LcLWfndpws.choose what's.best.for.my computer]
Adjust for best appearance
C Adjust for best cerformance
Custom:
□ Animate windows when minimizing and maximizing
Fade or slide menus Into view
Fade or slide ToolTips into view
Fade out menu items after clicking
Show shadows under menus
Show shadows under mouse pointer
Show translucent selection rectangle
Show window contents while dragging
Slide open combo boxes
Slide taskbar buttons
П Smooth edges of screen Fonts
Cancel JCancel JApply
Cancel J
Cancel J
Рис. 4.19. Окно настройки производительности
В ат 7 мы говорили о том, что смотреть на голый Рабочий стол не очень приятно и какие-то красоты должны присутствовать в системе. Но фон нужно подбирать тщательным образом. Если вы работаете с разрешением 1024x768, а фоновая картинка имеет размер 800x600, то система должна каждый раз растягивать ее на всю поверхность экрана. Это особенно бросается в глаза при использовании JPEG-изображений, потому что в этом случае требуется включение прожорливой технологии Active Desktop. Лучшим по производительности вариантом будет использование рисунка такого же размера, что и величина экрана, а формат — однозначно BMP.
Лишние копии
В Windows 2000/ХР появилось очень много средств для упрощения жизни пользователя. Например, при инсталляции ОС все драйверы копируются на жесткий диск. Это удобно, потому что сразу после установки оказывается, что не все устройства были опознаны, а некоторые вообще могли быть еще не подключены (принтеры, сканеры, съемные носители и т. д.). Раньше приходилось каждый раз вставлять CD с дистрибутивом, а теперь пфи пер-
вом же подключении система сама находит драйвер в кэше на диске и устанавливает его.
Все это хорошо, если у вас винчестер на 150 Гбайт. А если только 30 Гбайт, как у меня, и со временем места начинает катастрофически не хватать? Нужно очистить кэш драйверов, тем более что он занимает очень много места, хотя производительность от этого не поднимется.
Итак, когда Windows отработал какое-то время и все необходимые драйверы установлены, кэш можно очистить. Если что-то понадобится, можно в любой момент воспользоваться дистрибутивом. Кэш драйверов находится в двух папках:
□ Windows\Driver Cache\t386 — здесь самые распространенные, и это более 70 Мбайт. Основной и самый объемный файл в этом каталоге — driver.cab (архив драйверов);
□ Windows\system32\dllcache (папка видна в Проводнике, если разрешить просмотр защищенных системных файлов) — в большинстве своем, это распакованный driver.cab из директории Windows\Driver Cache\i386. Если архив еще можно оставить, то разархивированная версия абсолютно не нужна, потому что может достигать 500 Мбайт.
Прежде чем удалять файлы, лучше всего установить файловый кэш равным 0. Для этого выполните команду: sfc /cachesize=0
Если вы уже достаточно опытный пользователь и не помните, когда последний раз нажимали меню Справка, то можно удалить файлы помощи. Они тоже занимают немало места (более 30 Мбайт), а информации несут в себе мало. Проще найти поддержку' в Интернете через поисковик.
На каждом диске в скрытой папке System Volume Information есть файл, в котором сохраняются точки восстановления. Что это значит? Регулярно, при установке неподписанных драйверов система устанавливает точку восстановления. Если что-то пойдет не так, то ОС можно откатить к предыдущему состоянию. Это достаточно мощное нововведение в Windows ХР, но меня оно спасало только один раз. Последняя ОС от Microsoft достаточно надежна, и если она рушится, то чаще всего навсегда.
Во время настройки ОС (сразу после установки) такие опорные точки нужны. Но когда система сконфигурирована и удачно работает, вероятность ее сбоя уменьшается практически до нуля. Точки восстановления занимают достаточно много места, и чтобы освободить его, можно вручную очистить папки System Volume Information на каждом диске, но лучше воспользоваться оснасткой System recovery (Восстановление системы), в которой можно не только самостоятельно создавать, но и удалять точки восстановления. Но советую все же иметь одну опорную точку, чтобы можно было откатиться к этому состоянию.
Приняв все меры предосторожности, отключим автоматическое создание точек восстановления. Для этого щелкните правой кнопкой мыши по иконке Мой компьютер и выберите в появившемся меню пункт Свойства. Перейдите на вкладку System recovery (Восстановление системы) и поставьте галочку рядом с Turn of! System Restore on all drives (Отключить восстановление системы на всех дисках). Теперь создание точек восстановления полностью ложится на вас. .
Форсирование выключения
При выключении локального компьютера может возникнуть ситуация, когда какая-либо программа не хочет выгружаться из памяти. В этом случае ОС дач го и нудно (по умолчанию 20 секунд) дожидается завершения этого процесса. Чаще всего ждать бессмысленно, потому что это уже похоже на зависание.
Если на сервере продолжительное время невозможно остановить сервис, го задержка может оказаться полезной. Например, если в момент попытки выключить компьютер база данных обрабатывает долгий запрос, то ожидание будет вознаграждено, если запрос завершится корректно.
На домашнем компьютере очень редко бывают такие сервисы, а пользовательские программы, в основном, закрывают вручную и до начала перезагрузки или выключения. Поэтому лучше уменьшить время ожидания. Для этого открываем в реестре строку HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control И изменяем параметр WaitToKillServiceTimeout с 20000 на 5000 (т. е. 5 секунд). Дтя дома этого будет более чем достаточно.
Защита
Мы уже познакомились с защитой от вирусов (см. разд. 4.1) и оптимизацией ОС Windows (м. разд. 4.6). И то, и другое напрямую связано с безопасностью системы. Поэтому, не повторяясь, рассмотрим только связь этих аспектов между собой.
Даже выполнение предложенных мер не гарантирует полной безопасности. Вы должны четко представлять себе, что настройки Windows не во всех случаях оптимальны. Правила защиты несовместимы с принципами производительности. Для обеспечения максимальной безопасности требуется множество проверок, шифрование, полный аудит и т. д. Все это отнимает ресурсы и во включенном состоянии тормозит систему так, что даже на самом мощном компьютере КПД (коэффициент полезного действия) будет ниже 50 %.
Прежде чем защищаться, нужно оценить, действительно ли информация настолько важна? Если да, то нужно обозначить круг данных, которые наиболее значимы, и направить усилия на их защиту. Нужно ранжировать данные по степени важности, и в зависимости от этого принимать решение и выполнять соответствующие действия. Но об этом мы поговорим чуть позже.
Вирусы и трояны
Все, что я говорил про защиту от вирусов, в равной степени относится и к троянским коням. Троян — это программа, которую чаще всего распространяют в письмах с заманчивым содержимым. Если пользователь активизировал трояна (прикрепленный файл), то в системе появляется автоматически запускаемая программа, которая открывает черный ход для хакера. Через эту дверь хакер может получить доступ к компьютеру и управлять им. Бывают трояны, которые только ищут пароли и высылают их на определенный E-mail. В отличие от вирусов такие программы редко распространяются самостоятельно, в основном их рассылают целенаправленно для взлома определенной машины.
Если выполнять все правила зашиты от вирусов, то вы так же уменьшаете вероятность заразиться трояном. Большинство антивирусных программ сканируют диск не только на вирусы, но и на трояны. Это тоже говорит о сходстве этих двух видов бациллоносителей.
Оптимизация
Что касается оптимизации, то в разд. 4.6 мы очень подробно говорили об объектах, на которые надо направить свои действия (автоматически запускаемые и редко используемые компоненты). Каждая программа содержит погрешности, потому что их пишут люди, а людям свойственно ошибаться. Если хакер найдет ляпсус в какой-либо программе, запушенной на вашем компьютере, то он сможет проникнуть в систему или сделать еще что-то не очень хорошее. Именно поэтому вы должны запускать только те программы или сервисы, которые необходимы, особенно, при работе в сети.
Сложные пароли
Все специалисты по компьютерной безопасности в один голос просят пользователей делать сложные пароли, но мало кто следует этим рекомендациям. Нельзя использовать в качестве пароля имена, читаемые слова или даты рождения. Такие комбинации легко взламываются простым перебором по словарю, и если он хорошо составлен, то процедура не отнимет много времени.
При создании пароля желательно генерировать случайные комбинации, в которых будут присутствовать строчные и прописные буквы, а также цифры и различные допустимые символы. Длина пароля должна быть не менее 8 символов, а лучше — более 12. Тогда для подбора хакеру нужно будет потратить намного больше времени.
Когда нужно придумать пароль, я запускаю какой-либо текстовый редактор (достаточно стандартного Блокнота) и случайным образом набираю на клавиатуре любые символы в разном регистре. Как теперь запомнить получен-
ный шифр? А напрягаться и не надо. У меня для таких случаев есть простой текстовый файл. Достаточно только сохранить в нем пароль, предварительно написав краткий комментарий (для какого сайта или программы используется).
Хотя многие специалисты не рекомендуют хранить пароли в текстовом формате, я это делаю без проблем. Главное — хорошо спрятать такой файл. Как это сделать? Смотрите советы, как прятать особо важные файлы, немного ниже, в разд. 4.7.9.
Единственное, что я могу порекомендовать — не хранить пароли в системе. Те, кто доверяются Windows и разрешают ему запоминать шифры и ключи, сильно рискуют. Зашита, встроенная в ОС, достаточно надежна, но в этом случае хакеру заведомо известно, где искать пароли (положение фиксировано), и их без проблем можно украсть, а на своем компьютере расшифровать файл.
Начиная с Windows 2000, пароли хранятся в базе данных учетных записей безопасности (SAM, Security Accounts Manager), и к этому файлу нельзя получить доступ. Но это мнимая зашита, потому что формат файла ни для кого не секрет, и найти его страницы в памяти не составляет труда. К тому же, есть способы обхода зашиты Windows и доступа даже к таким файлам. Но никто не будет этим заниматься, потому что в папке Windows\Repair находится такой же файл SAM, который является резервной копией основного. Это просто громадная ошибка разрабопиков, потому что расположение файла известно и к нему открыт полный доступ.
Существует множество аппаратных решений для хранения паролей, например, специализированный съемный носитель, который защищен шифром, и доступ к нему тоже регламентирован. В этом случае нужно помнить только пароль для этого устройства.
Надежность физических устройств аутентификации намного выше. Если пароль, который вы вводите при старте компьютера, легко украсть и использовать, то аппаратную конструкцию подделать сложно. Таким образом, намного эффективнее отстаивать подступы к компьютеру с помощью специализированных устройств, чем защищать вход в Windows паролем. Без такого механизма компьютер даже не запустится, а без пароля на Windows можно будет загрузиться с дискеты или компакт-диска. Думаю, что мои рекомендации по данному вопросу уже очевидны.
Сложность вскрытия пароля может быть увеличена за счет частой его замены. Многие компании советуют это делать ежемесячно. Предполагается, что такая учащенная смена даст два преимущества к безопасности:
□ если взломщик каким-либо образом получил доступ к паролю, то время его использования будет ограничено и закончится в момент очередной смены пароля;
□ усложняется подбор пароля. Многие автоматизированные системы перехвата атак могут достаточно легко определить, когда на отдельную учет-
ную запись авторизуются несколько раз подряд. Чтобы обойти такое препятствие, хакеры проверяют пароли с определенной задержкой. Это замедляет взлом, но, в конце концов, даст результат, если пароль несложный и не меняется. При частой смене вероятность успеть его подобрать становится очень низкой.
Чтобы увидеть это на примере, представим, что пароль может содержать только числа. Допустим, что на первоначальном этапе он был равен 7 000 000. Хакер тупым перебором прошел от 0 до 6 000 000, а в этот момент пароль меняется на 5 000 000. Дальнейшее сканирование хоть до миллиарда не даст результата, потому что новый пароль уже находится вне диапазона проверки.
В реальной жизни пароли содержат буквы, цифры и определенные символы, что дает большее количество комбинаций, а значит, требует увеличения времени подбора. Меняйте пароли на вход в систему ежемесячно, и вы затрудните работу хакерам.
Пароли по умолчанию
Нет, я не буду повторяться про сложность пароля. Это уже и так ясно. Я хочу сказать, что в системе не должно быть имен пользователя и паролей по умолчанию. Например, в MS SQL Server есть системная учетная запись с именем "sa" (System Administrator) и без пароля. Если администратор не изменил ее параметры, то любые шаги на усиление безопасности бесполезны.
В Windows 2000/ХР есть гостевая учетная запись, и слава богу, что по умолчанию она отключена. Не вздумайте включать ее без особой надобности, а если решите использовать, то никогда не давайте больших прав, особенно на запись данных на диск или создание чего-либо.
Допустим, что ваш знакомый захотел вам переслать по сети некий файл. Вы доверяете ему и открываете доступ на запись, и вроде бы ничего страшного нет. А если через эту учетную запись работает 1000 человек? Где гарантия, что кто-то из них не удалит все директории? Даже среди двух пользователей один может оказаться злоумышленником или шутником.
Обновления
Я уже упоминал, что ошибки есть везде, просто в некоторых ОС их находят, а в других даже не ищут. ОС Windows — самая распространенная, и в ней работает большинство пользователей, поэтому хакеры именно здесь ищут ошибки и стараются взломать именно ее. Когда найдена прореха, появляется возможность проникнуть на чужой компьютер.
Корпорация Microsoft в последнее время много внимания уделяет безопасности системы и старается свести к минимуму нежелательные эффекты от
своих ошибок. Для этого регулярно выкладываются обновления и исправления для ОС и всех продуктов фирмы.
Повторю, что процедура обновления программ помогает защититься от проникновения вирусов (си. разд. 4.1.2). Точно так же она приходит на выручку и при попытке вторжения со стороны хакеров. Безопасность, она и в Африке безопасность, и не имеет значения, от чего вы защищаетесь — от вирусов или от хакеров.
Открытые ресурсы
Когда мы работаем в сети, то хочется обмениваться информацией, не отходя от монитора. Старый дедовский способ путешествия от компьютера к компьютеру с дискетой уже никого не устраивает, тем более что эти носители информации абсолютно ненадежны, и постоянно возникают ошибки чтения.
В Windows 95 появилась возможность обмениваться файлами через открытые папки. Это действительно удобно, но почему-то мало кто ставит пароли на папки, поэтому такие ресурсы становятся доступными всем. Особо ленивые пользователи делали общими целые диски, чтобы не мучиться с открыванием каждой папки в отдельности. Если бы я был разработчиком Windows, то никогда не разрешил бы пользователю открыть доступ к каталогу, не указав пароль. Причем зашита от пустого или очень простого пароля должна быть реализована на уровне ОС.
Начиная с Windows 2000, ресурсы стали труднее досягаемы. Теперь на компьютер можно проникнуть, только зная имя пользователя и пароль. Да и диски открывать уже нельзя. Но многие умудряются пускать на свой компьютер любых пользователей под одной и той же учетной записью (чаще всего уже существующей гостевой записью Guest) и открывать доступ к папкам, указывая возможность полного доступа для всех. Эти действия мотивируются тем, что никогда не знаешь, что может пригодиться. Это неверно.
Вы должны четко разграничивать права, и для каждого пользователя, который входит в систему, заводить свою учетную запись. Открывая доступ к папке, разрешайте к ней обращаться только определенным пользователям и группам, а не всем. На моем компьютере есть только одна папка с полным доступом для всех. Я ее называю обшей. Другие папки я открываю исключительно для чтения и только конкретному человеку. Если кому-го нужна запись, то он помещает файл сначала в общую папку, а я сам его переношу куда надо.
Старайтесь не предоставлять лишних прав на доступ даже во временное пользование. Тут же вспоминается случай, когда мне удалось получить у самого лучшего провайдера города почти круглосуточный выход в Интернет всего за $4 в месяц. Несколько лет назад, когда я учился в институте, оптимальным способом доступа к сети был ночной Интернет. Всего $12— и неограничен-
ное присутствие с 0:00 до 8:00 утра (и сейчас у некоторых провайдеров тариф зависит от времени суток). Ежедневно столько времени мне было ненужно, поэтому мы сбросились втроем и заходили в сеть по очереди.
Скоро выяснилось, что пользоваться Интернетом можно всем троим одновременно, и на сервере нет проверки на доступ нескольких человек с одного аккаунта. Но и этого оказалось мало. В конце рабочего дня администратора провайдера (в 17:00) я обратился в службу поддержки и попросил проконсультировать по поводу плохого дозвона. Меня долго инструктировали, а потом дали возможность проверить качество доступа. Для этого ограничение с 8:00 было продлено до 18:00. После этого уставший администратор забыл вернуть время на место, и в течение двух месяцев у троих человек был неограниченный доступ с 0:00 до 18:00. Потом мы упустили из виду продление договора, и нашу учетную запись просто закрыли.
Мораль достаточно проста — нельзя открывать ресурсы, а если вынуждены это сделать, то не забудьте потом закрыть. В моем случае не было взлома, и провайдер не мог ничбго мне сказать, а вот администратор, скорей всего, лишился работы.
О том, как управлять пользователями и ресурсами, написано уже много книг. Если вы являетесь администратором сети или в ваши обязанности входит распределение прав доступа хотя бы на одном компьютере, то обязательно ознакомьтесь со специализированной литературой. Я же дал только общие рекомендации, исходя из своей практики.
Закройте ворота
В Windows 9х был один большой недостаток — локальные папки и файлы, открытые для сетевого использования, по умолчанию становились таковыми и для Интернет-соединения. Так как права доступа на папки были простыми (только есть/нет и возможность установки пароля, который никто не вводил), то эта настройка превращалась в большие ворота для хакеров с надписью "Добро пожаловать".
Допустим, что у вас есть локальная сеть и для обмена информацией вы открыли папку, которая будет видна не только соседним компьютерам, но и в Интернете. Чтобы ограничить проникновение извне, нужно запретить доступ к файлам из Интернета.
Щелкните правой кнопкой мыши по значку Сетевое окружение и в появившемся меню выберите пункт Свойства (или нажмите Пуск/Настройка/ Сеть и удаленный доступ к сети). Далее для пользователей Windows 2000/ХР нужно щелкнуть по ярлыку соединения с Интернетом. Перед вами откроется окно с настройкой всех протоколов (рис. 4.20). В списке The connection uses the following items (Отмеченные компоненты используются этим подключением) перечислены все протоколы и сервисы, через которые можно получить доступ к сети. Отключите File and Printer Sharing for Microsoft
Networks (Служба доступа к файлам и принтерам сетей Microsoft). Теперь служба запрещена, и из Интернета нельзя будет обращаться к открытым локальным ресурсам.
В Windows 9х нужно еще перейти на вкладку Тип сервера и убрать галочку с флажка Войти в сеть. Таким образом, компьютер не будет тратить время на регистрацию в сети, а это значит, что соединение с Интернетом будет происходить быстрее, а коннект станет безопаснее.
Рис. 4.20. Свойства соединения
Настройки
Теперь рассмотрим некоторые настройки Windows, которые также могут повысить защищенность системы. Когда вы устанавливаете ОС, то некоторые параметры настроены не на безопасность, а на повышение скорости работы. Для настольной системы я считаю такой подход оправданным, это позволяет повысить производительность, но для сервера, где хранится больше важных данных, эти настройки неэффективны.
Самая большая ошибка, которую надо исправить, — это путь к файлу explorer.exe. Ищем в реестре следующий раздел:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\WinIogon
Обратите внимание, что в параметре shell просто указано имя файла. А где этот файл? Подразумевается, что он должен быть в системе. Но это не всегда так, потому что если бросить в корень системного диска зло-файл с таким же именем, то будет выполняться именно он (см. разд. "Система" в гл. ЗУ Ошибка исправляется просто — достаточно изменить значение параметра на полный путь, т. е. C:\Windows\explorer.exe.
То же самое относится и к Windows 9х, но там эта настройка хранится в файле Windows\system.ini, где тоже есть параметр shell.
Помню, как пару лет назад один из моих коллег доставал меня своей музыкой, а слушал он то, что мне не очень нравится. Неприятно 8 часов на работе внимать всякую ерунду. Чтобы отомстить, я написал небольшую программу, удаляющую все МРЗ-файлы, которую назвал так же, как именуется Screen Saver по умолчанию, и забросил ее в систему коллеги. Большинство пользователей после установки ОС не меняют хранитель экрана. Таким был и мой друг. Как только пришло время запустить Screen Saver, так моя программа очистила диск от ненавистной музыки. Теперь я развлекаю отдел и слушаю то, что мне по душе.
Никогда не используйте Screen Saver, устанавливаемый по умолчанию. Он легко перезаписывается, и любой троян или вирус может подменить этот файл и выполнять в ваше отсутствие все, что вздумается.
При работе с системой, в которой недостаточно памяти, неиспользуемые страницы сохраняются на диске. При выключении компьютера эта информация не удаляется. В таких страничках памяти могут оказаться очень важные данные, а хакер в состоянии прочитать их. Чтобы этого не произошло, при выключении компьютера желательно очищать страницы. Для этого перемещаемся в реестре в следующий раздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Session Manager\Memory Management
Здесь должен существовать параметр ci ear Радек HeAtshutdown (если нет, то нужно создать типа DWORD), значение которого по умолчанию равно о, и данные тогда не стираются. Установите 1, выключение из-за очистки будет происходить дольше, но содержимое страниц памяти будет недоступно.
Невидимость
Для начала войдите в папку Windows\System32, Посмотрите, сколько здесь файлов. Много? Даже слишком. И больше половины имеют расширение dll. Если появится еще один подобный файл, то никто этого даже не заметит.
Только не надо называть его passwords.dll, (слишком ассоциативно). Имя не должно быть вызывающим, например, chkprofit.dll, тогда никто не обратит на него внимания.
Где-то я видел рекомендацию, что скрытый файл можно назвать kernel.dll. В системе есть библиотека kernel32.dll, и любой хакер знает, что никаких файлов типа kernel.dll или kernell6.dll не должно быть. Поэтому желательно придумать свое, не вызывающее подозрений имя, которое будет похоже на существующее в системе, но оно не должно отличаться только цифрами.
Несмотря на расширение dll, файл нужно воспринимать как текстовый и открывать для работы в текстовом редакторе, например в Notepad (Блокнот). Так как имя знаете только вы, то и найти его будет сложно среди т ы- сячи системных файлов.
Файл с паролями можно хранить не только в директории Windows/System32, но и в любом другом системном подкаталоге Windows или Program files. Желательно, чтобы в папке было как можно больше всякого мусора, тогда среди него тяжелее найти пароли. В результате мы получаем достаточно хорошо скрытый файл, однако он содержит текст.
Есть более эффективный способ, но он стоит S19, точнее сказать, столько стоит программа CyD Archiver ХР (см. рис. 4.21). Это отличный архиватор для настоящего хакера.
Рис. 4.21. Главное окно программы CyD Archiver ХР
Чтобы воспользоваться этим способом, нужно выполнить следующие шаги:
Создайте текстовый файл, в котором будут храниться пароли. Этот файл может называться как угодно.
Создайте архив с помощью программы CyD Archiver ХР. Для этого достаточно выбрать файл и нажать меню File commands/Add to new archive (Файловые команды/Добавить в новый архив). Перед вами появится мастер создания архива. Дтя указания имени архива используйте те же пра- . вила, что были описаны для создания секретного файла. Это значит, что файл должен иметь расширение dll и не вызывать подозрений. CyD Archiver ХР не обращает внимания на расширения, поэтому файл может иметь совершенно любое имя.
Для большей надежности установите пароль.
Перенесите файл в папку Windows/System32.
Теперь файл скрыт, и при этом он нечитабельный. Многие архивы даже не смогут его открыть, потому что изменено расширение, зато с помощью CyD Archiver ХР файл без проблем распаковывается.
Но есть архиваторы, которые тоже игнорируют расширения. Я бы не советовал вам CyD Archiver ХР, если бы в нем не было еще одной удобной возможности — мягкого разрушения архива. Любой ZIP-файл начинается с заголовка, и первые два символа должны быть "РК“. Запустите CyD Archiver ХР и выберите команду Break/Restore (Сломать/Восстановить). Перед вами откроется окно, в котором нужно указать заархивированный файл. Щелкните по кнопке с тремя точками и с помощью стандартного диалога открытия файла найдите созданный вами архив. Теперь нажмите кнопку Patch (Поставить заплатку), и программа заменит первые два символа (сигнатуру файла) на случайные.
Все ZIP-архиваторы, которые я видел, перед раскрытием файла проверяют его расширение и сигнатуру, которая должна быть равна "РК". Если хотя бы одно из этих условий неверно, то файл считается не архивным и не открывается. Программа CyD Archiver ХР не делает такой идентификации и может работать даже с "запорченным" таким образом архивом.
С помощью CyD Archiver ХР можно прятать не только отдельные файлы с паролями, но и целые папки секретных документов. Главное, чтобы архив имел подходящее название и небольшой размер.
Если выполнить все эти простые действия, то получится достаточно защищенный файл, который сложно найти. Но пока что его выдает дата корректировки. Большинство системных файлов не модифицируются, а значит, дата изменения будет достаточно старой по сравнению с нашим файлом. Проблема решается любой специализированной утилитой или все тем же CyD Archiver ХР (выбрать меню File/Set file access time, Файл/Устаиовить время доступа). Просто не забывайте после внесения исправлений в файл изменять его дату.
Мнимая защита BIOS
Практически все BIOS имеют возможность установить пароль на вход в систему. Такая защита хороша тем, что если злоумышленник не знает пароля, то запустить компьютер будет невозможно. Но эта защита мнимая, потому что ее легко обойти. Вся информация BIOS сохраняется после выключения компьютера только за счет батарейки на материнской плате. Если эту батарейку вытащить и подождать несколько секунд (для большей надежности можно замкнуть контакты в разъеме), то все настройки BIOS сбрасываются, в том числе и пароль.
Для старых версий BIOS (например, AWARD) было достаточно много универсальных паролей, которые работали всегда. Начиная с версии 4.51 такого списка больше нет, но безопасность системы при этом увеличилась не сильно.
Пароль BIOS может обеспечить минимальную защищенность, только если системный блок хорошо защищен, например, находится в другой комнате, в сейфе, под большим амбарным замком.
Шифрование
Шифрование — один из самых надежных способов зашиты информации, особенно, если должное внимание уделить ключу, который должен иметь не только приемлемую длину (от этого зависит стойкость шифра от перебора), но и храниться в недосягаемом для хакера месте. Если данные будут крадены, то просмотреть их без ключа будет невозможно, потому что в большинстве случаев понадобится взлом через перебор паролей, а это может потребовать слишком много времени и будет несоизмеримо с затратами.
Во всем мире сейчас достаточно часто воруют ноутбуки, в которых может храниться полная и исчерпывающая для хакера информация. Без шифрования украденная информация становится легкой добычей.
При неправильном создании ключа эффект от шифрования становится отрицательным, потому что такой код легко будет подобрать, и уровень безопасности становится невысоким, но при этом излишне расходуются ресурсы, и компьютер начинает работать медленнее.
В большинстве криптографических программ ключ генерируется случайным образом и максимальной длины. В этом случае система сама заставляет вас использовать наибольшую защищенность. Если автоматической генерации нет и код выбирается пользователем самостоятельно, то вы при определении ключа должны следовать всем рекомендациям, описанным в разд. 4.7.3.
Практически все современные операционные системы умеют шифровать целые диски. Для решения этой проблемы есть и специализированные программы сторонних разработчиков, которые зачастую обладают большими
возможностями. Но шифровать абсолютно все диски со всеми данными нет смысла, потому что процесс отнимает ресурсы и компьютер будет неоправданно работать медленнее.
Вы должны правильно ранжировать информацию и шифровать исключительно то, что необходимо. Если используемая вами программа умеет работать только с дисками, то лучшим способом будет завести отдельное устройство для секретных данных и кодировать только его. Предположим, вы храните пароли или секретные файлы в системе (например, в папке Мои документы), то шифровать придется весь системный диск. А так как системные файлы используются достаточно часто сомой ОС Windows, то это может понизить производительность компьютера.
Встроенная в Windows служба шифрования может работать с отдельными папками и даже файлами. Но при этом нельзя зашифровать системные папки, что является большим минусом. Если вы собираетесь пользоваться встроенными в Windows возможностями криптографии, то ни в коем случае не храните секретные данные в системе.
Шифрование доступно, только если диск отформатирован, как NTFS. В файловой системе FAT32 сервис работать не может.
Чтобы зашифровать папку или файл, нужно щелкнуть по нему правой кнопкой мыши в появившемся меню выбрать пункт Properties (Свойства), На вкладке General (Общие) нажмите кнопку Advanced (Другие), и перед вами откроется окно дополнительных атрибутов. Установите галочку на флажке Encrypt contents to secure data (Шифровать содержимое для защиты данных). После этого все данные будут кодироваться, и при этом незаметно для вас. Остальные пользователи не смогут их прочитать.
Не забывайте регулярно делать резервную копию шифруемых данных. Если целостность ОС будет нарушена и запуск станет невозможным, то восстановить тайнопись будет нельзя. Конечно же, резервную копию тоже надо беречь от посторонних глаз, потому что нет смысла шифровать то, что легко можно получить в естественном виде.
Шифровать нужно не только диски, но и информацию, передаваемую по сети, особенно по открытым каналам. Интернет создавался, как открытая сеть, и в ней очень много способов получить чужие данные. Одним из вариантов является использование программ-сниферов, которые прослушивают трафик и перехватывают сторонние пакеты. Для работы подобных программ нужно установить их на такой компьютер, через который проходят чужие данные.
Если поставить снифер на свой локальный компьютер, который имеет выход в Интернет через модем, то можно будет увидеть только свой трафик. Но если установить такую программу на сервер провайдера, то окажутся видимыми данные всех его пользователей.
Все корреспонденция, которой вы обмениваетесь через сеть, по умолчанию передается в открытом виде. Вы должны сами позаботиться о ее защите. В большинстве почтовых клиентов уже встроены средства для шифрования писем с помощью технологии PGP (Pretty Good Privacy, Достаточно хорошая секретность) или OpenPGP. Этот метод основан на шифровании с открытым ключом. Рассмотрим, как работать с PGP.
Вы генерируете пару не связанных между собой ключей: открытый и закрытый. С помощью открытого ключа можно закодировать данные, но для расшифровки нужен только закрытый ключ, который не может быть подобран простыми алгоритмами. Вы публикуете свой открытый ключ, после чего любой пользователь может зашифровать сообщение и отправить его вам. Даже если кто-нибудь его перехватит, для чтения нужна расшифровка, которая возможна только с помощью закрытого ключа, а он есть только у вас.
Никогда не публикуйте свой закрытый ключ, и можете считать, что ваша корреспонденция будет защищена на все 100 %, т. к. расшифровка становится возможной только с помощью полного перебора. Даже при использовании сети из самых мощных компьютеров для подбора ключа длиной 256 бит (32 символа) будет потрачено непомерно много времени. Если вы не пересылаете правительственные документы, исходные коды Windows или номера кредитных карточек с миллионными вложениями, то ни один хакер не будет тратить такие ресурсы на взлом. Если подбирать пароль с помощью простого домашнего компьютера (пусть даже самого быстрого), хакер раньше состарится, чем узнает текст сообщения. К тому времени добытая информация станет уже никому ненужной.
Учетные записи
Для доступа к компьютеру, на котором установлен Windows 2000/ХР/2003, нужно знать имя и пароль какой-либо учетной записи. В системе по умолчанию активна только одна запись — администратора. Если к вашему компьютеру никто не подключается, то так и должно быть. Единственное, что могу посоветовать, — переименовать ее, указав, например, свое имя.
Встроенная учетная запись администратора является самой главной и обладает всеми правами. Если оставить имя по умолчанию, то злоумышленник будет заведомо знать его, и останется только подобрать пароль. О безопасности компьютера можно забыть, если пароль простой, т. к. профессиональный хакер быстро найдет его по словарю с помощью специальных утилит.
Для управления учетными записями нужно запустить оснастку Computer management (Управление компьютером). Для этого выберите меню Start/ Settings/Control Panel/Admintstrative tools/Computer Management (Пуск/Настройка/ Панель управления/Администрирование/Управление компьютером) или щелкните правой кнопкой мыши на иконке Мон компьютер и нажмите в меню пункт Управление. Перед вами откроется окно, как на рис. 4.22.
Рис. 4.22. Оснастка управления компьютером
Перейдите в раздел Computer management/System tools/Locat Users and Groups/Users (Управление компьютером/Служебные программы/Локальные пользователи и группы/Пользователи). Переименуйте учетную запись администратора. Для этого нужно щелкнуть по ней правой кнопкой мыши и в появившемся меню выбрать Rename (Переименовать).
Вы должны следить, чтобы в системе были активными только те учетные записи, которые действительно используются. Я не раз слышал, как взламывали корпоративные сервера с помощью учетных записей уволившихся сотрудников, т. к. обиженные и недовольные зачастую и шут способы отомстить за несправедливость.
На домашних компьютерах тоже бывают случаи взлома через неиспользуемые учетные записи, созданные, например, кем-то из друзей, злоумышленником через троянскую программу или даже вирус.
Запись можно и не создавать, а использовать существующую. Например, в Windows ХР появилась новая запись, имя которой начинается со слова SUPPORT. Она необходима, чтобы удаленный помощник через сеть смог подключиться к вашему компьютеру и исправить ошибку. Если вы не пользуетесь службой поддержки от Microsoft, то эту запись можно не просто за-
7 Зи. 923
блокировать (как установлено по умолчанию), а удалить из системы, чтобы у атакующего не было соблазна использовать ее.
Администраторы сети должны уделять больше внимания учетным записям, и для облегчения жизни использовать политики. Но это уже более сложные настройки, и мы не будем их касаться.
Физический доступ
Я уже говорил, что взлом может быть как удаленным, так и локальным. Чтобы злоумышленник не получил физический доступ к технике, серверы зачастую размещают в отдельной комнате, которая оборудована сигнализацией. Таким образом, никто не сможет просто сесть за клавиатуру защищенного сервера и воспользоваться его ресурсами. Администраторы сами управляют такими комплексами по сети, а правонарушитель сможет произвести взлом только удаленно.
С ноутбуками намного тяжелее. Если стационарный компьютер занимает достаточно много места и солидно весит, то ноутбук легкий и переносной. Нет проблем взять его подмышку и отнести к себе домой. Для зашиты от воровства в большинстве переносных компьютеров встроен разъем для подключения кабеля Kensington Lock. Таким способом легко прикрепить ноутбук к столу или к какой-либо неподвижной части офисной мебели, и злоумышленник уже не сможет просто забрать ваш ноутбук, который будет как собака на привязи, — пока хозяин не откроет замок, гулять не побежишь.
Восстановление утерянных данных
Каждый, кто достаточно долго работает с компьютером, уже не раз сталкивался с проблемой потерянных данных. Файлы могут пропадать по причине отключения электричества или банального удаления не того файла. В любом случае, если потеряны данные, полученные в результате долгого и кропотливого труда, хочется их восстановить, а не делать работу заново.
В мою бытность администратором я не раз встречался с ситуацией, когда барышни печатают со скоростью 1000 символов в минуту. Правда, такая белиберда получается :). Такие девушки (да и мужчины этим страдают) сначала дела#от, потом думают, поэтому рука быстрей мысли тянется к кнопке удаления, а вслед раздается жуткий крик: "Ой, я удалила квартальный отчет’!!" Создавать заново? Я думаю, что не стоит. Можно попытаться восстановить данные, и если заняться этим сразу, то процесс не отнимет много сил и времени.
Не забывайте, что бывают и физические поломки носителей информации. Например, на жестких дисках со временем образуются испорченные области, и данные становятся нечитаемыми. Помимо этого существует вирусная
опасность. В последнее время количество вирусов и их разновидностей растет. Если появится такой "микроб", который найдет уникальный способ проникновения в систему (например, через дыру в безопасности Windows) и начнет уничтожать данные, то можно потерять все.
Как удаляются файлы
Когда вы удаляете файл (мышью или через Проводник), то ОС Windows переносит его в корзину. Корзина — это всего лишь скрытая папка Recycled, которая существует на каждом диске, и при удалении файл переносится в ближайшую из них. Таким образом, операция происходит быстро, но не окончательно. В любой момент можно заглянуть в эту корзину и вернуть файл на место в целости и сохранности.
Когда происходит очистка корзины или просто удаление файла с удержанием клавиши <Shift>, тогда информация убирается из системы. Но даже в этом случае физически файлы не уничтожаются. Они остаются на месте, просто сектора на диске помечаются свободными. В FAT16 при удалении первая буква имени файла заменялась значком "~". Поэтому в утилитах восстановления типа undelete нужно было найти требуемый файл и сделать обратную подмену первой буквы. Если вы ее не помните, можно указать что угодно, кроме символа "~".
В FAT32 сохраняется полное имя, и в таком виде оно отображается в утилитах восстановления файлов. Но смысл от этого не меняется. Когда вы пытаетесь что-то удалить, это еще не по-настоящему. Просто помечается первый сектор как свободный. После этого ОС может использовать его в своих целях. Пока не производилось записей в освобожденные сектора, вы можете без проблем воскресить любой удаленный файл. Вероятность полного восстановления достаточно высока, если на вашем жестком диске достаточно свободного места и вы не производили каких-либо больших копирова- ний/установок и перезагрузок. С каждой такой операцией шансы падают, поэтому вы должны браться за дело как можно быстрее. Отсутствие свободного места на диске ускоряет возможность того, что ОС запишет какие-либо данные поверх удаленных.
Полное удаление
Получается, что даже после удаления можно восстановить множество данных. А если они секретные? Допустим, что вы хотите выбросить старый винчестер и чтобы хакер, который найдет этот диск, не смог увидеть вашу конфиденциальную информацию, решили все с него удалить. Вы смело стираете данные и вытаскиваете устройство из компьютера. После этого никаких операций записи на диск не будет, и абсолютно все данные могут быть восстановлены без особого труда. Так что вы зря потратили время на чистку диска.
На моем компьютере очень много информации, которую я не хотел бы оставить в доступном для других виде, поэтому перед тем, как выбросить диск, я и вам рекомендую выполнить с ним следующие действия:
Удалить все секретные файлы.
Заполнить ненужной информацией на 70—80 %.
Запустить дефрагментацию.
Если даже во время выполнения п. 2 какие-то файлы останутся доступными для восстановления, то после дефрагментации уже ничего не вернешь. В момент ее выполнения происходит большое количество операций чтения/записи данных, а свободные 20 % пространства будут использованы для временного хранения данных. После такой процедуры можно с 99 % уверенностью сказать, что данные восстановить будет нереально.
Для окончательного уничтожения информации с жесткого диска существуют специальные утилиты, которые на место удаляемого файла записывают беспорядочный мусор. Эти программы удобны и просты в использовании, но после их установки стирание будет происходить дольше, потому что при простом удалении достаточно только поставить специальную метку (си. разд. 4.8.1), а при установленной утилите нужно еще записать на диск информацию объемом с файл.
Я не использую утилиты полного стирания файлов, т. к. они зря расходуют ресурсы. А если производитель говорит, что на место удаленного файла мусор записывается дважды, то таким программам я вообще не доверяю (одного раза вполне достаточно!). Может быть нас обманывают, и реального затирания не происходит? Ничего утверждать не могу, но надеюсь, что операция происходит добросовестно.
Утилиты восстановления данных
Самый простой способ восстановить данные — использовать специализированную утилиту. Такие программы имеют простой графический интерфейс, чаше всего напоминающий Проводник. Вы просматриваете каталоги в поисках удаленных данных, и как только нужный файл найден, просто нажимаете кнопку восстановления.
Мы уже знаем, что между удалением и восстановлением должно пройти как можно меньше времени и операций записи на диск, поэтому вы должны заранее подготовиться к непредвиденным ситуациям. Допустим, что у вас пропал файл. Вы заходите на WEB-страничку, скачиваете и устанавливаете программу, но в этот момент уже происходит запись на диск, и нет гарантии, что не затрутся нужные кластеры.
Если вы потеряли данные и при этом отсутствует утилита восстановления, то не устанавливайте программу на тот диск, на котором находился погиб-
ший файл. Необходимо свести к минимуму операции записи на это устройство, чтобы не использовались освобожденные кластеры.
Вы должны найти и инсталлировать программу заранее, а я постараюсь помочь вам сделать правильный выбор и рассказать о существующих на данный момент средствах.
EasyRecovery
Сайт разработчика http://www.ontrack.com
Это самая мощная утилита в этом классе, имеет наибольший размер дистрибутива — более 30 Мбайт. Программа стоит достаточно дорого, но иногда ее возможности просто необходимы, и убытки от потерянных документов или отчетов могут превысить затраты на ее приобретение в несколько раз.
Профессиональный пакет позволяет не только восстанавливать утерянные данные, но и реанимировать испорченные документы MS Office. Допустим, что на жестком диске образовался плохой кластер. В этом случае не откроется файл, располагающийся в этой области, а он, вероятно, содержит критически важную информацию. С помощью EasyRecovery ее‘можно вернуть к жизни. Конечно, в результате могут потеряться данные, попавшие в испорченный кластер, но файл можно будет открыть и увидеть незатронутую часть документа. Зачастую достаточно небольших изменений (переформатирование стилей, восстановление куска текста), и документ снова готов к использованию.
Этот пакет включает достаточно много утилит для диагностики и устранения неисправностей различных носителей. Кроме того, вы можете восстанавливать даже E-mail сообщения.
Запустив программу, вы сразу ощутите, что это одна из самых старых утилит, потому что в ней большое количество возможностей и все продумано до мелочей. Отпугивает только цена. Ваша задача — соизмерить затраты от потери данных и приобретения пакета. Если информация вам слишком дорога, то вы должны купить эту программу уже сейчас.
File recovery
Сайт разработчика http://www.lc-tech.com.
Самая простая и удобная утилита. Она поддерживает основные файловые системы: FATI2, FAT16, FAT32, NTFS, VFAT. Возможна работа даже со сжатыми или зашифрованными томами и папками NTFS.
Самая простая лицензия стоит $25, а самая дорогая — $99. Это вполне приемлемо для такого продукта, который сможет сэкономить вам время в случае непредвиденной ситуации.
Ручное восстановление файлов
Теперь рассмотрим ручной метод. Когда не помогает специализированная программа, можно попробовать самостоятельно найти потерянный файл или его фрагмент на диске и восстановить. Такие случаи бывают, когда данные вообще не были сохранены или важные сектора уже были перезаписаны. Например, вы набираете в текстовом редакторе годовой отчет или дипломную работу, и вдруг выключают свет или происходит фатальный сбой в системе. В принципе, вы не записали данные в файл, поэтому тут программы не помогут, т. к. они восстанавливают только случайно удаленные файлы. Но рано расстраиваться. Word создает временные файлы, где автоматически сохраняется текст. Помимо этого есть файл подкачки, где обязательно сидит копия. Так что самое время подключить хакерские ручки.
Последние версии Microsoft Word и Microsoft Excel умеют самостоятельно восстанавливать документ из временных файлов, если он не был сохранен. Но это не всегда работает как надо, и я уже не раз встречался с такой ситуацией.
Если в качестве информации был текст, то на его восстановление у вас уйдет не так уж и много времени. Возможно, полностью его уже не воссоздашь, но какую-то часть — вполне реально. Какой это будет кусок, конечно же, зависит от того, сколько времени прошло с момента сбоя.
Для работы нам понадобится хороший просмотрщик дисков. В состав Windows 2000 уже входит необходимая утилита под названием Disk Probe. Если вы работаете с Windows 9х/МЕ, то вам придется воспользоваться чем-то другим. Моту только посоветовать WinHex (http://www.winhex.com), а лучше — PTS DiskEditor (http://www2.PhysTechSoft.com), т. к. эта программа позволяет производить поиск по секторам. А без этого найти данные для восстановления очень тяжело.
Чем вы будете пользоваться — зависит от личных предпочтений, лишь бы вам было удобно. Ну а я покажу процесс восстановления на примере Disk Probe, потому что я 99 % времени провожу в Windows 2000 и не вижу смысла платить за сторонние программы. Windows 9х у меня стоит на всякий случай, но он даже не настроен. Если у вас есть диск с Windows 2000, то вы можете установить Disk Probe даже на Windows 9х/МЕ.
Установка Disk Probe
Как это установка? Программа же идет вместе с Windows 2000!!! Да, но ставить ее надо отдельно.
Вставьте инсталляционный CD с Windows 2000 и перейдите в папку Support\Tools. Здесь запустите Setup.exe. Откроется мастер, который установит дополнительные утилиты для Windows. Конечно же, эту процедуру надо выполнить до того, как данные пропадут.
Теперь надо запустить программу Disk Probe и выполнить маленький трюк. Я найду на диске сектора, в которых находится файл с текстом этой главы, и сохраню его часть под другим именем. Все эти действия я проведу в Disk Probe, не используя файловую систему, а работая напрямую с секторами диска. Попробуйте сделать что-нибудь подобное. Вы должны быть уже натренированным бойцом, когда случится беда.
Восстановление
Если вы готовы, то запустите Disk Probe. В Windows 2000 ярлык для запуска должен находиться в меню Пуск/Программы/Windows 2000 Support Tools/Tools.
Рис. 4.23. Главное окно программы DiskProbe
Теперь нужно указать диск, на котором были данные. Для этого выберите меню Drives/Logical Volumes. В появившемся окне вы увидите список дисков (рис. 4.24). Дважды щелкните по нужному диску, нажмите кнопку Set Active, затем — ОК.
Теперь выберите меню Tools/Search Sectors. Перед вами появится окно поиска секторов (рис. 4.25). Для просмотра всего тома нажмите Tools/Exhaustive search. Если вы не помните, в каком регистре был набран
текст, который нужно искать, то установите флажок Ignore case. Необходимо так же указать используемую кодовую страницу: ASCII или Unicode. Это очень важно, потому что для различных кодировок текст будет выглядеть по-разному. После этого введите какой-либо фрагмент из уничтоженного файла в строку Enter characters to search Гог (внизу окна) и нажмите Search.
Чтобы ограничить поиск определенной областью, можно указать параметры First sector to search (Первый сектор для поиска) и Last sector to search (Последний сектор для поиска).
Постарайтесь выбрать какоегнибудь нераспространенное слово, чтобы Disk Probe не останавливался через каждые пять секунд. Я ввел свой E-mail адрес, который указан в книге.
Время поиска может быть различным. Это зависит от скорости и объема устройства. На моем логическом диске в 5 Гбайт на жестком от IBM винчестере (7200 оборотов) это заняло почти 20 минут.
Когда программа найдет текст, она высветит вам сообщение с запросом на дальнейший поиск. Не соглашайтесь. Нажмите NO и проверьте, что найдено. В центре окна будет показано содержимое сектора в виде кодов, а справа — текстовое представление. Осмотритесь и убедитесь, что фрагмент именно из нужного вам файла. Только в противном случае запускайте поиск дальше.
Рис. 4.25. Поиск сектора с заданным контекстом
Если на вашем лице появилась радость, то проверьте, все ли найдено. Если текст не весь, то выберите меню Sectors/Read. В появившемся окне вы должны ввести начальный сектор для чтения (лучше тот, который найден) и их количество. Залайте десяток. Если опять отображается не весь текст, то увеличьте диапазон.
Когда вы нашли все содержимое, выберите в меню File/Save As. Disk Probe предложит сохранить найденные сектора в файл.
Главный недостаток ручного поиска — его сложность. А самое трудное — восстанавливать большие документы, и основная проблема здесь в том, что файл может быть разбросан по секторам в разных частях диска и они будут идти не подряд. В этом случае усложняется и поиск, и сохранение данных, но хотя бы какую-то часть найти можно.
Восстановление данных с носителей
На дискетах и компакт-дисках информация также не уничтожается, а только помечается. И вы теми же методами можете восстановить якобы стертую
информацию. Некоторые программы явно предупреждают о возможности восстановления данных. А в серьезные пакеты для работы с компактдисками даже входят утилиты для восстановления стертых файлов.
Рис. 4.26, Окно стирания диска в Roxio Easy CD and DVD Creator 6
Во всех программах для записи компакт-дисков, которые я видел, по умолчанию используется быстрый метод стирания, при котором информация полностью не затирается. Если вы хотите выкинуть диск, а информация на нем все еще важная, то для очистки используйте полный метод. Но я вместо этого беру ножницы и ставлю несколько глубоких царапин на поверхности диска, чтобы их невозможно было восстановить полировкой.
Реанимация
Сколько раз я видел, как выбрасывают вполне рабочие компоненты компьютера или диски, которые еще можно восстановить с минимальными затратами. Один знакомый коллекционирует такие компоненты и возвращает их к жизни. У него дома стоят целые коробки с реанимированными жесткими дисками, приводами CD-ROM и различными платами. Если посмотреть на его компьютер, то в голову приходит только одно название — "Восставший из ада", потому что нет ни одного винтика, который был бы куплен новым, все собрано из неработающего железа. Глядя на комнату, создается впечатление, что человек живет после третьей мировой войны, а такие условия очень часто ассоциируют с хакерами.
Некоторые компоненты действительно проще выкинуть, но процесс реанимации уже практически мертвого железа может оказаться интересным, а глав-
ное — появится.возможность сказать друзьям, что эта часть компьютера была восстановлена из пепла собственными руками.
Вентиляторы
Любой вентилятор со временем изнашивается и начинает скрипеть и издавать неприятные звуки. Многих пугает этот шум, но не стоит падать в обморок. Сначала приложите ухо к системному блоку и постарайтесь определить, откуда идет звук: если сзади, то это вентилятор блока питания, если из центра, то виновник — кулер. Обе проблемы решаемы, но вторая проще, потому что вентилятор на процессоре легче снять, а для вскрытия блока питания нужно раскрутить намного больше винтов.
Если определить источник звука невозможно, но через некоторое время после начала работы шум исчезает, то скорей всего, это вентилятор на процессоре. Его пропеллер более нежный и чаще выходит из строя.
Почему шумят вентиляторы? Бывает две причины:
Из-за пыли ухудшилась смазка, что приводит к более сильному трению движущихся частей.
Разболтались ось и втулка вентилятора, и крыльчатка бьет о стенки.
Обе причины устраняются простой смазкой, и для этого нужно всего лишь несколько капель обычного машинного масла. Но в первом случае этой процедуры хватит надолго, а во втором — на достаточно короткий срок
Увеличение трения встречается чаще. В компьютере постоянно собирается пыль, и его регулярно надо чистить, пылесосить, протирать. Но лень — самый страшный враг, из-за которого мы очень редко вскрываем корпус.
Если вентилятор зашумел и нет поблизости сервисного центра, то проблему можно решить за пять минут. Вскрываем корпус и снимаем с процессора вентилятор. Очищаем его от пыли, протираем и внимательно осматриваем. Сбоку должно быть небольшое отверстие, как показано на рис. 4.27.
Рис. 4.27. Отверстие на вентиляторе
На фирменных вентиляторах Intel такое отверстие очень, часто прячется сверху под наклейкой. Чтобы оно стало доступным, нужно отодрать этот кусочек фольги.
Если отверстие найдено, то капаем в него немного масла и возвращаем кулер на место. При отсутствии дырочки постарайтесь капнуть масло через какую-нибудь щель между осью крыльчатки и втулкой. После этого вентилятор должен заработать как новый.
Восстановление вентилятора на блоке питания схоже с процессом для кулера, только разбирать надо дольше и специальных отверстий для смазки практически не бывает.
Итак, даже если вентилятор работает достаточно тихо, но вы открыли крышку системного блока, то протереть и добавить капельку масла в вентилятор на процессоре не отнимет много времени, зато продлит его жизнь и сделает работу компьютера чуть тише.
DVD- и компакт-диски
Поверхности диска довольно уязвимы и со временем портятся.
Самое сложное — восстановить боковую часть. Она тонкая, и если нет хорошей зашиты, то влага постепенно разрушает поверхность диска и он становится нечитаемым.
Плоскость, на которой нарисован рисунок, тоже очень важна. Она является как бы отражателем, и если появится царапина, то диск может читаться с ошибками. Как CD-, так и DVD-диски восстанавливаются обычным лаком для ногтей. Возьмите непрозрачный лак и обработайте повреждение. Я таким образом восстановил не один фильм.
Нижняя поверхность тоже достаточно нежная, и на ней также появляются царапины, ухудшающие отражение лазера. Здесь уже нельзя ничего закрашивать. Желательно избавиться от царапины. Если она неглубокая, то проблема решается полировкой поверхности. Как это сделать? Берем зубную пасту и бархатным лоскутком или любым другим мягким материалом натираем царапину. Чаше всего это помогает.
CD-приводы
Вот представьте себе, сидите вы, работаете и одновременно слушаете какую- нибудь музыку с CD или просто копируете данные с компакт-диска, а в этот момент происходит достаточно страшный, но не смертельный взрыв в системном блоке. Это всего лишь лопнул компакт-диск.
Почему взрываются диски? Современные приводы читают носители на скорости 50х оборотов в минуту и более. Старые компьютерные диски не рас-
считаны на такие параметры, поэтому пластик не выдерживает и постепенно лопается. Трещинам на поверхности диска способствуют и царапины. Со временем трещины становятся критичными, и диск просто разрывает.
Большинство аудиодисков тоже не рассчитаны на работу на такой скорости, потому что для качественного воспроизведения звука с упреждающим чтением данных в буфер достаточно и 2х скорости. В музыкальных центрах и других специализированных проигрывателях не используется такая высокая скорость, поэтому диски работают долго и стабильно даже при наличии трещин, а на компьютере появляется вероятность взрыва.
Чистка после взрыва
Если диск разорвался, то весь привод изнутри будет покрыт кусками диска. Их нужно аккуратно вычистить. Для начала попытайтесь открыть крышку CD-ROM. Если не получится, то на передней панели найдите маленькое отверстие. Возьмите тонкую, но длинную иголку или спицу (обязательно жесткую) и аккуратно вставьте в отверстие. Попробуйте нащупать что-то наподобие шестеренки и, слегка подталкивая, попытайтесь провернуть ее. Крышка немного приподнимется, и ее уже можно будет открыть руками.
Теперь нужно вытащить все остатки. Если скорость привода небольшая, то есть вероятность, что диск раскололся на несколько больших частей, и их легко будет извлечь. В противном случае диск рассыпался на маленькие кусочки, многие из которых размером с песчинку. Такое уже извлечь без вскрытия привода невозможно.
Если вам не повезло и диск превратился в порошок, то нужно выключить питание компьютера и снять крышку с системного блока. Отключите все кабели от CD-привода (предварительно запомните, как они подсоединены) и вытащите его, открутив крепеж. На коробке привода очень много предупреждений о нежелательности вскрытия, но не стоит обращать на них внимание, просто в этот момент CD-ROM должен быть отключен от питания.
Большинство приводов открывается простым откручиванием четырех винтов снизу коробки и снятием верхней крышки и передней панели. Ваша задача — вытряхнуть весь мусор и собрать устройство. После этого все будет работать как новое, если во время взрыва не сорвало линзу или она не испортилась.
Чистка линзы
Со временем приводы CD-ROM начинают плохо читать диски. Это связано с грязью и пылью, которая является главным нашим врагом. Как бы вы нс старались, рано или поздно пачкается линза, через которую пропускается лазерный луч.
Для исправления ситуации есть специальные чистящие компакт-диски. По внешнему виду они ничем не отличаются от всех остальных, разница только в том, что на нижней поверхности у них прикреплена мягкая ще-
точка. Когда привод пытается прочитать диск, то щетка сбрасывает всю грязь с линзы.
Но чистящие диски помогают не всегда. Если грязь въевшаяся, то придется вскрывать привод и мыть линзу вручную. Для этого лучше всего использовать вату и простую воду. Нежелательно применять в качестве моющего средства ничего спиртосодержащего, потому что линза не стеклянная и может потускнеть.
Жесткие диски
Жесткие диски в последнее время стали менее надежны. У меня три диска еще 97—99 годов выпуска, и все они до сих пор работают как новенькие и без испорченных блоков. С повышением плотности записи блоки стали миниатюрными, но их качество оставляет желать лучшего. Мы регулярно встречаемся с ситуацией, когда из-за этого невозможно прочитать информацию, и необходимые данные теряются.
Почему рождаются испорченные блоки? Они есть всегда, даже на абсолютно новых дисках. Так как кластеры на диске слишком маленькие, любая пылинка или неверное движение считывающей головки убивает их. Производители заранее закладывают определенный процент брака, и на диске есть резервные блоки. Пока они есть, перенос из плохих участков происходит незаметно, но когда запас заканчивается, то уже с помощью программ можно визуально наблюдать испорченные области.
Большинство пользователей запускает сканирование диска (scandisk), в процессе которого испорченный блок помечается как неиспользуемый, а информация переносится в другое место. Но через месяц или даже меньше рядом с этим местом появится еще один плохой блок. Так можно долго сканировать и постоянно помечать испорченные области.
Чаще всего плохие области образуются в конце диска, и если сократить его размер процентов на Ю—20, то диск еще долго проработает как новый и, скорей всего, не будет напоминать о случившихся проблемах.
Иногда винчестер помогают восстановить специализированные утилиты диагностики и ремонта от производителя. Но в моей практике это явление временное, и через некоторое время диск все равно начинает сбоить. Поэтому данное решение можно использовать как промежуточный вариант, когда нет возможности купить новый диск.
Чтобы воспользоваться программой производителя, вы должны четко знать модель диска и найти нужную утилиту на сайте разработчика. Прежде чем использовать ее, ознакомьтесь с документацией.
Взлом программ
Защита и взлом программ — это вечная война между программистами и хакерами. Программисты хотят получать за свой труд деньги, и это вполне законно. Каждый должен на что-то жить и не может раздавать свой труд бесплатно. Если человек выбрал программирование своей профессией, то она должна приносить доход и обеспечивать достойное существование.
Просто так раздают свои разработки только программисты-любители, которые занимаются этим в свободное от работы время и при этом не обеспечивают своих пользователей полноценной помощью, а отдают программы в таком виде, в каком есть. Бывают случаи, когда компании специально распространяют бесплатный софт, а зарабатывают или на поддержке (как это часто бывает в сообществе Open Source), или на других сопутствующих продуктах, или рекламе.
Хакеры категорически не хотят платить за программы. Если человек взламывает программу из-за отсутствия денег, то это еще можно простить. Но если это происходит ради получения выгоды или просто ради процесса, то это уже преступление и должно быть наказуемо.
В данной книге мы затронем только основные принципы, которые хакеры применяют при взломе программы. Эта информация дается исключительно в познавательных целях и не рекомендуется к использованию на практике, особенно в корыстных целях. Хотя будут рассматриваться только простые методы, я надеюсь, что эта тема окажется для вас интересной и поучительной.
Почему ломают?
Большинство программ, выпущенных под грифом Shareware, должны работать определенное время или рассчитаны на ограниченное количество запусков. Они защищены простейшим счетчиком или элементарным математическим алгоритмом проверки даты. Обойти такую преграду достаточно просто и не составит труда даже неопытному пользователю.
Почему нередко защита такая простая? Потому что программист-одиночка не будет тратить на это много времени и сил. Нужно придумывать что-то оригинальное и новое, чтобы хакеру было сложнее взломать программу. Если уделить большое внимание этому вопросу, то не останется времени на реализацию функциональной части софта. И тогда программист не сможет конкурировать с монстрами от корпораций и специализированных фирм, у которых уже есть опыт борьбы и наработанные алгоритмы защиты. Продукты, созданные в этих фирмах командами разработчиков, имеют более стойкую защиту, нежели простая накрутка, но это не значит, что взломать нельзя. Это будет не по силам начинающему хакеру, а профессионал, который уже не один раз вскрывал эту программу и знаком с алгоритмами, используемыми в данной фирме, быстро найдет изменения и взломает снова.
Обратите внимание, даже Microsoft до появления активации в Windows ХР защищала свои программы простым серийным номером, который проверяется математически. Алгоритм прост, как три копейки, потому что нет смысла выдумывать серьезные вычисления. Нет такой обороны, которую не прорвали бы хакеры.
Если взлом будет слишком сложен, то купивший одну лицензию может распространить серийный номер по всему миру. Вы скажете, что такой код легко определить и узнать, кто его размножил! Нет, в Интернете такие ключи, в основном, существуют на программы, которые куплены по ворованным кредитным картам. Так что вы не сможете найти настоящего виновника.
Нет смысла защищаться, все равно в этой войне победит нападающий. Нужно сделать так, чтобы покупать лицензионный софт стало выгоднее, чем воровать. Цена должна соответствовать содержимому. Если эти условия будут соблюдаться, то люди начнут покупать программы, а не будут взламывать или пользоваться крэками.
Некоторые фирмы пытаются встроить в свои продукты поддержку ключей и шифрования или привязку к оборудованию, но и такие системы оказались беззащитными. Если что-то невозможно взломать, то программа не получит распространения. ОС Windows стала популярной, благодаря своей простоте, удобству и легкости взлома. Крэки появлялись в Интернете раньше, чем новая версия. Таким образом, количество пользователей стало очень большим. и некоторые из них оплатили лицензию. Самая хорошая реклама для продукта — это отклики владельцев Чем больше пользователей (легальных и нет), тем выше популярность. Бороться с хакерами бесполезно, а иногда просто ненужно. Зарабатывать деньги нужно качеством, а не строительством полосы препятствий.
Давайте посмотрим, как устроена защита и как ее обходят хакеры. Если вы программист и разрабатываете собственные продукты под грифом Shareware, то эти рекомендации могут вам пригодиться.
Срок службы
Самый простейший способ заставить программу работать — продлить ее срок службы. Как я уже говорил (см. разд. 4. Ю Г), зашита Shareware- программ чаще всего примитивна и, в основном, строится на счетчике запусков или на количестве используемых дней. Второе предпочтительней. Почему? Сейчас объясню.
Разработчики очень часто допускают ошибку при проверке даты. При установке программы в реестр записывается дата операции, а при запуске проверяется, не превышает ли текущая дата параметр установки плюс определенное число дней? Если условие выполняется, то лимит вышел. Вот тут и есть скрытая ошибка. Переведите системную дату в компьютере на 01.01.2010 года
и установите программу. Затем верните календарь в нормальное положение и используйте софт в течение 10 лет (теперь программа будет работать до 01.01.2010 плюс разрешенное число дней). За это время она не просто устареет, а ее возможности могут больше не понадобиться, ведь технологии меняются за несколько лет.
Жаль, что такую ошибку допускают только начинающие программисты. Профессионалы в специализирующихся на Shareware-программах фирмах уже давно придумали более эффективные методы проверки периода работы программы. Тут уже простым переводом часов не обойтись.
Накручивание счетчика
Если вы столкнулись со счетчиком запусков программы, то попробуйте другой способ — "мониторинг реестра". Для этого вам понадобится зайти на сайт http://www.sysintcrnals.com. Здесь есть программа Regmon (Regmon for Windows NT/9x), которая доступна для свободного скачивания.
Давайте разберем работу с Regmon на примере накрутки счетчика программы, которая уже закрыта и не распространяется. Не будем останавливаться на названии и производителе, чтобы не испортить его продажи.
Надо запустить по очереди Regmon, а потом взламываемую программу. В окне Regmon появятся все события, связанные с обращением к реестру (см. рис. 4.28). Каждое обращение разбито на несколько колонок:
I, .# — порядковый номер сообщения.
Process — программа, обратившаяся к реестру.
Request — запрос.
Path — путь.
Result — результат.■
Other — дополнительные параметры.
Самое первое, что нужно поискать, — строки, в которых поле "Process" равно des kt (это имя запускаемого файла) и поле "Request" равно setvaiueEx.
В момент запуска программы считывают настройки и параметры, a SetvaiueEx означает запись в реестр. Так что же можно записать во время загрузки? Только счетчик. Если хорошо посмотреть на рис. 4.28, то сообщение под номером 1435 соответствует поставленному условию. Обратите внимание на поле "Other". Там стоит значение 18, которое пишется в реестр. Запись происходит по адресу: HKEY_CURRENT_USER\Software\ Desktop\ProductID.
Теперь посмотрите немного выше (#1430). По этому же адресу происходило чтение параметра, значение которого оказалось равным 19. Эго говорит о том, что счетчик работает в обратном порядке, и когда он достигнет нуля (может и отрицательного значения), программа перестанет запускаться.
Теперь вы сможете спокойно вернуть программу к жизни, вручную изменив этот счетчик. Попробуйте сразу увеличить его до Ю ООО, некоторые программы могут это прозевать. Если счетчик работает на увеличение (например. до 100), то можно поставить там значение —10 000 и тогда надоест ждать, когда наступит предел.
Точно так же корректируются и даты. Например, можно поправить один параметр в реестре для программы The Bat так, что она будет работать бесконечно, показывая, что у вас осталось —5 000 дней.
Если у вас возникли проблемы с мониторингом, то чтобы не переустанавливать программу, можете просто попробовать удалить из реестра все значения, связанные с ней, очень часто это помогает.
Если используется счетчик запусков, а не дата, то можно сделать даже проще. После установки программы начальные параметры запишутся в реестр. Запустите regedit и найдите эти параметры в строке HKEY_CURRENT_ USER\Software\ плюс имя фирмы или программы. Выделите раздел и экспортируйте его в файл. Когда закончится лимит запусков, просто выполните импорт этого файла, и все настройки вернутся в начальное состояние, так что можно будет снова и снова использовать любимую утилиту.
Рис. 4.28. Окно программы Regmon
Hi
Evetts Setrth
М#и Mw
в
ч & &
*
|r„
1 Р^ссем
!R№t
1 C<h*I
35 36 3?
9Я9И9 9 09:19 9:09:19
ехукжег.еке
•iDtare.eie explorer,ewe
FA5TID_QlERY_BASI.
IV yo UNO jrp mj close
CVtS5QL7LSmL$c*Mrigr en C V^XTtBrrtetjmarty we C:lF!SSQl71(Ba^пЬqй^4Гp, ем
■SUCCESS
SUCCESS
SUCCESS
Mtrtuiest A
Эв
9№19
e «plcrer exe
1RP_MJ_CM;ATE
< \M550L7^SrrLsqlnbrigr exe
SUCCESS
Attrfcuteii Any Options:
40
41
42
9^9-19 9,09:19
909®
• H*NW ,•*■ explorer .exe explorer exe FILEMONEXE
F*STK>_OUCRY_^T*,.. J»P_MJ_O£AMJP $F_MJjCL05E FKTLjS.VCtLK.M..
C. \M350L7^BFnL»*wiy exe C;V4SSQL^9rr>LsdfiW exe C \FlS50L7LBmts*Kngr exe £цАп^й>
SUCCESS SUCCESS SUCCESS SUCCESS
Si*. 1IQ5M
43
909:20
FILEMONEXE
1RPJ4J_CR£AT£
E: V*ogram Ffes\AaevY lingvctLvHo..
SUCCESS
Mtnbute« Any Options ..,
<| 4» 4?
48
9 09:20 9 09:® 9:09:20 9:0920
9 09.20
FILEMON t« FILEMON EXE FILEMONEXE FILEMONEXE FILEMON EXE
FASTIO.QUERYJASL. [RP_MJ_CLEANUP tRP_pU_aO5E FKTL_15_VOILK_M. F5CTL JSYiXlM_M.
E ЦРт ogr am FAhIABEvv Lingvo\Lv1-lo.. EiLProgram F^lABBf? LmgwUvHn.. £: (Рт о» am He^,ASer< Lingvo\LvHo,. E^ArthrveVf £:)A«fiveV(
SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS
Attrbuttrtl A
4»
9:09:20
FlLEMCN.EXE
W_MJ .CREATE
E:\Ptogram F№i\ABBYY UngvoLLYHo..
SUCCESS
Attrtoutes: Any Optional ..
—
л ■
52 S3
9:09:20
9:09:20
9:09.20
9:09:®
FILEMON EXE FILEMONEXE FILEMONEXE FILEMONEXE
FA5TIO_QUERY_5TA..
IRP^MJ „CLEANUP IRPJ4J_CLC5E PKTL ^.VOLUME _M.
Ei^Proyem F#m\AB6Y¥ Lhgvoy.vHo„ El (Program Flei^ABBYY Ungvo^LvUo,, Е:|Ргоуэт FdesvWrY UngvcUvHo,. EiLArchtveW
SUCCESS
SUCCESS
SUCCESS
SUCCESS
51м; 40960
54
9:09; 2tl
FILEMONEXE
1RP_MJ_CREATE
EiVYogrem Ff^'tAB^ lingw\Lvtio..
SUCCESS
AUr&KAeet Any OiXicns; ...
55 Я
57 Я Я
9:09:30 9:09:®
9:09® 9:09:®
9:09t®
filemcnexe FILEMON EXE filemonexe FILEMONEXE FILEMONEXE
FA5TtO_QU£RY„BA5I.. №P_MJ „CLEANUP IRPJ4J_QO«
FSCTl 1S_VOILK_M..
F5CTL 15 VOLUME M„
EtLPro^em FUe5\AB8YY Lingvcl|LvHo., E: iProy an Ни WYY Lingvo^LvHo.. E^oyem FUm^ABHYV UngvoWvHo». EiWcNwlX E;WrNve\x
SUCCESS SUCCESS SUCCESS SUCCESS
SUCCESS
Altrlbutw: A
60
61 ы
9:09;®
9 09®
9:09i®
FILEMONEXE FILEMON EXE FILEMONEXE
irpjujCREate №P MJ CLEANUP mp MJ„CLO5E
E:\Proqram Flles\ABBYY Lr^^vHe.. E :\Ptogrem Rwi,ABBYY LingvoU.*o..
Eilprogram Pilei IAB8YY L*igvc(LvHo.,
SUCCESS SUCCESS SUCCESS
Attribute»: AnyOptiorat...
63
9:09;®
System
IRP J4J_ WRITE*
DDA5D
SUCCESS
□Ffwt. HJ84 Length- 4096
64
9:09:25
••pkter.oe
IRP.MJ_CR.EATE
C 'jMSS-Xr^ir^sqfenfltxx ■ exe
SUCCESS
Athifxtei: Any OptoYi.
65 и
67
9109'25 9:09:25
9:09:®
«xpLorer.exe «xpicw.exe expierw.exe
FA5TIO_QUERY_BA51..
1RP.MJ.CLEAWP
1RP Jti .CLOSE
C: \MSSQL 7\einn'L$qk.3r». exe C AMlS^^emr-^qhnary exe C AM55Qi.7\5lhnUgbiangr exe
SUCCESS SUCCESS SUCCESS
Attributes: A
«
9:09:28
■ур*хег.вхй
IRP M3.CPEATE
C ;\№5<X7\anr.\M>Tkirvl exe
SUCCESS
Atbixtti: AnyOphCrtl: ...
69
70
9:09:® 9:09:®
eipkrer.ete erptofot.exe
FAST!0_QUERY_5T*,.. IRP M) CLEANUP
C: 1MS5QL TlBInnlsqlmany. м
C V45SCATXBrmljtqiniangr exe
SUCCESS
SUCCESS
See: 1I0S92
21—
MR mi fijjV
—Ul£l5iiJLZiaod4ijlB^^
«a ^pf^
Рис. 4.29. Окно программы File Monitor
Почему мы говорим только о реестре? Да потому, что это самый распространенный и очень удобный способ сохранить параметры приложений. Но этот метод не единственный. Некоторые современные и большинство старых программ используют для сохранения простые файлы.
Для решения этой проблемы отправляемся по уже знакомому' адресу http://www.sysinternals.com и скачиваем программу File Monitor (Filemon for Windows NT/9x). Это утилита предназначена для мониторинга обращений к файлам.
Работа с File Monitor абсолютно такая же, как и с Regmon, только здесь вы должны отслеживать обращения к файлам, чтение и запись различных параметров (см. рис. 4.29).
Напоследок хочу обратить ваше внимание, что запись счетчика может происходить не только при старте, но и при выходе из программы. Счетчики дат вообще могут не изменяться, но их тоже можно попытаться вычислить.
Полный взлом
Если вы хотите избавиться от всех предупреждений о регистрации, создав видимость, что вы это сделали, и получить все возможности программы, тут уже без дизассемблера, ассемблера и машинных кодов не обойтись.
Дизассемблер — программа, превращающая машинные коды в более удобный вид (язык Ассемблера). Для понимания команд ассемблера нужно уметь программировать, но для взлома простой зашиты можно обойтись и без этого.
Мы не будем углубляться и рассмотрим только основные моменты, но этого будет достаточно для опытного программиста, чтобы проникнуть в программы достаточно большой сложности. А если вы являетесь пользователем, то сможете преодолеть простейшую защиту, и ничего более.
Итак, для работы нам понадобятся следующие инструменты:
W32Dasm — желательно, не ниже версии 8.9, можно найти на http://www/expage.com/page/w32dasm;
Turbo Debugger от фирмы Borland — идет со средами разработки. Лучше всего использовать DOS-вариант, который поставляется со старыми языками программирования этой фирмы типа Borland С++5.02;
DiskEditor — можно любой вариант, но я люблю от дяди Нортона (www.symantec.ru).
Меньше слов, больше дела. Запустите программу W32Dasm. Выберите из меню Disassembler пункт Open file to Disassemble... Откройте необходимый ехе-файл. Я опять возьму ту же программу, что и в разд. 4.10.3, Во время загрузки происходит превращение машинных команд в язык ассемблера, и на экране появляется код программы, который может прочитать только программист.
Теперь переходим к самому взлому. Для начала нужно попробовать найти коды. Для этого выберите меню Search/Find Text. Введите слово "Regist" и запустите поиск. Когда подобный контекст будет найден, осмотритесь вокруг. Если не видите ничего интересного, то продолжайте поиск. Вы должны обнаружить текст, связанный с регистрацией, например, сообщение об удачно введенном коде.
Посмотрите на рис. 4.30, на котором показан снимок результата моего поиска. W32Dasrn нашел текст "Enter registration code". Я думаю, это то, что надо. Программисты, знающие язык Ассемблер, могут просмотреть команды. Если с этим у вас проблемы, то поисследуйте строки, начинающиеся с символа "*" (звездочка).
Итак, начинаем по программе отыскивать такие звездочки. Следующая строка абсолютно ничего не говорит. Опускаясь еще ниже, можно увидеть текст:
* Possible StringData Ref from Code Obj ->"RGCD1"
Даже не зная программирования, можно догадаться, что введенный код будет сравниваться с "RGCD1". Это логично, потому что мы сначала нашли сообщение "Введите регистрационный код", и тут же группа непонятных символов. Что мешает проверить эту строку как регистрационный код?
Рис. 4.30. Окно программы W32Dasm
Ну а если вы знаете программирование, то по коду сможете узнать, что первые 5 символов введенного ключа должны быть "RGCD1", остальные — могут быть любыми.
Это идеальный вариант, когда происходит простое сравнение. Хуже, когда используется математика, тогда уже нужен большой опыт. Но давайте посмотрим немного дальше. Вы найдете следующие строки "Software", "Desktop" и "ProductID". Мне это напоминает ключи реестра, с которыми мы уже встречались при мониторинге с помощью программы Regmon: Software\Desktop — путь в реестре, a Product!D — строковый параметр. Почему строковый? Да потому, что еще ниже я нашел комбинацию символов "sdjFE2fih3erj3J". Это значит, что если такая строка есть в реестре, то программа считается зарегистрированной. Вот так. Даже если для проверки кода используется математика, вы сможете ее обойти, отыскав что-нибудь подобное.
Но это все элементарные варианты защиты. Несмотря на простоту, они используются очень часто.
Сложный взлом
Если вы ничего не нашли, то тут уже без средств отладки не обойтись. Придется запускать Turbo Debugger (или другую программу, но мне нравится именно эта) и искать регистрацию, отлаживая программу.
Я не буду вдаваться в подробности, а дам пару советов для программистов:
Попробуйте поискать все вызовы функций меззадевохл. Чаше всего рядом с регистрацией будет хотя бы один вызов этой функции, в основном, для сообщения об удачном завершении процесса.
Ищите последовательность кодов выхода из программы. Посмотрите, откуда они вызываются. Если программа выработала свой ресурс, то она не запустится, а значит, где-то должен быть принудительный вызов закрытия. Когда найдете, поднимитесь немного выше и поищите команду перехода. Она обязательно должна быть, потому что всегда используется алгоритм типа "Если программа не зарегистрирована, то перейти на выход, иначе работать дальше". Ваша задача — заменить условный переход на безусловный (jmp) по адресу продолжения выполнения программы.
Для редактирования кода очень удобен Turbo Debugger (TD). Вы всегда можете щелкнуть по любой строке кода правой кнопкой мыши и выбрать пункт меню Assembler. Введите в появившемся окне новую команду на языке Ассемблер, и TD заменит ее на необходимый машинный код и вставит в выбранную строку. Единственный недостаток — сохранить этот код невозможно. Просто запомните его и адрес размещения, а потом поправьте с помощью любого НЕХ-редактора (я предпочитаю Disk Editor).
Контроль регистрации может быть сколь угодно сложным, но практически всегда он заканчивается простой проверкой типа "если регистрация прошла успешно, то продолжить выполнение, иначе — выйти".
Около 10 лет назад я купил игру. Регистрационный код, который был на коробке, почему-то не подошел, а дело было вечером, и в службу поддержки звонить поздно. Поиграть очень хотелось, поэтому недолго думая я запустил отладчик. Проглядев код, который проверял регистрацию, я ничего не понял. Ассемблер я тогда знал на уровне основных команд и понять алгоритм проверки не смог. Просмотрев код дальше, я увидел заветную проверку стр и условный переход на продолжение игры. Задача состояла в том, чтобы заменить условный переход на безусловный. На это понадобилось пять минут.
Таким образом, я взломал свою первую и единственную программу, хотя и заплатил за нее положенные деньги. На следующий день я узнал, как регистрировать игру, но несмотря на это пользовался измененным исполняемым файлом, потому что не хотелось каждый раз вводить ключ. Я заплатил деньги не для того, чтобы мучиться с кодами, а чтобы спокойно играть.
Хочу обратить ваше внимание, что я не старался научить вас взламывать все подряд и не призываю к этому. Если вы пользуетесь плодами чужого труда, значит, он стоит того, чтобы за него заплатить. Некоторые жалуются на очень высокие цены на программное обеспечение. Если вас что-то не устраивает, всегда есть альтернатива. На данный момент очень много свободных и дешевых программ. Воспользуйтесь тем, что вам по карману, но не взламывайте. Цель данной главы — только показать, как взламываются программы, но применять это в корыстных целях незаконно.
Глава 5
Интернет для хакера
В этой главе нам предстоит взглянуть на Интернет с точки зрения хакеров. Нет, мы не будем взламывать сайты и воровать информацию. Ведь мы с вами законопослушные граждане. Вместо этого мы поговорим о безопасности домашнего компьютера. Основной упор будет сделан именно на этот способ организации трудового процесса. С серверами и корпоративными сетями дело обстоит сложнее, но все, о чем мы будем говорить, в равной степени применимо и к коллективной работе.
Кроме того, мы пополним свой багаж замечательными шутками, но уже с использованием Интернета, или просто попробуем усовершенствовать свое пребывание в сети. Мы узнаем, как накручиваются системы голосования и обманываются системы регистрации.
Всю описываемую здесь информацию вы должны рассматривать с двух точек зрения: с целью использования и с целью зашиты. Например, мы будем рассматривать, как организованы системы голосования на различных сайтах. Эту информацию можно использовать с целью увеличения голосов. Но если вы WEB-программист, то эти сведения будут полезны с точки зрения зашиты и помогут написать такой скрипт для подсчета голосов, который нельзя будет подтасовать.
Когда рассматриваешь систему безопасности, то эта же информация может быть использована для взлома. Например, вы рассказываете о новом замке, вскрыть который можно только бензопилой. С одной стороны, вы хвастаетесь надежной конструкцией, а с другой, — даете вору наводку, какой инструмент использовать для проникновения. Любая информация о защите может быть воспринята и как действие к взлому, и как меры предосторожности. Я подразумеваю второе, потому что намного сложнее создать нечто неуязвимое, чем разрушить построенное (ломать — не строить).
Любые сведения о хакерских методах будут полезны программистам и администраторам для укрепления обороны. Вы не сможете защититься, если не знаете, откуда исходит угроза. С другой стороны, вы должны понимать,
как устроен и как работает объект ваших шуток (или взлома). Без понимания таких вещей невозможно организовать ни достойную оборону, ни нападение.
Форсирование Интернета
Когда мы находимся в сети, хочется оптимизировать там свое пребывание. Если работа происходит по телефонной линии (Dial-up), то скорость обмена информацией невысокая (на современных модемах составляет самое большее 56 Кбит). Этот предел достигается очень редко, а большую часть времени мы имеем скорость от 30 до 40 Кбит, и то при условии максимально эффективной работы протокола и хорошей линии связи.
При работе по выделенной линии максимум достигается намного проще, и даже если у вас канал в 64 Кбита, что незначительно больше потенциальных 56 Кбит простого модема, увеличение скорости будет ощутимым. Но если при доступе через телефонную линию вы чаще всего платите за время пребывания в сети, то при выделенном канале платеж зависит от количества скачанной информации, и здесь уже хочется оптимизировать поступающий трафик.
Рис. 5.1. Сайт разработчиков программы Getflight
Проблема любого соединения (особенно Dial-Up) в том, что оно может разорваться. Если вы в этот момент загружаете WEB-страничку, то не так обидно прочитать ее снова после восстановления соединения. Но если к этому времени уже'было получено 90 % из 100 Мбайт очередного обновления Windows, то скачивать заново информацию такого объема досадно. Чтобы не терять лишнее время и трафик, можно воспользоваться менеджерами закачки типа GetRight или Reget. Но о них мы поговорим в разд. 5.1.5. Дополнительную информацию о программах GetRight и Reget и используемых ими технологиях можно прочитать на официальных сайтах www.getright.com и www.reget.com. Главная страница сайта программы GetRight показана на рис. 5.1.
Мы рассмотрим различные способы повышения производительности сети, что способствует увеличению скорости обмена информацией и уменьшению трафика.
Форсирование протокола
В основе обмена информацией лежит использование специальных протоколов, а самым распространенным стал TCP/IP (Transmission Control Protocol, протокол управления передачей). Мы не будем углубляться, но некоторые теоретические основы придется рассмотреть.
Протокол TCP/IP определяет стандарты связи между компьютерами и соглашения о формате передаваемых данных. Обмен происходит с помощью пакетов определенного размера, который зависит от настроек, установленных в ОС. Помимо данных в каждом пакете присутствует служебная информация: адреса получателя и отправителя, сведения о портах, времени жизни пакета и т. д.
Допустим, что пакет имеет максимальный размер 2000 байт. Если отправлять данные по 1000 байт или даже по 500 байт, то величина пакета будет использоваться не в полную силу. А если дожидаться окончания его заполнения, то неизбежны задержки. Но мы не можем сильно влиять на этот процесс, поэтому регулирование должно происходить на уровне размера.
Если послать сразу 10 000 байт, то эта информация будет разбита на несколько пакетов размером по 2000 байт и отправлена в сеть с предельным заполнением. Информация пройдет быстро, и на стороне получателя все пакеты будут собраны. Но сеть не идеальна, и если какая-то порция затеряется и не дойдет до адресата, то для завершения сборки последует запрос на повторную отправку, а это лишние затраты времени и трафика.
Если убавить допустимый размер пакета, то небольшой объем информации пойдет эффективно, а значительные потоки данных (передача крупных файлов) окажутся наиболее затратными, потому что для отправки потребуется больше пакетов. А так как каждый из них содержит служебную информацию,
то слишком много получится вспомогательного трафика. Это, опять же, дополнительное время и трафик.
Таких настроек достаточно много, но давайте разберем их в процессе изучения тех параметров, которые можно контролировать в Windows. По мере рассмотрения будем знакомиться с теорией, которая необходима для выбора правильного значения.
В Windows 2000/ХР протокол TCP/IP работает достаточно быстро, и если вы являетесь счастливым обладателем такой версии, то настройки реестра, описанные в этом разделе, можно прочитать для расширения кругозора. Если же вы до сих пор работаете в Windows 9.x; то стоит уделить этому материалу максимум внимания.
Оптимизация передаваемых пакетов
Итак, для изменения настроек протокола TCP в Windows 9х нам понадобится редактор реестра regedit, потому что все необходимые параметры хранятся здесь. Для начала отправляемся по адресу: HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\Class\NctTrans\0000. Поел ед н и е нули означают профиль. Их у вас, как правило, несколько, поэтому адрес может заканчиваться иначе, напрмер, 0001, 0002 или даже 0022. В этом разделе нужно создать строковый параметр махмти и присвоить ему значение, а какое — мы сейчас разберем.
Всем известна аббревиатура MTU (Maximum Transmission Unit, максимальная пропускная способность) — максимально передаваемый пакет. Разработчики Microsoft (как всегда) пошли своим путем и переименовали этот параметр в махмти — "максимальный максимально передаваемый пакет :). В Win9x по умолчанию используется значение 1500.
Конечно, чем больше пакет, тем больше данных мы получим. С увеличением махмти модем сможет отсылать укрупненные пакеты, соответствующие этому значению, т. е. за один раз будет уходить больше информации. Но если у вас связь нестабильная и пакеты регулярно пропадают, то необходимо повторять отправку потерянных данных. Может так случиться, что потребуется больше времени на повторную отправку и/или получение, чем на обмен новыми данными.
Есть еще одна проблема. Стандартом для маршрутизаторов долгое время являлось значение махмти, равное 576. Поэтому надо учитывать, что пакеты разрываются и на этом уровне, т. е. значение махмти желательно понизить.
Возможные значения для махмти — 552, 576, 1002, 1500. Из этого не следует, что нельзя использовать другие числа, просто эти применяются чаше и работают лучше (тут я не буду вдаваться в технические подробности). Я рекомендую обратить внимание на числа 552 и 1002. Попробуйте опытным путем проверить, при каких значениях связь лучше.
Размер данных в пакете
Уменьшив размер максимального пакета, нужно не забывать, что он содержит не только данные, но и заголовок, и служебную информацию, которые занимают целых 40 байт. Это означает, что при махмти = 1500 реально передаются 1460 байт данных, а при значении 576 — 536 байт. Так что во втором случае "накладные расходы" окажутся в три раза больше, т. к. для передачи 1500 байт нужно отправить три пакета по 576 байт, из них 120 байт — служебные. Любое изменение параметров должно быть оправданным. Никогда не знаешь, где потеряешь, а где найдешь.
Но не все так страшно, ведь при плохой связи лучше лишний раз передать 40 байт служебных, чем иметь 1500 байт потерянных. Но при качественной связи пакет нужно делать максимальным.
Объем данных без учета заголовка называется MSS (Maximum Segment Size, Максимальный размер сегмента) и равен значению Махнти-40. Вновь откройте редактор реестра, найдите раздел HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Services\VxD\MSTC и создайте там строковый параметр DefaultMSS со значением Иахмти-40 (для особо умных поясняю, что нужно вписать туда не формулу "MaxMTU-40", а результат вычислений по ней).
Закройте форточку
Все интересующие параметры располагаются по адресу HKEY_LOCAL_ MACHINE\System\CurrentControlSet\Services\VxD\MSTC, поэтому далее я буду приводить только их название, тип и назначение.
Следующим будет строковый параметр DefaultRcvWindow (RWIN — Receive Window, Окно получения) — окно приема. Когда вы посылаете запрос на сервер, то он имеет право отправить RWIN-количество байт, не дожидаясь подтверждения об удачном приеме. Если записать в DefauitRcvwindow значение, которое вы указали в DefaultMSS, то сервер после каждого отправленного пакета будет ждать подтверждения. В этом случае вы получите наибольшие задержки. Если вы сделаете значение RWIN размером в 20*DefaultMSS, то сервер отправит сразу 20 пакетов, а потом будет дожидаться подтверждения.
Если пакеты пропадают достаточно редко, то можно отправлять данные большими партиями, а потом ждать от получателя подтверждения об удачном приеме. В противном случае, послав значительную порцию информации и приняв ответ об ошибке, придется долго ждать, пока потерянные данные не отправятся заново и не придет положительный ответ. При хорошей связи окно получения нужно делать максимально возможным.
Параметр DefauitRcvwlndow рассчитывается по формуле DefaultMSS * n. В качестве коэффициента N желательно использовать числа 4, 6, 8 или 10. Самым оптимальным, на мой взгляд, является число 8, но в вашем случае оно может быть и другим. Как я уже говорил, это зависит от качества связи.
Еще один строковый параметр — DefaultTTL (TTL — Time То Live, время жизни). Это время жизни пакета. Бывают ситуации, когда пакет застревает между двумя промежуточными узлами и не может дойти до адресата. Для того чтобы маршрутизаторы не зацикливались в поисках места назначения пакета, был введен термин ttl. Каждый узел, через который проходит очередная порция, уменьшает значение этого параметра в заголовке пакета. Как только значение DefaultTTL становится равным о, пакет считается попавшим в цикл и уничтожается.
По умолчанию DefaultTTL равен 32. Его уменьшение может привести только к ухудшению связи, а увеличение — уменьшить вероятность потери пакетов. Это связано с тем, что некоторые из них могут быть уничтожены только потому, что какому-то маршрутизатору вздумалось отправить пакет дальней дорогой. Такое бывает редко, но все же я рекомендую увеличить значение параметра до 64. Хуже от этого не станет, хотя скорость возрастет незаметно (по крайней мере, тестами такое увеличение определить сложно). Но то, что трафик может быть уменьшен и не придется лишний раз отправлять пакет, который просто пошел другой дорогой и был уничтожен, это точно.
Подслушивающие устройства
Подслушивающие параметры не очень хорошо влияют на соединение. Смотрите сами.
Строковый параметр PMTUDiscovery (Path Maximum Transmission Unit Discovery) — обнаружение пути с максимальным размером пакета. Если установить этот параметр в 1, то TCP/IP перед соединением будет искать путь с наивысшим мти. При правильно настроенном махмти, параметр PMTUDiscovery только тормозит протокол за счет дополнительных затрат времени на поиск.
Строковый параметр PMTUBlackHoleDetect (Path Maximum Transmission Unit Black Hole Detect) — нахождение черных дыр. Если выставить этот параметр в 1, то перед началом соединения будет происходить проверка на "мертвые" маршрутизаторы по пути до сервера. Категорически советую не использовать такую возможность, потому что это замедлит обмен. "Мертвые" маршрутизаторы встречаются не так часто, и затраты на их поиск не окупаются.
Черная дыра
Вся работа по настройке протокола TCP/IP связана с редактированием реестра. Невнимательность может испортить связь так, что работать будет невозможно. Если вы дошли до такого состояния, то выполните следующие операции:
Перезагрузите Wndows.
После прохождения теста компьютера и перед стартом ОС нажмите <F8>. Перед вами появится меню с вариантами загрузки.
□ Выберите Command Prompt Only (Режим командной строки). Так вы попадете в DOS.
Наберите в командной строке scanreg /restore. Запустится программа восстановления реестра.
Вы увидите список реестров за последние 4 дня.
Выбирайте любой и нажимайте <Enter>.
Все это относится к Windows 9х. В Windows 2000/ХР нет DOS-подсистемы, и эти действия невозможны, да и не нужны, потому что в этих версиях протокол TCP реализован на должном уровне, и вмешиваться в его работу какими-либо настройками нежелательно.
5.1.2, Форсирование DNS
Каждый раз, когда вы хотите загрузить в Internet Explorer некий сайт, то в качестве адреса чаше всего используете имя сервера. Например, вам необходимо скачать новую версию программы CyD Software Labs. Для этого в строке URL вы указываете адрес www.cydsoft.com и начинаете загрузку'. Но реальный адрес компьютера — это не символьное имя, а IP-адрес, который состоит из четырех октетов десятичных чисел (для самой распространенной сейчас 4 версии 1Р-протокола), разделенных точками.
Так вот, перед чтением сайта Internet Explorer сначала должен определить IP-адрес сервера, символьное имя которого вы указали. Для этого компьютер посылает запрос DNS-серверу с просьбой сообщить ему соответствующий IP. Только после получения ответа начинается реальная загрузка страницы и ее содержимого по сети. Процесс идентификации может занять некоторое время, поэтому пауза может быть ощутимой даже на глаз.
Зачем нужен DNS? Запомнить числовой IP-адрес не всегда легко, поэтому логичнее использовать названия, которые ассоциируются с содержащейся на сайте информацией и его направленностью. Понятные словосочетания усваиваются намного быстрее, и именно для этого была придумана система DNS преобразования текстовых имен серверов в IP-адреса.
Когда вы собираетесь посетить новый сайт, то использование DNS практически всегда обязательно, но если на каких-либо страничках вы бываете достаточно часто или даже ежедневно, то необходимо отказаться от услуг DNS.
Большинство серверов в сети очень редко меняют свои IP-адреса. Частая смена происходит только на подпольных сайтах с запрещенной информацией, когда владельцы пытаются спрятаться от правосудия. Официальные и вполне легальные сайты годами не нуждаются в изменении адреса. Именно поэтому в таких случаях желательно снизить количество лишних обращений к сети.
У меня все сайты в папке Favorities (Избранное) не используют символьные URL, а везде стоит IP-адрес. Таким образом, после выбора любимого сайта
загрузка начинается моментально, минуя определение адреса сервера по его DNS-имени.
Как настроить такую адресацию? Для этого нужно выполнить несколько простых шагов:
Запустите Internet Explorer.
Откройте меню Favorites (Избранное) и наведите мышь на ссылку нужного сайта. Щелкните по нему правой кнопкой мыши и в появившемся меню выберите пункт Properties (Свойства).
Перед вами откроется окно, как на рис. 5.2. В нем на вкладке Web Document (Документ Интернета) необходимо запомнить часть адреса в поле URL, которая находится между двойным и одинарным слэшами. Например, на рис. 5.2 показан адрес сайта http://www.cydsoft.com/, и нас будет интересовать www.cydsoft.com.
Рис. 5.2. Окно свойств ярлыка
Выберите меню Start/Run (Пуск/Вы пол нить), наберите и поле Open (Открыть) команду cmd (для Windows 9.x нужно использовать имя файла
command.com) и нажмите клавишу ОК Тем самым вы запустите окно, в котором можно выполнять директивы.
Наберите ping имя Сайта (например, ping www.cydsoft.com), и вы должны увидеть текст типа:
Pinging www.cydsoft.com [62.118.251.15} with 32 bytes of data:
Reply from 62.118.251.15: bytes=32 time<lms TTL=128
Reply from 62.118.251.15: bytes=32 time=2ms TTL=128
Reply from 62.118.251.15: bytes=32 time=lms TTL=128
Reply from 62.118.251.15: bytes=32 time<lms TTL=128
Ping statistics for 62.118.251.15:
Packets: Send = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = Oms, Maximum = 2ms, Average = 1ms
В первой строке ответа в квадратных скобках показан IP-адрес. Именно его вы должны прописать вместо www.cydsoft.com в окне свойств ярлыка (см. рис. 5.2). Таким образом, URL превратится в http://62.ll8.251.l5/. Но прежде чем делать такую замену, я советую протестировать адрес в браузере. Если произошла ошибка, то, возможно, есть какая-то переадресация (сайт не имеет выделенного IP-адреса) или вы работаете через прокси-сервер, который не смог пропустить 1Р-адрес.
Если во время выполнения команды ping произошла ошибка, то это может быть связано с недоступностью этой директивы в вашей сети. Такое бывает в корпоративных сетях, где для выхода в Интернет разрешены только определенные протоколы и нет возможности использовать ICMP-протокол (Internet Control Message Protocol, управляющий протокол об ошибках), необходимый программе ping. В этом случае можно воспользоваться сайтом http://www.rus.org/cgi-bin/nph-ping.cgi, на котором достаточно ввести адрес в единственное поле и нажать кнопку <Enter>.
Локальное кэширование
В Internet Explorer встроена система кэширования, которая позволяет не загружать некоторую информацию при повторном входе на сайт, а брать ее из кэша браузера. Чаще всего не подлежат вторичной загрузке картинки. Так как их размер намного превышает текстовую информацию сайта, то происходит достаточно большая экономия трафика и скорости получения данных. Но система кэширования в Internet Explorer несовершенна, и очень часто заново читаются изображения, которые лежат в кэше и не изменились с момента последнего посещения.
Чтобы избавиться от этого недостатка, я рекомендую использовать локальный прокси-сервер. Например, WinProxy, который можно скачать с сайта
http://www.winproxy.cz/. Локальные прокси-серверы кэшируют информацию намного лучше, хотя и отнимают несколько больше дискового пространства. Рассмотрим настройку прокси-сервера на примере Win Proxy. Скачайте и установите программу. Это выполняется достаточно просто, единственное, на что вам нужно обратить внимание, — адрес прокси-сервера. По умолчанию задается http://localhost:3129 (3129 — номер порта, но в будущих версиях этот параметр может измениться).
i^WlNi^WlNPROXYPROXYWhiPro-XyAiLniinМ.нпConTijCUrtnjim >CyMManual_ _ w> _ _Currrai VwRrgurationWhiPro-XyAiLniinМ.нпConTijCUrtnjim >CyMManual_ _ w> _ _Currrai VwRrgurationТеперь запустите Internet Explorer и наберите в строке URL адрес http://localhost:3129/. Перед вами должна открыться страница администрирования сервера (см. рис. 5.3). В принципе, можно сразу приступить к работе, но все же я рекомендую познакомиться с доступными настройками. Возможно, вы захотите что-то улучшить или изменить.
i^WlN
i^WlN
PROXY
PROXY
WhiPro-XyAiLniin
М.нп
ConTijCUrtnjim >CyMManual
_ _ w> _ _
Currrai VwRrguration
WhiPro-XyAiLniin
М.нп
ConTijCUrtnjim >CyMManual
_ _ w> _ _
Currrai VwRrguration
Yr* KMjs«,<W
71* о Mrv*WM| vrtn » Wnttrd Ur fl* flat of2 свкитгш шт «3 • ^Khr a™ of I MB
Рис. 5,3. Окно настройки WinProxy
Чтобы заставить Internet Explorer работать через прокси-сервер, необходимо запустить браузер и выбрать меню Tools/lnternet options (Сервис/СвоЙства обозревателя). Перейдите на вкладку Connections (Подключение) и нажмите кнопку Lan settings (Настройка сети). Перед вами откроется окно настройки сетевого подключения (см. рис. 5.4).
Здесь нужно поставить галочку в Use a proxy server Гог your LAN (Использовать прокси-сервер), в поле Address (Адрес) введите 127.0.0.1 (такое значение всегда указывает на ваш компьютер), а в качестве порта (поле Port) установите 3129. Сохраните изменения (кнопка ОК), и теперь ваше соединение будет происходить через локальный прокси-сервер, что имеет свои преимущества и недостатки.
Local Area Network (LAN) Settings
Automatic configuration
Automatic configuration may override manual settings. To ensure the use of manual settings, disable automatic configuration.
Automatically detect settings
Use automatic configuration script
Proxy server
Use a proxy server for your LAN (These settings will not apply to ' dial-up or VPN connections).
Address: 127.0.0.1 Port: 3129|| Advanced... )
Bypass proxy server for local addresses
[ OK | [ "cancel ’ ]
Рис. 5.4. Окно настройки подключения
Рассмотрим основные недостатки:
расходуется лишнее дисковое пространство для хранения кэша проксисервера, но на это можно закрыть глаза, потому что накопители сейчас большие и стоят недорого, а ускорить Интернет очень хочется;
при загрузке сайта не всегда отображается свежая информация. Большинство прокси-серверов не проверяют запрошенную страничку на наличие изменений, а просто возвращают нам ее из кэша. Чтобы получить новейшую информацию, приходится нажимать кнопку Обновить в браузере.
Но есть и неоспоримые преимущества:
увеличивается скорость загрузки и уменьшается трафик, т. к. большая часть информации берется из кэша прокси-сервера;
даже при использовании кнопки Обновить очень часто подгружается только текстовая информация и не расходуется трафик на перевывод изображений, которые изменяются очень редко. Чтобы обновить графику, нужно нажимать кнопку Обновить и одновременно удерживать клавишу <Shift>;
хорошие прокси-серверы кэшируют не только информацию сайта, но и адреса. Это значит, что если вы уже посетили www.cydsoft.com, то IP- адрес сохраняется в кэше, и при следующем обращении к сайту будет использоваться он, а не DNS, и загрузка может начаться сразу после указания символьного адреса.
8 Зак. 923
Если вы очень трепетно относитесь к скорости работы в сети и бережете трафик, то я настоятельно рекомендую вам установить прокси-сервер, который обязательно сэкономит вам время и деньги.
Только то, что надо
У меня на работе начальство достаточно прижимистое и ограничивает месячный трафик 50 Мбайт на человека. Что такое в наше время 50 Мбайт? Это копейки, которые израсходуются за неделю даже при простом просмотре WEB-страниц. И при этом абсолютно ничего не удастся скачать, потому что даже обновления для Windows требуют большего объема.
Чтобы такого ограниченного трафика хватило на месяц хотя бы для просмотра WEB-страничек, мне приходится отключать отображение картинок в браузере. Как я уже говорил, графическая информация отнимает большую часть трафика. Если объем текста на большинстве сайтов не превосходит 10 Кбайт, то графика может превысить 100 Кбайт.
Рис. 5.5. Сайт www.cydsoft.com без картинок
Для отключения изображений в Internet Explorer нужно выбрать меню Tools/Intemet options (Сервис/Свойства обозревателя), и перед вами откроется
окно для настройки свойств обозревателя. На вкладке Advanced (Дополнительно) найдите раздел Multimedia (Мультимедиа) и уберите галочку с параметра Show Pictures (Отображать рисунки). После этого большинство сайтов будут выглядеть не так красиво, но это позволит сэкономить до 70 % трафика. Когда модемы были медленными и скорость загрузки хромала на обе ноги, я также отключал картинки. В них не так много информативности, и в большинстве случаев можно обойтись и без них.
На рис. 5.5 показан сайт компании www.cydsoft.com без картинок, а на их месте красуются прямоугольники с логотипом, указывающим на наличие в данном месте изображения. Если захочется посмотреть какое-нибудь изображение, то достаточно щелкнуть по такому прямоугольнику правой кнопкой мыши и выбрать в выпадающем меню Show picture (Показать рисунок). Таким образом можно просматривать картинки выборочно и только те, которые нужны.
Качать не перекачать
Если у вас плохая связь, которая регулярно обрывается, то скачать что- нибудь большого размера становится проблематично. Из-за постоянных разрывов приходится повторять операцию снова и снова. И все это — расход времени и денег.
Процесс самой передачи файлов в Internet Explorer тоже реализован не очень эффективно. Даже при хорошей связи скорость можно увеличить за счет разбиения данных на несколько потоков, проходящих разными путями. Корпорация Microsoft реализовала только необходимые возможности, но они далеко недостаточны.
Я рекомендую установить менеджер закачек Reget (www.reget.com/en). Он позволит максимально эффективно использовать ваше соединение. Сначала программа автоматически ищет зеркала, с которых можно получить файл, и выбирает лучшую связь (или качает сразу с нескольких мест). Ваша связь может быть отличной, но сервер, с которого нужно взять файл, может быть сильно перегружен. С помощью менеджера закачек вы сэкономите много времени.
Примечание
На компакт-диске, в директории ChapterS/Reget, вы можете найти программу инсталляции Reget 4.0.
Работа с программой достаточно проста. Вам следует только установить ее. Окно программы показано на рис. 5.6.
Теперь, когда вы щелкаете по ссылке на объект в internet Explorer, файл будет скачиваться не встроенными в браузер методами, а с помощью про-
граммы Reget. Если во время получения данных связь оборвалась, то после восстановления соединения с Интернетом Reget может продолжить процедуру с того же места. Представьте, если вы качаете файл размером в гигабайт, и в момент, когда остался I %, происходит обрыв. Приходится все делать заново, а потраченные время и деньги вам уже никто не вернет. Даже по самым низким тарифам за график на повторное скачивание вы затратите больше, чем на лицензию самой дорогой версии этой программы.
Рис. 5.6. Программа Reget
Это основные, но далеко не все возможности Reget. Подробно можно прочитать о программе на сайте http://deluxe.reget.com/ru/features.htm. Помните, что это не реклама, а экономия ваших средств.
5.2. Накрутка голосования
Системы голосования на разных сайтах постоянно развиваются, и программисты пытаются закрыть лазейки, чтобы пользователь не смог накручивать счетчики. Допустим, что некая компания проводит интернет-опрос, и вы, естественно, хотите, чтобы победила ваша версия ответа. Как же поступить в такой ситуации? Вариантов много, но все зависит от программы, которая собирает голоса пользователей.
Рассмотрим способы накрутки на примере сайта www.download.com. Здесь можно голосовать за любимые программы, отдавая им свое предпочтение.
Если вы видите, что ваша "избранница" имеет плохой рейтинг, то пытаетесь изменить ситуацию и помочь разработчику.
Чтобы понять, как увеличивать количество голосов, нужно знать, как они учитываются. Самый простой вариант — использование Cookies (это файлы- плюшки, в которых можно сохранять любую полезную информацию). У каждого сайта свой файл, и его может прочитать только он. Нет доступа к чужим Cookies. Когда вы отдаете свой голос, то сервер сохраняет информацию об этом в файле Cookies. Рассмотрим шаги, которые выполняются при голосовании:
Отправка пакета с ответом на вопрос.
Сервер обрабатывает ответ и присылает подтверждение.
Ваш компьютер сохраняет информацию в Cookies.
Таким образом, при следующем голосовании сервер определит по файлу Cookies, что вы уже голосовали, и повтор будет невозможен. Но так думают только начинающие программисты. Сейчас мы посмотрим, как на практике рассыплется это утверждение.
Вариант накрутки №1
Пять лет назад система голосования на www.download.com не имела абсолютно никакой защиты от подтасовки, и можно было воспользоваться простейшим способом быстрого клика: заходите на сайт, выбираете нужный вариант ответа и начинаете проворно нажимать кнопку Отправить.
Допустим, вы используете простую телефонную линию, тогда для отправки вашего ответа и получения подтверждения (т. е. Cookies-файла) нужно время. Если в момент пересылки/получения пакета повторно нажать кнопку Отправить, то предыдущая посылка на клиентской стороне считается незавершенной и отменяется, а начинает работать новая сессия обмена данными. Когда на первую отправку придет подтверждение сервера и просьба изменить файл Cookies, то запрос будет отклонен из-за несовпадения сессий.
Следовательно, если быстро кликать по кнопке Отправить, то будут отправляться пакеты с нашими вариантами ответа, а сервер их обработает и добавит полученные голоса (т. с. выполнятся шаги 1 и 2). А вот ваш компьютер станет отклонять подтверждения, и третий шаг будет пропускаться, пока не произойдет одно из следующих событий:
если вы прекратите быстро щелкать кнопку отправки ответа, то браузер примет файл Cookies, полученный в результате последнего нажатия, и сохранит его;
если между нажатиями кнопки отправки сервер обработал запрос, а ваш компьютер успел принять подтверждение, то файл будет создан и дальнейшие клики станут невозможными.
На выделенных линиях с большой скоростью подключения обмен пакетами происходит быстро, и можно не успеть кликнуть в очередной раз, а значит, файл Cookies будет создан.
В этом случае подойдет другой способ изменения счетчика, описанный в разд. 5.2.2.
Вариант накрутки №2
Когда программисты замечают, что систему голосования накручивают первым способом, то они начинают создавать защиту. Самый простой вариант — сразу после отправки ответа отключить кнопку (сделать ее недоступной) с помощью JavaScript, и вторая попытка нажатия станет невозможной. Если вы знаете JavaScript, то сможете обойти это препятствие, но тут уже придется потратить некоторое время, и быстрого голосования не получится (см. разд. 5.2.4).
Так как информация о голосовании сохраняется в Cookies-файле, достаточно только его удалить. Для этого нужно перейти в папку \Documents and Settings\HMfl пользователя\Соок1е5, где Имя пользователя — это имя учетной записи, под которой вы вошли в систему. Здесь находятся файлы формата Имя пользователя@адрес сайта.txt. После знака "@” идет адрес сайта, с которого получен данный Cookies. Найдите файл с нужным голосованием и просто удалите его. После этого можно повторять попытку.
Приведенный вариант подходит и в тех случаях, когда вы хотите повторить голосование первым способом (см. разд.5.2.1), но файл Cookies уже существует.
Вариант накрутки №3
Наиболее жесткая зашита организуется через IP-адрес. Если с какого-либо адреса уже проголосовали, то повторить попытку будет невозможно. Если вы пользуетесь Dial-up подключением, то вам IP-адрес назначается автоматически при каждом входе в сеть. Достаточно заново подключиться к Интернету, и при этом вам, скорей всего, дадут другой 1Р, и можно будет повторить голосование.
Если у вас выделенная линия, то единственным (простым) способом будет использование анонимных прокси-серверов. Вам нужно сформировать большой список .таких ргоху-адресов (в Интернете их достаточно), а потом через каждый из них отдать свой голос, и он, скорей всего, будет учтен.
Очень часто программисты для защиты от накруток используют IP-адреса и Cookies одновременно. В этом случае нужно обязательно удалять соответствующий сайту Cookies-файл, иначе система голосования определит подвох.
Применение зашиты по IP-адресу — достаточно сложное дело. Очень много пользователей в глобальной сети, которые работают через различные про-
межуточные сети, но попадают в Интернет через один IP. Например, некоторые корпоративные сети объединяют более тысячи компьютеров, которые для выхода во внешнюю сеть используют прокси-сервер и общий IP-адрес. Если хотя бы один сотрудник такой компании проголосует на сайте, то остальные потеряют такую возможность, и поэтому нельзя будет говорить о какой-либо объективности опроса.
Именно поэтому IP-адреса, используемые системами голосования только для определения источника накрутки, хранятся в базе недолго. Через определенное время вы без проблем сможете проголосовать с того же адреса. Для долговременной идентификации проголосовавших чаше всего используются именно Cookies, которые нужно регулярно удалять, а если знать и содержимое, то достаточно просто редактировать.
Вариант накрутки №4
Следующий вариант требует хотя бы начальных знаний языка разметки страниц HTML. Для примера я выбрал наиболее сложный вариант (но распространенный на больших порталах), когда область голосования организована в виде фрэйма внутри окна. Получается окно в окне. Это удобно для пользователя, потому что после голосования перезагружается только этот фрейм, а не вся страница.
Итак, заходим на сайт хакеров www.xakep.ru, Я выбрал этот сайт, потому что его программисты постарались и сделали хорошую систему голосования. На первой странице всегда проводится какой-нибудь опрос. Обратите внимание на то, что находится в окне голосования. В данном случае чуть выше вопросов идет заголовок "Голосование", а чуть ниже — архив материалов.
Выберите меню View/Source code (Вид/В виде HTML), и перед вами появится окно программы Блокнот с исходным кодом страницы. Запустите поиск (меню Правка/Найти) по слову "Голосование". Посмотрите на листинг 5.1, где представлен фрагмент HTML-текста, который был найден мною в исходном коде. “""
। Листинг 5.1. Фрагмент HTML-текста из страницы голосования
<span class="textHeaderlWhite"> Гoлocoвaниe</span></td>
<tr>
<td height="l" class="decorCellWhite"ximg src="i/fon.gif" width="l" height="l" ></td>
</tr>
<tr>
<td valign^'middle’ align='right'>
< table width="98%">
<trxtdxspan class=‘textBodyHome">
<iframe src = "Zcode/caninon/vote3/include/iframe_vote.asp?site
= SVT5" ID="anIframeRez3" KAME="anIframeRez3a" scrolling="no"
frameborder='0" width="100%" marginwidth="O" marginheight="O"x/iframe>
</ spanx / tdx / tr>
</table><br>
</Cd>
</tr>
<tr>
<td height=*l* class="decorCellWhite"ximg src="i/fon.gif" width="l" height="l’ x/td>
</tr>
<tr>
<td class="decorBodyCelll*>
<table border="0" width="100%" cellpadding="O* cellspacing=#O">
<tr>
<td class="textHeaderlWhite" height="30" valign="top">/AFXMB MATEPHABOB/</td>
В первой строке красуется надпись "Голосование". а в последней — "АРХИВ МАТЕРИАЛОВ". Значит, между ними где-то есть указание на само голосование. И если оно выполнено в виде фрейма, то искомая ссылка будет расположена внутри тега <iframe>.
Найдите строку, которая содержит слово iframe, и в ней вы увидите следующую конструкцию:
Src = "/code/common/vote3/include/iframe„vote.asp?site
= SVT5"
В кавычках указан адрес голосования. В данном случае он начинается со слэша. Это значит, что перед ним нужно добавить имя сайта http://www.xakep.ru. Если бы в начале уже стояли символы "http://", то ничего корректировать не надо было.
Итак, адрес системы голосования выглядит следующим образом:
http://www.xakep.ru/code/cominon/vote3/include/ifraine_votc.asp?site=SVT5
Попробуйте набрать этот адрес в браузере, и вы увидите само голосование (рис. 5.7), которое на главной странице выглядит в виде фрейма.
Снова выберите меню View/Source code (Вид/В виде HTML) и познакомьтесь с исходным кодом страницы в программе Блокнот (см. листинг 5.2).
Рис. 5.7. Голосование на сайте www.xakep.ru
—^——™—гг*7?" ——^-—~•—:—; ..^чуд-’ё*'-
Листинг 5.2. Содержимое файла голосования
51■:
chtml».
<heads
cmeta http-equiv="Content-Type" content=*text/html; charset=windows- 1251">
<meta name="keywords" content-"взлом, компьютерная безопасность, хакер, защита данных, Linux, программирование, трояны, защита от проникновения, вирусы, уязвимости, операционные системы, Deface, подбор пароля, взлом ьыла, снифер, перехват">
■clink rel=*stylesheet" href="../../../../local/include/main.css" type="text/css">
<script language="JavaScript"
src="../../../../local/include/Bcripts.js"s</scripts
</heads
«body background^ 11 bgcolor="#FFFFFF" inarginwidth="0" marginheight="O" topmargin="0" le£trnargin="0" righbnargin="O" bottommargin="0">
«table bgcolor="#FFFFFF" width="100%" cellpadding="0* cellspacing-"0" border=" 0" xtr><td>
«table cellpadding="3" cellspacing="0" border="0" id="votationholder">
«form action="../vctel.asp" method=:npost" target="_tcp">
«input type="hidden" name="VoteID" value="WT1051">
«input type="hidden" name="userip" value="80.80.99.95">
«trxtd colspan="2" align="center"xb class="textVoteTitle">ECTb ли у теСя DVB-привод на KOMne?</bx/tdx/tr>
«trxtd width="10px"x input type="radio" name="VoteOptionID" value="OVT1816"x/tdxtd width="100%" allgn="left">EcTb</tdx/tr>
«trxtd width="10px"x input type="radio" name="VoteOptionID" value="OVT1817"x/tdxtd width="100%" align="left">HeTy«/tdx/tr>
«trxtd colspan="2" align="center"xinput type="submit" name="sl" class="decorVoteInput" value="OTBeTHTb"x/tdx/tr>
«trxtd colspan="2" align= "center"> [<a
href="../vote_resultsl.asp?site=SVT5" target="_top"
class="textVtгег11пк">резуль таты</а>]</tdx/tr>
</form>
</table>
</td>
</tr>
</table>.
«script language="JavaScript">\
<1 —
document, dornain= * хакер. ru'
parent.adjustFrame(window)
//—>
</script>
</body>
</html>
Здесь ищем текст "<form action-*. После него в кавычках должен быть адрес скрипта, который обрабатывает голосование. В данном случае это "../voteI.asp". Две точки, которые стоят в начале, говорят о том, что в текущем адресе нужно подняться на один уровень.
Текущий адрес у нас:
http:// www.xakep.ru/code/common/vote3/include/iframe_vote,asp?site=SVT5
Удаляем все, что находится за последним слэшем, потому что это имя страницы и ее параметры.
Должен остаться такой адрес:
http://www.xakep.ru/code/common/vote3/include/
Теперь нужно подняться на один уровень, т. е. убрать последний слэш и весь текст, предшествующий ему.
Остается следующий адрес:
http://www.xakep.ru/code/common/vote3/
Вот к этой строке нужно добавить то, что мы нашли в кавычках после кода "<form action-".
Результат:
http://www.xakep.ru/code/common/vote3/votel.asp
Именно в таком виде адрес нужно указать в исходном коде в кавычках после "<form action-".
У вас должна получиться строка типа:
<form action="http://www.хакер.ru/code/contmon/vote3/votel.asp" mechod="post" target="„top">
Теперь снова посмотрите на код из листинга 5.2. Найдите строки, которые содержат текст input type="hidden". Тег <lnput> говорит о том, что это поле ввода, содержимое которого будет передаваться скрипту. Параметр type= "hidden" указывает на то, что поле скрытое. Наиболее интересной является вторая строка с таким тегом:
<input type="hidden" паше="userip" value="182.181.19.5">
Через этот параметр передаются IP-адреса. В данном случае это 182.18 L 19.5. Наша задача — изменять его вручную в коде страницы и передавать серверу свой голос с новым 1Р. Как это сделать? Очень просто. Для этого нужно выполнить следующие шаги:
Сохранить измененное содержимое файла (листинг 5.2) на своем компьютере под любым именем, но с расширением htm.
Запустить этот файл и проголосовать.
Изменить в файле IP-адрес и перейти на шаг 2.
Таким образом можно голосовать сколько угодно, и сервер всегда будет думать, что посылка идет с разных IP-адресов. Несмотря на хорошую реализацию проведения опроса программисты ошиблись, определяя адрес отправителя не во время выполнения скрипта, а заранее, при формировании странички, которая является плодом творения ASP, и ее код формируется динамически при обращении к серверу.
Данный пример демонстрирует, как, используя HTML, можно изменить свой IP-адрес. Но такая ошибка встречается далеко не везде и проявляется
по-разному. Зная язык разметки HTML-документов, можно отключать скрипты, написанные с помощью Java-Script, которые делают кнопки отправки результата голосования недоступными, и пользоваться первым методом накручивания (см. разд. 5.2.1). Кстати, в HTML-тексте, который я нашел на сайте www.xakep.ru, я обнаружил соответствующий код на JavaScript, но он не используется. Видимо, понадеялись на защиту по IP-адресу.
Социальная инженерия
Социальная инженерия — самое мощное оружие хакера. С его помощью происходили наиболее громкие взломы и создавались самые известные вирусы. Вспомните вирус Анны Курниковой, когда пользователям приходило письмо (с вложением) с предложением посмотреть фотографию Анны. Я думаю, что любопытство мужчин (а это большая часть пользователей Интернета), которые запускали прикрепленный файл и таким образом заражали свой компьютер, помогло распространению этого вируса.
Социальная инженерия основана на психологии человека и использует его слабые стороны. С ее помощью хакеры заставляют жертву делать то, что им нужно: заражают машины, получают пароли. Сколько раз я слышал про захваты кредитных карт с помощью простых E-mail сообщений. Пользователь получает письмо с просьбой сообщить свой пароль, потому что база данных банка порушилась из-за погодных условий, хакера или поломки оборудования. Ничего не подозревающие пользователи всегда сообщают конфиденциальные данные, потому что боятся потерять информацию.
В современных условиях хакеры редко придумывают что-либо новое, а используют старые и проверенные способы. И несмотря на это всегда находятся жертвы, которые верят. Я пользуюсь Интернетом уже очень долгое время и ежедневно получаю Десятки писем с просьбой запустить файл для обновления защиты или для того, чтобы увидеть что-то интересное. А ведь большинство отправителей — пользователи зараженных компьютеров. Значит, кто-то открывает такие вложения и получает вирусы.
Несмотря на широкое использование защитных программных комплексов и антивирусных программ количество вирусов нс уменьшается. Каждый день в сети появляются новые пользователи, которые еще ничего не знают о ее жестокости. Именно они чаше всего попадаются на различные уловки.
В принципе, социальную инженерию можно было бы отнести к системе безопасности и рассматривать в четвертой главе, где мы говорили о защите. Но в данном случае речь пойдет именно о сетевой социальной инженерии.
Я сам не раз применял принципы социальной инженерии, чтобы добиться эффекта от свежей программы-шутки. Описанные далее методы позволят вам использовать шуточные программы из гл. 3, чтобы подбрасывать знакомым в виде исполняемого файла через E-mail-сообщения.
Итак, давайте рассмотрим некоторые способы, которыми пользуются хакеры. Это поможет вам распознавать их уловки и выделять попытки психологического воздействия от простого общения с людьми. Помните, что социальная инженерия максимально сильна в Интернете, когда вы не можете воочию оценить намерения своего собеседника.
Как он хорош
Мы уже говорили про E-mail-рассылку, в которой нас просят запустить файл во вложении. Я также предупреждал, что этого делать нельзя. Никто не будет посылать картинки через Интернет, как правило, это хорошо замаскированные исполняемые файлы.
Буквально недавно просочилась информация, что в ОС Windows есть ошибка при обработке BMP-файлов, а вчера я услышал об уязвимости JPEG-формата. К файлу картинки может быть прикреплен код, который при определенных условиях в некоторых программах (к ним относится и Internet Explorer) выполнится. Теперь даже при просмотре страничек мы можем заразить компьютер вирусами или троянскими программами.
Когда просматриваете почту, то нужно без разговора удалять любые письма с заголовком, содержащие прикрепленные файлы с расширением scr, bmp, jpg, exe, com, pif и т. д.
Особое внимание нужно уделять файлам с заголовком "Mail Delivery". Такне уведомления приходят, когда ваше письмо не дошло до адресата, а вложением является файл с текстом вашего сообщения. Многие пользователи открывают это вложение, чтобы увидеть текст и определить, какое письмо не дошло. Это ошибка, потому что в последнее время вирусы стали маскироваться под сообщения в стиле Mail Delivery. Просто просмотрите тело письма, в котором должен быть указан E-mail получателя. Если вы отправляли письмо на этот адрес, то запросите подтверждение о получении вашего сообщения. Если оно не дошло, повторите посылку.
Я вижу много писем, в которых предлагается обновить Windows шли какую- либо программу. Корпорация Microsoft и другие производители не занимаются такими рассылками по E-mail. Для обновления всегда нужно скачивать файлы с официальных сайтов, а не брать их из вложения к письму.
Когда мы путешествуем по сети, то на сайтах можно обнаружить яркие и красочные призывы щелкнуть по какой-либо ссылке. В ответ на это у нас просят разрешение на установку программы, без которой невозможно увидеть популярную звезду кино или шоу-бизнеса в обнаженном виде. Соблазн лицезреть это заставляет некоторых дать согласие, и в результате вы получаете вирус.
Помните, за яркими ссылками и настоятельными призывами что-то запустить или установить в 90 % случаев прячется зловредный код. В последнее
время я стал замечать, что вирусов больше там, где есть порнография, сомнительный контент, и при этом используется непрофессиональный дизайн страницы, плюс большое количество рекламы. Возможно, что вирусы оказываются там без злого умысла, а из-за халатности администраторов сайта. Дилетантские ресурсы Интернета обслуживаются тоже любителями, и могут содержать что угодно.
Смена пароля
В последнее время снова начинает набирать ход метод взлома через смену пароля. Я стал чаше получать письма с просьбой обновить свои реквизиты на странице банка, и при этом ссылка указывает совершенно на другой сайт, где введенные пользователем данные попадают в руки хакеру.
Недавно мне пришло письмо, в котором использовался очень старый и давно забытый способ социальной инженерии. Письмо имело примерно следующее содержание:
Здравствуйте.
Я администратор хостинговой компании ХХХХХ. Наша база была подвержена атаке со стороны хакера, и мы боимся, что некоторые данные были изменены.
Просьба просмотреть следующую информацию, и если что-то неверно, то сообщите мне, я восстановлю данные в базе.
После этого следовало перечисление данных обо мне, которые легко получить с помощью сервиса Whois. На любом сайте регистрации доменов есть такая служба, позволяющая определять имя владельца домена. Хакер воспользовался этим сервисом и указал в письме всю найденную информацию. Помимо этого он указал еще два параметра — имя пользователя и пароль. Конечно же, эти данные хакер не мог знать, поэтому здесь были неверные значения. Большинство пользователей в этот момент теряются и, волнуясь за свой сайт, естественно, пишут ответное письмо, в котором сообщают лже-администратору (а точнее, хакеру) свои параметры доступа к WEB- сграницам.
В качестве разновидности такого взлома можно привести классический случай со службой поддержки. Допустим, что вам нужно взломать все тот же хостинг. Вы звоните или пишете E-mail-письмо в службу поддержки с вопросом: "Почему я с такого-то аккаунта не могу зайти в Интернет или на сервер?" При этом нужно указать правильный логин (имя) и любой пароль. Работники службы поддержки обязаны помогать. Увидев ошибку, они поправят вас или вышлют правильный пароль по E-mail.
Если вы используете для общения со службой поддержки электронную почту, то тут главное подделать E-mail пользователя, аккаунт которого вы хотите
вскрыть. Служба поддержки не проверяет адрес отправителя, который фальсифицируется очень легко. Просто SMTP (Simple Mail Transfer Protocol, простой протокол электронной почты) работает без авторизации, и в качестве отправителя позволяет указывать все, что угодно.
Данный метод использует хороший психологический прием: сначала приводится достоверная информация, и только в параметрах доступа заложена ошибка. Таким образом завоевывается расположение и доверие жертвы, и вероятность получить пароль достаточно высока, если пользователь не знаком с таким принципом социальной инженерии. Это подтверждает множество знаменитых взломов в 80-х годах прошлого столетия. Опытные пользователи должны помнить о них, но для многих это новинка, которая может быть опасной.
Я забыл
Не менее эффективным является метод забытого пароля. Есть мнение, что если пароль знают двое, то профессиональный хакер без труда добудет эту информацию. Так работали фрикеры.
Задача фрикера — позвонить по телефону, представиться другом, начальником, подчиненным или просто забывчивым пользователем и попросить напомнить пароль, сославшись на то, что компьютер сгорел, украли, сломался жесткий диск.
Таким образом один раз взломали сайт моих друзей. Над страничками работали несколько человек, живущих в разных уголках страны. Они общались только по E-Mail и никогда не видели друг друга. Однажды один из членов команды получил письмо, в котором другой (администратор) просил сообщить пароль, который потерян в связи с поломкой винчестера. Адрес отправителя был подделан, а для ответа предложены совершенно иные координаты. Но на это никто не обратил внимания, и злоумышленник получил пароль доступа к администраторскому разделу и уничтожил важную информацию.
Я свой
Для меня не составляет труда проникнуть в большинство зданий. Как-то я работал на фирме, которая имела четыре отдела безопасности для выполнения различных функций. На первый взгляд охрана была отличной, везде проход по пропускам, но эффект оказался минимальным.
Территориально фирма располагалась на двух площадках — офис в центре и производство за пределами города. Производственная база была оцеплена колючей проволокой, на каждом углу охранник, камеры, собаки, за забором несколько метров ровного песка, на котором хорошо видны следы. Единственная проходная имела рамку металлоискателя, такую можно увидеть в любом аэропорту.
Несмотря на такие меры безопасности работники воровали, потому что зарплата маленькая. От чего защитит рамка? Только от металлических предметов. Но компакт-диски и большинство дискет содержат слишком мало материала, на который сможет среагировать эта рамка. Даже меньше, чем в пуговице. Если настроить такую чувствительность, то металлоискатель будет реагировать на все и всех. Помимо этого, над проходной находился узел связи, где стоял факс. Во время приема документов рамка пищала, поэтому днем ее выключали.
Результат? Утром и вечером легко можно было проносить в карманах носители информации. Если нужно вынести предметы с металлическим покрытием, то это делали днем, когда металлоискатель не работал, а половина охраны находилось на обеде.
На производственной площадке существовало очень много запретов. Например, нельзя было носить сотовые телефоны. Но я в течение двух месяцев таскал, и никто не заметил. Как? Очень просто. Сотовый лежал в моей сумке, на самом верху. Охранники досматривали скрытые места, а на то, что лежит на самом виду, просто не обращали внимания. Конечно, меня все же поймали, но сделал это новый сотрудник, потому что он четко придерживался должностной инструкции.
В офисе было не менее весело. В четырнадцатиэтажном здании располагалось еше около 20 фирм. Внизу стоял охранник и проверял пропуска, внешний вид которых различался для каждой организации. Достаточно было только увидеть этот пропуск и распечатать на принтере что-нибудь похожее, и ни один охранник с расстояния 3—4 метра не обратит внимания на отличия.
Когда я только устраивался в фирму, мне пришлось несколько раз посещать офис, а пропуска не было. Чтобы не проходить долгую процедуру получения временного документа, я не стал ничего печатать, а нашел какой-то листик схожего размера и просто показывал его. Ленивая охрана пропускала меня.
Когда я уже работал в фирме, то в офисе появлялся редко (раз в полгода). Но когда я бывал там, то заметил, что нс все показывают пропуска. Некоторые проходят просто так После увольнения мне нужно было получить свои деньги. Чтобы не тратить время на получение временного разрешения, я просто сделал каменное лицо и пошел через проходную, как будто бываю здесь каждый день. Охрана или не обратила на меня внимания, или просто испугалась останавливать человека с таким наглым лицом.
Очень часто достаточно сделать вид, что вы здесь свой, как никто не будет спрашивать у вас документы. Милиция, охранники обращают внимание и проверяют только тех, кто ведет себя подозрительно или просто боится. Нахальство позволяет обойти 90 % препятствий.
Для компьютерной сферы это тоже справедливо. Однажды у меня украли пароль на почтовый ящик. Даже не представляю, как это произошло, потому
что пароль был сложный. Видимо, имел место взлом провайдера. Чтобы вернуть свой пароль, я письменно обратился в службу поддержки, но мне, конечно же, отказали. Тогда я написал еще одно письмо, в котором представился сотрудником администрации города, и пригрозил, что если пароль не будет возвращен, то у фирмы будут большие проблемы.
В таком случае самое главное — составить обращение в нужных тонах и выдержать определенный стиль. Текст содержал заумные слова, а в конце письма была подпись:
Фленов Михаил Евгеньевич
Начальник отдела по работе с общественностью
Администрации ХХХХХ города
Мне поверили, и через некоторое время я получил свой пароль. А ведь мог так получить и чужой!
Новенький и глупенький
Очень много взломов было совершено через образ новенького и глупенького сотрудника. Вам необходимо знать его фамилию или логин, и, желательно, чтобы этот человек был неприметен и его мало кто знал. После этого достаточно представиться вместо этого сотрудника администратору и рассказать сказку о том, что вы только устроились и не можете войти на сервер. Системные администраторы любят считать себя хозяевами вселенной, и если им в этом помочь, то любой из них поведает вам все параметры доступа и объяснит, как войти.
Для примера использования этого метода вспомним случай с превращением ночного доступа в Интернет практически в круглосуточный, который мы рассматривали в разд. 4.7.6. Основная причина, по которой администратор дал мне доступ, — его наивность. Я сыграл на этом, изобразив глупого пользователя.
Эффективность социальной инженерии
Задача хакера — войти в доверие к защищающейся стороне и выпытать пароли доступа. Для этого используются психологические приемы воздействия на личность. Человеку свойственны любопытство, доверчивость и чувство страха. Любое из них может стать фатальным.
Благодаря излишнему любопытству мы верим призывам открыть прикрепленный к письму файл и самостоятельно запускаем на своем компьютере вирус. В силу нашей доверчивости хакерам удается выпытать секретную информацию. Но самые сильные эмоции вызывает страх. Хакер старается заставить нас поверить, что можно потерять данные, и мы в ужасе самостоя-
тельно отдаем пароли доступа и в результате действительно утрачиваем контроль над секретной информацией.
Хакеры пользуются социальной инженерией незаметно, но эффективно. Вы даже не почувствуете подвоха, когда у вас попросят пароль или секретную информацию, и вы послушно все отдадите.
Чтобы не попасться на удочку, вы должны иметь представление о том, как взламывают другие системы и какие методы используются. Хакеры каждый день придумывают что-то другое, и необходимо следить за новыми способами.
Анонимность в сети
При каждом обращении к каким-либо сайтам в журналах сервера, где расположен веб-узел, регистрируется ваш IP-адрес и запросы. Если вы работаете по выделенной линии, то по этому адресу можно за несколько минут узнать домашний адрес и найти вас. Если используется Dial-up-соединение через простой модем, то провайдером один и тот же IP-адрес выделяется разным клиентам, но по времени обращения к сайту можно определить, кто именно был подключен в этот момент и с какого телефона. После этого узнать по номеру телефона домашний адрес становится делом техники.
Для хакеров анонимность необходима, чтобы администраторы взламываемых сайтов не смогли вычислить их IP-адрес и, соответственно, найти злоумышленника. Для зашиты хакеры используют любые методы сокрытия своего реального IP-адреса или подмены его другим.
Простым пользователям тоже нужна анонимность, чтобы хакеры по IP- адресу не смогли атаковать вашу машину.
Получается, что анонимность позволяет защищать компьютер и является частью стратегии безопасности.
Если вы регулярно общаетесь в чате или посещаете каналы IRC (Internet Relay Chat, чередующиеся беседы по сети), то я рекомендую научиться скрывать свой адрес от любопытных глаз. Люди бывают разные. И если вашему собеседнику в чате не понравится какое-нибудь ваше высказывание, то он может попытаться взломать вашу систему (или хотя бы перезагрузить ее).
Одним из простых средств обеспечения анонимности является проксисервер. Это уже давно известный и проверенный способ, но он имеет множество преимуществ и недостатков, о которых стоит поговорить подробнее.
Прокси-серверы
Изначально прокси-серверы (proxy) создавались для кэширования информации. Основные WEB-сайты были перегружены, и каналы не справлялись
с информацией, ла и трафик стоил немалых денег. Чтобы 8 Европе каждый день не скачивать одну и ту же информацию с сайтов США, провайдер устанавливал у себя прокси-сервер. Теперь, если один пользователь обратился к сайту www.intel.com, то при следующем обращении любого пользователя к этому же веб-узлу страницы скачиваются не с www.intel.com, расположенном в США, а с прокси-сервера провайдера. Таким образом, провайдеры экономили трафик, а пользователи получали ускорение загрузки данных, потому что не надо было качать сайт через океан.
Мы уже рассмотрели, как локальный проксик (см. разд. 5.1.3) может повысить производительность работы в Интернете, но это не единственное его преимущество. Прокси-серверы бывают прозрачные и анонимные. Прозрачные пакеты пользователя просто пересылаются дальше на WEB-сервер, а значит, он видит ваш IP-адрес, и мы не получаем дополнительной зашиты.
Как работает анонимный прокси-сервер? Вы посылаете запрос на proxy, а он уже от своего имени запрашивает нужную страничку и возвращает ее вам. Таким образом, хакеру может стать доступным только адрес проксисервера, и он будет атаковать его, а такие серверы защищены достаточно хорошо. А даже если и взломают, нам-то что? Главное, чтобы ваш компьютер остался в целости и сохранности.
На словах пока все красиво, но реально proxy имеет несколько слабых мест, которые обойти не просто. Рассмотрим основные проблемы:
L Серверы proxy изначально создавались для HTTP-протокола (Hypertext Transfer Protocol, протокол передачи гипертекстовых файлов), поэтому иногда использую термин НТТР-Ргоху. А со временем начали охватывать POP (Post Office Protocol, протокол обработки входящих сообщений), SMTP (Simple Mail Transfer Protocol, простой протокол электронной почты) и FTP-протоколы (File Transfer Protocol, протокол передачи файлов). Но в любом случае список ограничен, и тяжело заставить проксик работать с другими протоколами. Для решения этой проблемы есть Socks- серверы (от английского слова sockets, розетки), которые схожи с proxy, но об этом мы еще поговорим.
Не все программы поддерживают работу через Proxy- и Socks-серверы, поэтому может потребоваться смена программного обеспечения. Проблема тут еще в том, что Socks-серверы бывают нескольких версий, и программа может не поддерживать нужную версию. В этом случае приходится искать или другой Socks или иную программу. Обычно выбирают тот вариант, который обходится дешевле.
Не все прокси-серверы анонимны. Недаром в Интернете появились программы поиска и проверки таких серверов. Прежде чем почувствовать себя в безопасности, нужно убедиться в полной анонимности выбранного сервера. Я в данной книге дал бы список своих серверов, но это бесполезно, потому что proxy регулярно исчезают и появляются новые.
Рекомендую посещать сайт http://www.atomintersort.com/prodiicts/ alive%2Dproxy/online%2Dproxy%2Dchccker/, где можно получить дополнительную информацию, найти свежие и рабочие серверы и проверить их на работоспособность (скорость/анонимность/поддержка SSL).
Примечание
Чтобы вам не пришлось набирать адрес сайта для проверки прокси-сервера, в директории \Chapter5 есть файл proxy, uri. Запустите его.
Но даже если вы работаете через абсолютно анонимный прокси-сервер, спецслужбы или хакеры смогут вас найти. Все обращения к proxy сохраняются в журналах, и по запросу данные о вашей активности и IP-адрес могут быть получены заинтересованными лицами. Хакерам такую информацию не дадут, но есть вероятность, что они взломают сервер и сами получат доступ к базе журнала или воспользуются методами социальной инженерии.
От спецслужб защититься можно использованием сервера из какой-нибудь далекой страны Зимбабве, с которой нет дипломатических отношений. Как узнать, какого государства сервер? Самый простой и дешевый вариант — воспользоваться службой Whois. Я всегда пользуюсь сайтом http://www.nic.ru/whois/en/. Загрузите его (см. рис. 5.8), введите адрес в поле Information about IP-address и нажмите кнопку ОК. Перед вами появится информация, как в листинге 5,3.
Листинг 5.3. Информация об IP-адресе
Information about IP-address 193.233.Bl.154 (from RIPE):
inetnum:
193.233.80.0 - 193.233.83.255
netname:
SUSUCSC-LAN
descr:
Sourth Ural State University
descr:
The Chelyabinsk Center of the Russian Academy of Sciences
country:
RU
admin-c:
DVL7-RIPE
tech-c:
FGD2-RIPE
status:
ASSIGNED PA
notify:
feodor@urc.ac.ru
rnnt-by:
AS8324-MNT
changed:
feodor@urc.ac.ru 20040316
source:
RIPE
route:
193.233.80.0/21
descr:
South Ural Regional FREEnet
origin:
AS8324
remarks:
removed cross-mnt:AS8324-MNT
mnt-routes:
AS8324-MNT
мпс-by:
AS8324-MNT
changed:
hostmaster@free.net 19970930
changed:
hostmaster@free.net 20020410
source:
RIPE
Из описания явно следует, что адрес зарезервирован за Челябинским отделением Российской академии наук (Chelyabinsk Center of the Russian Academy of Sciences).
Служба Whois хороша, но допустит ошибку', если сервер зарезервирован в России, а используется в любой другой стране.
Чуть более надежным способом можно считать использование программ типа Trace Route, которые показывают путь от вас до указанного сервера, а некоторые из них даже отображают прямо на карте, как движется пакет, и вы легко можете увидеть место его прибытия.
Применение Trace Route тоже не всегда дает достоверную информацию, потому что она может подделываться хакерами. Кроме того, не точно определяется географическое расположение сервера.
Цепочка прокси-серверов
Более надежным способом считается использование цепочек проксисерверов. В этом случае вычислить ваш реальный адрес будет намного сложнее. Если запросы будут идти через два proxy, то хакеру придется взламывать оба сервера, чтобы просмотреть файлы журналов и найти ваш адрес. Это добавит лишних хлопот и спецслужбам, хотя, поверьте мне, если они взялись за хакера, то их уже ничто не остановит. Эти организации тоже не стоят на месте, их сотрудники могут распутать цепочку и из десяти анонимных серверов.
Создание цепочек для proxy и Socks-серверов немного отличаются друг от друга, поэтому технологии их настройки лучше всего рассматривать раздельно.
Для начала разберем классический НТТР-Ргоху. Посмотрите в настройки Internet Explorer (рис. 5.8). Здесь нет никаких средств для построения цепочки, и мы можем указать только один сервер для каждого протокола.
Чтобы организовать цепочку для прохождения запросов через несколько прокси-серверов, нужно использовать специальные программы, которые могут построить виртуальный туннель. Для создания такого туннеля proxy
должен поддерживать работу с SSL-протоколом (Secure Socket Layer — протокол защищенных сокетов), который позволяет шифровать данные пакетов, и если злоумышленник перехватит данные, то дешифровать будет не просто.
Рис. 5.8. Настройка прокси-серверов в Internet Explorer
Чтобы выяснить, поддерживает ли прокси-сервер SSL-протокол, можно воспользоваться сайтом проверки адресов (подробнее см. разд. 5.4.1) http://www.atomintersoft.com/products/alive%2Dproxy/online%2Dproxy%2Dcheckcr/ или произвести проверку вручную.
Для ручной проверки необходимо через proxy обратиться к любому сайту, поддерживающему SSL-протокол (адрес начинается с "https://"). Чаще всего SSL-стандарт используют для проведения электронных финансовых операций через Интернет (например, принимаются платежи) и в некоторых почтовых сервисах (например, http://www.hotmail.com). Если страничка загрузилась, то сервер поддерживает SSL.
Для создания НТТР-Ргоху- или Socks-цепочек лучше всего использовать программу SockChain, которую можно взять по адресу http://www.ufasoft.com/socks/. Она достаточно проста в использовании, а на сайте производителя вы найдете информацию по настройке.
Готовые сервисы
Анонимность нужна многим, и это формирует своеобразную потребность в дополнительных услугах. А раз есть спрос, значит должно быть и предложение. В связи с этим в Интернете появилось несколько компаний, предлагающих своим пользователям абсолютную анонимность. Самыми популярными из этих сервисов стали:
Anonymizer (www.anonymizer.com) — наверное, самый старый проект;
Private Web Access (www.bell-labs.com/project/lpwa) — сервис компании Lucent;
Onion Router (www.onion-router.net) — проект исследовательского центра ВМС США;
Freedom Network (www.freedom.net) — комплекс канадской компании Zero Knowledge System.
Первые три — наиболее известные, но за время работы они уже успели подмочить свою репутацию, потому что даже небольших усилий достаточно, чтобы узнать IP-адрес посетителя. Это уже не раз доказано как аналитиками, так и профессионалами в области безопасности.
Сервис Freedom Network разрабатывался и отлаживался в течение 2 лет. Он обеспечивает максимальные условия сокрытия авторства, но и стоит $50 в год. Чтобы им воспользоваться, необходимо установить специальную программу, с помощью которой вы можете создать несколько псевдонимов и использовать каждый из них для различных нужд. После этого ваша информация будет путешествовать через цепь серверов (наподобие Proxy и Socks), каждый из которых снабжен механизмом криптографической защиты. Таким образом, невозможно будет восстановить путь следования вашего пакета и узнать его истинное происхождение.
Во время обмена данными происходит шифрование, в надежности которого можно не сомневаться, потому что сервис канадской компании основан на применении инфраструктуры открытых ключей, не имеющих в отличие от США ограничения на длину.
О надежности сервиса говорит и тот факт, что разработчиком комплекса заинтересовались не только спецслужбы США, но и Канады. Да, компания не нарушает законов ни одной из этих стран, но такая анонимность может быть использована хакерами в разрушительных целях, и поимка злоумышленника усложнится.
Такое положение дел не может не огорчать, потому что если компанией заинтересовалось правительство таких стран, то фирма, как минимум, может снизить безопасность, сохранив для пользователей анонимный доступ, но с возможностью просмотра всех данных со стороны спецслужб. А такое сокрытие авторства уже нельзя считать полным, и оно не будет стоить потраченных $50 в год.
Расскажи-ка, где была
Допустим, что вы посетили некий сайт, подобрали под себя какие-то параметры (например, цветовое оформление) и хотите при следующем входе увидеть плоды своего творчества. Это вполне нормальная ситуация, поэтому и были придуманы файлы Cookies.
Каждый WEB-сайт имеет право сохранять на локальном диске пользователя информацию в строго определенном файле, к которому имеют доступ только он сам (и никакой другой) и клиент.
Помимо этого, некоторые WEB-серверы сохраняют всю вашу активность в своей базе, чтобы навязывать какие-либо товары и услуги, а некоторые используют эту информацию в корыстных целях. Когда вы заходите на сайг, сервер может определить, где вы были до этого, а после выхода — установить, куда переместились. Иными словами, составляются портреты пользователей, и лично меня это не очень устраивает. Я не хочу, чтобы кто-то отслеживал мои действия, особенно сайты, на которых я зарегистрирован и где есть моя контактная информация (например, почтовая служба, требующая при регистрации указать ФИО, дату рождения и адрес проживания).
Чтобы серверы не собирали о вас информацию, нужно выполнить следующие действия:
отключить поддержку Cookies. Некоторым сайтам эти файлы необходимы для нормальной работы. Если вы столкнулись с такой ситуацией, то просто воспользуйтесь услугами другого разработчика, благо альтернативы сейчас предостаточно. Но лично я не отключаю Cookies, потому что они приносят удобства, а следую остальным правилам;
перед заходом на сайт нажмите в браузере кнопку Домой (если в качестве домашней страницы установлен пустой лист) или наберите в строке адреса about:blank. Таким образом, вы будете загружать пустой сайт перед тем, как войти на новый сервер, и он не сможет определить, где вы были до этого. Лучше даже перезапускать Internet Explorer;
если вы закончили работу с сервером и хотите ввести в строке адреса новый URL (или выбрать другой раздел из избранного), то я всегда перед этим загружаю пустую страницу about:blank или также перезапускаю браузер;
при регистрации без особой надобности не вводите свою подлинную информацию. Реальные данные нужны Интернет-магазинам для доставки покупок или сервисам оплаты услуг и товаров для проверки правильности регистрации (например, при покупке программ). Остальным серверам (в частности, почтовым) мои настоящие данные не нужны. Поэтому в таких случаях вместо имени/даты рождения/адреса я указываю вымышленные реквизиты.
Вся информация, которую мы вводим на WEB-сайтах, может быть украдена (уже было достаточно много прецедентов), и после этого почтовый ящик начинает разбухать от спама, рекламы или других нежелательных писем. Иногда снам может быть интересен, потому что рассылки основаны на ваших пристрастиях, которые определяются по тому, какие страницы посещались вами. Но нежелательная корреспонденция по своей сути не может приносить радости.
Существует много других способов использования ваших персональных данных, и они не доставят радости.
Анонимность в локальной сети
Если в Интернете вас идентифицируют по IP-адресу, то в локальной сети при передаче пакетов участвует и физический адрес устройства MAC (Media Access Control, управление доступом к среде). Это 48-разрядный серийный номер сетевого адаптера, присваиваемый производителем. Он уникален, потому что у каждого изготовителя свой диапазон адресов.
Когда вы обращаетесь по IP-адресу к какому-либо компьютеру в локальной сети (в рамках одного и того же сегмента), все равно используется МАС- адрес. Самое интересное, что даже его можно подделать, хотя он прошивается в сетевой карте производителем. В ОС Linux для решения этой проблемы даже не надо устанавливать дополнительный софт, а в Windows нужна небольшая специализированная утилита. Такие программы в Интернете лежат на "каждом углу".
У меня на работе Интернет-трафик подсчитывается по МАС-адресам сетевой карты каждого компьютера. Администраторы, видимо, знают о легкости подмены IP-адреса, а вот про МАС даже не подумали. После установки программы Fantom МАС у моего начальника трафик резко пошел вверх, зато у меня — уменьшился.
Как и в случае с подделкой IP, адреса МАС тоже должны быть в сети уникальными. Это значит, что когда компьютер, номер адаптера которого вы хотите использовать, включен в сеть, вы не можете поменять свой адрес, иначе произойдет конфликт. Оборудование не сможет определить точку назначения пакета (кому переслать данные).
Специально для администраторов сообщаю, что авторизация должна происходить по IP, МАС-адресу и плюс логин и пароль пользователя. Только в этом случае можно спать спокойно. Но не стоит забывать о возможности украсть имя/пароль, и тогда злоумышленник сможет использовать чужой трафик. Чтобы избежать и этого, надо за каждым портом коммутатора закрепить определенный адрес. В этом случае, даже если злоумышленник подделает адреса, он не сможет воспользоваться сетью, не подключившись к нужной розетке. •
Авторизация только по IP и МАС — достаточно распространенная ошибка администраторов, А большинство из них, зная о простоте подмены IP- адреса, и на МАС не обращают внимания.
Анонимная почта
Как отправить письмо, чтобы получатель не смог определить исходящий адрес? Это бывает необходимо для того, чтобы подшутить над ближним и скрыть свои координаты.
Проблема решается достаточно просто, и нужно выполнить всего два действия. Для начала настраиваем свой WEB-браузер на работу через анонимный прокси-сервер. Затем регистрируем новый E-mail-адрес в какой-либо бесплатной службе, благо их сейчас в Интернете предостаточно, и у меня пять почтовых ящиков. Не забудьте, что не стоит указывать свои реальные данные, потому что некоторые сервисы могут сделать эту информацию общедоступной.
Несколько лет назад существовали специализированные службы для отправки анонимной почты (тогда было мало бесплатных почтовых сервисов), основанные на том принципе, что ваши данные (IP-адрес) не сохраняются в письме, а в качестве имени отправителя можно указать что угодно. Но со временем надобность в этих сервисах исчезла, потому что появилась возможность спрятать IP-адрес с помощью Proxy, а параметры автоматически поменяются, если завести отдельный ящик.
Подделка отправителя
Если необходимо подделать отправителя и послать письмо, например, от имени jondo@hotmail.com (это чужой адрес, на который у нас нет пароля), то это легко делается через любой SMTP-сервер. Используемый в данном случае протокол передачи E-mail-сообшений (SMTP) по умолчанию не защищен. В бесплатных сервисах, которые распространены в Интернете, администрация делает защиту одним из следующих способов:
сообщение может быть послано, только если в качестве отправителя стоит адрес этой службы. То есть нельзя передать письмо от имени jondo@hotmail.com через сервис mail.com, потому что имена доменов не совпадают;
перед отправкой необходимо сначала принять почту. Когда выполняется доставка сообщений по протоколу POP3, который защищен паролем, на сервере сохраняется IP-адрес проверявшего, и в течение определенного времени с этого компьютера можно отправлять письма. Если у вас нет пароля на адрес jondo@hotmail.com, то проверить почту, а значит и отправить через такой сервер, не получится, т. к. контролироваться будут те же параметры (имя и пароль).
Но все это не проблема, и нам не нужны такие сервисы. У провайдеров, как правило, есть свои SMTP-серверы, которые доступны всем клиентам. Они необходимы для ускорения отправки корреспонденции. И если для посылки E-mail использовать именно его, то не надо будет соединяться с сервером бесплатной почты на другом континенте. Достаточно воспользоваться самым близким, находящимся у провайдера.
У большинства таких SMTP-серверов одна проверка — отправитель должен быть подключен через этого провайдера. Это значит, что если установлен такой контроль, то вы не сможете войти в сеть, воспользовавшись услугой одного провайдера, а отправить письмо через сервер другого. Свяжитесь со службой поддержки и узнайте адрес своего SMTP-сервера.
Теперь создайте новый почтовый ящик. В Outlook Express для этого нужно выбрать меню Tools/Accounts (Сервис/Учетные записи). В окне справа щелкните по кнопке Add (Добавить) и в появившемся рядом с ней меню выберите пункт Mail (Почта). Должен запуститься мастер создания нового почтового ящика. Рассмотрим, что нужно сделать на каждом шаге.
Сначала необходимо указать имя, которое будет отображаться в качестве отправителя. Ориентируйтесь на параметры человека, от лица которого вы хотите действовать. А если у вас есть его письма, то лучше взять информацию из них. Например, если в качестве отправителя используется Jon Doe <jondo@hotmail.com>, то вам необходимо ввести все, что находится до E-mail-адреса, в данном случае "Jon Doe".
На следующем экране следует задать E-mail. Указываем тот адрес, с которого нужно отправить письмо, т. е. jondo@hotmail.com.
И, наконец, надо ввести сервер входящей и исходящей почты. Для входящей необходимо знать имя и пароль входа на сервер провайдера. Если имя определить легко (чаше всего это сам электронный адрес или то, что находится до знака "@)", то с паролем возникнут проблемы. Мы не будем получать корреспонденцию с этого ящика, поэтому для входящей почты значение не важно. В качестве сервера исходящей почты нужно указать SMTP. Введите адрес, который вам дал провайдер (помните, вы связывались со службой поддержки), или задействуйте любой другой SMTP- сервер.
Если у вашего провайдера нет SMTP-сервера или вы хотите делать рассылки (только не спам, потому что это незаконно), то воспользуйтесь программой Postman (www.cydsoft.com) или любым другим инструментом со встроенным SMTP-сервером.
Я покажу, как можно отправить сообщение с помощью Postman. Запустите программу и сразу войдите в настройки Options/Program options. Здесь нужно выбрать вкладку Build-in Mail Server и в поле Send from указать электронный адрес исходящего письма (рис. 5.9). Нажмите кнопку ОК, чтобы сохранить изменения.
by mx2.valuehost.ru with SMTP; 20 Sep 2004 00:59:10 +0400
Received: from HSE-Toronto-pppl30995.sympatico.ca ([64.228.69.82])
by tomts31-srv.bellnexxia.net
(InterMail vM.5.01.06.10 201-253-122-130-110-20040306) with SMTP
id <200310.VQG998.tomts-srv.bellnexxia.neteHSE-Toronto- pppl30.sympatico.ca>;
Sun, 19 Sep 2004 14:31:10 -0400
Message-ID: <006201c49ed8$bd91ecbb$afbafb300sjeph>
Reply-То: ”=?windows-1251?B?U2hvcDRl?=" <lk0tin.it>
From: "=?windows-1251?B?U2hvcDRl?=" <vms0tin.it>
To: =?windows-1251?B?wOPg7+jp?= <gz0mail.ru>
Subject: =?windows-1251?B?IsLF183bySIg907t4PDo6iE=?=
Date: Sun, 19 Sep 2004 22:11:30 +0400
Organization: =?windows-1251?B?QmxlZWxpZ2hO?=
MIME-Version: 1.0
Content-Type: multipart/related;
boundary=*=_NextPart_000_001E_01C2AA85.597C61B6"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1081
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1081
В параметре Received: перечисляются все серверы, через которые прошло письмо, по этим IP-адресам можно определить источник. В строке х-Mailer отображается информация о почтовом клиенте, который использовался при отправке. Если у вас редкий почтовый клиент, то это сразу же бросится в глаза.
Благо, что пользователи очень редко заглядывают в служебную информацию, потому что она сложна для чтения. Но вас она может спасти, если необходима идентификация указанного источника отправки. Для этого нужно сравнить два письма. Как правило, заголовки будут отличаться незначительно
Безопасность в сети
Во всемирной сети все процессы взаимосвязаны. Так анонимность, которую мы рассмотрели в разд. 5.4 и 5.5, является начальным этапом безопасности. Если вы незаметны, то и взламывать ваш компьютер никто не будет. Правила зашиты от вирусов, предложенные в разд. 4.1, и правильно настроенный компьютер (см. разд. 4.6) тоже помогают решать эту проблему.
Но это еще не все. Есть несколько правил, которые вы должны соблюдать, чтобы безопасность была максимальной. Только в этом случае Интернет
будет приносить лишь удовольствие от использования, а не проблемы от хакеров.
Закройте лишние двери
В разд. 4.7 мы рассматривали, как с помощью службы доступа к файлам и принтерам можно добраться до открытых ресурсов компьютера. Немного позже мы увидим способ сканирования сети на предмет просмотра расшаренных ресурсов. В целях безопасности вы должны определиться, а нужны ли вам вообще такие ресурсы? Если вы работаете в локальной сети, то служба доступа к файлам и принтерам будет установлена по умолчанию, даже если вы не открываете ресурсы, а используете возможности сервера. Если вы ни с кем не обмениваетесь информацией, то логичным было бы не только отключить эту службу в свойствах соединения, а удалить ее вообще. В этом случае злоумышленник по определению не сможет воспользоваться данной уязвимостью.
В разд. 4.6 мы рассматривали, как можно отключить неиспользуемые сервисы. Это необходимо не только с точки зрения оптимизации работы системы, но и в целях безопасности. Например, я встречал много домашних компьютеров, на которых был установлен WEB-сервер (как элемент Internet Information Services), который идет в поставке Windows 2000/ХР. Но большинство пользователей не смогли дать ответ, зачем он нужен. Удалите все неиспользуемые сетевые компоненты, и взлом вашего компьютера через эти форточки станет невозможным, потому что у вас их просто нет.
На каждом компьютере должны быть установлены и запущены только те службы, которые необходимы. Как правило, я использую экземпляр базы данных основного сервера сети, но иногда мне требуется со своего компьютера работать с локальной базой данных MS SQL Server. Это происходит очень редко, и чтобы не открывать дополнительные порты и не загружать систему лишними сервисами, SQL Server выключен из автозагрузки и запускается вручную только по мере надобности.
Таким образом, оптимизируя систему, мы повышаем ее надежность, стабильность, а главное — безопасность.
Хранение паролей
Мало того, что пароли должны быть сложными, а лучше — неподдающимися подбору по словарю, так их еще надо правильно хранить. Я уже дал в разд. 4.7.3 несколько рекомендаций по скрытию паролей на локальном диске. Вы можете использовать мои советы, или хранить все пароли в памяти, или придумать свой метод надежной зашиты.
Где бы вы ни хранили пароли, никогда не доверяйте их системе Windows и программе Internet Explorer. Я уже говорил, что встроенная защита в них
хороша, но все ошибаются, и если будет найдена уязвимость, позволяющая украсть пароли, например, из 1Е, то вы можете распрощаться со своей приватностью.
На многих форумах или сайтах есть возможность сделать автоматический вход. В этом случае не надо будет всякий раз вводить пароль. Система сохранит ваши параметры доступа в файлах Cookies, и при каждом входе будет автоматически извлекать их из этого файла. Я говорил, что файлы Cookies доступны только одному сайту, и, на первый взгляд, зашита будет приемлемой, но только в том случае, если вы не боитесь потери пароля. Файлы Cookies (и пароли в нем) чаще всего вообще никак не шифруются, потому что программистам лень. Любой пользователь, севший за ваш компьютер и просмотревший нужный Cookies, сможет узнать пароль и натворить от вашего имени бед.
BugTraq
Честно сказать, настоящих хакеров в мире не так уж и много. Большинство взломов совершается подростками, которым нечего делать и хочется где-то применить свои силы. Знаний у них не бог весть сколько, поэтому в основном используются уже готовые решения, найденные настоящими хакерами. Это значит, что вы должны следить за новыми методами взлома и всеми появляющимися уязвимостями. Я для этого использую сайт www.securityfocus.com (см. рис. 5.10). Здесь регулярно обновляется информация по этим вопросам и предлагаются способы зашиты.
Уже давно ходят споры о том, нужны ли сайты наподобие www.securityfocus.com. С одной стороны, они позволяют администраторам получать сведения об уязвимостях, а с другой — хакеры узнают, как можно взломать систему. Я считаю, что такие сайты должны существовать, проблема тут не в этом. Просто большинство администраторов никогда сюда не заходят, а узнают о наличие "тонких мест" в программном обеспечении только тогда, когда их сеть/сайт/сервер взломаны. Даже если вспомнить какую-либо брешь девяностых годов ХХ-века, можно найти в Интернете компьютер или сервер, который содержит эту уязвимость. Я бы таких администраторов увольнял без разговора.
Если вы думаете, что ежедневные проверки обновлений смогут спасти систему, то сильно ошибаетесь. После того как найдена уязвимость и до момента выхода обновления проходит некоторое время, и в этот период опасность проникновения на компьютер максимальная. Любой хакер, узнавший метод взлома, может начать штурм и обязательно добьется успеха. Вы должны раньше него узнать об уязвимости и принять меры по предотвращению вторжения, пока не появится обновление.
Рис. 5.10. Сайт www.securityfocus.com
Firewall
Зашиты не бывает много. Я использую Интернет только для электронной почты и просмотра некоторых WEB-страниц, и мне хватает регулярных обновлений системы и просмотра сайта www.securityfocus.com. Если вы проводите в сети много времени или ваша работа связана с выходом в Интернет, то нужно прибегнуть к более мощным средствам защиты. Если время пребывания в сети более 8 часов и не связано с работой, то это уже зависимость, которую надо лечить.
Каждый, кто регулярно посещает в Интернете места массового скопления народа, должен защищать свой компьютер. Например, когда вы находитесь в чате, то нет гарантии, что в это же время там не присутствует хакер. Через некоторые чаты или каналы IRC (Internet Relay Chat, чередующиеся беседы по сети) можно узнать IP-адрес компьютера любого собеседника и атаковать его. Во времена Windows 95 я регулярно слышал про то, как чей-то компьютер перезагружался сам по себе во время работы в Интернете. Современные ОС более надежны, и при соблюдении правил, описанных в данной книге, вероятность удачного нападения со стороны хакера уменьшается, но остается вполне реальной.
9 Зак. 923
Чтобы защититься от атаки во время работы в Интернете, нужно всего три составляющие.
. Конечно же, стараться не посещать сомнительные места. Хакер ишет жертв для отладки и тестирования новых методов взлома на немодери- руемых (неуправляемых) чатах и на каналах IRC. Все крупные сайты, предоставляющие возможность on-line-общения, обязательно управляют работой сервисов, но даже это не ограждает вас от встречи со злоумышленником. Лично я никогда не пользуюсь такими средствами общения, и ни разу мой компьютер не атаковали хакеры или вирусы. И при этом я никогда не применяю для защиты сетевые экраны или прокси-серверы.
. Если общение в реальном времени необходимо, то следует скрывать свой IP-адрес. Для этого можно использовать прокси-серверы в Интернете (см. разд. 5.4У
. Необходимо использовать хороший сетевой экран (Firewall). Они бывают программные и аппаратные. Для домашнего компьютера приемлемым по цене и надежности вариантом является программная реализация.
Начиная с Windows ХР, в систему уже встроены функции фильтрации входящих соединений, что позволяет бесплатно использовать минимальные возможности сетевого экрана. Это необходимо, но далеко недостаточно для того, чтобы чувствовать себя в безопасности. Для большей надежности рекомендуется применять более мощный сетевой экран, который сможет обеспечить ваши потребности по качеству защиты и простоте использования. Во избежание рекламы я не буду давать никаких рекомендаций, а только рассмотрю некоторые наиболее популярные продукты:
Sygate Personal Firewal — хороший экран со всеми необходимыми домашнему компьютеру функциями и удобным интерфейсом. Данный продукт является бесплатным для домашнего использования и при этом позволяет защититься от атак хакеров, троянских коней, атак DoS (Denial of Service, отказ от обслуживания). Сайт разработчика http://smb.sygate.com;
McAfee Personal Firewall — приличное сочетание функциональности и стоимости. Фирма McAfee уже давно специализируется на разработке программ для защиты домашних компьютеров, и в сфере сетевых экранов представила нам достойный продукт. Сайт разработчика http://us.mcafee.com;
Norton Personal Firewall — если раньше слово "Norton" ассоциировалось с Norton Commander, то теперь это торговая марка, под которой выходит множество средств для диагностики, защиты, восстановления и ремонта всего, что связано с компьютером и программами. Этот Firewall обладает, наверное, самым большим количеством необходимых домашнему пользователю защитных средств, но при этом сложный и неудобный в настройках. Утяжеленный интерфейс и медлительность современных программ от Symantec, на мой взгляд, является самым большим промахом этой
компании, из-за которого исчез со сцены легендарный Norton Commander. Сайт разработчика http://www.symantec.com
Прежде чем устанавливать сетевой экран, ознакомьтесь с его возможностями. Вполне вероятно, что вам достаточно установить программу. Главное, чтобы в ней добросовестно были реализованы все функции и регулярно выходили обновления. Были примеры, когда хорошие на первый взгляд экраны не защищали от основных атак, и при этом сами открывали множество потайных дверей для злоумышленника просто из-за ошибок в программе.
Чтобы вам проще было выбирать свой сетевой экран, посмотрим, как они работают и какие методы защиты используют. На рис. 5.11 показан пример сети, защищенной через Firewall, Все запросы, которые поступают из Интернета или направляются туда, проходят через сетевой экран, который проверяет их по внутренним правилам. И если соответствие установлено, то пакет пропускается, иначе — просто удаляется.
Computeis Computers Computers
Рис. 5.11. Пример сети» защищенной через Firewall от вторжения из Интернет
Какие могут быть правила:
запрет на работу определенных протоколов. Например, можно блокировать использование 21 порта, это значит, что из Интернета нельзя будет подключиться по FTP-протоколу и закачать/скачать файлы;
запрет на определенные URL-адреса. В этом случае пользователи локальной сети не смогут зайти на некоторые сайты в Интернете, например, содержащие порнографию или нелегальное программное обеспечение;
запрет на IP-адреса. На сетевом экране можно фильтровать желающих войти в контакт. Например, если фирма работает только с клиентами из США, то можно запретить входящие соединения из стран арабского и азиатского мира. Это только пример, ведь хакеры находятся не в этих странах, а большинство из них живет в Европе и США, поэтому такое ограничение не привнесет особой защиты;
идентификация пользователя по паролю или любому другому средству считывания типа Touch Memory, Smart Card или зашифрованная дискета.
В зависимости от сетевого экрана, вариантов правил может быть намного больше. Но уже сейчас видно, что он позволяет защищать локальную сеть не только от вторжения из Интернета, но и ограничить выход на определенные сайты, тем самым уменьшая вероятность нападения или заражения.
Но просто установить Firewall недостаточно, нужно правильно настроить программу и сформулировать эти правила. Для домашних компьютеров сетевые экраны конфигурируются практически автоматически, потому что здесь все достаточно просто и основные усилия направлены на защиту от атак из Интернета и троянских программ, которые могут отправлять пароли в сеть.
Для корпоративных сетей ситуация намного сложнее, и уже нельзя доверяться автоматическим настройкам. Тут нужно следовать правилам безопасности, установленным в сети, и конфигурировать программу строго в соответствии с этими правилами.
Firewall — не панацея
Установив Firewall, вы не получаете максимальной защиты, потому что существует множество вариантов обхода не только конкретных реализаций, а любого сетевого экрана.
Firewall — это всего лишь замок на двери парадного входа. Злоумышленник никогда не воспользуется парадным входом, он будет проникать в систему через черный или полезет в окно. Например, на рис. 5.12 показана защищенная сеть, а ее главная дверь — это выход в Интернет через сетевой кабель. А если на каком-нибудь клиентском компьютере стоит модем, то это уже черный ход, который не будет контролироваться сетевым экраном.
Я видел серверы, в которых доступ в сеть разрешен только с 1 P-адресов, определенных списком. Администраторы верят, что такое правило позволит защититься от хакеров. Это не так, потому что IP-адрес легко подделать.
Однажды я работал на фирме, где выход в Интернет контролировался по IP- адресу. У меня было ограничение на получение 100 Мбайт информации в'месяц, а на соседнем компьютере был полный доступ. Чтобы не тратить свой трафик на получение больших файлов со своего IP-адреса, я только смотрел WEB-страницы. Когда нужно было что-либо скачать, я выполнял следующие действия:
дожидался, когда освободится нужный компьютер, например, когда хозяин уходил на обед;
вытаскивал сетевой кабель на компьютере соседа, чтобы разорвать соединение;
спокойно менял свой IP-адрес на соседский и по безграничному трафику быстро качал все, что требовалось;
после скачивания возвращал IP-адрес и кабель на место.
Таким образом я в течение месяца получал необходимую мне информацию.
Дальше стало еще проще. Я установил прокси-сервер на соседний компьютер и использовал его. После этого мы всем отделом заходили в Интернет через один IP-адрес, имеющий неограниченный трафик.
В современных сетевых экранах простая замена IP-адреса не позволит извне проникнуть в систему. Сейчас используются намного более сложные методы идентификации. С помощью подмены можно получить большие привилегии только в рамках сети, а не извне, да и то лишь при плохих настройках. Но хороший администратор даже внутри сети не допустит таких махинаций, потому что есть еще защита по МАС-адресу и пароли доступа.
Сетевые экраны могут работать на компьютере с ОС (программные) или на каком-нибудь физическом устройстве (аппаратные). В любом случае — это программа, а ее пишут люди, которым свойственно ошибаться. Как и ОС, так и программу сетевого экрана нужно регулярно обновлять и исправлять погрешности, которые есть всегда и везде.
Рассмотрим защиту по портам. Допустим, что у вас есть WEB-сервер, который защищен сетевым экраном с разрешенным только 80 портом. А ему больше и не надо!!! Но это не значит, что нельзя будет использовать другие протоколы. Можно создать туннель, через который данные одного протокола передаются внутри другого. Так появилась знаменитая атака Loki, которая санкционирует передачу команды на выполнение на сервер через ICMP-сообщения Echo Request (эхо-запрос) и Echo Reply (эхо-ответ), подобно команде ping.
Сетевой экран помогает защищать данные, но основным блюстителем порядка является администратор, который должен постоянно следить за безопасностью и выявлять атаки. Когда мы обсуждали вопросы защиты от вирусов (см. разд. 4.1\ я сказал, что новый его вид проникнет в любую систему, потому что "вакцины" еще нет. Точно так же с атаками. Вновь разработанная атака сможет преодолеть сетевой экран, и компьютер ничего не заподозрит, потому что определяет только заложенные в программу алгоритмы. Чтобы обработать нестандартную ситуацию, за системой должен наблюдать администратор, который будет реагировать на любые нештатные изменения основных параметров.
Для того чтобы пройти через сетевой экран, зачастую требуется пароль или предъявление какого-нибудь устройства типа Touch Memory, Smart Card и др. Если пароль не защищен, то все затраченные на сетевой экран деньги окажутся потерянными зря. Хакер может подсмотреть пароль или подслушать его с помощью анализатора пакетов (сниффер) и предъявить подде-
данные параметры идентификации сетевому экрану. Таким образом было взломано немало систем.
Управление паролями должно быть четко определено. Вы должны контролировать каждую учетную запись. Например, если уволился сотрудник, у которого были большие привилегии, то все сведения, определяющие его в ОС, необходимо тут же заблокировать и изменить все известные ему пароли.
Однажды мне пришлось восстанавливать данные на сервере после того, как фирма выгнала администратора. Он посчитал увольнение несправедливым и через несколько дней без особого труда уничтожил на главном компьютере всю информацию. Не спас даже хорошо настроенный сетевой экран. В данном случае все произошло быстро, потому что взломщик сам занимался установкой параметров. Такого не должно быть, необходимо конфигурировать Firewall так, чтобы его не взломал даже бывший администратор.
Я всегда рекомендую своим клиентам, чтобы пароль с основными привилегиями на сетевой экран был известен только одному человеку, например, начальнику информационного отдела, но никак не рядовому специалисту. Администраторы меняются достаточно часто, и после каждого их увольнения можно забыть поменять какой-нибудь пароль.
Firewall как панацея
Может сложиться впечатление, что Firewall — это пустое развлечение и трата денег. Это не так. Если он хорошо настроен, постоянно контролируется и используются защищенные пароли, то сетевой экран может предотвратить большинство проблем.
Хороший экран имеет множество уровней проверки прав доступа, и нельзя использовать только один из них. Если вы ограничиваете доступ к Интернету исключительно по IP-адресу, то приготовьтесь оплачивать большой трафик. Но если при проверке прав доступа используется IP-адрес в сочетании с МАС-адресом и паролем, то такую систему взломать уже намного сложнее. Да, и МАС- и IP-адрес легко подделать, но можно для полной надежности подключить к системе защиты и порты на коммутаторе. В этом случае, даже если хакер будет знать пароль, то для его использования нужно сидеть именно за тем компьютером, за которым он закреплен. А это уже не просто. Зашита может и должна быть многоуровневой. Если у вас есть данные, которые нужно оградить от посторонних, то используйте максимальное количество уровней. Помните, что лишней зашиты не бывает.
Представьте себе банк. У входа обязательно стоит секьюрити, который спасет от воров и мелких грабителей. Но если подъехать к такой организации на танке, то эта охрана не поможет.
Сетевой экран — это как охрана на дверях, защищает от мелких хакеров, которых подавляющее большинство. Но если банком займется профессионал, то он может добиться успеха.
Помимо охраны у входа, деньги в банке всегда хранятся в сейфе. Финансовые сбережения для банка — это как секретная информация для сервера, и они должны быть максимально защищены. Именно поэтому устанавливают сейфы со сложными механизмами защиты, и если не знать, как их обойти, вор потратит на вскрытие замка драгоценное время, и успеет приехать милиция.
В случае с сервером в роли сейфа может выступать шифрование, которое повышает гарантию сохранности данных. Даже если хакер проникнет на сервер, минуя сетевой экран, ему понадобится слишком много времени, чтобы расшифровать данные. Вы успеете заметить и вычислить злоумышленника. Ну а если взломщик скачал зашифрованные данные и пытается их расшифровать на своем компьютере, то с большой вероятностью можно утверждать, что информация раньше устареет, чем хакер сможет ее прочитать. Главное, чтобы алгоритм шифрования и ключ были максимально сложными.
Virtual Private Network
Одним из средств защиты является создание виртуальных частных сетей (VPN, Virtual Private Network). Допустим, что существует некая фирма с распределенной сетью филиалов, удаленных на большое расстояние, и для их соединения самым дешевым вариантом будет использование Интернета. Для того чтобы трафик не перехватили, применяется виртуальный канал, который шифруется и недоступен для хакера (см. рис. 5.12).
Рис. 5.12. Пример связи центрального офиса и филиала через VPN
В настоящий момент построить такую сеть не составляет труда. На первый взгляд все безупречно. С обеих сторон стоят сетевые экраны, между ними специальная связь, и проникнуть в систему невозможно. Но это так, пока не появится еще одна дверь. Допустим, что в филиале захотели получить доступ в Интернет для просмотра WEB-стран и чек. Конечно же, этот трафик можно запустить через главный офис, но тогда любой запрос в Интернет должен будет идти через него, а не напрямую, что очень дорого, а потом уже из офиса к WEB-серверу по другому каналу (оплачивается отдельно). Получается, что все запросы проходят по двум каналам, и за каждый мегабайт приходится платить дважды. К тому же сеть VPN имеет дополнительные расходы на шифрование простых WEB-запросов и излишне нагружена.
Рис. 5.13. Филиал с двумя выходами в Интернет
Чтобы сэкономить деньги, большинство фирм кроме VPN для связи с офисом открывают отдельный канал для доступа в Интернет прямо из филиала, тем более что там уже стоит сетевой экран (см. рис. 5.13).
Все хорошо, но в главном офисе вопросам связи и защиты всегда уделяют больше внимания, чем в филиалах, где в большинстве случаев нет своего администратора, а если даже и есть, то менее профессиональный и не такой опытный. Задача хакера — взломать филиал и войти в его сеть. Так как между филиалом и офисом установлены доверительные отношения, то хакер без проблем сможет из филиала получить доступ к главным серверам компании по VPN, и не надо будет взламывать шифрование.
Интернет — зло
Когда я вел рубрику вопросов и ответов в журнале "Хакер", то однажды получил очень хороший вопрос: "Можно ли запустить ядерные ракеты США через Интернет?" Конечно же, это невозможно, но не потому, что компьютеры, управляющие пуском ракет, сильно защищены. Никакая система безопасности не может быть идеальной. Существует человеческий фактор: малейший неучтенный нюанс — и защита окажется взломанной хакером из какой-нибудь деревни.
Мы уже не раз слышали, как проникают на достаточно крупные сайты с великолепной системой защиты. А о скольких взломах умалчивают, чтобы не испортить имидж? Лично я никогда не доверю компьютеру через Интернет управлять даже краном на кухне. И такие страны, как США или Россия, не могут себе позволить подключить компьютеры, связанные с ядерным оружием, к Интернету, иначе войну сможет развязать какой-нибудь слишком умный хакер.
Стратегически важные данные должны храниться на компьютерах, не имеющих выхода в глобальную сеть. Однажды я проверял безопасность фирмы, занимающейся разработкой программного обеспечения. Руководители очень сильно заботились о сохранности исходных кодов, поэтому компьютеры программистов не имели дисководов, записывающих устройств или выхода в Интернет. Все машины были связаны в локальную сеть, и только одна из них имела Floppy-диск и записывающий CD-ROM для переноса данных на другие компьютеры. Таким образом, исходные коды крути-
лись только в локальной сети, а утечка информации могла произойти только через единственный компьютер, и такая сеть легко контролировалась.
Если у вас есть информация, которую необходимо сохранить в тайне, то ее нужно изолировать от всемирной сети. После таких слов может показаться, что Интернет — это зло. Нет. Если пульт от ракетной установки поставить на улице, то какой-нибудь психически неуравновешенный человек когда- нибудь на него нажмет. Таких людей мало, и мир может прожить и 10 лет, и 20. Но все же, если кнопка доступна, то она сработает. Интернет как улица, в сети сейчас очень много людей. Когда-нибудь найдется человек, который по своей неопытности, случайности или глупости воспользуется оружием.
Люди не представляют угрозу, которую в себе таят безобидные на первый взгляд веши. Информация может нанести больший ущерб, чем атомная бомба, поэтому ее надо скрывать скрупулезнее и при необходимости лучше не давать возможность воспользоваться.
В домашних сетях редко бывают ситуации, когда нужно так тщательно прятать информацию, а корпоративные случаи мы практически не рассматриваем. Но на данном аспекте я остановился, потому что это поможет вам в будущей работе или учебе.
Чаще всего взломы совершают неопытные хакеры в познавательных целях. Чтобы в домашних условиях изолировать себя от таких людей, обычно достаточно просто спрятать компьютер. Выполните следующую команду: net config server /hidden:yes
Теперь компьютер не будет виден в сетевом окружении. Но это не значит, что он недоступен. Зная IP-адрес, хакер может получить доступ напрямую, а в Интернете сетевого окружения нет, только непосредственная адресация.
Внутренний взлом
Очень сложно защититься от внутреннего взлома, т. е. человека, который заведомо имеет доступ к ресурсам. К таким людям можно отнести сотрудников компании или ваших соседей, родителей, родственников.
Рассмотрим пример с родителями. Они могут знать пароль на ваш компьютер, потому что вы сами его дали. Но если вы поссоритесь с отцом из-за несданных экзаменов, то он может просто удалить все игры, чтобы вы больше уделяли времени учебе. Тут уж ничего не поделаешь, особенно, если отец не первый день работает за компьютером.
Я уже приводил пример с обиженным администратором фирмы. Такие люди знают все пароли и настройки безопасности, поэтому им не составит труда проникнуть в систему. От этого тоже никуда не деться. Нужно регулярно менять пароли, особенно после кадровых перестановок.
Некоторые люди страдают клептоманией или просто любят сделать другим что-то неприятное, поэтому специально похищают, удаляют или портят чу-
жую информацию. Это, наверное, один из самых частых взломов, с которым мне приходилось встречаться. Например, один сотрудник допустил промашку. Чтобы скрыть все следы, он может подправить или стереть чужие данные.
Сканирование открытых ресурсов
Чтобы открыть файлы и папки другого компьютера, у вас должен быть установлен клиент для данной ОС Например, если вы хотите видеть в сетевом окружении компьютеры на базе Windows, то для данного подключения необходимо поставить компонент Клиент для сетей Microsoft. Для того чтобы ваши файлы и папки были доступны другим, необходимо использовать File and Printer Sharing for Microsoft Networks (Служба доступа к файлам и принтерам Microsoft). Следовательно, если на чужом компьютере не установлена эта служба, то его файлы будуг для вас недоступны.
Эти компоненты устанавливаются в свойствах соединения. Для Windows 2000 найдите меню Пуск/Настройка/Сеть и удаленный доступ. В появившемся окне щелкните правой кнопкой мыши по нужному подключению и в выпадающем меню выберите пункт Свойства. В этом окне будет показан список всех установленных служб и протоколов. Если в перечне отсутствует Клиент для сетей Microsoft, то вы не сможете произвести сканирование. Тогда нажмите кнопку Установить. Если служба введена, то необходимо убедиться, что напротив нее установлена галочка.
Теперь можно приступить к поиску компьютера в сети Интернет, где есть открытые папки. В этом нам помогут две программы:
ipconfig — позволяет определить локальный 1Р-адрес;
CyD NET Utils — умеет сканировать диапазон адресов на наличие открытых ресурсов,
Для начала с помощью командной строки запускаем программу ipconfig и определяем свой 1Р-адрес.
В результате вы увидите текст типа:
Windows IP Configuration
Ethernet adapter Local Area Connection;
Connection-specific DNS Suffix . :
IP-Address:192.168.8,57
Subnet Mask :255.255.255.0
Default Gateway :192.168.8.1
Если в компьютере установлено несколько сетевых карт, то может быть столько же IP-адресов. В данном случае только один адаптер (Ethernet adapter Local Area Connection) И адрес, соответственно, — 192.168.8.57.
У каждого Интернет-провайдера свой диапазон IP-адресов, чаще всего он соответствует первым трем октетам в адресе. Они и обусловливают номер сети. Последнее число определяет номер компьютера. Конечно же, это не всегда справедливо, потому что в сочетании с IP-адресом используется номер, называемый маской подсети, позволяющий разбить сеть на более мелкие сегменты (узлы).
Для самой распространенной маски 255.255.255.0 (подсеть класса С), где последнее число — это ноль, значение последнего октета 57 в IP-адресе действительно указывает на номер компьютера. Остальное — это номер сети.
Получается, что компьютеры в сети провайдера нумеруются от 0 до 255 (значения 0 и 255 имеют специальное назначение). Именно в этом диапазоне можно проводить сканирование. Запустите программу CyD NET Utils и выберите меню Utils/Share scanner. В появившемся окне введите в поле From address значение 192.168.8.1, а в поле То address — значение 192.168.8.57 (см. рис. 5.14). Нажмите кнопку Scan и ожидайте завершения сканирования. В строке состояния будет отображаться текущий адрес.
Если программа найдет открытый ресурс, то вы увидите его адрес, например, \\192.168.8.1\ftp. Чтобы просмотреть его содержимое, достаточно ввести этот параметр в строке браузера.
Рис. 5.14. Сканирование ресурсов с помощью CyD NET Utils
Преимущество программы CyD NET Utils в том, что перед попыткой просканировать адрес проверяется связь с помощью команды ping. Поиск открытых ресурсов в Windows происходит очень долго, и если адрес не существует, то нет смысла тратить усилия.
С другой стороны, это обстоятельство можно расценивать как недостаток. Сейчас очень многие сетевые экраны запрещают команду ping, поэтому программа может не просканировать существующий адрес. Но я не думаю, что стоит обращать внимание на данный факт, хотя в 99,99999 % случаев это действительно так.
Атаки хакеров
Невозможно дать определенные рецепты взломов. В каждом случае это творческий процесс, который зависит от конкретной системы и настроек ее безопасности. Чаще всего используются ошибки в программах, а каждый администратор может использовать различный софт.
Почему количество атак с каждым годом только увеличивается? Раньше вся информация об уязвимостях хранилась на закрытых BBS (Bulletin Board System, электронная доска объявлений) и была доступна только избранным. К этой категории относились и хакеры, совершавшие безнаказанные атаки, потому что уровень их просвещенности и опытности был достаточно высок.
В настоящее время сведения об уязвимостях стали достоянием общественности. Теперь взломом, в принципе, может заниматься кто угодно. Злоумышленники при этом могут преследовать одну из следующих целей:
Хищение информации — вскрытие сервера для скачивания каких-либо данных, которые не должны быть доступны широкой общественности. Такие взломы чаше всего направляют против определенных компаний для кражи отчетности, исходных кодов программ, секретной документации и т. д. Как правило, такие взломы совершают профессиональные хакеры по заказу или для получения собственной выгоды.
Нарушение целостности — изменение или уничтожение данных. Такие операции могут производиться против любых серверов в сетях internet/ Intranet. В качестве взломщиков могут выступать не только профессионалы, но и любители или даже недовольные сотрудники фирм.
Отказ в обслуживании — атака на сервер с целью сделать его недосягаемым для остальных участников сети. Такие действия присуши в основном любителям с одной только целью — навредить.
Порабощение — получило распространение в последнее время. Например, для выполнения п. 3 могут понадобиться большие ресурсы (мощный процессор и высокоскоростной доступ в сеть), которые отсутствуют в домашних компьютерах. Для этого захватывается какой-нибудь слабо за-
щищенный сервер в Интернете, обладающий необходимыми техническими средствами, и используется в дальнейших взломах.
Атаки могут быть двух видов:
L Внутренние — хакер получил физический доступ к взламываемому компьютеру. Защитить системный блок сервера от злоумышленника не так уж и сложно, потому что можно преградить путь к серверу сейфом и поставить охрану.
Внешние — взлом через сеть. Именно этот вид атаки является самым сложным для зашиты. Даже если для предотвращения удаленной атаки поставить замечательный сейф (Firewall) и самую лучшую охрану для наблюдения (программы мониторинга и журналирования), безопасность не может быть гарантированна. Примерами этого являются взломы наиболее защищаемых серверов в сети (yahoo.com, microsoft.com, серверы NASA и т. д.).
Когда мы строим линию обороны, необходимо понимать, как хакеры атакуют компьютеры своих жертв. Только тогда можно предотвратить нежелательное вторжение и защитить систему. Давайте рассмотрим основные способы нападения, используемые хакером. При этом будем рассуждать так, как это делает взломщик.
Единственное, чего мы не будем касаться в этом разделе, — вопросов социальной инженерии (см. разд. 5.3).
Исследования
Допустим, что у вас на примете есть сервер, который нужно взломать или протестировать на защищенность от взлома. С чего нужно начинать? Что сделать в первую очередь? Сразу очень много вопросов и ни одного ответа.
Четкой последовательности действий нет. Взлом — это творческий процесс, а значит, и подходить к нему надо с этой точки зрения. Нет определенных правил, и нельзя все подвести под один шаблон. Зато есть несколько рекомендаций, которых желательно придерживаться.
Самое первое, с чего начинается взлом или тестирование ОС на уязвимость, — сканирование портов. Для чего? А для того, чтобы узнать, какие сервисы (в Linux это демоны) установлены в системе. Каждый открытый порт — это сервисная программа, установленная на сервере, к которой можно подключиться и выполнить определенные действия. Например, на 21 порту' висит FTP-сервис. Если вы сможете к нему подключиться, то станет доступной возможность скачивания и закачивания на сервер файлов. Но это только если вы будете обладать соответствующими правами.
Сначала нужно просканировать первые 1024 порта. Средн них очень много стандартных сервисов типа FTP, HTTP, Telnet и т. д. Каждый открытый порт — это дверь с замочком для входа на сервер. Чем больше таких дверей.
тем больше вероятность, что какой-то засов не выдержит натиска и откроется. Именно поэтому я рекомендовал вам убрать из автозапуска все неиспользуемые сервисы (см. разд. 4.6.2 и 4.6.3).
У хорошего администратора открыты только самые необходимые порты. Например, если это WEB-сервер, не предоставляю ши й доступ к почте, то нет смысла держать почтовые сервисы. Должен быть открыть только 80 порт, на котором как раз и работает WEB-сервер.
Хороший сканер портов определяет не только номер открытого порта, но и показывает название установленного на нем сервиса (жаль, что не настоящее, а только имя возможного сервера). Так для 80 порта будет показано "http". Желательно, чтобы сканер умел сохранять результат своей работы в каком-нибудь файле и даже распечатывать. Если этой возможности нет, то придется переписать все вручную и положить на видное место. В дальнейшем вам пригодится каждая строчка этих записей.
После этого можно сканировать порты свыше 1024. Здесь стандартные сервисы встречаются редко. Зачем же тогда сканировать? А вдруг кто-то до вас уже побывал на этом месте и оставил открытую дверку или установил на сервер троян. Большинство троянских программ держат открытыми порты свыше 1024, поэтому если вы администратор и нашли открытый порт в этом диапазоне, необходимо сразу насторожиться. Ну а если вы взломщик, то нужно узнать имя троянской программы и найти для нее клиентскую часть, чтобы воспользоваться для управления чужой машиной.
На этом взлом может закончиться, потому что вы уже получили полный доступ к серверу. Жаль, что такое происходит очень редко, и чаще всего нужно затратить намного больше усилий.
Теперь мы знаем, какие двери у сервера открыты. Но этого мало, потому что мы еще не ведаем, как их открыть.
Определение ОС
Сканирование — это всего лишь начальный этап, который дал вам информацию для размышления. Самое главное — узнать, какая именно установлена ОС. Желательно иметь сведения о версии, но это удается не всегда, да и на первых парах изучения системы можно обойтись без конкретизации.
Для дефиниции версии могу посоветовать программу Shadow Scan (http://www.rsh.kiev.ua). Не могу сказать, что она лучшая, но и к разряду худших отнести ее не имею права.
Кроме ОС программа умеет определять версии установленных сервисов. Это вам может очень сильно помочь. Допустим, вы узнали, что на компьютере установлен WEB-сервер. Помимо этого известно, что используется операционная система Windows. Можно предположить, что WEB-сервер именуется HS, но эта гипотеза может не подтвердиться. Для Windows есть реализация
сильнейшего сервера Apache. Могут быть и другие WEB-серверы, хотя самые популярные — именно эти два. А так как взлом различных серверов производится по-разному, то в первую очередь нас интересует, кто конкретно сидит на 80 порту.
Единственный недостаток Shadow Scan — именно при определении версии ОС некоторые релизы показывали синий экран. Но в последнем варианте эта ошибка кажется исправлена.
Как определяется тип ОС? Для этого есть несколько способов:
По реализации протокола TCP/IP.
В различных операционных системах по-разному организован стек протоколов. Программа Shadow Scan просто анализирует ответы сервера на запросы и дает заключение об установленной ОС. В основном этот вывод расплывчатый: Windows или Linux. Точную версию таким образом узнать невозможно, потому что в Windows 2000/ХР/2003 реализация протокола практически не менялась, и отклики сервера будут одинаковыми. Даже если программа определила, что на сервере установлен Linux, то какой именно дистрибутив — вам никто не скажет, а ведь уязвимости в них разные. И поэтому такая информация — это только часть необходимых вам данных для взлома сервера.
По ответам разных сервисов.
Допустим, что на сервере жертвы есть анонимный доступ по FTP. Вам нужно всего лишь присоединиться к нему и посмотреть сообщение при входе в систему. По умолчанию, в качестве приглашения используется надпись типа "Добро пожаловать на сервер Free ВS04,0, версия FTP- клиента Х.ХХХ". Если вы такое увидели, то еще рано радоваться, т. к. не известно, правда это или нет.
Если надпись приглашения отражает действительность, то администратор — "чайник" со стажем. Опытный администратор всегда изменяет приглашение, заданное по умолчанию. А вот хороший специалист может написать и ложное сообщение. Тогда па сервере с Windows NT 4.0 появится приглашение, например, в Linux. В этом случае злоумышленник безуспешно потратит очень много времени в попытках сломать Windows NT через дыры Linux. Поэтому не очень доверяйте надписям и старайтесь перепроверить любыми другими способами.
Социальная инженерия.
Если вы хотите взломать сервер хостинговой компании, то можно обратиться с письменным запросом об установленных у нее серверах в службу поддержки. Как правило, такая информация не скрывается, но бывают случаи откровенного вранья. Возможно, что эти сведения будут лежать на главной странице сервера, но даже их следует проверить.
Чтобы вас не обманули, обязательно обращайте внимание на используемые на сервере сервисы, например, в Linux не будут крутиться страницы, созданные по технологии ASP. Такие вещи подделывают редко, хотя возможно. Достаточно немного постараться: применять расширение asp для хранения PHP-сценариев и перенаправлять их интерпретатору PHP. Таким образом, хакер увидит, что на сервере работают файлы asp, но реально это будут РНР-сценарии.
Следовательно, задача защищающейся стороны — как можно сильнее запутать ситуацию. Большинство неопытных хакеров верят первым впечатлениям и потратят очень много времени на бесполезные попытки проникновения. Таким образом, вы сделаете взлом слишком дорогим занятием.
Задача хакера — распутать цепочки и четко определить систему, которую он взламывает. Без этого производить в дальнейшем какие-либо действия будет сложно, потому что хакер даже не будет знать, какие команды ему доступны после вторжения на чужую территорию и какие исполняемые файлы можно подбрасывать на сервер.
Используем скрипты
Итак, теперь вы в курсе, какая на сервере установлена ОС, какие порты открыты и какие именно серверы висят на этих портах. Всю добытую информацию нужно записать в удобном для восприятия виде: в файле или хотя бы на бумаге. Главное, чтобы было комфортно работать.
Не ленитесь все собранные данные складывать в общую стопку. Помните, что даже компьютерные мозги иногда сбоят, а человеческие — делают это регулярно. Самое интересное, что чаше всего забывается наиболее необходимое. Ну а после взлома не забудьте уничтожить все записи, это может послужить доказательством содеянного в любом суде.
Все поняли? Тогда на этом можно остановиться. У вас есть достаточно информации для простейшего взлома с помощью дыр в ОС и сервисах, установленных на сервере. Просто посещайте регулярно www.securityfocus.com. Именно здесь нужно искать информацию о новых уязвимостях. Уже давно известно, что большая часть серверов (по разным источникам от 70 % до 90 %) просто не латаются. Поэтому проверяйте все найденные ошибки на жертве, возможно, что-то и сработает.
Если сервер в данный момент близок к совершенству, то придется ждать появления новых дыр и сплоитов (программа, позволяющая использовать уязвимость) к установленным на сервере сервисам. Как только увидите что- нибудь интересное, сразу скачайте сплоит (или напишите свой) и воспользуйтесь им, пока администратор сервера не залатал очередную уязвимость.
Автоматизация
Практически каждый день специалисты по безопасности находят в разных системах недочеты, откровенные дыры или даже пробоины в системе безо-
пасности. Все эти материалы выкладываются в отчетах BugTraq на разных серверах. Я уже не раз советовал посещать www.securityfocus.com, чтобы следить за новостями, и сейчас не отказываюсь от своих слов. Новинки действительно можно найти по этому адресу, но ведь есть целый ворох старых уязвимостей, которые существовали и еще до сих пор не залатаны на сервере. Как же поступить с ними? Неужели придется качать все сплоиты и руками проверять каждую дыру? Ну, конечно же, нет. Существует громадное количество программ для автоматизации тестирования сервера на ошибки, и самые распространенные — SATAN, Internet Scanner, NetSonar, CyberCop Scanner.
Я не стану рекомендовать какую-нибудь определенную программу, l ie существует такой утилиты, в которой была бы база абсолютно всех потенциальных уязвимостей. Поэтому скачивайте все, что попадется под руку, и тестируйте систему всеми доступными программами. Возможно, что-то вам и пригодится. Но обязательно обратите внимание на продукты компании Internet Security Systems (ISS, системы Интернет-безопасности www.iss.net), потому что сканеры этой фирмы (Internet Scanner, Security Manager, System Scanner и Database Scanner) используют все три метода сканирования, о чем мы поговорим чуть позже. Сотрудники ISS работают в тесном контакте с Microsoft и постоянно обновляют базу данных уязвимостей. Но несмотря на то, что продукты этой фирмы лучшие, я советую использовать хотя бы еще один сканер другого производителя.
Компания Internet Security Systems разработала целый комплект утилит под общим названием SAFEsuite. В него входят не только компоненты проверки безопасности системы, но и модули выявления вторжения и оценки конфигурации основных серверных ОС.
Сканеры безопасности как антивирусы — защищают хорошо, но только от старых приемов. Любой новый метод взлома не будет обнаружен, пока вы не обновите программу. Поэтому я не рекомендую целиком и полностью полагаться на отчеты автоматизированного сканирования, а после работы программы самостоятельно проверить наличие последних уязвимостей, описанных в каком-либо бюллетене ошибок (BugTraq),
С помощью автоматизированного контроля очень хорошо производить первоначальную проверку, чтобы убедиться в отсутствии старых ляпсусов. Если ошибки найдены, то нужно обновить уязвимую программу/ОС/Сервис или поискать на том же сайте www.securityfocus.com способ обезвреживания. Почти всегда вместе с описанием уязвимости дается вакцина, позволяющая залатать прореху в сервисе или ОС. Вакцину может предложить и программа сканирования, если в базе данных есть решение проблемы для данного случая.
Почему даже после лучшего и самого полного сканирования нельзя быть уверенным, что уязвимостей нет? Помимо новых ошибок в сервере надо принять во внимание еще и фактор конфигурации. На каждом сервере могут
быть свои настройки, и при определенных условиях легко находимая вручную уязвимость может остаться незаметной для автоматического сканирования. На сканер надейся, а сам не плошай. Так что, продолжайте тестировать систему на известные вам ошибки самостоятельно. .
Каждый сканер использует свои способы и приемы, и если один из них не нашел ошибок, то другой может отыскать. Специалисты по безопасности любят приводить пример с квартирой. Допустим, что вы пришли к другу и позвонили в дверь, но никто не открыл. Это не значит, что дома никого нет, просто хозяин мог не услышать звонок, или он не работал. Но если позвонить по телефону, который лежит в этот момент возле хозяина, то он возьмет трубку. Может быть и обратная ситуация, когда вы названиваете по телефону, но его не слышно, а на звонок в дверь домочадцы отреагируют.
Так и при автоматическом сканировании: один сканер может позвонить по телефону, а другой — постучит в дверь. Они оба хороши, но в конкретных случаях при разных конфигурациях сканируемой машины могут быть получены разные результаты.
Существует три метода автоматического определения уязвимости: сканирование, зондирование и имитация. В первом случае сканер собирает информацию о сервере, проверяет порты, чтобы узнать, какие установлены серии- сы/демоны, и на основе их выдает отчет о потенциальных ошибках. Например, сканер может проверить сервер и увидеть на 21 порту работающую службу FTP. По строке приглашения (если она не была изменена), выдаваемой сервером при попытке подключения, можно определить его версию, которая сравнивается с базой данных. И если в базе есть уязвимость для данного сервера, то пользователю выдается соответствующее сообщение. Сканирование далеко не самый точный процесс, потому что автоматическое определение легко обмануть, да и уязвимости может не быть. Некоторые погрешности в сервисах проявляются только при определенных настройках, т. е. при установленных вами параметрах ошибка не обнаружится.
При зондировании сканер не обследует порты, а проверяет программы на наличие в них уязвимого кода. Этот процесс похож на работу антивируса, который просматривает все программы на наличие соответствующего кода. Ситуации похожие, но искомые объекты разные.
Метод хорош, но одна и та же ошибка может встречаться в нескольких программах. И если код в них разный, то сканер ее не обнаружит.
Во время имитации программа моделирует атаки из своей базы данных. Например, в FTP-сервере может возникнуть переполнение буфера при реализации определенной команды. Сканер не будет выявлять версию сервера, а попробует выполнить инструкцию. Конечно же, это приведет к зависанию, но вы точно будете знать о наличии или отсутствии ошибки на нем.
Имитация — самый долгий, но надежный способ, потому что если программе удалось взломать какой-либо сервис, то и у хакера это получится.
При установке нового FTP-сервера, который еще не известен сканерам, он будет опробован на уже известные ошибки других серверов. Очень часто программисты разных фирм допускают одни и те же промахи, при этом методом сканирования анализатор может не найти подобную уязвимость только потому, что для данной версии нет записей в базе данных.
Когда проверяете систему, обязательно отключайте сетевые экраны. Если блокирован доступ, то сканер не протестирует нужный сервис. В этом случае анализатор сообщит, что ошибок нет. но реально они могут быть. Конечно же, это не критичные ошибки, если они под защитой сетевого экрана, но если хакер найдет потайной ход и обойдет Firewall, то уязвимость станет опасной.
Дайте сканеру все необходимые права на доступ к тестируемой системе. Например, некоторые считают, что наиболее эффективно удаленное сканирование, когда по сети имитируется атака. Это правильно, но сколько времени понадобится на проверку стойкости паролей для учетных записей? Очень много! А сканирование реестра и файловой системы станет невозможным. Поэтому локальный контроль может дать более качественный результат.
При дистанционном сканировании только производится попытка прорваться в сеть. Такой анализ может указать на стойкость защиты от нападения извне. Но по статистике большинство взломов происходит изнутри, когда зарегистрированный пользователь поднимает свои права и тем самым получает доступ к запрещенной информации. Хакер тоже может иметь какую-нибудь учетную запись с минимальным статусом и воспользоваться уязвимостями для повышения прав доступа. Поэтому сканирование должно происходить и дистанционно для обнаружения потайных дверей и локально для выявления ошибок в конфигурации, с помощью которых можно изменить привилегии.
Автоматические сканеры проверяют не только уязвимости ОС и ее сервисов, но и сложность пароля, и имена учетных записей. В анализаторах есть база наиболее часто используемых имен и паролей, и программа перебором проверяет их. Если удалось проникнуть в систему, то выдается сообщение о слишком простом пароле. Обязательно замените его, потому что хакер может использовать тот же метод и легко узнает параметры учетной записи. Анализаторы безопасности могут использовать как хакеры, так и администраторы. Но задачи у них разные. Одним нужно автоматическое выявление ошибок для последующего применения, а вторые используют метод с целью закрытия уязвимости, причем желательно это сделать раньше, чем найдет и будет использовать дыры хакер.
Взлом WWW-сервера
При взломе WWW-сервера есть свои особенности. Если на нем выполняются CGI/PHP- или иные скрипты, то взлом проводится совершенно по- другому. Для начала нужно просканировать сервер на наличие уязвимых
CGI-скриптов. Вы не поверите, но опять же по исследованиям различных компаний, в Интернете работает большое количество "дырявых" скриптов. Это связано с тем, что при разработке сайтов изначально вносятся ошибки. Начинающие программисты очень редко проверяют входящие параметры в надежде, что пользователь не будет изменять код странички или адрес URL, где серверу передаются необходимые данные для выполнения каких- либо действий. Но в этой главе мы уже рассматривали, как можно накрутить счетчик с помощью изменения странички и подделки IP-адреса (си. разд. 5.2Y Это стало возможным потому, что программисты понадеялись на добросовестность посетителей. А зря.
Ошибку с параметрами имела одна из знаменитых систем управления сайтом — PHP-nuke. Это набор скриптов, позволяющих создать форум, чат, новостную ленту и управлять содержимым сайта. Все параметры в скриптах передаются через строку URL браузера, и просчет содержался в параметре ID. Разработчики предполагали, что в нем будет передаваться число, но не проверяли это. Хакер, знающий структуру базы данных (а это не сложно, потому что исходные коды PHP-nuke доступны), легко мог поместить SQL-запрос к базе данных сервера в параметр ID и получить пароли всех зарегистрированных на сайте пользователей. Конечно, клиенты будут зашифрованы, но для расшифровки не надо много усилий, и это мы рассмотрим чуть позже.
Проблема усложняется тем, что некоторые языки (например, Perl) изначально не были предназначены для использования в сети Internet. Из-за этого в них существуют опасные функции для манипулирования системой, и если программист неосторожно применил их в своих модулях, то злоумышленник может воспользоваться такой неосмотрительностью.
Потенциально опасные функции есть практически везде, только в разных пропорциях. Единственный более или менее защищенный язык — Java, но он очень сильно тормозит систему и требует много ресурсов, из-за чего его не охотно используют WEB-мастера. Но даже этот язык в неуклюжих руках может превратиться в большие ворота для хакеров с надписью "Добро пожаловать!".
Но самая большая уязвимость — неграмотный программист. Из-за нехватки специалистов в этой области, программированием стали заниматься все, кому не лень. Многие самоучки даже не пытаются задуматься о безопасности, а взломщикам это только на руку.
Итак, ваша первостепенная задача — запастись парочкой хороших CGI- сканеров. Какой лучше? Ответ однозначный — ВСЕ. Даже самый дрянной сканер может найти брешь, о которой неизвестно даже самому лучшему хакеру. А главное, что по закону подлости именно она окажется доступной на сервере. Помимо этого, нужно посещать все тот же сайт www.securityfocus.com, где регулярно выкладываются описания уязвимостей различных пакетов программ для WEB-сайтов.
Взлом WWW через поисковик
За последние 10 лет Интернет разросся до таких размеров, что найти в нем что-либо без хорошей поисковой системы стало невозможным. Первые системы просто индексировали страницы по их содержимому и потом использовали полученную базу данных для поиска, который давал очень приблизительные результаты. Если ввести в качестве контекста слово "лук", то результатом будет огромное количество сайтов по пищевой промышленности и по стрельбе из лука. В большинстве языков есть слова, которые имеют несколько значений, и по ним поиск затруднителен.
Проблема не только в двусмысленности некоторых слов. Есть множество широко употребляемых выражений, по которым тоже сложно произвести точную выборку. В связи с этим поисковые системы стали развиваться, и теперь можно добавлять в запрос различные параметры. Одной из самых мощных является поисковая система www.google.com. В ней реализовано много возможностей, позволяющих сделать поиск более точным. Жаль, что большинство пользователей не освоили их, а вот взломщики изучили все функции и используют в своих целях.
Один из самых простых способов взлома — найти с помощью поисковой системы закрытую WEB-страницу. Некоторые сайты имеют засекреченные области, к которым доступ осуществляется по паролю. Сюда же относятся платные ресурсы, где защита основана на проверке пароля при входе, а не на защите каждой страницы и использовании SSL. В таких случаях Google проиндексирует запрещенные страницы, и их можно будет просмотреть через поиск. Для этого всего лишь надо четко знать, какая информация хранится в файле, и как можно точнее составить строку поиска.
Поиск индексированных секретов
С помощью google.com можно найти достаточно важные данные, которые скрыты от пользователя, но по ошибке администратора стали доступными для индексирующей машины Google. Во время поиска нужно правильно задавать параметры. Например, можно ввести в строку поиска следующую команду:
Годовой отчет filetype:doc
или
Годовой отчет filetype:xls
И вы найдете все документы в формате Word или Excel, содержащие слова "Годовой отчет". Возможно, документов будет слишком много, поэтому запрос придется ограничить сильнее, но кто ищет, тот всегда найдет.
Поиск уязвимых сайтов
Допустим, вы узнали, что в какой-либо системе управления сайтом появилась уязвимость. Что это за система? Существует множество платных и бесплатных готовых программ, написанных на PHP, Perl и других языках и позволяющих создать сайт без особых усилий. Такие системы могут включать в себя готовые реализации форумов, гостевых книг, лент новостей и т. д. Например, phpbb или ikonboard, которые очень сильно распространены в Интернете — наиболее популярные исполнения форумов.
Если в какой-нибудь из таких специальных программ найдена критическая уязвимость, то все сайты в Интернете, использующие ее, подвергаются опасности. Большинство администраторов не подписаны на новости и не обновляют свои скрипты, поэтому остается только найти нужный сайт и воспользоваться готовым решением для осуществления взлома.
Как найти сайты или форумы, которые содержат уязвимость? Очень просто. Чаще всего сценарий жертвы можно определить по URL. Например, когда вы просматриваете на сайте www.invisionpower.com раздел форума, использующего в качестве движка Invision Power Board (мощная и невидимая доска объявлений), то строка адреса содержит следующий код:
http://forums.invisionpower.com/index.php?showforum=l
Текст index.php?showforum= будет встречаться на любом сайте, использующем для форума Invision Power Board. Чтобы найти сайты, содержащие в URL данный текст, нужно выполнить в поисковой системе Google следующий запрос:
inurl:index.php?showforum
Могут быть и другие движки, которые используют этот текст. Чтобы отбросить их, нужно еще добавить поиск какого-нибудь фрагмента из страниц. Например, по умолчанию внизу каждой страницы форума есть подпись "Powered by Invision Power Board(U)". Конечно же, администратор волен изменить надпись, но в большинстве случаев ее не трогают. Именно такой текст можно добавить в строку поиска, и тогда результатом будут только страницы нужного нам форума. Попробуйте выполнить следующий запрос: Powered by Invision Power Board(U)
- inurl:index.php?showforum
Вы увидите более 150 тысяч сайтов, реализованных на этом движке. Теперь, если появится уязвимость в Invision Power Board, то вы легко найдете жертву для испытания уязвимости. Далеко не все администраторы успеют ликвидировать ошибки, а некоторые вообще не будут их исправлять.
Попробуйте запустить поиск "inurkadmin/index.php", и вы найдете столько интересного, что аж дух захватывает. Такие ссылки очень часто используются для управления чем-либо на сайте. Опытные администраторы защищают их паролями, и, конечно, большинство из этих ссылок будут недоступны, но открытые — могут позволить уничтожить сайт полностью.
Серп и молот
Там, где не удалось взломать сервер с помощью умения и знаний, всегда можно воспользоваться чисто русским методом "Серпа и молота". Это не значит, что серп нужно приставлять к горлу администратора, а молотком стучать по его голове. Просто всегда остается в запасе тупой подбор паролей.
Давайте снова обратимся к статистике. Все исследовательские конторы пришли к одному и тому же выводу, что большинство начинающих выбирают в качестве пароля имена своих любимых собачек, кошечек, даты рождения или номера телефонов. Хорошо подобранный словарь может сломать практически любую систему, т. к. всегда найдутся неопытные пользователи с такими паролями. Самое страшное, если у этих "чайников" будут достаточно большие права. Именно поэтому я рекомендовал вам выбирать сложные пароли (,см. разд. 4.7.3Y
Вы до сих пор еще не верите мне? Давайте вспомним знаменитейшего "червя Морриса", который проникал в систему, взламывая ее по словарю. Собственный лексикон червя был достаточно маленький и состоял менее чем из ста слов. Помимо этого, при переборе использовались термины из словаря, установленного в системе. Там их было тоже не так уж много. И вот благодаря такому примитивному алгоритму, червь смог поразить громаднейшее число компьютеров и серверов. Это был один из самых массовых взломов!!! Да, случай давний, но средний профессионализм пользователей не растет, т. к. среди них много опытных, но достаточно и начинающих.
Такой метод перебора очень часто используется для взлома почтовых ящиков, FTP-паролей и др. Это достаточно долгий процесс, но если выбран действительно длинный и сложный пароль, то даже самый хороший словарь хакера не выручит.
Но и в этом случае не стоит расслабляться. Хакер может воспользоваться полным подбором по всем символам. Это отнимет в несколько раз больше времени, но, в конце концов, принесет положительный результат. Чтобы этого не произошло, нужно установить какую-нибудь систему обнаружения атак. Хороший сетевой экран без проблем выявляет попытки подбора и сигнализирует об этом. Убедитесь, что ваш Firewall содержит подобную функцию.
Но прежде чем приступать к подбору пароля, нужно хорошо отредактировать словари имен и паролей. Очень важно знать, какую систему вы взламываете. Именно для этого мы определяли версию ОС. Например, если это серверный вариант Windows, то желательно, чтобы среди логинов был "Администратор". Ну а если это Unix-подобная система, то обязательно должен присутствовать "root", а все имена типа "Администратор" нужно убрать, потому что в Unix-системе таких логинов не создают.
Именно так чаще всего поступают хакеры. Наличие заведомо известного имени упрощает подбор, т. к. остается только найти пароль. Чтобы услож-
нить злоумышленнику задачу, необходимо изменить имена учетных записей. Если вы используете сложный пароль, то логин можно сделать попроще, потому что его лучше всего держать в голове.
Неплохо было бы включить в словарь любые имена и пароли, используемые по умолчанию для разных служб. Очень часто администраторы забывают или просто ленятся поменять пароли на сервисы, которые запущены, но не используются. Особенно этим грешат администраторы Windows, что связано с низким уровнем знаний специалистов, работающих с этой ОС. Например, я сталкивался с MS SQL Server 7.0, в котором включена встроенная учетная запись "sa", и при этом абсолютно без пароля. Наверное, поэтому Microsoft собирается убрать это имя в новой версии своего сервера баз данных, а уже в SQL Server 2000 на каждом шагу предупреждает, что нужно указывать пароль.
Иногда сложные пароли могут сыграть злую шутку. Если случайно забыть или потерять листик с паролем, то в систему нельзя будет войти и самому. В этом случае приходится собственноручно взламывать систему перебором. Благо, что вы хоть приблизительно знаете свой пароль, и можно упросить задачу, сузив количество вариантов.
Для подбора пароля я опять могу посоветовать Shadow Scan или CyD NET Utils (включен очень хороший генератор словарей и реализованы подборщики по всем основным протоколам для соответствующих сервисов).
Локальная сеть
Взлом в локальной сети может быть проще по многим причинам:
компьютеры подключены по скоростному соединению от 10 Мбит и выше;
есть возможность прослушивать трафик других компьютеров в сети;
можно создавать подставные серверы;
очень редко используются сетевые экраны, потому что их ставят в основном перед выходом в Интернет.
Рассмотрим различные варианты взломов, которые получили наибольшее рас пространен ие.
Прослушивание трафика
В локальной сети есть свои особенности. Соединения могут осуществляться различными способами. От выбранного типа топологии зависит используемый вид кабеля, разъем и используемое оборудование. При подключении по коаксиальному кабелю могут использоваться две схемы: все компьютеры объединяются напрямую в одну общую шину (рис. 5.15, а) или кольцо (рис. 5.15, б). Во втором случае крайние компьютеры тоже соединены между собой (на рисунке показано пунктирной линией), и когда они обмениваются данными, все пакеты проходят через сетевую карту соседнего компьютера.
Рис. 5.15. Две схемы соединения компьютеров (а — общая шина, б — кольцо)
Если используется такая топология, то весь трафик обязательно проходит через все компьютеры сети. Почему же вы его не видите? Просто ОС и сетевой адатер сговорились и не показывают чужой трафик. Но если очень сильно захотеть, то, воспользовавшись лрограммой-снифером, можно и просмотреть все данные, проходящие мимо сетевой карточки, даже если они предназначены не вам.
При подключении к Интернету с помощью снифера можно увидеть только свой трафик. Чтобы позаимствовать чужую информацию, нужно сначала взломать сервер провайдера, а туда уже поставить снифер и смотреть трафик всех клиентов. Это слишком сложно, поэтому способ через сниферы используют чаше всего в локальных сетях.
Соединение по коаксиальному кабелю встречается все реже, потому что оно ненадежно и позволяет передавать данные максимум на скорости I0 Мбит/с.
При объединении компьютеров через хаб (Hub) или коммутатор (Swich) используется топология звезда (см. рис. 5.16). В этом случае компьютеры с помощью витой пары получают одну общую точку.
Но если в центре стоит устройство типа Hub, то все пакеты, пришедшие с одного компьютера, копируются на все узлы, подключенные к этому хабу. В случае с коммутатором пакеты будет видеть только получатель, потому что Swich имеет встроенные возможности маршрутизации, которые реализуются в основном на уровне МАС-адреса. В локальной сети, даже если вы отправляете данные на IP-адрес, используется физический адрес компьютера. При работе через Интернет всегда используется IP-адресация, и на этом уровне работают далеко не все коммутаторы. Для того чтобы пакеты проходили по правильному пути, нужны уже более интеллектуальные устройства — маршрутизаторы. Они также передают набор данных только на определенную машину или другому маршрутизатору, который знает, где находится компьютер получателя.
Таким образом, при использовании коммутаторов в локальной сети и из-за маршрутизации в Интернете прослушивание становится более сложным,
Computer» Computers Computet!Computer» Computers Computet!Рис. 5.16. Соединение через хаб или коммутаторРис. 5.16. Соединение через хаб или коммутатори для выполнения этой задачи снифер должен находиться на самом коммутаторе или маршрутизаторе.'
Computer» Computers Computet!
Computer» Computers Computet!
Рис. 5.16. Соединение через хаб или коммутатор
Рис. 5.16. Соединение через хаб или коммутатор
Работать с пакетами достаточно сложно, потому что в них содержится трудная для восприятия информация. Большой кусок данных разбивается на несколько пакетов, и вы будете видеть только отдельные ее части.
Сейчас в сети можно скачать громадное количество сниферов и дополнений к ним. Всевозможные версии "заточены" под разные нужды, и тут необходимо выбирать именно из этих соображений. Если вы ищете непосредственно пароли, то вам требуется снифер, который умеет выделять данные о регистрации из общего трафика сети. В принципе, это не так сложно, если учесть, что все пароли и любая информация пересылается в Интернет в открытом виде как текст, если не используется SSL-протокол.
Преимущество от использования сниферов при взломе в том, что они никак не влияют на атакуемую машину, а значит, вычислить его очень сложно. В большинстве случаев даже невозможно узнать, что ваш трафик кем-то прослушивается в поисках паролей.
Однажды мне заказали определить протокол общения программы с устройством. Фирма заплатила большие деньги за аппаратуру, которая должна была снимать показания с выпускаемой продукции и передавать информацию в компьютер. Но поставлявшаяся в комплекте программа не подходила для этих нужд. Для написания собственных модулей требовались библиотеки, которые были доступны на сервере производителя, но не имели исходных кодов. Поэтому на их основе реализовать подходящую утилиту было невозможно. Для определения протокола мне требовалось решить именно эту задачу...
Связь обеспечивалась через простой сетевой интерфейс и протокол TCP/IP. Я подключил снифер и прослушал все пакеты, которыми обменивалось устройство со стандартной программой. Потом написал собственный простой пример, чтобы убедиться в работоспособности определенного мной протокола, и передал полученную информацию представителю фирмы. Компании это стоило лишних денег, а ведь не так уж и сложно было самостоятельно прослушать трафик.
Жаль, что сниферы не позволяют изменять пакеты. Мы можем только увидеть передаваемые другими компьютерами данные.
Подставной адрес
Мы уже говорили о том, что сетевые экраны разрешают или запрещают доступ пользователей на основе правил. Но блокировать абсолютно все обращения к любым портам не всегда удобно. Например, доступ к управляющим программам можно сохранить для определенного IP-адреса, с которого работает администратор. Любой, кто попытается с другого адреса войти в запрещенную область, будет остановлен сетевым экраном.
На первый взгляд, защита безупречна. Но существует такой метод атаки, как спуфинг, который подразумевает подделку IP-адреса авторизованного пользователя и вход в штурмуемый сервер. Старые сетевые экраны (да и дешевые современные) не могут определить фальшивый адрес в пакетах. Хороший Firewall может направить ping-команду компьютеру, чтобы убедиться, что он включен, и именно он пытается запросить нужные ресурсы.
Фиктивный сервер
В локальной сети намного проще производить атаку через подставные серверы или сервисы. Например, одна из знаменитых атак через некорректные ARP-записи может быть воспроизведена именно в локальной сети.
Как мы уже знаем, когда вы обращаетесь к какому-либо компьютеру по IP- адресу, сначала определяется его МАС-адрес, а потом уже на него отсылается сообщение. Как определить МАС-адрес, когда нам неизвестно, какой сетевой интерфейс установлен, а мы знаем только IP? Для этого используется протокол ARP (Address Resolution Protocol, протокол разрешения адресов), который рассылает широковещательный запрос всем компьютерам сети и выясняет, где находится экземпляр с указанным IP-адресом. В этом пакете заполнен только IP-адрес, а вместо искомого МАС-адреса указано значение FFFFFFFFFFFFh. Если в сети есть компьютер с запрошенным 1Р, то в ответном пакете будет указан МАС-адрес. Работа ARP-протокола происходит незаметно для пользователя. В противном случае ответ может прислать маршрутизатор, который сообщит свой МАС-адрес. Тогда компьютер будет обмениваться данными с ним, а тот уже в свою очередь будет Пересы-
дать пакеты дальше в сеть или другому маршрутизатору, пока они не достигнут получателя.
А что если ответит не тот компьютер, а другой, с иным IP-адресом? Ведь в локальной сети передача осуществляется по МАС-адресу, поэтому пакет получит тот компьютер, который откликнется, вне зависимости от его 1Р. Получается, что задача хакера — вычислить ARP-запрос и ответить на него вместо реального адресата. Таким образом можно перехватить соединение.
Допустим, что компьютер запросил соединение с сервером. Если мы ответим на него и сэмулируем запрос на ввод параметров .для входа в сервер, то пароль будет перехвачен. Сложность такого метода в том, что вручную его реализовать практически невозможно. Для этого нужно писать соответствующую программу, а тут без знания программирования не обойтись.
Есть еще один нюанс, о котором стоит упомянуть. После того как компьютер определил какой-либо физический адрес, то соответствие МАС и IP сохраняется в локальном кэше. У вас есть возможность управлять этим кэшем с помощью утилиты агр, встроенной в ОС. Она запускается из командной строки и не совсем удобна. Более подходящей я считаю уже не раз описанную мною CyD NET Utils. Запустите эту программу и выберите меню Manage/ IP ARP. Перед вами появится окно, в котором можно просматривать текущее содержимое таблицы ARP-записей, добавлять и удалять их.
Когда вы вручную добавляете запись ARP, то она становится статической и может быть удалена из системы только руками. Если запись была создана автоматически, то она считается динамической и через определенное время удаляется системой.
С таким же успехом можно подменять DNS-запросы. Если ARP-протокол предназначен для преобразования IP-адреса в МАС, то DNS сопоставляет символьные имена и IP-адреса. Задача та же самая — использовать параметры компьютера, который будет перехватывать DNS-запросы, и подделывать ответ. Таким способом было проведено уже несколько широкомасштабных и знаменитых атак в Интернете.
Основная цель, которую может преследовать хакер, — перенаправление трафика на себя для выявления пароля или переадресации пакетов на другой сервер. Если переправить весь трафик какого-либо DNS-сервера например, на www.yahoo.com, то даже мощный WEB-сервер Yahoo не выдержит такого количества запросов и может зависнуть или просто перестать откликаться. Но это уже из серии атак DoS, о которых мы поговорим позже (си. разд. 5.8.6).
Троян
Использование троянских программ — самый глупый и ненадежный в отношении администраторов сетей способ, но для простых пользователей подойдет, потому что им проще подбросить серверную часть программы. Хотя
среди администраторов встречаются непрофессионалы, по на такие шутки уже мало кто попадается. Но кто сказал, что в сети существуют только они? Есть еще куча простых пользователей с большими привилегиями и доверчивой душой. Вот именно их и надо троянить.
Троянская программа состоит из двух частей — клиент и сервер. Сервер нужно подбросить на компьютер жертвы и заставить его запустить файл. Чаше всего троянская программа прописывается в автозагрузку и стартует вместе с ОС и при этом незаметна в системе. После этого вы подключаетесь к серверной части с помощью клиента и выполняете заложенные в программу действия, например, перезагрузка компьютера, воровство паролей и т. д.
Как забрасывать троянскую программу? Самый распространенный способ — почтовый я шик. Просто даете исполняемому файлу серверной части какое- нибудь привлекательное имя и отправляете сообщение жертве. В тексте письма должны быть мягкие, но заманчивые призывы запустить прикрепленный файл. Это то же самое, что и распространение вирусов, письма с которыми мы видим каждый день в своих ящиках (см. разд. 4.7.1). Если пользователь запустит серверную часть, то считайте, что вы стали царем на его компьютере. Теперь вам будет доступно все, что может для вас сделать боевой конь.
Какое дать имя, чтобы заинтересовать пользователя? Очень просто, и мы об этом говорили при рассмотрении безопасности системы {см. разд. 4.1.2). Windows очень часто не показывает расширения всех зарегистрированных в системе типов файлов. Если вы назовете файл Anna_Kurnikova.jpg.exe, то ОС спрячет последнее расширение (ехе), и любой пользователь подумает, что видит картинку. Для большей надежности лучше присвоить такое имя: Anna_Kurnikova.jpg ехе. В этом случае, даже если расширение не прячется по умолчанию, его все равно видно не будет.
Мне дважды приходилось забрасывать друзьям трояна через почтовый ящик, и оба раза процесс прошел удачно. Первый раз это произошло на спор, когда мой друг сказал, что я не смогу заразить его компьютер таким способом. Второй раз я создал троянскую программу, с помощью которой собирался подшутить над моим знакомым. Для этого я использовал очень интересный и эффективный метод. Мы уже говорили о том, что нельзя открывать никакие файлы, прикрепленные к письму (особенно от незнакомых людей). Большинство опытных пользователей уже давно следуют этому правилу.
Итак, чтобы пользователь запустил нужную программу, нужно заставить его самого скачать и запустить нужный исполняемый файл. Я отправил письмо, в котором прорекламировал бесплатную программу, которую можно скачать с заранее созданного мною сайта. Главное — выбрать ее имя, чтобы оно заинтересовало пользователя. Например, если жертва любит рисовать, то можно предложить скачать новый графический эффект.
Письмо должно выглядеть как спам. Сколько бы не говорили, но все мы читаем или хотя бы заглядываем в такие сообщения. Если сразу заинтересовать жертву, то она обязательно выполнит вашу просьбу. Возможно, первое письмо попадет в корзину, но хотя бы в третий раз оно будет прочитано, и вы добьетесь нужного результата. Более трех попыток можно не делать, потому что или у жертвы стоит почтовый фильтр, или вы его не заинтересовали. Нужно придумывать новую программу и сочинять другое письмо.
Чтобы жертва ничего не заподозрила, сайт должен выглядеть как можно профессиональнее, содержать описание возможностей скачиваемой программы и снимки экранов. Вся эта информация берется с реального сайта какой-нибудь не очень знаменитой фирмы или программиста-одиночки.
Оба моих товарища попались на эту удочку, и при этом они очень хорошо знакомы со всеми методами проникновения вирусов в систему. Конечно же, при отправке серверной части я использовал анонимное письмо, чтобы меня не вычислили. Таким образом, я позаботился, чтобы файл запустили, и скрыл источник происхождения троянской программы.
Данный метод очень сложен, т. к. требует достаточно времени и сил на подготовку, создание сайта, размещение на нем серверной части трояна.
Если троянская программа направлена на воровство паролей, то после заражения она может незаметно для пользователя выслать письмо с файлом паролей на определенный E-mail-адрес, Профессионалы легко находят такие адреса (с помощью отладки приложения), но на этом все останавливается. Профессиональные хакеры не глупы, и для троянских программ регистрируют почтовые адреса на бесплатных сервисах, при этом указывается ложная информация о владельце. Злоумышленник заводит почтовый ящик или проверяет его на предмет писем с паролями только через анонимный проксисервер, и узнать реальный IP-адрес человека становится очень сложно.
Трояны получили большое распространение из-за того, что вычислить автора при соблюдении простых правил анонимности не просто. При этом использование самих программ стало примитивным занятием. Сейчас даже не надо быть программистом, чтобы создать свою собственную программу, достаточно воспользоваться любым конструктором, которых сейчас в Интернете предостаточно. Самым знаменитым стал Back Orifice, благодаря которому было произведено очень большое количество взломов.
Серверная часть трояна Back Orifice устанавливается на компьютер жертвы и позволяет хакеру выполнять следующие действия:
осуществлять доступ к жесткому диску удаленного компьютера;
редактировать реестр;
запускать программы на чужом компьютере;
отслеживать введенные пароли;
копировать содержимое экрана;
управлять процессами, в том числе и перезагрузкой.
Но самое страшное в этой программе — возможность перед сборкой исполняемого файла добавлять расширения (Plug-in), которых в Интернете предостаточно.
Опасность, которую таят в себе троянские программы, подтверждается и тем, что большинство антивирусных программ стали сканировать не только на наличие вирусов, но и троянов. Например, антивирусные программы идентифицируют Back Orifice как вирус Win32. ВО.
Denial of Service
Самая глупая атака, которую могли придумать хакеры, — это отказ от обслуживания (DoS). Заключается она в том, чтобы заставить сервер не отвечать на запросы. Как это можно сделать? Очень часто такого результата добиваются с помощью зацикливания работы. Например, если сервер не проверяет корректность входящих пакетов, то хакер может сделать такой запрос, который будет обрабатываться вечно, а на работу с остальными соединениями не хватит процессорного времени, тогда клиенты получат отказ от обслуживания.
Атака DoS может производиться двумя способами: через ошибку в программе или перегрузку канала/мошности атакуемой машины.
Первый способ требует знания уязвимости на сервере. Рассмотрим, как происходит отказ от обслуживания через переполнение буфера (чаше всего используемая ошибка). Допустим, что вы должны передать на сервер строку "HELLO". Для этого в серверной части выделяется память для хранения 5 символов. Структура программы может выглядеть примерно следующим образом:
Код программы
Буфер для хранения 5 символов
Код программы
Предположим, пользователь отправит не пять, а сто символов. Если при приеме информации программа не проверит размер блока, то при записи данных в буфер они выйдут за его пределы и запишутся поверх кода. Это значит, что программа будет запорчена и не сможет выполнять каких-либо действий, и, скорее всего, произойдет зависание. В результате сервер не будет отвечать на запросы клиента, т. е. совершится классическая атака Denial of Service через переполнение буфера.
Таким образом, компьютер не взломали, и информация осталась нетронутой, но сервер перестал быть доступным по сети. В локальной сети такую атаку вообще несложно произвести. Для этого достаточно свой IP-адрес поменять на адрес атакуемой машины, и произойдет конфликт. В лучшем случае
недоступной станет только штурмуемая машина, а в худшем — обе машины не смогут работать.
Для перегрузки ресурсов атакуемой машины вообще не надо ничего знать, потому что это война, в которой побеждает тот, кто сильнее. Ресурсы любого компьютера ограничены. Например, WEB-сервер для связи с клиентами может организовывать только определенное количество виртуальных каналов. Если их создать больше, то сервер становится недоступным. Для совершения такой акции достаточно написать программу на любом языке программирования, бесконечно открывающую соединения. Рано или поздно предел будет превышен, и сервер не сможет работать с клиентами.
Если нет программных ограничений на ресурсы, то сервер будет обрабатывать столько подключений, сколько сможет. В таком случае атака может производиться на канал связи или на сервер. Выбор цели зависит от того, что слабее. Например, если на канале в 100 Мбит стоит компьютер с процессором Pentium 100 МГц, то намного проще убить машину, чем пере сузить данными канал связи. Ну а если это достаточно мощный сервер, который может выполнять миллионы запросов в секунду, но находится на канале в 64 Кбит, то легче загрузить канал.
Как происходит загрузка канала? Допустим, что вы находитесь в чате и кто-то вам нагрубил. Вы узнаете его IP-адрес, и выясняется, что обидчик работает на простом Dial-up соединении через модем в 56 Кбит/с. Даже если у вас такое же соединение, можно без проблем перегрузить канал обидчику. Для этого направляем на его IP-адрес бесконечное количество ping-запросов с большим размером пакета. Компьютер жертвы должен будет отвечать на них. Если пакетов много, то мощности канала хватит только на то, чтобы принимать и отвечать на эхо-запросы, и обидчик уже не сможет нормально работать в сети. Если у вас канал такой же, то и ваше соединение будет занято исключительно приемом-отсылкой больших пакетов. Это того стоит? Если да, то можете приступать.
Для реализации атаки DoS с помощью ping-запросов воспользуемся утилитой CyD NET Utils. Запустите программу и выберите меню Utils/Ping server. В появившемся окне перейдите на вкладку Options (см. рис. 5.17). В поле Number of packets (количество пакетов) введите очень большое значение (несколько тысяч). Установите 1 в поле Time out (время ожидания ответа). В этом случае программа не станет дожидаться ответа, а каждую секунду будет направлять ping-пакет. В поле Size of packets (Размер пакета) также установите большое значение, например 10 000, чтобы одним пакетом отправлялось много данных. Теперь можно запускать операцию ping на нужный 1Р-адрес.
Таким образом, мы можем загрузить канал жертвы, но при условии, что наш канал равен или больше, чем у атакуемого компьютера. Если у вас скорость соединения медленней, то удастся загрузить только часть канала, рав-
ную пропускной способности вашего соединения. Остальная часть останется свободной, и жертва сможет использовать ее. С другой стороны, связь будет заниженной, и хотя бы чего-то мы добьемся.
Рис. 5.17. Настройка отправки ping-пакетов
В случае атаки на сервер и его процессор наш канал может быть намного слабее, главное — правильно определить слабое звено. Допустим, что сервер предоставляет услугу скачивания и хранения файлов. Чтобы перегрузить канал такого сервера, нужно запросить одновременное скачивание нескольких очень больших файлов. Скорость связи резко упадет, и сервер может даже перестать отвечать на запросы остальных клиентов, при этом загрузка процессора сервера может быть далека от максимальной. Если неправильно определить слабое звено (в данном случае это сеть) и нарастить мощность сервера, то производительность все равно не увеличится.
Для загрузки процессора тоже не требуется слишком большой канал. Нужно только подобрать запрос, который будет выполняться очень долго. Допустим, что вы решили произвести атаку на сервер, позволяющий переводить на другой язык указанные страницы любого сайта. Находим WEB-стршшцу с большим количеством текста (например, книгу или документацию RFC — Request for Comments — рабочее предложение) и посылаем множество запросов на ее перевод. Мало того, что объем большой и для скачивания серверу нужно использовать свой канал, так сше и перевод — достаточно трудоемкий процесс. Достаточно в течение I секунды отправить 100 запросов на перевод громадной книги, чтобы сервер перегрузился. А если используется блокировка многократного перевода одного и того же, то нужно подыскать несколько больших книг.
Атака отказа от обслуживания отражается достаточно просто. Серверное программное обеспечение должно контролировать и ограничивать количество
запросов с одного IP-адреса. Но это все теоретически, и такие проверки оградят только от начинающих хакеров. Опытному взломщику не составит труда подделать IP-адрес и засыпать сервер пакетами, в которых в качестве отправителя указан поддельный адрес.
Для сервера еще хуже, если взлом идет по TCP/IP, потому что этот протокол требует установки соединения. Если хакер пошлет очень большое количество запросов на открытие соединения с разными IP-адресами, то сервер разошлет на эти адреса подтверждения и будет дожидаться дальнейших действий. Но так как реально с этих адресов не было запроса, то и остановка будет бессмысленной. Таким образом, заполнив буфер очереди на входящие соединения, сервер становится недоступным до подключения несуществующих компьютеров (TimeOut для этой операции может быть до 5 секунд). За это время хакер может забросать буфер новыми запросами и продлить бессмысленное ожидание сервера.
Distributed Denial Of Service
С помощью DoS достаточно сложно вывести из обслуживания такие серверы, как www.microsoft.com или www.yahoo.com, потому что здесь достаточно широкие каналы и сверхмощные серверы. Получить такие же ресурсы просто невозможно. Но как показывает практика, хакеры находят выходы из любых ситуаций. Для получения такой мощности используются распределенные атаки DoS (Distributed Denial of Service).
Мало кто из пользователей добровольно отдаст мощность своего компьютера для проведения распределенной атаки на крупные серверы. Чтобы решить эту проблему, хакеры пишут вирусы, которые без разрешения занимаются захватом. Так вирус Mydoom С искал в сети компьютеры, зараженные вирусами Mydoom версий А и В, и использовал их для атаки на серверы корпорации Microsoft. Благо этот вирус не смог захватить достаточного количества машин, и мощности не хватило для проведения полноценного налета. Администрация Microsoft утверждала, что серверы работали в штатном режиме, но некоторые все же смогли заметить замедление в работе и задержки в получении ответов на запросы.
От распределенной атаки защититься очень сложно, потому что множество реально работающих компьютеров шлют свои запросы на один сервер. В этом случае трудно определить, что это идут ложные запросы с целью вывести систему из рабочего состояния.
Взлом паролей
Когда взломщик пытается проникнуть в систему, то он чаще всего использует один из следующих способов:
если на атакуемом сервере уже есть аккаунт (пусть и гостевой), то можно попытаться поднять его права;
получить учетную запись конкретного пользователя;
добыть файл паролей и воспользоваться чужими учетными записями.
Даже если взломщик повышает свои права в системе, он все равно Стремится обрести доступ к файлу с паролями, потому что это позволит добраться до учетной записи root (для Unix-систем) и получить полные права на систему. Но пароли зашифрованы, и в лучшем случае можно будет увидеть Hash-суммы, которые являются результатом необратимого шифрования пароля.
Когда администратор заводит нового пользователя в системе, то его пароль чаще всего шифруется с помощью алгоритма MD5, т. е. не подлежит дешифровке. В результате получается hash-сумма, которая и сохраняется в файле паролей. Когда пользователь вводит пароль, то он также шифруется, и результат сравнивается с hash-суммой, хранящейся в файле. Если значения совпали, то пароль введен верно.
Так как обратное преобразование невозможно, то, вроде бы, и подобрать пароль для hash-суммы нельзя. Но это только на первый взгляд. Для подбора существует много программ, например, John the Ripper (http://www.openwall.com/john/) или Password Pro (http://www.insidepro.com/).
В Windows-системах пароли также шифруются необратимым образом, но хранятся в базе данных SAM, и для их взлома нужна уже другая утилита — SAMinside (http://www.insidepro.com/). Главное окно программы можно увидеть на рис. 5.18.
Рис. 5.18. Программа SAMinside взламывает пароли Windows NT-систем
Почему эти утилиты так свободно лежат в Интернете, когда они позволяют злоумышленнику воровать пароли? Любая программа может иметь как положительные, так и отрицательные стороны. Что делать, если вы забыли
пароль администратора или администратор уволился и не сказал вам его? Переустанавливать систему? Это долго и может грозить потерей данных. Намного проще снять жесткий диск и подключить к другому компьютеру (или просто загрузиться с дискеты, умеющей читать вашу файловую систему), потом взять файл паролей и восстановить утерянную информацию.
В Windows 9х пароли хранятся в файлах PWL, которые никак не защищены, и их слишком просто украсть. Если в Windows 2000/ХР прямой доступ к файлу базы данных SAM запрещен, то здесь файл забирается с компьютера жертвы простым копированием. Для взлома этого файла можно воспользоваться программой PWLinside (http://www.insjdepro.com/).
Конкретный пользователь
Для получения прав определенного пользователя взломщики чаще всего используют:
методы социальной инженерии — тривиальный и не требующий много времени, но при этом ненадежный способ;
троянские программы — просты в использовании, но применение может не принести результата, если не удастся заразить компьютер жертвы;
□ подбор пароля — сложнее всех в реализации и может занять у взломщика годы, и в этом случае тоже не даст результата.
При использовании методов социальной инженерии нужно знать контактную информацию лица, учетную запись которого нужно получить. Если это E-mail, то на него отправляется сообщение, в котором каким-либо ненавязчивым способом предлагается показать свой пароль. Это может быть письмо от администрации сервера с просьбой сообщить свои данные для проверки или ссылка на подставной сайт, где нужно ввести личную информацию и т. д.
Для троянской программы тоже нужен почтовый адрес, на который высылается письмо с серверной частью трояна или ссылка с призывом скачать исполняемый файл самостоятельно. Вероятность проникновения зависит от профессионализма жертвы (умение распознавать письма со зловредным кодом) и ваших способностей заинтересовать в запуске нужного файла.
Подбор пароля будет самым быстрым, если он простой и легко находится по словарю. А может оказаться самым долгим, если использованы все рекомендации по формированию пароля. Это только в кино хакеры за пять минут взламывают пароли Пентагона, а в жизни весь процесс отнимает, как минимум, часы, а то и дни или даже месяцы.
Когда хакер пытается проникнуть в систему, то он может использовать все доступные методы одновременно. Какой-нибудь даст результат быстрее других.
И все же, есть еще один вариант, который мы не рассматривали, хотя косвенно затрагивали эту тему. Каждый сервис имеет права определенной учет-
ной записи, и если выполнять команды от его имени, то и привилегии будут того аккаунта, под которым он работает.
Большинство администраторов устанавливают всем сервисам максимальные права, чтобы не разбираться в тонкостях настройки. Если разрешить работу службы при входе в систему, например, под гостевой учетной записью, то сервис может перестать функционировать. Некоторым серверным программам нужен доступ к реестру или системным директориям, и если это запретить, то сервис просто не запустится, а найти причину бывает сложно, если нет подробной документации по политике безопасности программы. С другой стороны, большинству сервисов просто не нужны большие полномочия.
Когда хакер стремится получить прерогативу администратора, то он может задаться целью найти уязвимость сервиса, который обладает нужными правами. А затем с его помощью попытаться пробиться дальше на сервер.
Чтобы не давать хакеру лишних лазеек, ограничьте права сервисов. В этом случае, даже если злоумышленник нашел какую-либо уязвимость, проникнуть в систему будет сложно.
Например, для FTP-сервера можно создать учетную запись, у которой будет доступ только к определенным папкам, которые итак открыты по сети для клиентов этого сервиса. Но системная директория для FTP-сервера чаще всего не требуется. Если же ваш сервер использует реестр и что-то пишет в систему, откажитесь от его использования, потому что его безопасность далека от идеала. Доступ к системным директориям абсолютно не нужен большинству сервисов или, по крайней мере, должен быть не нужен, но программисты лезут в него.
Если вы программист и разрабатываете свои серверные продукты, то не трогайте системные области без особой надобности. Работайте только в одной папке, где пользователь установит программу. Если избегать обращения к опасным ресурсам, то можно минимизировать возможность через ваш сервер попасть в систему. А это уже означает, что ваша программа будет реже появляться в списках дырявых сервисов, и это улучшит ваше положение на рынке.
Конечно же, для программистов можно дать очень много рекомендаций, но мы рассматриваем компьютер с точки зрения пользователя, поэтому не будем уходить в сторону.
Взлом не зависит от ОС
Некоторые спорят, что ломают чаще: Windows или Linux? Вопрос не совсем верный, потому что крушат то, что надо. Если хакеру нужно проникнуть на сервер банка, то он будет ломать его вне зависимости от установленной на нем операционной системы. Будь это Unix или Windows, ничто не остановит злоумышленника в проведении своих действий кроме правильной политики безопасности и хорошего администратора.
Результат взлома также не зависит от ОС, потому что проникнуть можно в обе системы примерно с равной вероятностью. Я бы сказал, что результат в большей степени зависит от квалификации обеих сторон — злоумышленника и администратора. Взлом — это война, похожая на троянскую. Хакеры атакуют крепость в виде ОС, ищут недочеты и уязвимости, а администратор старается настроить свою систему, обеспечивая максимальную защиту. Ошибка одного из них принесет победу сопернику.
Безопасность зависит от степени подготовленности администратора. При управлении Windows для выполнения основных задач не требуется высочайшей квалификации, поэтому среди администраторов Windows больше специалистов среднего уровня. В Unix нужно больше знаний, но и администрировать намного сложнее, поэтому даже квалифицированные специалисты иногда допускают грубые ошибки. Получается, что ОС Windows чаше всего сочетает простоту настройки и неопытность администрирования, a Unix- система совмещает сложность конфигурирования и высокий профессионализм, который не всегда спасает в тяжелых ситуациях.
Как мы уже знаем, взлом происходит не только самой ОС, но и сервисов, установленных на ней. А тут уже производитель операционной системы может быть ни при чем. Например, для Windows в качестве WEB-сервера может использоваться Apache, к разработке которого фирма Microsoft не имела никакого отношения, поэтому нельзя обвинять производителей ОС во всех бедах.
Почему в наше время так много взломов? Просто Интернет разрабатывался как свободная сеть, и в то время о хулиганах даже не думали. В протоколе TCP/IP, который является основным транспортом, отсутствует полноценная защита (аутентификация, проверка пользователя и т. д.) Именно из-за этого происходит большинство взломов.
В новой версии протокола IPv6 уже встроены все необходимые средства для обеспечения конфиденциальности, проверки подлинности, целостности данных и т. д. Протокол разработан уже несколько лет назад, но его внедрение происходит слишком долго, и когда это произойдет, сказать сложно. Но мы надеемся, что к моменту полноценной эксплуатации возможности безопасности, заложенные в протокол, не устареют.
Резюме
Этот обзор хакерских атак не претендует на полноту, но я постарался дать все необходимые начальные сведения. В то же время я воздержался от конкретных рецептов, потому что это может быть воспринято как призыв к действию, а я не ставлю своей целью увеличить количество хакеров, Моя задача — показать, как хакер видит и использует компьютер. Это поможет вам больше узнать о своем помощнике и сделать собственную жизнь безопаснее.
В основном мы рассматривали теорию. Для реализации на практике всего вышесказанного нужны специализированные программы, и для определенных задач их придется писать самостоятельно. А это уже из серии программирования глазами хакера.-
Почему хакеры очень часто легко добиваются цели? Для этого есть несколько причин:
Открытость сетевого трафика. По умолчанию пакеты, передаваемые по сети, не шифруются и легко могут быть прочитаны.
Наличие ошибок в ОС и программном обеспечении, используемом на сервере, а главное — несвоевременное их обновление.
Сложность организации зашиты между разнородными сетями.
Ошибки конфигурирования ОС, серверных программ и средств зашиты.
Экономия на специалистах безопасности и системах обеспечения безопасности. Это самое страшное. Только специалист, имеющий многолетний опыт, может защитить систему от вторжения. Многие доверяются своим знаниям или просто конфигурируют системы с целью обучения. Но приобретать навыки надо на тестовых технических средствах, а рабочие серверы и компьютеры должны поддерживаться только специалистами.
Как скрываются хакеры
Естественное желание хакера — остаться незамеченным, и в основу любого действия положены принципы анонимности, которые мы рассматривали (см. разд. 5.4 и 5.5). Злоумышленники маскируют свой реальный IP-адрес большими цепочками прокси-серверов, а наиболее опытные — привлекают компьютеры рабов (серверы, взломанные в Интернете с целью дальнейшего использования). Проще найти раба, к которому взломщик, как правило, имеет полный доступ, и может уничтожить на его сервере всю компрометирующую информацию (журналы безопасности).
Что происходит, когда взломщики проникают в систему? Все зависит от преследуемой цели. Если это разрушение, то сокрытию следов отводится не самая важная роль, а незаметное присутствие и использование чужого мощного сервера — совсем другое дело.
На долгий срок
Если хакер стремится захватить систему па длительный срок, то он создает потайную дверь, через которую можно будет в любой момент незаметно войти и выполнять необходимые действия. Каждый раз использовать уязвимость слишком накладно и заметно. Лучше иметь что-то более завуалированное.
Проникнув в систему, хакеры чаще всего открывают на каком-нибудь порту самодельный Shell (командный интерпретатор) или забрасывают троянскую программу. Администраторы, к сожалению, очень редко проверяют открытые порты в своих системах, особенно с номерами более 10 000, потому что это не очень интересное занятие.
Оригинальным решением является поднятие прав отдельной учетной записи. Администраторы опять же не следят за уже существующими записями и быстро реагируют только на добавления новых. Например, если гостевой записи разрешить чтение/запись системной директории, то большинство администраторов заметят такие изменения не сразу, а некоторые вообше никогда не увидят.
Расширение прав для гостевой записи я привел только в качестве примера. Если у вас будет выбор, то отдайте предпочтение чему-нибудь более незаметному (например, аккаунт рядового бухгалтера или экономиста). Гостевая учетная запись редактируется достаточно часто и находится под большим присмотром, чем записи рядовых сотрудников сети.
Однажды я заметил, что на моем сервере постоянно пропадают записи из системы журналирования. Нет, это не было удаление записей, просто журнал отключался, и в него ничего не попадало. Анализ последних записей и времени завершения работы журнала показал, что выключение происходило практически сразу после входа в систему одного и того же пользователя. Оказывается, хакер поднял права доступа для этой записи, и чтобы в журнале не оставалось пометок об обращении с его стороны к системным директориям, отключал журнал.
Чистка журнала — это основа, которая позволяет хакеру остаться незамеченным. Как бы злоумышленник не прятал свой IP-адрес, его смогут найти (или хотя бы будут искать), если станет известно, что в систему кто-то проник. Если администратор не заметит, что его сервер взломали, то никто и не будет заниматься поисками злоумышленника. А если заметит, то начнется розыск, но при очищенном журнале вероятность положительного результата падает до 0, потому что главный источник определения активности хакера уничтожен. Именно поэтому злоумышленники стараются затереть все следы своего присутствия в системе.
Из истории с исчезновением журнала я сделал еще один вывод. Как и большинству администраторов, мне скучно просматривать этот документ. Специализированных систем мониторинга я не устанавливал, а стандартные средства не использовал. На моем сервере циркулирует слишком большой поток информации, запросов и т. д. Среди этого мусора увидеть обращения взломщика не так-то просто, поэтому я вообще не заглядывал в журналы безопасности.
Хакер, который взломал компьютер, был слишком осторожным, но при этом не слишком опытным, потому что лучше было бы очистить только
свои записи, а не отключать полностью журнал. Но его промах позволил мне увидеть присутствие злоумышленника.
Кратковременные вторжения мало кто заметит, поэтому не стоит забивать себе голову лишними проблемами, а лучше позаботиться о скрытии своего IP-адреса. Без этого параметра журнал транзакций не сильно поможет администратору и спецслужбам, а в случае редких и непродолжительных вторжений это сделать очень сложно.
Коротко и ясно
Если целью хакера было кратковременное вторжение для выполнения определенных действий (например, удаление или воровство файлов), то, выполнив нужные операции, он по возможности уничтожает все следы своего пребывания (чистит журналы безопасности) и навсегда выходит из системы. Такие хакеры наиболее опасны, потому что если им не удается замести следы, то они могут очистить или отформатировать весь диск.
На многих серверах стоят системы зеркалирования журналов. Тогда информация об активности сервера и пользователях попадает не только в системный, но и резервный журим, который может быть хорошо спрятан. В таких случаях хакеры в панике могут испортить весь диск, но это бесполезно. Резервная копия журнала чаше всего защищена, и если не уничтожить ее, то мошенника смогут найти по записям в этом журнале. Первым делом нужно очистить именно резервную копию, а потом уже основной журнал.
Некоторые взломщики, которые преследуют только варварские цели, не обращают внимания на системы журналирования, а перед выходом из системы просто уничтожают информацию. Благо, что таких хакеров не много. Большинство понимает, что хороший администратор сделает все необходимое, чтобы найти злоумышленника, и лучше остаться незамеченным, чем проявить себя неосмотрительными действиями.
Чем меньше хакер находится в системе, тем сложнее его потом найти. При длительном пребывании злоумышленник вольно или невольно оставляет много следов, даже если просто просматривает содержимое сервера и ничего не изменяет.
Скрываться бесполезно
Если вы съели в магазине конфетку, то вас скорей всего не будут разыскивать. Тратить деньги налогоплательщиков на поиск мелкого жулика просто сумасшествие. Но если вы украли чертежи секретной военной установки, то, поверьте мне, правительство задействует все возможные ресурсы на то, чтобы найти вас.
Точно так же и со взломом. Простую замену главной страницы сервера маленькой компании оставят без внимания. Но если это было воровство денег из банка или вторжение в военные сети, то вас обязательно найдут.
Некоторые хакеры считают, что, зашифровав жесткий диск, они обезопасят себя и правоохранительные органы не смогут найти доказательств. Это заблуждение. Допустим, что вы закрыли украденные веши в квартире за семью замками. Можно считать, что вы в безопасности? Конечно же нет. Получив разрешение на обыск, сотрудники милиции могут потребовать ключи или взломают замки. Любые усилия воспрепятствовать будут расценены как попытки помешать следствию и сделают только хуже.
Компьютер тоже может быть подвергнут обыску, и мешать этому бесполезно. Даже если злоумышленник будет утверждать, что ключ к шифру утерян, правительство может задействовать большие ресурсы для подбора пароля. Хакер усугубит свою вину и получит дополнительное наказание, если в компьютере окажутся нужные доказательства. Всем известно, что помощь следствию уменьшает срок, а любые помехи, как минимум, оставляют его неизменным, а в худшем — увеличивают.
Произошло вторжение
Самое страшное для любого администратора или пользователя компьютера — увидеть, что в систему проник злоумышленник. Что делать в этом случае?
Руководители крупных компаний, проинформированные техническими специалистами о вторжении, пытаются скрыть эту информацию и не предпринимают никаких усилий с целью выявления злоумышленника, а администраторы просто стараются избавиться от непрошеного гостя.
Многие администраторы первым делом отключают сеанс злоумышленника и только потом выясняют, как он проник в систему. Это не правильно, потому что по истечении времени вы не узнаете путь проникновения. Вероятнее всего, удастся определить учетную запись, которую он использовал, и максимум, что можно сделать, — поменять ее пароль.
А что если хакер получил доступ к учетной записи через ошибку в скрипте? В этом случае ему достаточно повторить те же действия, получить новый пароль и использовать его, пока администратор снова не увидит вторжение.
Самый хороший вариант, если сервер выполняет только одно определенное действие. Например, WEB-сервер установлен на отдельной машине, а почтовый — на другой. В этом случае легко локализовать "чувствительное" место:
□ уязвимость в ОС или сервисе — проверьте все последние отчеты об ошибках BugTraq и убедитесь, что у вас установлены все обновления;
□ пароль пользователя — определите наличие незащищенного пароля пользователя, который мог подобрать хакер;
прослушивание — поищите программу-снифер, если взлом произошел локально, возможно, пароль был получен с ее помощью;
уязвимость в конфигурации — вы неправильно настроили систему или сервис, благодаря чему оказались доступными запрещенные ресурсы, или пользователь смог повысить свои права.
Это наиболее распространенные ошибки, хотя мы уже знаем, что существуют и более изощренные и сложные методы взлома, но они производятся только профессионалами, а таких во всем мире не так уж и много.
Самый простой вариант — локальный взлом (внутри сети). Достаточно доложить об инциденте начальству, и после наказания виновного подобные случаи не повторятся. Люди всегда страдают любопытством, поэтому этот порок надо как-то сдерживать.
Если взлом был произведен извне, то вы обязательно должны сначала узнать IP-адрес обидчика, а затем ограничить его права в системе. Если он работает через простой аккаунт (учетная запись не принадлежит администратору), повысив привилегии, то вы должны установить уровень доступа в нужное состояние, чтобы хакер не натворил бед. Теперь можно и поиграть с ним.
Если хакер не испугался того, что его права были понижены, и попытается вернуть себе утраченное, то вы сможете увидеть, как это происходит. Для этого отслеживайте любые действия хакера по его IP-адресу и замеченной вами учетной записи. Ваша задача — определить лазейку, по которой он проникает в систему, и закрыть к ней доступ.
Если вы увидели, что на сервер началась атака отказа от обслуживания с помощью переполнения ресурсов, вы должны запретить прием лавины пакетов с узлов, с которых замечен интенсивный трафик. Благо, сетевые экраны сейчас есть в любой ОС. В Unix-системах (таких, как Linux или FreeBSD) сетевые экраны достаточно мощные и позволяют защититься от кого угодно. В Windows эта утилита появилась недавно и только расширяет свои функциональные возможности.
Если сетевого экрана все же нет, то придется только смиренно наблюдать, как сервер переваривает всю входящую информацию. Если нагрузка приблизится к 90 %, то я бы прервал на несколько минут соединение, чтобы переждать атаку. Если сервер зависнет, то на перезагрузку и восстановление работы может понадобиться намного больше времени. Если же отключение от сети невозможно из-за необходимости постоянной связи, то в этом случае можно только посочувствовать, потому что при такой нагрузке работа канала не может быть стабильной. Нужно было устанавливать сетевой экран, а в момент атаки это делать уже поздно.
От прослушивания трафика может помочь только шифрование. Если ваши серверные программы позволяют его использовать, то этот режим необходимо настроить заранее.
От атак типа подставной DNS-сервер или ARP-запрос администратор вообще ничего сделать не сможет. Тут уже поможет только разработчик штур-
муемой программы и обновление системы или полное отключение уязвимых сервисов.
Некоторые атаки могут производиться через отдельные просчеты в программе, например, через скрипты JavaScript, которые в этом случае следует немедленно отключить и обновить браузер. Не дожидайтесь, когда хакер воспользуется ошибкой программистов и проникнет в ваш компьютер.
Но самое страшное для администратора —- это атака с целью уничтожения (при отсутствии копий). Я на своем домашнем компьютере ежемесячно делаю резервные копии основных директорий, где хранятся мои исходные коды, документы, почта и т. д. Таким образом, если сломается жесткий диск или все удалит вирус/хакер, то максимум, что я потеряю, это месяц работы.
Некоторые администраторы вообще не задумываются о такой проблеме, Я работал в одной производственной фирме, так там регулярно создавалась резервная копия только контроллера домена, а на файловом, почтовом, WEB- сервере и сервере базы данных делали резервную копию, когда вспоминали. А это происходило раз в месяц или даже реже. С таким отношением администраторы могли лишиться всей информации, накопленной в течение многих лет, и принести бюджету своей фирмы многомиллионные убытки, А ведь потеря базы данных может привести даже к банкротству предприятия.
Зашита от нападения —- это война с хакерами, и побеждает тот, кто быстрее реагирует на изменение ситуации. Враг не спит :), поэтому всегда нужно следить за безопасностью своей системы. Атаки хакеров чаше всего проводятся массово в момент появления новой уязвимости. Это подтверждает тот факт, что 90 % хакеров — молодые ребята, которые используют чужие методы. Как только кто-то найдет новый способ, большая армия хакеров бежит его испытывать. Некоторые делают это со злым умыслом, но большинство все же просто ограничивается шалостью. Но и озорство может оказаться смертельным для компании, если будет украдена или уничтожена очень важная информация.
Если вы администрируете сервер, то в вашем арсенале должны быть все необходимые программы для выявления удаленных атак. Для домашнего компьютера такой программой может служить сетевой экран, но для сервера нужно принять дополнительные меры по мониторингу системы. Чем раньше вы заметите вторжение, тем меньше будет нежелательных последствий от взлома компьютера.
Резервирование и восстановление
Никто не застрахован от вторжения. Вы должны быть готовы "ко всему и четко спланировать ваши действия, потому что только так можно максимально быстро отреагировать в критической ситуации. Для этого вы должны заранее на тестовой системе отработать различные варианты
вторжения. Вам необходимо на практике (и в совершенстве) овладеть следующими навыками:
восстановление работоспособности ОС, включая воссоздание всех конфигурационных файлов. Если хакер оставил потайной ход, то, вернув все конфигурационные файлы, можно восстановить систему на момент взлома, и тогда потайная дверь закроется сама по себе;
восстановление баз данных и всех рабочих файлов. Атаки хакеров нередко направлены на уничтожение именно такой информации. Если утраченные файлы достаточно скопировать из резервной копии на исходное место, то для восстановления базы данных нужны дополнительные знания.
Для реализации этих двух пунктов нужно четко следовать такой политике резервного копирования, которая позволяла бы быстро производить восстановление с минимальными потерями. Существует три основные стратегии:
Если какие-то файлы изменяются редко и незначительно, то можно делать резервные копии с большими промежутками времени. Если последние изменения и будут утеряны, то за счет небольшого их объема ручное восстановление не потребует много времени.
Если данные модифицируются часто, но незначительно, тогда можно сохранять только эти изменения (например, журнал транзакций для баз данных).
Если данные изменяются часто и существенно, то выгоднее сохранять полную их копию.
Кроме этого, резервные копии необходимо делать и после каждого значи- тельного/важного изменения данных или конфигурации системы.
Резервное копирование рабочих файлов должно производиться ежедневно и не на локальный диск компьютера, а на съемные носители типа CD-R/RW, DVD, сменные диски, магнитооптику.
Если вы делаете ежедневные копии на перезаписываемые носители, то сохраняйте их в течение месяца. Только после этого можно стирать данные и записывать на их место новые. Ежемесячные копии лучше делать для постоянного хранения. В этом случае вы всегда сможете посмотреть конфигурационные файлы, которые были в системе на определенный период времени, и откатить систему в случае неудачной настройки.
Резервное копирование позволяет защититься не только от вторжения, но и от нарушений в работе системы, поломок носителей информации (жесткие диски) и т. д. Не менее часто встречающаяся ситуация — неверные действия операторов или ошибки в программах, которые также могут привести к потере информации. Когда восстановить удаленную (искаженную) информацию не удается, положение может спасти только резервная копия.
Резервирование можно автоматизировать, чтобы оно происходило в определенное время. Это удобно, но не дает гарантии целостности данных. Однажды меня попросили восстановить систему после сбоя. На сервере в конце каждого рабочего дня запускалось автоматическое резервное копирование в один и тот же файл в сетевой папке. Это значит, что в любой момент можно было откатиться на сутки назад. Ошибка, которая привела к утере данных, произошла за 12 минут до автоматической процедуры, а заметили ее только через 15 минут. В этот момент уже началось очередное резервирование, и старая копия уничтожилась, а новая — уже стала содержать испорченные данные. Таким образом, неправильно настроенная автоматика сработала во вред.
Если вы являетесь администратором сервера, то отработайте все возможные механизмы восстановления данных заранее. У вас должна быть тестовая система для изучения всех нюансов восстановления данных после аварийных ситуаций различного масштаба и степени сложности.
Модели резервирования и восстановления могут быть разразличными в зависимости от используемых программ или сервера баз данных. Следует внимательно ознакомиться с возможностями программного обеспечения, и после этого выбрать оптимальную для вас схему.
ПРИЛОЖЕНИЯПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЯ
Приложение 1. Содержимое UlFile
Приложение 2. Полезные программы
Приложение 3. Полезные ссылки
Приложение 4. Термины
Приложение 1
Содержимое UlFile
<style resid=framess>
element {
background: argb(0,0,0,0);
1 element [id=atom(contentcontainer)1 {
background: rcbmp(100,6,#FF00FF,0,0,1,0); ) button <
background: rctmp(112,6,#FF00FF,0,0,1,0); borderthickness: rect(8,8,0,8);
</style>
<style resid=toppanelss>
element
( background: argb(0,0,0,0); fontface: rcstr(l);
)
element [id=atom(toppanel)]
(
background: argb(0,0,0,0);
11 Зак 923
element [id=atom(divider)]
background: argb(0,0,0,0);
}
element [ id=atcm (product) ]
(
animation: alpha ] s | mediumslow;
}
element [id=atom(toppanel))
{
foreground: rgb(239,247,255);
) element [id=atom(welcome)] {
fontstyle: italic ;
fontsize: rcint(44) pt; fontweight: bold;
padding: rect(Orp,Orp,22rp,0); contentalign: topright;
}
element [id=atom(welcomeshadow)]
<
foreground: rgb(49,81,181};
fontstyle: italic;
fontsize: rcint(44) pt; fontweight: bold;
padding: rect(2rp,3rp,20rp,0); contentalign: topright;
)
element[id=atom(help)]
(
fontsize: rcint(45) pt;
padding: rect(140rp,141rp,0,0); contentalign: wrapright;
}
</style>
<style resid=botcoirpanelss> element
background: argb(0,0,0,01; ) element (id=atom(bottampanel)]
background: argb10,0,0,0); //gradient(argb(0,57,52,173), argblO,0,48,156), 0);
fontface: rcstr(2);
) element [id=atom(divider)] {
//background: rcbtp(126,6, SFF00FF,0,0,1,0);
background: argb(0,0,0,0);
1
element [ id=atoni( options) ]
padding: rect(25rp, 20rp, 25rp, 20rp) ;
} button
fontsize: rcint(42) pt;
foreground: black;//whi te; cursor: hand;
} button [mousefocused] (
fontstyle: underline;
)
button [keyfocused]
fontstyle: underline;
element [id=atom(instruct)]
contentalign: wrapleft;
padding: rect(18rp,0,0,0);
fontsize: rcint(43) pt; foreground: white;
</style>
<style resid=leftpanelss> element
(
background: argb(0,0,0,0);
fontface: rcstr(1);
1
</style>
<style resid=rightpanelss> element
background: argb{0,0,0,01;
}
</style>
<style resid=hotaccountlistss> element
background: argb(0,0,0,0); fontface: rcstr(3);
} logonaccount
{
ta*f
■1
<^ЙЙ
■>wtv:n ' । • tXnj
cursor: hand;
animation: alpha | log | fast
"H> ‘ -"a '
) logonaccount [logonstate=l] {
animation: rectangle | s | mediumfast cursor: arrow;
alpha:255;
к
) logonaccount [mousewithin] {
UC ^.o^ct
cursor: hand;
background: rchnp(112,6,#FF00FF,0,0,1,0);background: rchnp(112,6,#FF00FF,0,0,1,0);
background: rchnp(112,6,#FF00FF,0,0,1,0);
background: rchnp(112,6,#FF00FF,0,0,1,0);
—
alpha:255;
1 logonaccount [selected] {
cursor: hand;
alpha:255;
) element [id=aton!userpane)]
(, .^e^KioU* is
padding: rect(2rp,2rp,14rp,2rp); borderthickness: rect(0,0,0,01; bordercolor: rgb(43,102,159);
fontsize: rcint(45) pt;
element (id=atom(userpane)1(selected]
{
logonaccount [selected]
(:- 'fNbr*i
alpha: 255; } element [id=atam(pictureframe)] 1
background: rchnp{113,6,#FF00FF,0,0,1,01; borderthickness: rect(5,5,5,5); margin: rect(0,0, 7rp,0); alpha: 96;
element [id=atom(pictureframe)] [mousefocused] {
background: rctmp(119,6,#FF00FF,0,0,1,01; borderthickness: rect(5,5,5,5); margin: rect(0,0,7rp,01; alpha: 255;
element [id=atcm(pictureframe)] [selected]
background: rcfcmp(119,6,#FF0QFF,0,0,1,0); borderthickness: rect(5,5,5,5);
margin: rect(0,0,7rp,0);
alpha: 255;
)
element [id=atom(username)]
(
foreground: rgb(0,0,0);//rgb (101,121,173); contentalign: endellipsis;
}
element [id=atom(username)] [mousefocused]
foreground: rgb(0,0,0);
contentalign: endellipsis;
)
element [id=atom(username)] [selected] {
foreground: rgb(0,0,0);
contentaligni endellipsis;
}
button [class="status"]
{.
background: argb(0,0,0,0);
foreground: rgb(0,0,0);//rgb(255,255,255);
fontsize: rcint(46) pt;
fontweight: bold;
}
button [class=’status"][mousefocused]
fonts tyle: under1ine;
)
button [class="status"][keyfocused] (
fontstyle: underline;
button [class="status"][selected] {
foreground: rgb(239,247,255);
} element (id=atom(username)J {
foreground: rgb(239,247,255); contentalign: endellipsis;
} button [class®"status* 1 (
background: argblO,0,0,0); foreground: rgb(255,255,255); fontsize: rcint(46) pt; fontweight: bold; contentalign: wrapleft; ) button [class="status"][mousefocused] { fontstyle: underline; }
button [class="status"][keyfocused] (
fontstyle: underline;
}
button [class®"status"](selected]
foreground: rgb(Q,0,0);//rgb(239,247,255);
fontsize: rcint(46) pt; ^i^T. pftti£X3^\Attt,npfr- fontweight: bold;
)• r.-r^.Z^
t t; ^Н-ЛвйЛ ?»#??Г>"*1
</style>
<style resid=passwordpaness> element
( background: argb(0,0,0,0);
}
element [id=atom(passwordpanelayer)]
padding: rect(71rp,0,0,0);
)
element [id=atorn(instruct)] (
fontface: rcstr(48);fontsize: rcint(47) pt; foreground: black;//white;padding: rect(3rp,0,0,3rp);fontface: rcstr(48);fontsize: rcint(47) pt; foreground: black;//white;padding: rect(3rp,0,0,3rp);cursor: arrow;margin: rect(5rp,0,0,0)cursor: arrow;margin: rect(5rp,0,0,0)) button [id=atom(go)){) button [id=atom(go)){) edit [id=atom(password)]() edit [id=atom(password)]() button (id=atom(go)](keyfocused] () button (id=atom(go)](keyfocused] (background: rcbnp(102,6,#FF00FF,0,0,1,0); borderthickness: rect(3,3,5,5); passwordcharacter: 9679; fontface: ”arial•; fontsize: 16pt;
fontface: rcstr(48);
fontsize: rcint(47) pt; foreground: black;//white;
padding: rect(3rp,0,0,3rp);
fontface: rcstr(48);
fontsize: rcint(47) pt; foreground: black;//white;
padding: rect(3rp,0,0,3rp);
cursor: arrow;
margin: rect(5rp,0,0,0)
cursor: arrow;
margin: rect(5rp,0,0,0)
) button [id=atom(go))
{
) button [id=atom(go))
{
) edit [id=atom(password)]
(
) edit [id=atom(password)]
(
) button (id=atom(go)](keyfocused] (
) button (id=atom(go)](keyfocused] (
margin: rect(5rp,0,0,0);
content: rcbmp(103,3,-1,26rp,26rp,0,0);
padding: rect(0rp,Irp,0,Irp);
content: rcbmp(104,3,-l,26rp,26rp,0,0);
} button [id=atom(info)] ( margin: rect(5rp,0,0,0);
content: rclxnp(105,3,-l,28rp,28rp,0,0)
У button [id=atom(info)][keyfocused] {
content: rctxnp(106,3, -l,28rp, 28rp,0,0) } element [id=atom(keyboard)] t (
JOT.
( background: dtb(handlemap(1), 1, 1) ? width: sysmetric(2); height: sysmetric(20);
repeatbutton [id=atom(lineup)][mousefocused] ( background: dtb(handlemapU), 1, 2);
repeatbutton (id=aton (lineup)][pressed] ( background: dtb(handlemap(1), 1, 3);
}
repeatbutton (id=aton(linedown))
background: dtbfhandlemap(1), 1, 5); width: aysmetric(2);
height: sysmetric(20};
)
repeatbutton [id=a torn (linedown)][mousefocused)
{ background: dtb(handlemap(1), 1, 6);
)
repeatbutton [id=atcm(linedown))[pressed]
( background: dtb(handlemap(l), 1, 7);
repeatbutton (id=atom(pageup)]
background: dtb(handlemap(l), 7, 1);
}
repeatbutton [id-atom(pageup)][mousefocused]
background: dtb(handlemapd) , 7, 3);background: dtb(handlemapd) , 7, 3);
background: dtb(handlemapd) , 7, 3);
background: dtb(handlemapd) , 7, 3);
■■ v -.ч" i *<1 up’■ sewDuut Дки'л; z’ i
repeatbutton [id=atom(pagedown)) background: dtb(handlemap(1), 6, 1); } repeatbutton [id=atom(pagedown)][mousefocused] ( background: dtb(handlenap(1), 6, 2);
}
repeatbutton [id=atom(pagedown)][pressed! background: dtb(handlemap(1), 6, 3);
«/style*
«logonframe resid=main id=aton( frame) sheet=styleref(framess) layout= borderlayout() layoutpos=client> «element id=atom(contentcontainer) layout=borderlayout() layoutpoa=client>
«element id=atom(toppanel) sheet=styleref(toppanelss) layout= borderlayout() layoutpos=top height=80rp> «element id=atom(logoarea) layout= verticalflowlayout(0,3,3,2)>
«elenent id=atom(product) contentalign=topright padding= rect (lOrp, Orp, 20rp, 20rp) />
«element id=atom(help) contentalign=wrapright width= Irp padding=rect(0rp,0rp,40rp,0rp)/> </element* <el@nent id=atan (msgarea) layout=verticalflowlayout(0,0,0,2) >
«element layout=filllayout() width=384rp*
«el ement id=atom(we1comeshadow) content=rcstr(7)/>
«element id=atom(welcome) content=rcstr(7)/> «/element*
«/element*
«element id=atcm (divider) layoutpos=bottom height=2rp/*
«/element*и
«element id=atom(bottompanel) sheet=styleref(bottompanelss) layout= borderlayout() layoutpos=bottom>
«element id=atom(divider) layoutpos=top height=2rp/>
«element id=atom(options) layout=borderlayout() layoutpos=client* «element 1ayout=borderlayout() layoutpos=left>
«button id=atom(power) layout=borderlayout() layoutpos= top accessible=true accRole=43 accName=rcstr(11)*
«element layoutpos=left content=rcbmp(107,3,- l,26rp,26rp,0,0) /*
«element id=atom(label) layoutpos=client margin^ rect(2rp,0,0,0)/>
«/button*
«button id=atom(undock) layout=borderlayout() layoutpos= top margin=rect(0,2rp,0,0) accessible=true accRole=43 accName=rcstr(14)* «element layoutpos=left content= rctnp(108,3,-l,26rp,26rp,0,0)/>
«element id=atom(label) layoutpos= client margin=rect(2rp,0,0,0)/>
«/button*
«/element*
«element id=atom(instruct) layoutpos=right content=rcstr(25) width=325rp/>
«/element*
«/element*
«element id=atom(contentcontainerO) layout=
flowlayout(1,3,2,3) layoutpos=client content=argb(0,0,0,0)*
«element id=atom(leftpanel) sheet= styleref(leftpanelss) layoutpos=left*
«/element*
«element id=atom(rightpanel) sheet=
styleref(rightpanelss) 1ayout=borderlayout() layoutpos=left width=920rp*
«element id=atom(divider) layoutpos=left width=lrp/*
«scrollviewer id=atcm(scroller) sheet= styleref(scroller) layoutpos=client xscrollable= false margin-rect(Orp,Orp,Orp,Orp)>
«selector id=atctn(accountlist)
sheet=styleref(accountlistss} layout=verticalflowlayout(0,3,3,2)/*
</scrollviewer*
</element*
</element*
«/element*
</logonframe*
«logonaccount resid=accountitem id=atom(accountitem) layout=filllayout() accessible=true accRole=43>
«element id=atom(userpanelayer) layout=borderlayout() height=8 Orp* «element id=atom(userpane) layout=borderlayout() layoutpos=top* «element id=atcm(pictureframe} layout^flowlayout(0,2,2) lay- outpos=left width=58rp height=58rp>
«element id=atcm (picture) /*
«/element*
«element id=atom(username) layoutpos=top/*
«button id=atcm(statusO) class="status" layoutpos=none/* «button id=atom(status1) class="status" layoutpos=none/* «/element*
«/element*
«/logonaccount*
«element resid=passwordpanel id=atcm(passwordpanelayer) sheet= styleref(passwordpaness) layout=borderlayout() height=80rp*
«element 1ayout=border1ayout() 1ayoutpos=bottom*
«edit id=atom(password) layoutpos=left width=163rp/>
«element id=atom(keyboard) layoutpos=left/>
«button id=atcm(go) layoutpos=left accessible=true accRole= 43 accName= rcstr(lOO)/*
«button id=atom(info) layoutpos=left accessible=true accRole= 43 accName= rcstr(13}/*
«/element*
«element id=atom(instruct) layoutpos=bottom content=rcstr(6)/*
«/element*
Приложение 2
Полезные программы
CyD Careful Observer (www.cydsoft.com) — программа следит за соединением с указанными компьютерами, и если соединение разорвалось, то появляется соответствующее сообщение, звук, отправка E-mail, выполнение программы или перезагрузка компьютера.
CyD NET Utils (www.cydsoft.com) — отличный, быстрый и удобный набор сетевых утилит для любого хакера и администратора. Позволяет проверять связь с удаленными компьютерами (Ping), сканировать открытые порты (запушенные сервисы), сканировать открытые ресурсы и т. д.
John the Ripper (http://www.openwall.com/john/) — программа подбора паролей для Unix-систем.
Internet Scanner (www.iss.net) — один из лучших сканеров безопасности. Входит в комплект утилит SAFEsuite, который включает в себя множество программ по тестированию безопасности и выявлению вторжения.
Password Pro (http://www.insidepro.com/) — программа подбора паролей для U nix-систем.
Postman (www.cydsoft.com) — программа для рассылки сообщений со встроенным SMTP-сервером, что позволяет отправлять письма с поддельным электронным адресом.
PWLinside (http://www.insidepro.com/) — программа подбора паролей для Windows 9х-систем.
SAMinside (http://www.insidepro.com/) — программа подбора паролей для Windows NT-систем.
SockChain (http://www.ufasoft.com/socks/) — позволяет строить цепочки из Proxy- и Socks-серверов, обеспечивая анонимность при работе в сети.
Shadow Scan (http://www.rsh.kiev.ua/) — отличная программа с большим количеством возможностей для тестирования системы на уязвимости. Программа удобна на этапе сбора информации о системе и для подбора пароля
по словарю.
NT Crack (http://archivedaru.hypermart.net/winnt_hacking/Ntcrack.zip) — отменная программа проверки NT на вшивость. Если вы хотите взломать Windows-сервер, то она должна быть в вашем арсенале, ну а если защитить, — то тем более.
NT Bugs (hhttp://archivedaru.hypermart.net/winnt_hacking/Ntbugs.zip) — довольно приличного размера описание уязвимостей Windows-сервера. Если вы владеете буржуйским языком, то просто обязаны ознакомиться с ними.
LC3 (http://www.l0pht.com/i0phtcrack/dist/lc252insta)l.zip) — самый знаменитый и один из лучших подборщик паролей для NT-систем.
Restoraior (http://www.bome.com/Restorator/) — наиболее популярная и удобная утилита для редактирования ресурсов программ.
Retina Network Security Scanner (http://www.eeye.com/) — хороший сканер безопасности.
t
Полезные ссылки
www.cert.org — стоящий сервер, на котором есть раздел с описанием уязвимостей. Информация иногда поступает с задержкой, но очень хорошо описана.
www.securityfocus.com — еще один сайт с описанием уязвимостей. www.2600.com — самый знаменитый журнал для хакеров. http://www.defcon.org/ — самая любимая тусовка хакеров. www.opensource.org/for-hackers.html — открытые проекты для хакеров. www.kaspersky.com — сайт лаборатории Касперского, где можно узнать все о вирусах.
Приложение 4
Термины
ASP — язык сценариев от корпорации Microsoft, который работает на платформе Windows.
CGI (Common Getaway Interface) — интерфейс, с помощью которого разрабатываются программы для WEB-серверов на таких языках, как Perl, С, Delphi и др.
Cookies — технология, которая позволяет WEB-сайтам сохранять какую- либо информацию на жестком диске пользователя.
DNS — иерархическая распределенная база данных, содержащая сопоставления IP-адреса компьютера с его доменным именем.
Firewall — сетевой экран, который позволяет защищать компьютер или целую сеть от вторжения. Основой этой защиты является фильтрация пакетов на основе определенных правил.
FTP — протокол передачи файлов по сети.
Hub (концентратор) — устройство, с помощью которого компьютеры объединяются в сеть кабелем витая пара. При этом все пакеты, приходящие на один порт концентратора, тиражируются на все остальные, т. е. пересылаются всем компьютерам, подключенным к устройству.
IP-адрес —• адрес узла (устройства или компьютера) в сети размером в 32 бита. В ближайшее время намечается переход на новую версию IP- протокола, который имеет большую длину адреса, и можно использовать в сети намного больше устройств.
MAC-address (Media Access Control address) — уникальный 48-разрядный идентификатор, который присваивается каждому сетевому адаптеру производителем.
PHP — язык сценариев для WEB-страниц. Этот язык в последнее время набирает все большую популярность, потому что его реализация существует для всех основных платформ, и при этом достаточно прост и удобен.
RFC (Request For Comments) — сборник материалов (технических отчетов, проектов протоколов и описаний стандартов протоколов), используемых разработчиками и пользователями Интернета. Например, в RFC описана реализация протокола SMTP, и при использовании данного протокола в своих программах желательно следовать этим рекомендациям.
Switch (коммутатор) — устройство, с помощью которого компьютеры объединяются в сеть через кабель типа витая пара. При этом пакеты, приходящие на один порт, отправляются только на порт, к которому подключен компьютер-получатель. Таким образом усложняется прослушивание чужого трафика.
Анонимный доступ — доступ к серверу, который не требует авторизации. В случае с FTP надо указать в качестве имени "Anonymous", а вместо пароля — свой E-mail. При таком логине пароль не проверяется, поэтому можно указывать любой почтовый адрес, главное, чтобы формат бал правильный. С таким доступом чаще всего права ограничены, и вы сможете только просматривать открытую информацию. Изменять и удалять, в основном, запрещено, и никаких важных данных вы не увидите.
Датаграмма — пакет данных, для отправки которого в сеть не требуется устанавливать соединение, и отправитель не получает подтверждения об удачной доставке данных.
Демон — серверная программа, которая работает в фоновом режиме и предназначена для выполнения каких-либо действий. Этот термин применяется в unix-средах. В конце названия таких программ, как правило, стоит буква "d".
Для WEB-сервера это должна быть программа, которая загружена в памяти и ждет подключения на 80 порт (это по умолчанию, но порт может быть изменен). Как только клиент подсоединился, демон начинает принимать запросы и отвечать на них. Но демоны бывают не только сетевые, потому что к этой категории невозможно отнести, например, демон печати.
Контрольная сумма — число, которое рассчитывается по определенному алгоритму, по нему можно определить целостность данных.
Порт сетевой — интегрированная комплексная инфраструктура для обмена данными с клиентскими компьютерами и другими серверами. Каждая сетевая программа при старте открывает для себя любой свободный порт. Есть и зарезервированные: FTP — 21 порт, HTTP — 80 и т. д. Теперь представим ситуацию, когда на сервере запущены два сервиса (FTP и WEB). Это значит, что на сервере работает две программы, к которым можно подключаться по сети. Если вы хотите присоединиться к FTP-серверу, то посылаете запрос по адресу ХХХ.ХХХ.ХХХ.ХХХ и на порт 21. Сервер по номеру порта определит, что запрос относится именно к FTP-серверу, а не WEB.
Так что сетевые порты — это что-то виртуальное, что увидеть невозможно. Их наличие позволяет компьютеру определить, для кого именно пришел сетевой запрос.
Сервисы — программы для Windows, аналогичные демонам в Unix.
Сплоит — программа, которая - умеет пользоваться какой-нибудь уязвимостью. Если он написан под *nix, то может поставляться в исходных кодах. В этом случае перед запуском потребуется компиляция.
Троянская программа — программа, которая незаметно сидит в системе жертвы и позволяет управлять его компьютером. Такие программы чаше всего состоят из двух частей — клиент и сервер. Сервер забрасывается на компьютер жертвы и запускается. Затем с помощью клиентской части можно подключаться к серверу и заставлять его выполнять определенные действия. Бывают троянские программы, состоящие только из серверной части. Когда жертва запускает такой файл, троян выполняет свои функции (например, пересылает все найденные пароли в Интернет), а после этого может само- уничтожиться.
Описание компакт-диска
Папки
Описание
\Chapter1
Программы, описанные в первой главе, и файлы, которые помогут украсить Windows и Internet Explorer
\Chapter2
Файлы, использованные в материалах второй главы
\Chapter2\Login
Программы входа в Windows ХР
\Chapter4
Программа CyD Archiver ХР, позволяющая сделать архивы недоступными
\Chapter5
Программы и файлы, использованные в материалах пятой главы
\Soft
Демонстрационные программы от CyD Software Labs и программа Restorator. Большинство из них использовались для . подготовки материала книги
Внимание
Программы StyleBuilderlnstall.exe и StyleXPInstallFemale.exe, находящиеся в папке Chapterl, работают только в Windows ХР.
Внимание
Запускать ехе-файлы из папки Chapter2\Login вручную не рекомендуется, так как эти программы должны устанавливаться в системе. Подробности установки программ описаны в гл. 2.
Фленов М. Е. Программирование на C++ глазами хакера. — СПб.: БХВ- Петербург, 2004.Фленов М. Е. Программирование на C++ глазами хакера. — СПб.: БХВ- Петербург, 2004.Фленов М. Е. Программирование в Delphi глазами хакера. — СПб.: БХВ- Петербург, 2003.
Фленов М. Е. Программирование на C++ глазами хакера. — СПб.: БХВ- Петербург, 2004.
Фленов М. Е. Программирование на C++ глазами хакера. — СПб.: БХВ- Петербург, 2004.
Рубрика "Кодинг" журнала "Хакер" (Гэймлэнд) — всегда содержит полезные советы и примеры на C++ и Delphi.
http://www.vr_online.ru — сайт для программистов и администраторов, где можно найти много дополнительного материала и шуточных примеров.
www.xakep.ru — сайт журнала хакер, содержит материалы схожей тематики, а также статьи автора книги.
s=* - ^ ^-^ ——, -Ц—-.—^.-
к-м-н w .^ии^^^Ф^Ч1» к мм**!»'
->'»л>^в дя^м^те th^J^^wnt.'4^ tonsn jv i.MMifci^i wp’.’-«c-a Оа1б»л^вме)!у.- м
Предметный указатель
А
Active Desktop 170
ActiveX 28, 44
ARPA 13
ARPANET 5, 14
ATX-корпус 94, 97
8
BBS 122
BIOS 141
Blue Box 14
D
Dewa Soft [18
DNS 15
F
FIDO 5
FSB-шина 147
H
H ЕХ-редактор 206
HTML-страница 45
I
IDE-устройство 144
IP-адрес 104
К
Kensington Lock 186
О
OEM 24
Open Source 6
OpenPGP 184
P
PGP 16, 184
PS/2-разъем 94
PS-Speaker 96
R
Recycled 187
RJL Software 116
s
SAM 174
Screen Saver 179
T-
TCP/IP 15
Tray 34
u
UNIX-системы 5
URL-адрес 128
WWindows:кэш драйверов 170настройкибезопасности 178оформление 28 сервис Messenger 102WWindows:кэш драйверов 170настройкибезопасности 178оформление 28 сервис Messenger 102ААвтозагрузка 122, 132, 167Авторские права. См. система защитыАнимация 18, 90Антивирус 119Архитектура процессора 31Ассемблер 203ББайт-код 70Библиотека:ComCtl32.dll 29, 32 shell32.dll 89 shellstyle.dll 85 User32.dll 29 uxtheme.dll 39ВВентилятор 99, 149Взлом 5Вирус 5, 119способы распознавания 130 тело 121Вложение: псевдорасширение 126Восстановление 187, 188 ручное 190 утилиты 189ААвтозагрузка 122, 132, 167Авторские права. См. система защитыАнимация 18, 90Антивирус 119Архитектура процессора 31Ассемблер 203ББайт-код 70Библиотека:ComCtl32.dll 29, 32 shell32.dll 89 shellstyle.dll 85 User32.dll 29 uxtheme.dll 39ВВентилятор 99, 149Взлом 5Вирус 5, 119способы распознавания 130 тело 121Вложение: псевдорасширение 126Восстановление 187, 188 ручное 190 утилиты 189
W
Windows:
кэш драйверов 170
настройки
безопасности 178
оформление 28 сервис Messenger 102
W
Windows:
кэш драйверов 170
настройки
безопасности 178
оформление 28 сервис Messenger 102
А
Автозагрузка 122, 132, 167
Авторские права. См. система защиты
Анимация 18, 90
Антивирус 119
Архитектура процессора 31
Ассемблер 203
Б
Байт-код 70
Библиотека:
ComCtl32.dll 29, 32 shell32.dll 89 shellstyle.dll 85 User32.dll 29 uxtheme.dll 39
В
Вентилятор 99, 149
Взлом 5
Вирус 5, 119
способы распознавания 130 тело 121
Вложение: псевдорасширение 126
Восстановление 187, 188 ручное 190 утилиты 189
А
Автозагрузка 122, 132, 167
Авторские права. См. система защиты
Анимация 18, 90
Антивирус 119
Архитектура процессора 31
Ассемблер 203
Б
Байт-код 70
Библиотека:
ComCtl32.dll 29, 32 shell32.dll 89 shellstyle.dll 85 User32.dll 29 uxtheme.dll 39
В
Вентилятор 99, 149
Взлом 5
Вирус 5, 119
способы распознавания 130 тело 121
Вложение: псевдорасширение 126
Восстановление 187, 188 ручное 190 утилиты 189
сервисы 29, 134, 160
свойства 136
управление 134
служба шифрования 183
стиль 28, 29
темы 29, 70, 111
точка восстановления 171
эффекты 169
—
Г
Горячие клавиши 7
д
Дамп памяти 168
Дефрагментация 116, 159
Джампер 152
Дизассемблер 204
Драйвер 27
3
Загрузка 38, 143
Загрузчик 82
Защита 172
мнимая 182
ранжирование информации 183
серийный номер 200
шифрование 182
И
Имя компьютера 104
Интернет 5
Интерфейс 12
Исполняемый код 11, 50
Исполняемый файл 121
заголовок 121
размер 121
точка входа 121
К
Ключ 182
закрытый 184
открытый 184
Кнопка:
Print Screen 105
Пуск 100
Команда:
net send 100
rcbmp 81
rcstr 81
Компьютер 9
Корзина 187
Корневой каталог 130
Коэффициент умножения 151
Крэкер 5
Л
Логотип 20, 24, 28
м
Манифест 29, 31
Материнская плата 96
Монитор 97, 98
Мышь:
для левши 95
настройки 95
оптическая 94
н
Национальный язык ПО
О
Обновления:
BIOS 146
драйверов 158
ОС 124
Окно:
заголовок 58
конструктор 78
стиль 58, 78 элементы 58 Оптимизация 141 Открытые ресурсы 177 Отправка сообщений 103
п
Палитра 45, 69, 82
Параметры
рабочая область 77
Пароль: хранение 174 BIOS 182 открытые ресурсы 176 смена 174 создание 173 файл 180 администратора 106 Почтовый ящик 127 Прикрепленный
файл. См. вложение Принтер 97, 102 Программа:
Ad-aware 138
Boot Editor 44
Borland Resource Workshop 63 CyD Animation Studio 90 CyD Archiver XP 180 CyD Careful Observer 104 DiskProbe 190
EasyRecovery 189 explorer.exe 179 File Monitor 203 File recovery 189 Floppy madness 117 GIF Studio Pro 90 Key Panic 118 logonui.exe 74 msconfig.exe 130 PowerStrip 158 PTSDiskEditor 190 Radeon Tweaker 159 Regmon 201
Restorator 49 scandisk.exe 134 styleBuilder 33, 40 styleXP 33 The Bat 124 Turbo Debugger 205 UxTheme Util 39 W32dASM 204 WinBinds 29
Windows Total Commander 110 winHex 190 входа 73 с открытым кодом 8 снифер 183 специальная 18, 28 троянская 173 шуточная 9
Программист 7, 11, 12, 13 Профессионал 8
Р
Разгон 147
видеокарты 158 принцип 152 процессора 151
Разграничение прав 176 Редактор ресурсов 51, 55, 92 Реестр 17, 18, 21, 22, 46 редактирование 137 сервисы 137 ссылки 133 экспорт 23
Ресурсы 49 акселератор 62 визуальное■
редактирование 59, 63 изображений 68 меню 65
окна диалога 66
строки 68
диалоговое окно 56 изображения 63 иконки 59
кнопки 60 компилятор 54 компоненты 112 меню 53, 54 надписи 59 просмотра 59 рабочий стол 86 разделы 50 размещение 50 редактирование 51 строка 62 хранение 50
Сетевое окружение 138
Сжатие файла 90
Система зашиты 9
Системные директории 130
Скрытый файл 180
Слот 96
Служба. См. Windows сервис
Стиль 35
Схема загрузчика 37
Счетчик запуска 201
Таблица цветов 82
Творец 5
Тема 36
Темы Windows 73
Технология:
доступа к данным 12
работы 12
Тюнинг 1
методы 2
IE 17
У
Учетная запись:
имя 184
управление 184
LNG 110MNU 110MP3, 46PAL 82WMA46XML 31ZIP 181Фрикер 14XХакер 8цЦветовая схема 36чЧастота шины 151LNG 110MNU 110MP3, 46PAL 82WMA46XML 31ZIP 181Фрикер 14XХакер 8цЦветовая схема 36чЧастота шины 151эЭлементы управления 28 стандартные 29ЯЯзыки программирования 12, 13Borland Delphi 13С 13C++ 13Ярлык 105эЭлементы управления 28 стандартные 29ЯЯзыки программирования 12, 13Borland Delphi 13С 13C++ 13Ярлык 105
LNG 110
MNU 110
MP3, 46
PAL 82
WMA46
XML 31
ZIP 181
Фрикер 14
X
Хакер 8
ц
Цветовая схема 36
ч
Частота шины 151
LNG 110
MNU 110
MP3, 46
PAL 82
WMA46
XML 31
ZIP 181
Фрикер 14
X
Хакер 8
ц
Цветовая схема 36
ч
Частота шины 151
э
Элементы управления 28 стандартные 29
Я
Языки программирования 12, 13
Borland Delphi 13
С 13
C++ 13
Ярлык 105
э
Элементы управления 28 стандартные 29
Я
Языки программирования 12, 13
Borland Delphi 13
С 13
C++ 13
Ярлык 105
Ф
Файл: autoexec.bat 130 boot.act 82 boot.ini 37 boot.pal 82 BootEditor.exe 44 driver.cab 171 explorer.exe 86, 113 Floppy.exe 117 luna.msstyles 70 mouse_pad.inf 27 ntdetect.com 130 ntoskrnl.exe 45, 82 oeminfo.ini 24 sysoc.inf 167 WCMD_RUS.lng 110 WCMD_RUS.mnu 110 win.com 107 wvleft.bmp 46 скриптовый 75
Файловый менеджер 109 Фон 20
Форм-фактор 148 Формат файла 18
ACT 82
AVI 18, 90 ВАТ 106 BMP 18 CSS 85 GIF 18, 90 HTT 46
^•N^W*^ #r*№^• ■ ; 'У Ч^'' dt-ZTP
ГРУЗАМИ СВОЙ МОЗГ
www.bhv.ruwww.bhv.ruФленовМ.
www.bhv.ru
www.bhv.ru
Программирование на C++ глазами хакера(+CD-ROM)
Магазин "Новая техническая книга"
СПб., Измайловский пр., д. 29, тел. (812) 251-41-10
Отдел оптовых поставок
e-mail: opt@bhv.spb.su
Автор рассматривает множество нестандартных приемов программирования и примеры использования недокументированных возможностей языка C++ при разработке шуточных программ и сетевых приложений, раскрывает некоторые секреты, которые могут помочь при создании программ диагностики сетей, управления различными сетевыми устройствами и просто при повседневном использовании интернет- приложений.
Знакомство с приемами и алгоритмами, которые ис
пользуют хакеры для написания своих утилит, позволит вам создать собственную надежную систему обороны.
Для эффективного освоения материала вам понадобятся минимальные знания C++ и начальные навыки общения с компьютером и мышью, а книга поможет познать хитрости хакеров и секреты профессиональных программистов.
Компакт-диск содержит исходные коды примеров и откомпилированные программы, а также популярные приложения компании CyD Softwere Labs.
Фленов Михаил, профессиональный программист. Работал в журнале "Хакер", в котором несколько лет вел рубрики "Hack FAQ" и "Кодинг для программистов", печатался в журналах "Игромания" и "Chip-Россия". Автор бестселлеров "Библия Delphi", "Программирование в Delphi глазами хакера".
www.bhv.ruwww.bhv.ruФленовМ.
www.bhv.ru
www.bhv.ru
Программирование в Delphi глазами хакера(+CD-ROM)
Магазин "Новая техническая книга"
СПб., Измайловский пр., д. 29, тел. (812) 251-41-10
Отдел оптовых поставок
e-mail: opt@bhv.spb.su
Возможно, эта книга изменит ваше мнение о хакерах как об одаренных взломщиках, не имеющих никаких запретов и проникающих в любые сети и компьютеры. На самом деле, девиз настоящих хакеров "Не навреди", хотя они вовсе не против пошутить и "приколоться" не совсем обычными способами. Автор представляет множество примеров шуточных программ и сетевых приложений, знакомит с нестандартными приемами программирования на языке Delphi, раскрывает некоторые секреты, которые могут помочь при создании программ диагностики сетей, управления различ
ными сетевыми устройствами и просто при повседневном использовании ин- тернет-приложений. Книга поможет вам пройти путь от начинающего программиста до продвинутого пользователя и познать хитрости хакеров и секреты профессиональных программистов.
Компакт-диск содержит исходные коды программ, книгу "Библия Delphi", копию сайта автора.
Фленов Михаил, профессиональный программист. Работал в журнале "Хакер", в котором несколько лет вел рубрики "Hack FAQ" и "Кодинг для программистов", печатался в журналах "Игромания" и "Chip-Россия". Автор бестселлеров "Библия Delphi", "Программирование на C++ глазами хакера".