Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
20.04.2024
Размер:
10.7 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

w Click

 

Ýòî ôàêò.m

Ведь господа Касперские, Соломоны и Лозин-

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

df-xchanские помогут тебе, вирусмейкеру, если твое детище вы-

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

e

 

явлено, стреножено и каст... тьфу, ты... препарировано =). Основной ущерб от вирусов будет только тогда, когда они сработают синхронно на большом количестве машин, после этого их уже можно лечить и убивать сколько вздумается: они ведь свое дело сделали. Да и вирусыдолгожители в современном мире вряд ли возможны. Волшебников не бывает, поэтому код нашего вируса - платформенно зависим и должен работать вне зависимости от своего положения в зараженной программе. Также в нем (на то он и вирус!) нельзя использовать динамические библиотеки (даже С runtime) и выделять память под глобальные переменные в сегменте данных. С другой стороны, это не могут быть и вирусы-демоны, так как с ними просто бороться: в конце концов, можно явно оговорить список разрешенных процессов.

В рамках этой статьи разберем заражение исполняемых файлов, но никакого кода не жди: я не преследовал цели научить писать вирусы, да и статья не об этом. Все будет вкратце и общих словах. Итак, для исполняемых файлов и библиотек используется формат ELF. Форма ELF’a описана в файле /usr/include/elf.h. Советую тебе внимательно ознакомиться с содержимым этого файла, чтобы представлять себе в дальнейшем, о чем идет речь. Все исполняемые файлы, созданные ld, всегда отображаются в одну и ту же область памяти. Заголовок программы лежит по адресу 0x08048001, хотя это и не является постоянной величиной. В принципе распределение памяти зависит от параметров, с которыми при создании файла запускался ld, но все почему-то используют параметры по умолчанию. Это облегчает вирусмейкеру задачу. Вообще, ld всегда создает исполняемые файлы со структурой:

1 - Заголовок ELF (Elf32_Ehdr)

2 - Заголовок программы (Elf32_Phdr)

3 - Интерпретатор программы (если слинковано динамически)

4 - Сегмент кода

5 - Сегмент данных

6 - Заголовок секций (Elf32_Shdr)

Весь файл от начала до конца загружается в единый сегмент, называемый «code» или «text». Код, производимый gcc, мало пригоден для вирусов, так как он не может работать в любом месте программы, поэтому внедрить получается только asm. Самое сложное при написании вируса - сохранение работоспособности зараженной программы. Для заражения надо рассчи- тать количество свободного места под код вируса, вставить вредоносный код между сегментом кода и сегментом данных. Также нужно модифицировать и настроить код вируса на реальную входную точку программы, изменить входную точку на входную точку вируса и модифицировать заголовок программы так, чтобы вирус был включен в сегмент кода, перенастроив все последующие указатели и записав модифицированный файл. Модификация входной точки состоит в изменении адреса, с которого должно начинаться выполнение программы - e_entry. Этот новый адрес должен быть равен сумме базового виртуального адреса p_vaddr и размера старого сегмента кода в файле p_filesz. Эти адреса можно взять из структуры Elf32_Phdr, а для самих адресов пользоваться Elf32_Addr. Далее изменение заголовка программы: модифицируются размер сегмента кода в файле p_filesz и в памяти p_memsz суммированием с размером вируса VIRUS_SIZE. Далее в цикле двигаем смещение p_offset до тех пор, пока оно не станет нужного размера. Модификация заголовка секций Elf32_Shdr состоит в приведении смещения этого заголовка e_offset, для этого к нему надо прибавить VIRUS_SIZE. Последнее делать не обязательно, но желательно, так как иначе readelf и strip не согласятся с зараженной программой.

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

<PageP

059>

 

 

 

i

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программы, чтобы потом в дальнейшем не пользоClick -

 

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

.

 

 

 

 

 

 

.c

 

 

 

 

ваться exploit’ом. Далее следует стереть последние 5-

g

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

Основное отличие вируса от червя за-

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

6 строчек из /var/*<то, что вирус атаковал>*, здесь

 

 

 

 

 

 

 

ключается в том, что червь исполняется

 

 

 

 

 

 

 

 

 

 

 

все очень сильно зависит от типа атаки. Обходить rpm

 

 

 

 

 

как отдельная задача. При действии ви-

 

 

 

 

 

 

 

 

 

проще всего, модифицируя его базу. Но есть гораздо

 

 

 

 

 

 

руса файлы меняются навсегда, то есть

 

 

 

 

 

 

 

 

 

 

более интересный вариант: написать модуль ядра, ко-

 

 

 

 

 

 

после перезагрузки изменения сохранят-

 

 

 

 

 

 

 

 

 

 

торый будет считать контрольные суммы так, как вы-

 

 

 

 

 

 

ся, но, с другой стороны, вирус работает

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

только при старте программы. Червь же

 

 

 

 

 

 

 

 

 

 

копии, куда следует. Это, кстати, позволит махом

 

 

 

 

 

 

 

 

 

полностью контролирует свой процесс.

 

 

 

 

 

 

 

 

 

 

 

 

 

обойти все мониторы, проверяющие контрольные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

суммы, и некоторые антивирусы. Такой ход дает нео-

 

 

 

 

 

 

Прежде чем заражать программу, вирусу следует

 

 

 

 

 

 

граниченные возможности работы с компьютером, так

 

 

 

 

 

убедиться, что она не была заражена ранее. Пред-

как в этом случае вирус исполняется в адресном про-

 

 

 

 

 

 

ставь себе многократно зараженный bash. При вызо-

странстве ядра и, что неприятнее всего, в режиме яд-

 

 

 

 

 

 

ве любого скрипта каждая копия вируса будет зара-

ра. Так можно и BIOS поправить, и жесткий диск сло-

 

 

 

 

 

 

жать новые файлы, и производительность системы

мать. Уже ручки чешутся? :) Но обломись: абсолютное

 

 

 

 

 

 

заметно упадет. Самый легкий способ для обнаруже-

большинство вирусов с подобных механизмом напи-

 

 

 

 

 

 

ния уже зараженных программ - поставить какую-ни-

сано именно под Windows. В этой ОС драйвер являет-

 

 

 

 

 

 

будь метку, как это проделывал покойный Jerusalem,

ся модулем ядра, а установить новый драйвер в

 

 

 

 

 

 

 

 

 

 

или использовать код вируса в качестве метки. Но та-

Windows куда проще. Поэтому Microsoft ввела серти-

 

 

 

 

 

 

кой вирус просто обнаружить, поэтому авторы виру-

фикацию драйверов, и WinXP предупредит о непроше-

 

 

 

 

 

сов делают свои произведения полиморфными.

ном госте. Одно плохо - 30% производителей не

 

 

 

 

 

 

 

 

 

Очевидно, что нет шифра, который сам себя расшиф-

слишком утруждают себя сертификацией, а зря. Воз-

 

 

 

 

 

 

ровывал бы. Но производители процессоров облегчи-

 

вращаясь же к Линуксу, следует отметить, что некото-

 

 

 

 

 

 

ли эту задачу, введя команды, которые не влияют на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ход исполнения программы, - nop, xor AX 0, mov AX

Tips&Tricks

 

 

 

 

 

 

AX и прочие. Если эти команды разбрасывать по де-

 

 

 

 

 

 

шифратору случайным образом, то в нем не останет-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ся постоянных последовательностей. В качестве же

 

Не знаю ни одного человека,

дольше :))!? Вставлять подобные

 

 

 

 

 

метки, например, можно использовать имя файла,

 

который хотя бы однажды ис-

символы лучше всего через ме-

 

 

 

 

 

 

пользовал такие шрифты, как

ню Вставка -> Символ. Затем

 

 

 

 

 

шифрованное строкой пробелов. Механизм, которым

 

 

Webdings, Wingdings è ò.ï. Îä-

можно увеличивать до

любого

 

 

 

 

 

вирус проверяет файл, можно использовать для пост-

 

нако эти шрифты могут быть

размера. Правда, размер шриф-

 

 

 

 

 

 

очень полезны. Например, од-

та в Ворде ограничен кеглем 72,

 

 

 

 

 

роения антивируса, но это не сильно беспокоит виру-

 

 

 

 

 

 

 

нажды на работе (я работаю

но это легко исправить, введя

 

 

 

 

 

смейкеров - антивирус можно написать всегда, есть

 

инженером-программистом на

вручную нужный размер прямо в

 

 

 

 

 

даже такая теорема, поэтому зачем париться? Если

 

заводе) меня попросили напи-

поле выбора. Просмотри все эти

 

 

 

 

 

 

сать объявление "Не курить!" с

шрифты, в них есть символы на

 

 

 

 

 

вирус будет просто модифицировать файлы, то эта

 

соответствующим знаком.

все случаи жизни.

 

 

 

 

 

 

 

 

 

 

 

 

подлянка ничего не даст :). В любом дистрибутиве

 

Благодаря этим шрифтам, не

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выходя из Ворда, я сделал объ-

Иван Скляров

 

 

 

 

 

 

 

 

 

 

 

 

Linux присутствуют средства борьбы с таким произ-

 

явление за несколько секунд, а

Ведущий

 

рубрики

 

 

 

 

 

волом. Во-первых, естественно, это разграничение

 

сколько бы это заняло времени,

 

 

 

 

 

 

 

если бы я, например, начал ри-

Tips&Tricks Èâàí

Скляров

 

 

 

 

 

прав доступа, ядро в любой Unix-системе не даст ви-

 

 

 

 

 

 

 

совать знак в каком-нибудь Corel

(Sklyarov@real.xakep.ru)

 

 

 

 

 

 

 

русу изменять файлы, к которым у него нет доступа

 

Draw (он бы только загружался

Присылай мне свои трюки и

 

 

 

 

 

по записи. Во-вторых, есть такие вещи, как rpm, sys-

 

 

советы,

и, возможно,

 

òû

 

 

 

 

 

 

 

увидишь их на страницах ][.

 

 

 

 

 

log, logwatch, так и прочие шпионы и мониторы кон-

 

 

В конце года самый актив-

 

 

 

 

 

трольных сумм файлов. И опять-таки в Linux’е боль-

 

 

ный участник получит 100$.

 

 

 

 

 

 

 

Редакция журнала и веду-

 

 

 

 

 

шинство программ устанавливается через rpm, так

 

 

щий рубрики не несут от-

 

 

 

 

 

как это удобно абсолютно всем, кроме создающим

 

 

ветственности за

советы,

 

 

 

 

 

 

 

которые

читатели

äàþò

 

 

 

 

 

подлянки в лице вирусов. Достаточно набрать

 

 

 

 

 

 

 

 

 

друг другу ;).

 

 

 

 

 

 

 

 

 

 

 

 

# /bin/nice -n 19 rpm —verify —all, таким образом,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можно увидеть, какие программы были изменены. В-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

третьих, грамотные пользователи проводят регулярный

рые утилиты тоже грешат проникновением в ядро для

 

 

 

 

 

 

backup системы. Надеюсь, ты не исключение? :) Со

сбора системной информации. С точки зрения адми-

 

 

 

 

 

 

всем этим действительно сложно что-либо поделать.

на, загрузку «левых» модулей ядра можно предотвра-

 

 

 

 

 

 

Правда, если вирус себя долго не проявляет, то есть

тить, если при компиляции выключить поддержку мо-

 

 

 

 

 

 

шанс резервного копирования зараженных программ.

дульности и поддержку proc. Если не сделать послед-

 

 

 

 

 

Это все можно обойти, только включив в код вируса

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

 

 

 

 

 

средства получения прав рута. А уже с правами root’а

/proc/kcore è /porc/ksyms.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выполняется любая программа с установленным SUID.

Подведем итоги

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проблема лишь в получении прав суперпользователя:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

использовать уже известную дыру - не решение, так

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

как почти наверняка в заражаемой системе она

Что же мы имеем в итоге? Хороший вирус должен

 

 

 

 

 

 

 

будет уже прикрыта. Но, однажды получив root систе-

содержать дешифратор, механизм заражения, меха-

 

 

 

 

 

мы, вирус может все. Первым делом ему надо непре-

 

низм взлома и подчистки логов, механизм обмана

 

 

 

 

 

 

менно установить SUID для зараженной и заражаемой

сторожей, деструктивные элементы, пермутатор де-

 

 

 

 

 

 

 

 

шифратора и шифратор. Даже этот довольно длин-

 

 

 

 

 

 

Полиморфный - это вирус, состоящий из

ный перечень обходит, к счастью (или сожалению?),

только самых распространенных и простых сторо-

двух частей: дешифратора и рабочей час-

жей, которые все продвинутые челы, скорее всего,

ти. Часто используют простые шифро-

обновили более свежими собратьями. Если и пи-

вальные алгоритмы, так как они быстрее

сать вирус, то писать желательно только на ассемб-

- подойдет и простой XOR с именем фай-

лере, оптимизируя все необходимое по размеру.

ла (или другим паролем). Соответствен-

Сложновато, да? Вот именно по этой причине виру-

но, и дешифратор в таком вирусе - поли-

смейкеры если и пишут что под Unix, то только при-

морфный, так как в теле хорошего вируса

митивных сетевых червей и троянов. Дей-

не должно присутствовать ни одной по-

ствительно опасных, классических виру-

стоянной последовательности байтов.

сов нет, ибо Пингвин Тукс - крепкий оре-

 

 

шек, что и требовалось доказать.

5 Западло... 6 Кодинг 7 JoyStick 8 Юниты 9 Quit> 59

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

E

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

F

 

 

 

 

 

t

 

 

P

 

 

 

 

 

 

 

i

 

 

D

 

 

<Page 060>

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

Юниксоид

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

.c

 

 

 

 

p

 

 

 

g

 

 

 

 

 

 

df

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

X В СТИЛЕ ][

Toxa (Toxa@real.xakep.ru)

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

ХАКЕР\¹43\Июль\2002P

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

X в стиле

 

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Ставим и настраиваем систему X-Window!

Ты любишь консоль? Конечно, любишь. Это гибкий, удобный инструмент управления системой. Бесспорно, vi, lynx и BitchX - самые удобные программы на свете, а

bash - самая удобная на свете оболочка. Но так думают далеко не все. И правильно делают, потому что, даже учитывая все вышесказанное, постоянно чувствовать себя живущим в семидесятых годах (время зарождения Unix'а), в то время как в соседских окнах вовсю щелкают мышкой и превозносят GUI & Point'n'click interface, - та еще радость. А выход между тем простой - плюнуть в эти окна, задвинуть

шторы и поставить на свою машину X-Window system (или, по-нашему, «иксы»). Этим увлекательным занятием я и предлагаю тебе заняться прямо сейчас.

Ликбез

Но для начала - справка для самых маленьких. Как известно, в операционной системе Windows GUI (то бишь Graphical User Interface) встроен прямо в ядро, что, безусловно, повышает производительность графической оболочки (так как графическая система постоянно работает на уровне ядра, ибо в этом ядре заключена), но резко понижает стабильность системы (крах отдельного приложения вызовет крах всей системы, если же говорить об WinNT - там все несколько иначе, система, может, и останется жить, но поглю- чит вдоволь :). В Unix-системах же графическая оболочка (X-Window) запускается и работает как отдельное приложение, то есть на пользовательском уровне. Это, конечно, медленнее, чем маздайный GUI (чтобы совершить операцию, скажем, по созданию нового окошка, процессу нужно обратиться к ядру, с помощью системного вызова, для создания окна, перейти в контекст ядра и затем снова вернуться в пользовательский режим), так что не жди от наворо- ченных графических оболочек типа KDE или GNOME такой же быстроты работы, как GUI в виндах. Зато - и это несомненный плюс - ни одно графическое приложение никоим образом не может повесить систему, т.к. ты всегда можешь убить иксы (для системы они - лишь отдельный процесс, которых много) и тут же перезапустить их, случись что нехорошее. Ты спросишь, а как все это дело управляется? А управляется это приложением под названием X-сервер, он отвеча- ет за быстроту действий, прорисовку окон, взаимодействие с видеокартой и т.п. Так что под словами «убить иксы» я как раз и подразумевал убиение X- сервера. Наконец, почему - «сервер»? Этот вопрос корнями уходит в историю Unix'а. Как ты знаешь, это ведь в первую очередь сетевая система, и в период ее развития, когда встал вопрос о графическом пользовательском интерфейсе, было решено и здесь не отходить от сетевой концепции, реализовав его в рамках «сервер-клиент»: на мощном центральном компьютере устанавливался X-сервер, а на несколько терминалов (т.е. workstations) - только клиенты. И вся основная работа по обсчитыванию прорисовки графики и т.п. выполнялась на главном сервере, а клиентам отсылался по сети лишь результат на их дисплеи, что позволяло рабочим станциям тратить минимум ресурсов на GUI, а серверу - обслуживать сразу несколько машин. У тебя же сервер и клиент как бы реализованы на одной тачке, но понятие "X-сервер" так и осталось.

Установка

Но хватит, завязываем с теорией, переходим к практике. Ниже я буду говорить только об одном, самом популярном X-сервере, Xfree86. Это известный сервер с открытыми исходными кодами, распространяющийся бесплатно, поэтому он по дефолту включен в дистрибутивы бесплатных Unix-like систем (Линукса и прочих *BSD). Конечно, есть и несколько коммерческих X-серверов, может быть даже более мощных и удобных, например, Accelerated X и прочие, но их я касаться не буду. Ставим XFree86 и точка, ибо при всем богатстве выбора другой альтернативы нет :). Если у тебя живет какой-нибудь Линукс, то 90%, что иксы уже установлены на твоей машине. Если же у тебя не просто Линукс, а такая отборная попсятина, как RH (RedHat) или MDK (Mandrake), то, бьюсь об заклад, у тебя к тому же в качестве графической оболочки установлено одно из двух: либо KDE, либо GNOME. Впрочем, это правильно, т.к. все остальные не выдерживают никакой критики (поверь, я юзал и WindowMaker, и BlackBox, и прочие графические чу- да), ведь если уж и сидеть в иксах, то в иксах нормальных, а всяким ужасам периода палеозоя типа xvwm есть только одно оправдание - мало места на диске или очень редкое использование (на сервере, скажем). Поэтому для Linux-юзеров процесс установки иксов не так актуален (дистрибутивы регулярно обновляются, соответственно, в последнем дистрибутиве присутствует самая последняя версия Xfree86, а ставить ее проще всего, указав галочку напротив пункта "Install X-server" в красочном меню графического инсталлятора). Чего нельзя сказать о пользователях *BSD-систем. Учитывая все вышесказанное, подведу итог: объектом установки иксов у нас будет FreeBSD. Тем более, в последней Release-версии (4.5) до сих пор во время инсталляции предлагается установка далеко не самого свежего Xfree86 3.3.6, от которого уже попахивает плесенью. Та же история и у других систем ветки *BSD - OpenBSD и NetBSD. Что и неудивительно - это серверные системы, а на сервере графическая среда нужна отнюдь не в первую очередь, вот к ним и внимание соответствующее. Наконец, ставить более новую версию Xfree86 нужно хотя бы по одной причине: если твоя видеокарта не старше полутора-двух лет, ты ее в списке поддерживаемого оборудования просто не найдешь. Идем на http://www.xfree86.org и скачиваем последнюю версию xfree, коя на сегодняшний день - 4.2.0. Обрати внимание, что на Ftp-шнике доступны версии отдель-

но для Linux'а и разных *BSD-систем. Не пренебрегай этим фактом и качай то, что тебе подходит, в нашем случае - версию для FreeBSD, она представлена дюжиной .tgz-пакетов, которые ты должен скачать все, также не забудь оттуда же взять инсталляционный скрипт (install.sh). Качать придется в сумме около пятидесяти мегабайт, так что запасись терпением. На изумленные возгласы: «Чем качать, у меня же Фряха, голая консоль и больше ничего!», я отвечу - man wget. На крайняк, можешь скачать xfree в Винде своим любимым download-менеджером: ведь Free- /Open-/NetBSD Fat-разделы видит. Да, нужно ли говорить, что при установке бзди ты ответил "no" на вопрос об установке X-сервера Xfree 3.3.6? Скачали, скинули все куда-нибудь в /tmp. А затем просто запускаем инсталляционный скрипт:

#./install.sh

После чего побежит процесс установки, система проверит, стоит ли у тебя предыдущая версия Xfree86, если да, то поинтересуется, сохранять ли настройки, и т.п. Так как у нас ничего не стояло :), то тупо отве- чаем 'y' на все задаваемые вопросы.

Настройка

Поставили. Теперь осталось самое главное - ПРАВИЛЬНО сконфигурить иксы. Не пугайся, все не так сложно, как кажется, а о подводных камнях я расскажу. Так что просто перемещаемся в /usr/X11R6/bin/ и запускаем оттуда на выбор одну из двух конфигурационных программ: xf86config - консольную или xf86cfg - графическую. Цель обеих одинакова - сформировать и записать конфигурационный файл XF86Config, просто первая делает это, последовательно задавая тебе вопросы в консоли, а вторая - запускает графическую оболочку, активизирует в ней твою мышь и дает возможность, не напрягаясь, сконфигурить иксы буквально несколькими щелчками мыши. Да, файл XF86Config еще можно просто написать руками с нуля в своем любимом текстовом редакторе, но это уже для эстетов. Думаю, понятно, что мы будем использовать... правильно, первую, консольную программу :). На то есть несколько причин: вопервых, она полнее и подробнее, во-вторых, если у тебя стоит OpenBSD, то у тебя возникнут проблемы с мышкой уже на этапе конфигурирования, так как в этой «самой пуленепробиваемой» системе за мышь отвечает один драйвер wsmouse, и если он у тебя активизирован в консоли (раскомментирована соответствующая строчка в /etc/rc.conf), то ты обломишься -

60 Ньюсы 1 Феррум 2 PC_Zone 3 Взлом 4 Юниксоид

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

F

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

i

 

<PageP

061>

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

D

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Внимание!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С августа на страницах журнала появляется

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UnixFAQ. Поэтому, если у тебя есть какие-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

либо вопросы или неясности касательно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*nix'ов, начинай мылить уже сегодня на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

unixfaq@real.xakep.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в иксах

мышь работать

откажется. И потом, кстати,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âûõ,

ты можешь увидеть то самое "Out of range", а ес-

 

 

 

тов тоже - явно маловато :), так что в самом нача-

 

иксы по-любому не запустятся, выпав с ошибкой

ли даже все и нормально, то результатом запуска ско-

 

 

 

ле (после полей Identifier, Device и Monitor) пропи-

 

device "busy". Такой вот выбор - либо тут мышь, либо

рее всего

будет ужасное разрешение экрана (у меня

 

 

 

сываем строчку: DefaultColorDepth 24, что означа-

 

там. Наконец, в любом случае нам придется получен-

было 1800x1600 :) при не менее ужасной частоте (60

 

 

 

ет установку глубины цвета по умолчанию 24 бита.

 

ный файл XF86Config править руками.

Гц) с каким-то совершенно фантастическим количест-

 

 

 

 

Тут же, справившись с цветами, смотрим на ту

 

Итак, запустили /usr/X11R6/bin/xf86config, и програм-

вом цветов, также, возможно, не будет работать мыш-

 

 

 

подсекцию "Display", где объявлена эта глубина -

 

ма пошла задавать какие-то вопросы. Я не буду объ-

ка (не по той причине, что в OpenBSD, там бы иксы

 

 

 

24 (Depth 24), и после оной строчки прописываем

 

яснять их все, т.к. на вопросы типа: какая у тебя

просто не запустились). Но все это поправимо.

 

 

 

разрешение, которое хотим видеть, следующим

 

мышь, какая у тебя видеокарточка (выбрать из спис-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

образом: Modes

 

ка) или какой язык предпочитаешь, думаю, ты смо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"1024x768". ×òî îçíà-

 

жешь ответить сам. К тому же большинство из вопро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чает - установить для

 

сов имеет довольно разумные ответы «по умолча-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

глубины цвета 24 бита

 

 

 

 

 

 

 

 

 

 

 

нию», которые - если ты не перепахал

свою систему

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разрешение 1024х768

 

 

 

 

 

 

 

 

 

 

 

вдоль и поперек - должны подойти. Отмечу лишь сле-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

точек (поставишь то,

 

дующие:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

которое тебе нужно).

 

 

 

 

 

 

 

 

 

 

 

 

- Секция Xkb, на вопрос «Хотите ли вы включить под-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А так как данная глу-

 

держку xkb», отвечаешь "yes", и затем в подразделах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бина у нас проставле-

 

 

 

 

 

 

 

 

 

 

выбираем из предложенного списка варианты пере-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на по умолчанию, то

 

ключения раскладки клавиатуры и т.п. Опять-таки тут

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при старте иксы будут

 

 

 

 

 

 

 

 

 

 

 

все на твой вкус, единственное, что не советую, так

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запускаться в разре-

 

это занимать в подразделе XkbOptions какое-либо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шении 1024х768 с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

действие за сочетанием клавиш Ctrl+Alt (а такой ва-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

глубиной цвета 24 би-

 

 

 

 

 

 

 

 

 

 

 

риант на выбор имеется), т.к. они задействованы для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

та. Красота! Отмечу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

переключения консолей в иксах на любую другую:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тут же, что параметр

 

 

 

 

 

 

 

 

 

 

 

 

 

Ctrl+Alt+X (X-номер консоли).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Modes может в каче-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- Секция Monitor, если ты не нашел свой монитор в

Правим под себя конфиг...

 

 

 

стве аргументов иметь несколько различных час-

 

предлагаемом списке, а инструкция к нему давно по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тот (записывай их подряд, отделяя каждую в ка-

 

теряна, то могут возникнуть проблемы с определени-

Открываем в каком-нибудь text editor'е (vi, emax,

 

 

 

вычки), тогда ты сможешь переключаться между

 

ем ключевых параметров: HorizSync и VertRefresh (т.е.

joe...) файл /etc/X11/XF86Config и начинаем его ре-

íèìè. È,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

частота горизонтальной и вертикальной развертки).

дактировать. Как видишь, это простой текстовый

 

 

 

наконец, частота. Убивать глаза на 60-ти герцах -

 

Предлагаю маленький хинт: выставить заведомо

файл, для удобства разбитый на секции и снабжен-

 

 

 

удовольствия мало, поэтому ищем секцию «Мони-

 

слишком большие (или слишком маленькие) значе-

ный комментариями.

 

 

 

тор» (Section "Monitor") и пишем туда три следую-

 

ния, а затем (см. ниже) попробовать запустить иксы.

Во-первых, сразу проверь, что у тебя написано в

щие строчки:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Некоторая часть граждан почему-то считает, что мо-

крысиной секции (Section "InputDevice"). Поле

 

 

 

HorizSync [диапазон]; VertRefresh [диапазон];

 

нитор, получив неверные значения, обязательно взо-

Identifier нас не интересует (можешь написать там

 

 

 

ModeLine [значения]. Как ты можешь подобрать

 

рвется (ну или хотя бы сгорит ЭЛ-трубка ;) собствен-

«Logitech Optical Cordless Mouseman» для своей

 

 

 

первые два диапазона, я уже упоминал, а послед-

 

но, этот миф и послужил причиной создания много-

двухкнопочной Mitsumi :), в поле Driver должно

 

 

 

няя строчка имеет формат типа "1024x768" 94.50

 

численных фобий и фантазий на тему «боюсь настра-

стоять "mouse" (если у тебя мышка, конечно ;), а

 

 

 

1024 1072 1168 1376 768 769 772 808 +hsync

 

ивать иксы, вон сосед ставил линукс, и у него мони-

вот следующее поле важно. По логике оно должно

 

 

 

+vsync, где первые два аргумента - разрешение и

 

тор сгорел». На самом же деле, если только у тебя

выглядеть так: Option "Protocol" "PS/2", так оно,

 

 

 

частота, а остальное - рабочие характеристики

моник не из исторического прошлого, он на неверные

кстати, и в Линуксе выглядит. Но в случае

 

 

 

твоего монитора. Выставь их в соответствии с

 

значения всего лишь ругнется табличкой «Out of

FreeBSD эта строчка как раз повод к тому, чтобы

 

 

 

твоим вкусом, единственное, что не советую, ста-

 

range», где заодно высветятся границы значений нуж-

мышь в иксах не работала. А чтобы все было

 

 

 

вить частоту ниже 85 Гц - это вредно для глаз.

 

ных нам параметров для этого монитора.

о'кей, меняем запись "PS/2" на "auto", т.е. в ре-

 

 

 

Все! Иксы отконфигурированы, запускай теперь

 

Тут-то ты и не теряйся, а записывай их на бумажку :).

зультате будет: Option "Protocol" "auto". Все,

 

 

 

тот же xinit и любуйся, как все изменилось с мо-

 

Итак, процедура конфигурирования закончена, и фи-

мышь прикрутили.

 

 

 

мента прошлого запуска иксов :). Если X-сервер

 

нальным аккордом будет подтверждение внесения

Далее - решаем проблему с разрешением и цве-

 

 

 

 

 

 

запускаться откажется и упадет с ошибкой, про-

 

всех изменений записью их в главный файл: «Do you

том. Для этого нужно глянуть в секцию Screen

 

 

 

верь еще раз конфиг.

 

want to record changes in /etc/X11/XF86Config?». Â îò-

(Section "Screen"), где ты увидишь несколько под-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вет вводим, разумеется, 'y'. Но это еще не все. Начи-

секций "Display" (SubSection "Display") с прописан-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нается самое интересное. Если ты запустишь X-сер-

ными глубинами цвета - от 1 до 24. Думаю, моно-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вер (командой xinit), то что ты увидишь? Ну, во-пер-

хромный дисплей тебя не устраивает, да и 16 цве-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Западло... 6 Кодинг 7 JoyStick 8 Юниты 9 Quit> 61

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

d

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

 

 

t

 

F

 

 

 

 

 

 

 

t

 

P

 

 

 

 

 

 

 

 

 

 

 

i

 

ХАКЕР\¹43\Июль\2002P

 

 

 

 

 

 

i

 

D

 

 

<Page 062>

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

r

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

BUY

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

Юниксоид

 

 

 

to

 

 

 

 

 

 

w Click

 

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

g

.c

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

X В СТИЛЕ ][

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Toxa (Toxa@real.xakep.ru)

 

 

 

 

 

 

 

 

 

 

 

Эта волшебная буква «К»

Но это еще только полдела. Ты ведь X-server ставил не для того, чтобы на xterm'ы любоваться, верно? Правильно, поэтому еще нужно поставить какой-ни- будь Window Manager. Их сейчас, как грязи, но мое мнение об оболочках ты слышал: будем ставить только то, в чем нам удобно нормально работать. Ориентируясь на массового читателя, предположу, что 90% взирающих на эти строки - приверженцы либо Gnome, либо KDE. Мне больше по душе последний, кто думает иначе - ради Бога, я не собираюсь вас переубеждать. Но я буду описывать установку именно K Desktop Environment aka KDE :).

Идем на http://www.kde.org (или воспользуемся системой портов FreeBSD :) и качаем себе свеженькую версию КДЕ'шки. Я, как фанат свежего (пусть и глюч- ного :) софта, ставил себе KDE 3 - последнюю версию, но, возможно, ты остановишься на более стабильной KDE 2.2.2. Разницы при установке между ними никакой. Вуаля, выбрали на FTP Bsd-версию KDE и запустили закачку. Качать тут придется подольше, чем XFree86, полный дистрибутив (опять-таки раскиданный в несколько десятков пакетов) весит около 200 Мб, однако ты можешь взять только самое необходимое: qt (без него никак, на Qt-libs построен сам KDE), kdelibs (основные библиотеки), kdebase (говорит само за себя) и чего-то-там-еще (подробнее посмотри на сайте, там описано, что содержит каждый пакет и какие из них необходимы для установке KDE, а какие - опциональны). Я не парился и за ночь ска- чал все, что было :).

Что же выбрать? :)

Скачав, кидаем все в отдельную папку и натравливаем команду pkg_add на все пакеты в данном каталоге: pkg_add *. Программа pkg_add (добавления пакета) сама проверит требуемые зависимости, выстроит пакеты по очередности их установки (так, чтобы все зависимости удовлетворялись) и, если надо, скажет, что для такого-то пакета требуется другой. В таком случае тебе всего лишь надо будет опять слазить на FTP, откуда ты скачивал KDE, и взять недостающий пакет. Есть и другой вариант - добавлять пакеты ручками по одному :). В любом случае, если для установки какого-либо пакета потребуется

иной (о, эти знаменитые никсовые зависимости! :),

 

то программа pkg_add будет пытаться найти его в

 

текущем каталоге и, если найдет, установит сначала

 

его, а если нет - выдаст знаменитое "failed depen-

 

dences". После установки тебе будет выдано радост-

 

ное «type 'startkde' to start KDE». Однако, если ты

 

наберешь это ручками тут же в консоли, то ничего

 

хорошего не произойдет, и KDE запускаться отка-

 

жется. Что и неудивительно - X-server-то не запу-

 

щен! О чем и будет сообщено. Есть выход:

 

запустить xinit, а оттуда, из xterm'а, уже пустить KDE

 

(startkde). Íî ýòî

 

слишком извращенно, к тому же в KDE будет бол-

 

таться консолька xterm'a, из которой КДЕ и запущен,

 

стало быть, если ты эту консольку прибьешь, при-

 

бьется и порожденный процесс (KDE). Поэтому так

 

никто не делает.

 

 

А делают проще. Со-

 

 

здаешь в своем до-

 

 

машнем каталоге

 

 

ôàéë .xinitrc (touch

 

 

~/.xinitrc) è â íåãî

 

 

пишешь всего одну

 

 

строчку: exec

 

 

startkde, что означа-

 

 

ет - выполнять ко-

 

 

манду startkde (т.е.

 

:)

запуск КДЕ) при за-

 

неплох

пуске X-сервера.

 

 

 

Все! Теперь, при на-

 

усилий

áîðå startx (èëè xinit,

 

 

 

что непринципиаль-

 

 

но), у тебя запустит-

 

Результат

ñÿ è X-server, è KDE

 

 

 

с теми настройками,

 

 

естественно, что мы

 

 

определили в файле

 

 

XF86Config.

 

 

 

 

 

Теперь осталось только настроить сам KDE под себя, т.к. многое в нем проставлено по умолчанию не лучшим образом и требует тюнинга. Но это уже совсем другая история.

Tips&Tricks

В папке Windows\Web находятся различные файлы, отвечающие за

deskmovr.htt - отвечает за оформление активного рабочего стола;

оформление Windows. В Win9x это файлы с расширением .htt, кото-

wvleft.bmp - отвечает за графическое оформление папки Windows

рые можно открыть с помощью Notepad. Вот список самых интерес-

(можно открыть с помощью Paint).

ных файлов:

wvline.gif и wvlogo.gif - отвечают за графическое оформление папок.

folder.htt - отвечает за оформление папок Windows;

Дополнительно: если файл folder.htt скопировать в папку Windows\ и

mycomp.htt - отвечает за оформление папки "Мой Компьютер";

Windows\System\, то Win9x больше не будет задавать лишних вопро-

printers.htt - отвечает за оформление папки "Принтеры";

сов при их открытии.

controlp.htt - отвечает за оформление папки "Панель Управления";

 

efault.htt - отвечает за оформление папок "Temporary Internet Files",

Поярков Илья (Terabyte) / NTD3k, www.cnt.ru/~wh, terabyte@bk.ru

"Downloaded Program Files", "Subscriptions", "History", "Портфель";

 

safemode.htt - отвечает за оформление рабочего стола при ошибке

 

Windows 98;

Ведущий рубрики Tips&Tricks Иван Скляров (Sklyarov@real.xakep.ru)

recycle.htt - отвечает за оформление папки "Корзина";

Присылай мне свои трюки и советы, и, возможно, ты увидишь их на

shedule.htt - отвечает за оформление папки "Назначенные Задания";

страницах ][. В конце года самый активный участник получит 100$.

nethood.htt - отвечает за оформление папки "Nethood";

Редакция журнала и ведущий рубрики не несут ответственности за

dialup.htt - отвечает за оформление папки "Удаленный Доступ к Сети";

советы, которые читатели дают друг другу ;).

 

 

62 Ньюсы 1 Феррум 2 PC_Zone 3 Взлом 4 Юниксоид

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

to

 

 

 

 

 

 

 

o

Кодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРОСТЕЙШИЙ СКАНЕР РЕСУРСОВ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Фленов Михаил (smirnandr@mail.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îâ

 

 

 

 

 

 

www.cydsoft.com/vr-online

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñó

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åð

 

ðå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

é

 

 

ñê

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

øè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åé

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

исать

сканер расша

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñüá íàï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òîê ïðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñÿ ïî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

личил

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

üíî óâå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íü ñèë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òåìó

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìÿ î÷å

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èòü ýòó

 

 

 

 

 

 

 

 

 

Â

 

 

äíåå âðå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

после

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ó

÷òî

хотел отлож

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я, потом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ивлялс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îâ. ß

долго

сопрот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ãó,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

þ ïðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íûõ

ресурс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

леньку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èøó ìà

 

 

 

 

 

 

 

 

 

 

 

 

 

ðåí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îäíÿ

ÿ íàï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, è ñåã

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

держал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

å íå âû

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èê óæ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íè. Íî

 

ìîé ÿù

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

урсов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àëî îñå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íåð ðåñ

 

 

 

 

 

 

 

 

 

íà÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü â ñêà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вратит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ì ïðå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åøü áåç

пробле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

þ òû

ñìîæ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

котору

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.com/vr-onlin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.cydsoft

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ail.ru www

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nandr@m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àèë smir

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íîâ Ìèõ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Ôëå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

64

Зачем искать

 

 

ресурсы компа (директории,

 

то такое расшаренные ресурсы? Это любые

 

 

 

 

доступ по сети. Если

 

диски или принтеры), к которым открыт свободный

 

 

чаще всего от-

×êîìï

подключен к локальной сети, то для обмена файлами

 

 

ь диск или папку. Ну а если комп

имеет еще и выход в Инет,

крывают какой-нибуд

 

 

 

 

 

 

-

 

 

 

 

ься из любой точки вселенной, если не приня

то к этим ресурсам можно пробрат

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

òû

никакие меры предосторожности

 

 

 

 

 

ü»

Очень много

начинающих ламеров в сети твоего прова

не отключают «Вход в сет

 

паролем. Сейчас таких

 

 

ресурсы, не защищенные

и при этом имеют расшаренные

 

 

 

 

и окна уже не такие дырявые, и че-

ламеров становится уже намного меньше (да

 

 

 

 

 

 

 

 

 

üíî äóåò),

но такое чудо можно еще встретить практически

ðåç íèõ óæå íå òàê ñèë

 

 

 

 

 

 

 

у любого крупного прова.

 

 

 

 

 

 

ü èõ âðó÷-

 

 

 

ься, у любого

прова есть куча IP адресов, и перебират

Как можно догадат

 

 

 

 

 

 

ü-

 

 

 

 

 

 

 

ь процесс поиска испол

ную достаточно

сложное дело. Чтобы автоматизироват

 

 

 

 

 

. Простейший вариант такого скане-

 

 

ьные сканеры шаровых ресурсов

 

 

 

 

 

зуют специал

 

ü.

 

 

 

 

 

 

ра нам и предстоит сегодня написат

 

 

 

 

 

 

 

рытие

скана

 

 

 

 

 

 

 

 

.

Îòê

 

 

 

 

 

 

 

 

 

 

 

Ï

осле заполнения структуры нужно открыт

ь процесс сканирования

 

 

 

 

со следующими па-

 

 

Для этого существует

функция WNetOpenEnum

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

раметрами:

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

_GLOBALNET

 

 

 

 

 

. Здесь снова указываем RESOURCE

 

 

 

ь сканирования

 

 

 

 

 

 

 

 

_ANY.

1. Област

 

 

 

 

 

 

 

 

 

 

 

2.

Тип сканируемых

ресурсов. Снова указываем все подряд

- RESOURCETYPE

 

 

 

подряд,

ь, какие ресурсы надо

 

 

ь. Если нужно все

3.

Здесь нужно

 

перечислят

 

_CONNECTABLE -

указат

 

 

 

 

 

 

то просто укажи 0.

Возможно также значения

RESOURCEUSAGE

 

 

 

 

 

.

 

 

подключаемые

 

 

 

_CONTAINER - хранимые

 

 

èëè RESOURCEUSAGE

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.

4. Структура, которую мы заполнили

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ься в дальнейшем

5. Переменная типа THandle, которая будет

использоват

 

 

 

 

 

 

 

 

 

 

 

 

 

ление

øàð

 

 

 

 

 

 

 

ü ê

 

еречис

 

 

 

 

 

 

 

 

 

 

Ï

осле того как мы открыли перечисление,

можно смело приступат

 

 

 

 

 

 

 

. Для этого я запускаю бесконечный цикл:

 

 

 

 

его реализации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

å

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

øåì âèä

 

 

 

 

 

 

 

 

 

 

 

 

èì â ëó÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

name

Оформ

 

 

 

 

 

 

 

только

один компонент TEdit (в свойстве

а форме нам понадобится

 

çíà-

 

 

 

 

 

 

 

 

 

 

 

 

я указал AddressEdit)

и один TMemo (здесь в свойстве name оставим

 

 

 

 

 

 

 

 

 

нужно должным образом

Íчение

по умолчанию Memo1). Все это дело

 

 

 

 

 

 

 

ü óâè-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ь». На рисунке 1 ты можеш

 

 

 

 

 

ь кнопочку «Просканироват

 

 

 

 

 

 

 

 

оформить и добавит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

деть мой вариант формы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В компоненте AddressEdit

 

 

 

 

 

 

 

 

 

 

 

 

 

ìû

будем вводить

адрес

 

 

 

 

 

 

 

 

 

 

 

 

 

сканируемого компа. Здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

ìû

 

будем

 

 

 

ü

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сканироват

 

 

 

 

 

 

 

 

 

 

 

 

 

только одну

жертву.

Åñëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ь, то сможеш

 

 

 

 

 

 

 

 

 

 

 

 

 

ты захочеш

 

ь пример,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потом доработат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чтобы он перебирал не-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сколько адресов подряд

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Íî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-то списка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или из какого

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ýòî óæå íà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

твое усмотре

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ние, а для примера доста

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Íó à â êîì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

точно и одного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поненте Memo1 мы будем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü

найденные от-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отображат

 

 

 

 

Форма будущего сканера

 

 

 

 

 

 

крытые ресурсы.

 

 

Шкодим

 

 

 

 

 

 

 

ü

обработчик события OnClick для кнопки и на-

Ò

 

 

 

 

 

 

 

 

еперь нам нужно создат

листинга 1. Если тебе листинг понятен,

òî ìî-

писать в нем содержимое

 

 

. Íó à åñëè

у тебя возникли проблемы,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ь чтение статьи

 

 

 

 

 

 

 

 

 

æåøü

заканчиват

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то давай

разберем

его подробнее

 

NetContainerToOpen,

которая объявлена у ме-

В самом

начале я заполняю структуру

 

 

 

 

ïîëÿ:

.

У нее нужно заполнить следующие

ня в разделе var как тип NETRESOURCE

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ь рамки перечисля

 

 

 

 

 

.dwScope - в этом параметре нужно указат

 

 

 

 

NetContainerToOpen

 

 

 

 

_GLOBALNET, чтобы поиск происходил в сети.

 

 

 

. Я указал RESOURCE

 

 

 

 

 

 

 

 

ресурсов. Ты

емых ресурсов

 

.dwType -

здесь указывается тип перечисляемых

 

 

 

 

 

_PRINT äëÿ

NetContainerToOpen

 

 

 

_DISK

 

 

 

 

 

 

 

 

 

 

ü

 

 

 

 

 

для дисков, RESOURCETYPE

 

 

можешь

 

 

RESOURCETYPE

 

 

 

.

 

 

 

 

 

 

 

указат

 

 

 

_ANY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для всего подряд

 

 

 

 

ü.

 

 

 

принтеров и RESOURCETYPE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.lpLocalName - ýòîò

параметр нужно обнулит

 

 

-

NetContainerToOpen

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.lpRemoteName - здесь нужно указать NETBios имя сканируе

NetContainerToOpen

. Åñëè òû

 

 

 

ь адрес, то в начале нужно прибавить

мого компа

 

 

 

 

указываеш

 

 

 

 

 

 

 

 

или IP адрес

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Если оно неизвестно, то

два слеша \\, что я и делаю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ьца ресурса

 

 

 

 

 

 

 

 

 

 

.lpProvider - имя владел

 

 

 

 

 

 

 

 

NetContainerToOpen

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü nil.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нужно указат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while TRUE do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Åñëè îíà ìíå

Внутри цикла я постоянно вызываю

функцию WNetEnumResource

 

 

 

 

 

 

 

 

ьтат не равен NO_ERROR), то я закрываю перечисление

возвращает ошибку (резул

 

 

 

 

 

èç

 

 

.

 

 

 

 

 

 

с помощью WnetCloseEnum

и выхожу

процедуры

 

 

 

 

 

 

У функции WnetEnumResource

есть четыре параметра:

 

 

 

 

 

 

 

 

 

 

что мы указывали в последнем пара-

1. Здесь нужно указать ту же переменную,

.

 

 

 

 

 

 

метре при открытии

перечисления

WNetOpenEnum

 

 

 

 

ê âîç-

 

в которой хранится число необходимых

2. Здесь нужно указать переменную,

 

 

 

 

 

 

 

записано число

 

. У меня это переменная EntriesToGet, в которой

 

 

 

 

 

врату ресурсов

 

 

 

 

 

 

 

 

 

в этой переменной будет не 2000, а ко-

2000. После того как функция выполнится,

 

 

 

 

 

 

 

 

личество реально открытых

ресурсов.

 

 

. Его длина должна быть до-

 

структур

 

 

3. Здесь должен быть массив

TNetResource

об открытых

ресурсах.

ß çà-

 

 

 

информации

статочной для хранения возвращенной

 

ü

èç

2000

 

 

 

 

 

прашиваю максимум 2000 ресурсов,

значит массив должен состоят

 

 

 

 

 

TnetResource ;).

 

 

 

 

 

структур (ResourceBuffer:

array[1..2000] of

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

4.

Размер массива,

указанного в предыдущем параметре

мы должны ука-

 

 

 

 

есть только

один параметр, в котором

Ó

функции WnetCloseEnum

 

 

при открытии

 

 

 

 

 

 

 

 

 

 

зать ту же переменную,

что мы указывали в последнем параметре

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перечисления WNetOpenEnum

 

 

 

 

 

 

 

 

 

 

 

 

òàòà

 

 

 

 

 

 

 

 

Вывод резуль

прошло успешно, то мы

можем вывести полученную

сли перечисление

 

 

 

öèêë îò 0

до количества воз-

информацию на экран. Для этого я запускаю

 

 

 

 

 

 

Е вращенных

значений EntriesToGet:

 

 

 

 

 

 

 

 

 

t do

 

 

 

 

 

 

 

 

for i := 1 to EntriesToGe

.lpRemoteName));

 

.Add(string(ResourceBuffer[i]

 

 

 

 

 

 

 

Memo1.Lines

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Èìÿ ïî-

Внутри цикла я добавляю в компонент Memo1 строку,

содержащую имя ресурса

 

 

 

 

 

lpRemoteName структуры

лученного открытого ресурса можно прочитать в переменной

 

.lpRemoteName

. Единственное, что тут надо помнить - ResourceBuffer[i]

 

ü

ResourceBuffer[i]

 

 

 

 

 

 

 

 

íàäî

 

 

 

 

 

 

 

. Для этого

написат

это не строка, поэтому этот параметр надо превратить в строку

 

 

 

String() и в скобках указать то, что мы хотим превратить в строку:

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

.lpRemoteName)

 

 

 

 

 

 

 

 

String(ResourceBuffer[i]

 

 

 

 

 

 

 

 

 

nect

 

 

 

 

 

 

 

 

 

 

Discon

 

 

 

 

 

он пока сканирует только

так, сканер шаровых ресурсов готов, правда,

 

 

 

 

в боевых

 

 

 

 

 

ьзование этой проги

одну указанную

-за этого испол

 

 

üíî. Íî

никто же

машину. Из

 

 

 

 

 

Èусловиях

для поиска шар определенного

прова нереал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

не мешает тебе

дополнить

прогу перебором,

âåäü ýòî íå

так уж и сложно.

 

Дополнительную

èíôó, êàê

всегда,

можно найти на моем

сайте

www.cydsoft.com/vr-

online. Там же можно найти и

исходники этой проги после

выхода

журнала в

ñâåò èëè

можешь

поискать на диске к

этому номеру Х.

 

 

 

 

 

 

P.S. У меня к тебе просьба, на

 

 

 

 

 

сто баксов :). Не пиши мне

Результат работы

сканера ресурсов

большие письма. После

ïîÿâ-

 

 

 

ления рубрики “Кодинг” меня

 

 

 

 

 

ß íå â

 

 

 

 

каждый день валят вопросами.

 

состоянии всем рассказывать то, о чем пишут книги. Я

могу что-то подсказать,

где-то помочь, но не

 

 

 

 

альны. Я отвечаю

 

больше. А просьбы типа помоги написать прогу

- вообще нере-

только на те вопросы, где ответ займет

несколько

строчек. Целые

лекции по мылу я

 

 

 

 

 

 

разводить не могу. Я бы с удовольствием

помог всем, но это НЕ-

ВОЗМОЖНО. Вас слишком

 

 

 

вопрос на несколько

 

много, а я один :(((. Поэтому лучше разбей свой

 

 

 

 

 

 

 

 

 

 

маленьких и спрашивай постепенно, а не все сразу.

 

Листинг 1

 

 

 

 

procedure TForm1.

 

 

 

 

var

 

Button1Click(Sender: TObject);

 

 

 

 

 

 

 

 

hNetEnum: THandle;

 

 

 

 

NetContainerToOpen:

NETRESOURCE;

 

 

ResourceBuffer: array[1..2000] of TNetResource;

 

 

i,ResourceBuf,EntriesToGet: DWORD;

 

 

 

begin

 

 

 

 

 

NetContainerToOpen.

 

 

 

 

 

 

dwScope:=RESOURCE_GLOBALNET;

 

NetContainerToOpen.dwType:=RESOURCETYPE_ANY;

 

 

NetContainerToOpen.lpLocalName:=nil;

 

 

NetContainerToOpen.

 

 

 

 

 

 

lpRemoteName:= PChar(‘\\’+AddressEdit.Text);

NetContainerToOpen.lpProvider:= nil;

 

 

 

 

 

WNetOpenEnum(RESOURCE_

GLOBALNET,

 

RESOURCETYPE_ANY,

RESOURCEUSAGE_

 

 

 

 

CONNECTABLE or RESOURCEUSAGE_

 

 

 

@NetContainerToOpen, hNetEnum);

CONTAINER,

 

 

 

 

while TRUE do

 

 

 

 

begin

 

 

 

 

 

ResourceBuf := sizeof(ResourceBuffer);

 

 

EntriesToGet := 2000;

 

 

 

 

if (NO_ERROR <>

 

 

 

 

 

 

WNetEnumResource(hNetEnum, EntriesToGet,

begin

@ResourceBuffer, ResourceBuf)) then

 

 

 

 

 

 

 

WNetCloseEnum(hNetEnum);

 

 

 

exit;

 

 

 

 

 

end;

 

 

 

 

 

 

for i

:= 1 to EntriesToGet do

 

 

 

Memo1.Lines.Add(string(ResourceBuffer[i].

 

 

end;

 

 

 

lpRemoteName));

 

 

 

 

 

 

end;

 

 

 

 

 

 

Tips&Tricks

В составе Win9x есть очень полезная утилита hwinfo.exe, которая выкладывает ВСЮ информацию о железе и конфликтах. Если ее просто запустить, то она тебе ничего не выдаст, т.к. необходимо добавить ключ /ui. Запускать ее лучше через меню Пуск -> Выполнить -> hwinfo /ui

Поярков Илья (Terabyte) / NTD3k, www.cnt.ru/~wh, terabyte@bk.ru

Ведущий рубрики Tips&Tricks Иван Скляров (Sklyarov@real.xakep.ru)

Присылай мне свои трюки и советы, и, возможно, ты увидишь их на страницах ][. В конце года самый активный участник получит 100$.

Редакция журнала и ведущий рубрики не несут ответственности за советы, которые читатели дают друг другу ;).

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

w

 

 

 

to

 

 

 

 

o

Кодинг

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

ПРОГРАММИРОВАНИЕ ГРАФИКИ

УЛУЧШЕННЫЕ СПРАЙТЫ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èê

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àô

 

 

 

Horrific aka Фленов Михаил (smirnandr@mail.ru)

 

 

 

 

 

 

 

 

 

 

å

ãð

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ãð

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

û

Ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

éò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

å

ñï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íû

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ø

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ó÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Óë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ûå â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

давать

прост

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îâû ñîç

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

÷òî

ìû ãîò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è äî

такого уровня

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÿ óæå

äîøë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òàåò,

Íàøè

знани

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îå,

î íàì

íå õâà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

÷åã

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ственн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Åäèí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

райтов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îâå ñï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åìêè

íà îñí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ò. Íî

 

 

 

íèè ä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

льзова

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ти спрай

 

èñïî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

остью

вывес

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àë, êàê

ïîëí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êà ÷òî

 

я показ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è. Ïî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тинка

 

 

 

 

ачност

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òàê ýòî

прозр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íà êàð

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü,

 

áû îä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

÷òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ачност

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е прозр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òü ïð

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

льзова

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чаще всего нужно испо

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âåðõ

другой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àñü ïî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дывал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

накла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.com/vr-onlin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.cydsoft

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ail.ru www

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nandr@m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àèë smir

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íîâ Ìèõ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Ôëå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Чтобы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

который

будет использоваться

в качестве прозрачного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Значение цвета,

Зеленый, Синий). У этой функ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

функцию RGB(Красный,

Теори

 

 

 

 

 

 

 

 

 

 

 

 

íà ðè-

указать цвет, я использую

 

 

 

 

и синюю составляющую

 

 

 

 

 

 

 

 

 

1

è

 

 

 

 

 

красную,

зеленую

Ä

ÿ

 

÷òî ó íàñ åñòü äâå

картинки,

показанные на рисунке

 

 

 

ции три параметра,

которые указывают

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опустим,

 

 

 

 

 

 

 

õ

 

 

 

 

 

 

 

îò 0 äî 255.

Åñëè

у тебя в качестве про

 

2. Изображение

первого рисунка мы уже использовали

â íàøè

. Каждая составляющая

изменяется

 

 

 

 

 

0, 0).

 

сунке

 

.

 

указать RGB(255,

 

 

 

 

 

 

 

 

 

цвета

 

 

 

 

 

 

 

 

 

 

 

 

х в качестве

фона и сегодня оно будет выполнять ту же

функцию

зрачности используется красный цвет, то нужно

 

 

 

 

 

 

 

 

.

 

прога

 

 

 

 

 

 

 

 

. Ïðè

 

ýòîì íàì

 

 

 

 

 

 

 

öâåò ñî

значениями

RGB(255,

 

 

 

Изображение на втором рисунке мы сегодня выведем

поверх фона

.

 

 

 

Лично я люблю использовать

 

 

 

 

 

 

 

 

 

 

 

 

 

надо вывести только самолет,

а цвет фона должен быть проигнорирован

 

 

 

 

 

 

 

àíèÿ

 

 

 

 

 

 

 

 

 

 

будет использоваться в ка-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Уроки рисов

 

и уже указан цвет, который

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ê

артинка

загружена

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Теперь нам осталось только вывести ее на экран

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

честве прозрачного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выводили с помощью

метода BltFast

следующим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Напоминаю, что картинку фона мы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1. Фон

Рисунок

2.

Прозрачная

 

картинка

 

 

 

 

Задача достаточно простая, но в

то же время требует немного до-

 

õ

 

.

Â

 

усилий

 

полнительны

 

следу-

DirectDraw она решается

 

 

ющим образом:

 

 

 

1. После загрузки изображения

хность надо указать, ка-

в повер

 

 

 

-

кой цвет должен быть прозрач

íûì.

 

 

 

 

2. Во время

вывода поверхности с

 

.

 

что при выводе надо учитывать

цвет прозрачности

изображением на экран указать,

 

 

все, кроме цвета про-

 

хности изображения будет копироваться

 

 

При этом из повер

 

 

 

 

.

 

 

 

зрачности, т.е. только самолет

 

 

 

 

одинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

Øê

 

 

 

 

 

 

описанный

в прошлом номере

Х, сейчас мы его подкоррек

Ç

агружай пример,

 

примеров,

потому что они

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Я больше не буду давать полный исходник

 

 

Поэтому здесь

будет

тируем

 

 

 

 

 

 

журнала остается

òåì æå.

постоянно растут, а размер

 

 

 

 

 

на диске

ê ýòî-

 

 

 

 

 

 

на моем сайте или

только описание, а исходник будет выкладываться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èçî-

му номеру

Õ.

 

 

 

разделе var новую

переменную поверхности для хранения

 

 

 

 

 

Для начала заведи в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бражения самолета:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Surface7;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Surface : IDirectDraw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FTransImage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь найди то место, где мы загружаем

картинку фона. После загрузки

ôîíà íóæ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

но добавить следующие

две строчки:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

‘2.bmp’, 0, 0);

 

 

 

 

 

 

Surface := DDLoadBitmap(FDirectDraw,

 

 

 

 

 

 

 

 

 

 

 

 

 

FTransImage

 

 

 

 

 

Surface, RGB(255, 0, 255));

 

 

 

 

 

DDSetColorKey(FTransImage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñ

именем 2.bmp

â

 

 

 

 

 

 

строке

ÿ

 

 

загружаю

картинку

повер

 

Â

первой

 

 

 

загрузке фона, поэтому тут не

должно

 

 

. Процесс такой

æå,

êàê è ïðè

 

 

 

 

 

 

 

 

 

 

 

 

находиться в той

æå äè-

FTransImageSurface

 

 

 

напомню,

÷òî

картинка 2.bmp должна

 

 

 

 

. Я только

 

 

ïóòü ê

.

быть вопросов

 

 

 

 

 

 

указывать полный или относительный

файлу

ректории, что и прога, иначе нужно

 

 

 

 

 

 

 

 

 

 

 

хности FTransImageSurface цвет

Во второй строке этого

кода я указываю для повер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. У нее два параметра:

 

-

прозрачности

с помощью функции DDSetColorKey

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Нам надо здесь ука

 

 

 

хность,

у которой надо установить

цвет прозрачности

 

 

 

 

 

1. Повер

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

çàòü FTransImageSurface

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ST_WAIT);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Surface, nil, DDBLTFA

 

 

 

 

 

 

 

 

 

 

 

 

 

.BltFast (175, 75, FImage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Surface

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FPrimary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(указана в качестве тре-

 

 

 

 

 

 

 

 

 

 

содержимое поверхности FimageSurface

 

 

Этот код копирует

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Первые два параметра ука

 

 

тьего параметра)

во вторичный буфер

- FPrimarySurface

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

позиции

 

 

 

 

. В последнем параметре мы указы

 

 

зывают на левую и верхнюю

картинки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òî

необходимо ожи-

 

 

 

 

вывод сейчас невозможен,

 

 

 

 

 

 

 

 

 

 

 

 

 

_WAIT - åñëè

 

 

 

 

 

 

 

 

 

вали только DDBLTFAST

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дание возможности

вывода.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так же, единственная разница

 

Вывод

прозрачной картинки происходит практически

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

указать в последнем параметре,

что при копировании

надо использо

 

 

ходимо

 

 

состоит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

параметр

 

- íåîá

 

 

 

 

 

 

 

. Поэтому у меня в

следующем

 

коде последний

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Первый флаг - это

вать прозрачность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_SRCCOLORKEY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_WAIT è DDBLTFAST

 

 

 

 

 

а второй

ôëàã

указывает на

из двух флагов - DDBLTFAST

 

 

 

 

 

копировании,

все то же ожидание

при невозможности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Если второй флаг опустить, то вывод осущест

 

ходимость

учета

прозрачности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на то, что мы указали прозрачный

öâåò

 

íåîá

 

 

 

 

 

 

 

 

 

 

режиме, даже несмотря

 

 

 

 

вится в нормальном

 

 

 

 

 

 

 

 

 

 

 

 

сразу после

вывода фона:

Вот пример вывода нашей картинки,

который надо вставить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

srcrect:=Rect(0,0,180,90);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Surface, @srcrect,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.BltFast (200,

200, FTransImage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Surface

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FPrimary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ST_SRCCOLORKEY);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ST_WAIT or DDBLTFA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DDBLTFA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ç

 

åëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

параметра указана

ïå-

Указат

 

 

 

 

 

 

 

 

 

вызове BltFast в качестве четвертого

 

 

 

 

 

 

аметь, что при

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тут используется

 

только адрес структуры

 

 

ременная srcrect. Точнее сказать,

 

 

 

 

 

 

 

 

 

íå

 

 

 

 

 

 

 

 

 

 

то, что нужно использовать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Значок @ указывает на

 

 

 

 

@srcrect в памяти

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

саму переменную, а только

ее адрес

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

процедуру, то перед ее

Адресация - это

очень сильная вещь. Когда ты вызываешь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

параметры записываются

в специальную область памя-

 

 

 

все передаваемые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вызовом

 

 

 

 

 

 

 

 

 

и она уже читает из стека переданные

 

 

 

 

 

 

этого вызывается процедура,

 

 

. После

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òè - ñòåê

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-то переменная (любого типа)

размером

 

 

ей параметры

 

 

 

÷òî ó òåáÿ åñòü

 

 

ñ ïà

Теперь

допустим,

какая

 

 

 

 

 

 

 

 

 

 

 

 

è

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

.

Когда ты вызываешь какую-то процедуру

передаешь ей эту перемен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

ру мегабайт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

â ñòåê, ÷òî

отнимает много вре

íóþ, òî âñå

содержимое переменной записывается

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

лишнюю

память. Чтобы не делать такого бессмысленного

копиро

мени и расходует

 

â ïà-

 

передать в процедуру указатель

на переменную

вания, ты должен

всего лишь

 

 

 

 

 

 

 

 

 

 

 

всего 4 байта, и только

 

они будут копироваться в

мяти. Любой указатель

занимает

она прочитает указатель и

 

 

 

 

начнет свое выполнение,

стек. После

того как процедура

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данные

в системной памяти.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

спокойно

по нему найдет нужные

 

 

 

 

 

нужно

писать так:

“@Переменная”

 

 

 

получить адрес любой переменной

Итак, чтобы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

увидеть содержимое,

находящееся по определен

(без кавычек, конечно же). Чтобы

 

 

 

 

 

 

 

переменная ука-

“указатель”,

потому что адресная

ному адресу

(иногда еще говорят

переменной

óêà-

 

 

-

“Адрес^” (после

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òàê

 

зывает на данные в памяти), нужно написать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зателя поставить

значок ^).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

66

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Работа с

размерами

 

Ò

еперь разберемся с четвертым

íÿë,

там передается

параметром метода BltFast. Как ты уже по-

ëåíà

â

указатель на структуру srcrect. Сама структура объяв-

разделе var следующим образом.

 

 

 

var

 

 

 

 

srcrect:TRect;

 

 

 

 

Структура TRect - это

всего лишь запись из

4-х значений - левой,

верхней, правой и

 

 

 

 

 

 

 

 

 

 

нижней позиций. В нашем

случае в такой

структуре мы будем

 

 

 

картинки, которую надо

 

передавать позиции

 

 

вывести. Конечно

же, мы можем

вывести всю картинку, ука-

зав вместо структуры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значение nil, но в следующий раз нам понадобится именно

 

 

структура для создания

первой анимации.

 

 

 

 

 

 

 

 

 

 

 

Чтобы заполнить структуру

значениями, нужно выполнить следующий код:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

srcrect:=Rect(0,0,180,90);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь выполняется

функция Rect у которой

есть четыре параметра:

левая, верхняя, пра-

 

 

âàÿ è

нижняя позиции, необходимые

 

 

 

 

 

 

 

для структуры. Результат

выполнения этой функции

 

 

- проинициализированная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

структура, которая записывается в нашу переменную srcrect.

Восстановление поверхности

 

 

 

 

 

 

Í

 

е забудь, что если программа

потеряла фокус, то все поверхности нужно

 

 

 

 

 

 

восстанавливать. Наша

 

 

 

 

 

 

 

 

 

прозрачная поверхность не исключение, так что

 

 

 

 

 

 

найди тот код, где

ìû

 

 

 

 

 

 

 

реанимируем программу, и подкорректируй его так:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if hRet = DDERR_SURFACE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

LOST then

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FPrimarySurface._Restore;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FImageSurface._Restore;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FTransImageSurface._Restore;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FPrimarySurface.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Blt(nil, nil, nil, DDBLT_

 

 

 

 

 

 

 

 

 

 

 

FImageSurface := DD

 

 

 

 

 

 

 

COLORFILL

or DDBLT_

WAIT, @bltfx);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FTransImageSurface

LoadBitmap(FDirectDraw, ‘1.

 

 

 

 

 

 

 

:= DD

 

 

 

 

 

 

 

 

 

bmp’, 0, 0);

 

 

 

 

 

 

 

 

 

 

 

 

LoadBitmap(FDirectDraw,

‘2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bmp’, 0, 0);

 

 

DDSetColorKey(FTransImageSurface, RGB(255, 0, 255));

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В случае

нарушения

поверхностей последние две строки

этого кода снова загрузят

 

 

 

 

 

графический

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файл и заново установят цвет прозрачности.

 

 

 

 

 

 

Shutdown

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ð

 

òà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

езультат работы проги ты можешь

увидеть на рисунке 3. Как видишь, на этом

 

 

 

 

скрине рисунок 2

нарисован поверх рисунка 1, при этом цвет фона самоле-

 

 

 

 

 

отсутствует.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А на сегодня отведенное мне мес-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то уже заканчивается, а в следую-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

щий раз я создам первую анима-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цию. А именно - наш самолет на-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

учится летать и вертеться в возду-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хе. Таким вот способом мы мед-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ленно, но верно доберемся до вер-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шины графического

мастерства.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Исходники

примера, как всегда,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можно скачать

ñ

моего сайта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

online после

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выхода этого номера в свет или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поищи на диске.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S. Ó ìåíÿ

к тебе просьба, на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сто баксов :). Не пиши мне боль-

 

Рисунок 3. Результат работы программы

øèå

письма. После появления

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рубрики “Кодинг” меня каждый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

день валят

вопросами. Я не в со-

стоянии всем рассказывать то, о чем пишут книги. Я

могу что-то подсказать, где-то

помочь, но не

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

больше. А просьбы типа помоги написать

прогу вообще нереальны. Я

отвечаю только на те

вопросы, где ответ займет

 

 

ïî ìûëó

ÿ

 

 

 

 

несколько строчек.

Целые лекции

разводить не могу. Я бы с

 

 

 

 

 

 

 

 

 

 

 

 

 

ÍÎ. Âàñ

слишком много, а я

 

 

удовольствием помог всем, но это НЕВОЗМОЖ-

îäèí :(((.

Поэтому лучше разбей свой

вопрос на не-

сколько

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

маленьких и спрашивай постепенно, а не все сразу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tips&Tricks

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С помощью только одной ко-

Ведущий

 

 

 

 

рубрики

 

 

 

 

 

 

 

манды

в командной строке

Tips&Tricks Èâàí

Скляров

 

 

 

 

 

 

 

или в bat-файле ты можешь

(Sklyarov@real.xakep.ru)

 

 

 

 

 

 

 

отформатировать диск

èëè

Присылай мне свои трюки и

 

 

 

 

 

 

 

дискету без всяких вопросов и

советы,

и, возможно, ты

 

 

 

 

 

 

 

запросов компьютера.

 

 

 

увидишь их на страницах ][.

 

 

 

 

 

 

 

Команда: echo y | format a: /q

В конце года самый актив-

 

 

 

 

 

 

 

ный участник получит 100$.

 

 

 

 

 

 

 

/v:hack /autotest

 

 

 

 

Редакция журнала и веду-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

щий рубрики не несут от-

 

 

 

 

 

 

 

Поярков Илья (Terabyte) /

ветственности за советы,

 

 

 

 

 

 

 

NTD3k,

www.cnt.ru/~wh,

которые

читатели дают

 

 

 

 

 

 

 

terabyte@bk.ru

 

 

 

друг другу ;).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

w

 

 

to

 

 

 

 

o

 

 

 

 

 

 

Joystick

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

COUNTER STRIKE 1.4

Lefside (lefside@mail.ru) советы на врезках Гела Рябуха AKA Riablo (riablo@gol.ge)

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Counter Strike 1.4 Ставим новую контру

Купил я тут анлим на выходные и решил: скачаюка свеженькую контру! И что бы ты думал!? Скачал! Вот решил поделиться впечатлениями, рассказать, что да как. Все-таки тебе выбирать - продолжать гамать в 1.3 или же рискнуть?

ENTER

также апдейт твоей старой халфы до версии 1.1.0.9.

Итак. Имеем: Контра 1.3 на базе HL 1.1.0.8.

Ставим:

1)патч для халвы (1108-1109)

2)патч для контры (1.3 - 1.4) (ска- чать можно на http://www.combatfolk.ru).

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

Что новенького?

 

 

 

Итак. Сел я, значит, играть. Гружу.

 

 

 

 

Не ждали?!

 

Вот сервер наконец создан, покупаю

 

 

 

 

 

оружие, бегу. Первое, что бросается

 

 

 

 

Существует два варианта установ-

 

в глаза - это то, что ничего не броса-

 

 

 

 

 

 

 

 

 

 

 

 

ется! :) На первый взгляд - ничего

map overview

 

ки: полная установка и апдейт с

 

 

 

 

 

 

 

версии 1.3. Если ты собираешься

Многие из CS карт достаточно запутанны, имея коридоры, канализации, этажи и сложную струк-

 

 

 

скачать свежачок с Инета, то пред-

 

 

 

почтительнее, конечно, апдейт.

туру (de_dust2, de_prodigy, de_torn, de_storm), и, чтобы чувствовать себя как дома, надо доста-

 

 

Угадай с трех раз, почему? Конеч-

 

точно долго играть на данной локации. Игрок не должен терять ни секунды на раздумье, куда же

 

 

но, по размеру файла. Апдейт ве-

 

идти, чтобы попасть вон на ту площадь, а потом уж как получится. Я советую сходить на csna-

 

 

 

сит всего лишь 23,4 мб, в то вре-

tion.counter-strike.net/cs2d/cs2d.htm - скачать стратегические карты карт :). Всего 10-15 минут

 

 

 

мя как полный инсталлятор - около

скитания по карте в одиночку с 2D планом перед глазами дают уже ощутимый эффект. Обрати

 

 

 

80 (если не больше). Для установ-

внимание на респаун-точки обеих сторон, бомб-сайты и альтернативные пути к ним. Впрочем,

 

 

 

 

 

для старых игроков и классических карт это тоже работает.

 

 

 

 

 

ки тебе потребуется: Counter-

 

 

 

 

 

Strike 1.3, установленный на базе

 

 

 

 

 

 

 

Half-Life 1.1.0.9. Контра 1.3 стави-

 

 

 

новенького. Оружия не прибавилось

 

 

 

 

 

лась на предыдущую версию

 

 

 

нисколько - а жаль. Ну ничего, купил

(1.1.0.8), но со старой Халфой

 

 

 

 

 

 

 

 

Десерт, бегу. Настроение хорошее,

 

 

 

свежак не попрет (будет выдавать-

 

 

 

 

 

 

 

 

 

дай, думаю, подпрыгну. Подпрыгнул!

 

ся сообщение об ошибке загрузки

 

 

 

 

 

 

 

:) Оказывается, в новой контре не

 

client.dll). Так что нам потребуется

 

 

 

 

 

 

 

очень-то распрыгаешься! Скорость

 

 

 

 

 

 

 

 

 

 

 

 

после прыжка на определенное вре-

 

 

 

 

 

 

 

Всегда играй с клиентски-

 

 

 

 

мя снижается. Типа - хилые люди

 

ми настройками - hud_cen-

 

 

 

 

свежак писали, думают, я после

 

terid 1, hud_fastswitch 1 - è

 

 

 

 

прыжка медленнее побегу. Ну что

 

 

 

знай, какая чувствитель-

 

 

 

 

же, им виднее.

 

 

 

ность мыши тебе больше

 

 

 

 

Вторая новость приятнее, но все-та-

 

подходит. Я лично играл с

 

 

 

 

ки на любителя. Состоит она в том,

 

Sensitivity по дефолту (3),

 

 

 

 

что товарищи трупы (ака твои уби-

 

 

 

но сейчас перешел на 3.5.

 

 

 

 

тые СоТоварищи или проТивники)

 

 

 

Думаю, это оптимальный

 

 

 

 

не исчезают в неизвестном направ-

 

показатель, чтобы навести

 

 

 

 

лении, а преспокойно лежат на сво-

 

 

прицел, не ругаясь при

 

 

 

 

их законных местах. Так что не пу-

 

 

 

этом. Впрочем, решай сам.

 

 

 

 

гайся, если с крыши свисает терро-

 

 

 

ÒÐÓÏ-2002 options :)

 

рюга - он дохлый :).

 

 

 

 

 

 

 

 

 

68 Ньюсы 1 Феррум 2 PC_Zone 3 X-Стиль 4 Взлом

Соседние файлы в папке журнал хакер