Kсtп/lгIЬЕlтrPHЬIE
E'|'|PчJЕЬl
иэHчJ.гP.А и ен.A'PЧЖ.А
ryIInтEP"
Moсква . сaнкт-пeтepбypr . нижний нoвгopoд. вoрoнe)к
Poс1oв-на-дoнy. ЕKатepинбypt.самapa. нoвoси6иpск
Kиeв .xabЬкoв . минсk
2006
,
{ l(.
ptlь|ввирycь|иsнylPии онePрl(и'- cn6.: пиi€ р ' 2006'- 527о.:ил.
5.69-00982-з
tlю {цoдип' вн}т' ввPуoа?кaкrc цcф.P.яхt пPПвoдIтсio в движ.яt.? кiх пPoиcхoдит
чyкpoдпo.o кoдД'виcпoля'смыйф.nл и пo к.хим пpизвакшсгo мoжпopacпoзнoть?
яадrxнЬlа!тивиpуollи мo*нo ля ях oбхитpить?кaк хrxеpц лом0|отпрoipaммво€
l
и к!к их ooвнolmь? изЬ'сlt!в''' нaчaтыe E пpсдьIдyцсf, яниг. криф кaсп.рскП
tсслсдoвaМл хoмльфря!х виpycoDt лрoдoлМ' и яoвм хнив coд.pжит маосy
l@pиoлal opясвтиPoв.нвorc яo твoPчсcхих лoдafi' дизаcфM6,яpyющих мдulинiыо
з,caюцих исxoдны. тer.gIц npезfipaющиxмьlurь l oвo6oднo гoвopлlциx на си. в oбцeм'
ББк32.973'2з.018.о7
Удкb04'491'22',
17
17
18
6ЛаIoдapнoсти,'..'l 19
o ти з д a т e Л ь с т' .в' a' . . . ' . ' . . . . . . ' . .' . . ' ' ' ' . . ' . . ' . , . . . ' . . ' . . ' ' . ' . . . ' ' . ' ' . . ' 1 9
чAсть I. o дЕньгicх,BиPyсAx.пPoгPAм],lиPoBAнии
и смЬ|с,lEжизt|и . ' ' . . ' . ' ' . . ' ' . ' ' . . . . 20
22
23
27
IсoммерЧcскaя
IтPиpoдalirlсoммepЧeскoгo
oPensourсe .. ' '..
глAвA з. HEyЛoBиMЬlEN4стИтЕлИ
вoзвPAцlAЮтся
о6() gсeм oсталЪ]roil 55
51
59
59
60
61
кpпптoгpaфпя IJапсIlьxс 69
sizeofu ninitjаlizсdDatа 86
[iпа8с_oрtiопаl_hсаdеI] , ' '-,, ',, '., '., ' '., ' ' B6
Baseo|сode/Bisеoi.Datа
Innа8еoрtjоnаl'Ьeadcr] АddIсssofЕnLIуPoiпt 86
I t t r а g n . o р tо n а l _ l t '' d r . ] l т " е ' B i f B7
[ima8е oРtiоnаl headег] FilоA]j8nпспt/Sес|ioп^]i8пmеDt 87
siZеoiIпlage
Iiпlasо_oрtioпаl_hеadсI] B8
глAвA 9. l.lAЙтИи yHиЧтoжИтЬ.ИЛИпoсoБиЕпo БoPЬБE
с вИPУсАMИ и тPoяtlА|ЧИ. '.. 181
e с л и в Д P у ro т к P ь U l с л' ю к , ' , , , . , , , ' ' , , ' , . 182
182
2З6
]!Pс]кдeчeм llaчaть 238
2з9
10 содеpvание
270
271
271
сnl{сь ll мnсT дaй '(п"Гlсоii llР|1в'lзItи 272
i r I l I n 6 . I l j < л п г я r \ l l l г l j l | ' ' | | с l , i ' J | | i l i \ ' } 'и 214
o г o r l l ' л ] ' я ] \ l 0 | i| | r в . Л ] . . j l l_ P Е в 27ti
ni.кI]у |кз .l nкl .трvxтyрlll lх п.rrюtlPlЦпl 211
п а t i v с ^ P l . | | a | |п o p т р e тв с т и r ] e. I I n " 2'7в
систeм]тыевътзolrыUNIX 279
11
29L
29з
o6нapyжerrrrе
и иI{eнтrrфикация 6pаrrдпlаyэpa,.,,, 294
сканирoваtrЙеI'rтpaссиpсlвкаvсpез6palтдмауэp, , , 298
304
305
З01
з08
з09
aтaт(alla hoDсуpot 309
З48
3,i8
з49
319
350
350
lJ51
352
з5з
353
353
З54
З56
357
З57
З62
з62
вeРифrкaтoPъткo,r{а язъIкoвси/с++
ДсмorrстPaция orrrrr6oкнaкoflЛeния
чaсfo встPсчaющиrс,I0лrи6киI . , , . , . , , . , , . , , . , , . , - . , , . , , - , , ' , , , . , , ' , , ' . 407
ч а с т og с T р c ч a l o Щ и0eш
с яи 6 к иI I , . , , . , . , ' , . , . . , ' . , . , , . , , . , , ' . , - ' , , ' , , . . , 4 0 8
тPуlloвьlе 6yДниttpoгРаммиста (истoчникнeизвeстeн) ',,.,,,.,.,,,.,, '., .'l09
. г Л а сi l a p o д a .''',..''.,411
14
чAсть v. oпEPAциoннЬlE систЕмЬ|, э!|yлятoPЬ|
и кoмпилятoPьI 412
428
428
,ti29
4З1
4э2
4ЗЗ
4З5
4Зв
4З7
4з8
439
-eр].ltа o6oрyдosallия' и:tlr сaпep' oпrи6lurrйся двaurtдът 4э9
] i j D o в к]a] o т o l l oивз в н el l и з н y T p и . ' ' . , , . . ' . , , , , . . ' - - - - . '
.' ' '.,, ' 44o
: . l : r е ] l н o с ти
l ,лl I rд o 6 p o в o . ] 1 ' Е ызйa к л ю ч e н н ьiIl , . ' . .''.-..-'.. ,.,44o
]::;lтe.llьнaя хаPактeристика ядер \\riпdоrvs 9х и Wiпdоws NT
' '.. , ' 44|
15
Nт
глAвA зo. PAзгOHИтoPМoжЕ|jиEWINDoWS 4А2
стPукцlpаядPa,,',.',.,,., 44З
483
484
485
486
49n
494
496
свePткaкoнсTaIIт'.''.-,. 496
16
,'..'..,..,498
.......i...498
! .i.IrLlиr lleгтnoгo l.оД 498
...........499
удil.lleпиeпeиспoлъзyемьrх ]rсpсIltе]]пьlx
...........500
500
502
502
50з
.''.,,.,,.,504
...........505
.,,',.'.'',505
507
...........507
...........509
5t7
522
52З
..524
524
''''''''" 525
э
.Qoit
wu ta
hick
BвЕдЕHиE
oБ ABтoPE
Aвтoр; rrс6рclоto одc,r'l,lii мЬlцъх 28 rlст' llс odPanlaюlILllii ),l1l[til]l],l,l Ilfi ]lа м!tP,
lllI lla,J'с.JIo|в кoтoРом n( вс,l.'jl 06'пaюIlLиii lIсIопoчl,tтc;tьtto в Дс6рях мatttttttttьtх
кодоl] l,l :litPoсЛях TехIIиЧсских (rlcцl,tq)пкitlLllii' IIсoбIII TсJlсx' всдст за},кlIуTь|ii
o6Pаз хrпllи хи[uIoгo грьlзyIJа' IlPак,l'],ll]сски IIl,||(n}Цfle пoкпlLаlоцLсгo свoю пoр.
кy _ р:8Be ti,Гo flа звсз/Iьl пoсNl()ТPс'Г! пЛr, па.]Ivlrу (lloвьrгI', tsысlrcгo oбPaзовa.
}lllя lleтl a Тсllсpь y,сe и trо 6yлст;лll'tпaя rшlзлlr нe сЛo)кx:|aсьj /цaи I]ряд jlи сJro.
,(llтся, тaк чTо е'lL'|llс-l.вснньrй сlтoсrl6 y6лтЬ вpепlя Iтоп drrsk till dпskот этo
IloJ1lroстЬlir oтдATЬсЯ Pа6oте'
OдeP)](шNiкoмtlЬlo.rcраIo' e]цe сo с-IарI]]их кЛaссOв сpсднeli пlrсLlлы ( иЛп оIl{е
рaпь.
ше - у)кеl увы) Jrе лoi!l]пo), oснoвIraя сп""l0rUlизация _ pcиш{снePиtlг (то eсTь
д]rзассerя6ЛиРo!aflие)' пoи(J{ yязвимoстeii (lIollpoсту rовoрЯ . <дьIP>) в суrцe.
ствуIoпIltх jjaщитных мeхarlIвма* Ir Pa3рa6oТка сo6ствеrlнЬlх спс-геNi зill]lиTЬl.
впpочeм' компьютeрьl - r lе еlll{нствellп{lе и ! вopoят}loI llс самoe IJtaвпoе
уяJlсчс.
нIre в мoей )кизнп' поN{иiuo вoзнlr с железoм lr 6лРIqДa]п1й в нспpoхoДт]Ntьlхllжylr.
глЯх 3ащ]1Тнoгo кодa я ]tс расст:rтoсъ с IlирoNI звезl] и nlоt{х тeлесI(ollo!l мнoго
чиTaю' дa II пl1llJy Toжс (л посЛeДшес вpeNiя кalс-тo 6oльllle ппшy' чenl читaю),
Хаrrерскrте NI(Jт].1вЬI
моегo Tвoр чссTвa rrе сЛyчаi.iньr и o6ъясrrяются по детски сс.
тсствerпIьlI1jlссJaнnе]\! зaгnЯнуTь <пoД кalt0T' I{ol!пЬюr.ерa u NIaлoсTЪ пor.ыкaТъ
eгi] <"rтомoNI'1.l<п{oлoтоrп{oм' | рaзумеeтся l фиryPальпo _ a кaк жe ипaчe пон,lтьl
' , : r к , ' Г 1U г v h ' ,р ' 6 n I i . г 7
Есл]1 считaть хаксpаlrи лтодeй' oдсPкимЪrх l]ознaниeNJ oкp}хающ€ I o l'oipa, тo
1a
yслoBнЬlЕoБoзHAчEния
чтo6ьL !lз6сяraть пv1анI1цЬ]lпeрeД rсn! кaк rraчaть qrrтaтъ'сJIeдуетдoгoвoРиTrrся
o теР]\fшlоJloгиlJ,кoлl вlIeДPяюlцийся в {rаl'IЛlмы 6yДeruназьIвaтьх'trOаo'', Под
э'Г()oпРeдеJепllс noдпaдает лl{)6oi;iI{oд'впeДряеIlьIriнaмIr в фailл.I'oс}IГeЛr,(он
)кe lJoДo]]ьпныii 4)aiiЛl llли фаiiл.хозЯ]rн oT аllrЛtlйскoro host.filс), напРIrr{еP,
lнстPyкпи,r NoР, o РепРo/.lуxТПвнъIхспoс()6н0с'ГяхХ-кoда в с16]llемс]lyчac нп.
чеIo нс извeстl]()l и l1Л'I}'спol(oеlllt'l 6удсi\IсчI{TalЬ х{{oд IIeсаllopазмнсjnraroщим.
ся к0]lом' Bсю oтве1.сI lcllнoсть за Rltсr:lPсниe6ере-rrra се6я 1e,'0с?.' зaпускaк!
ntи].lnpoгpal{]\fy-иtL1цPитсlь0lеT| ]1с <врeлLrГeJlЬ'la <вrlеr]РrtT0lь' - oт фl0ва
<внсдPитЪ>)' хoтoPаяj ЛpeДваpитоJЬпо y6сДиDIJпrсЬв на,riичrrп прав зап1rсп
в q]аfiл.tloсl|тeЛЬ(а этll пР:LDilollять.таxи JIасTЧcJroвеr0t,lсoj]I'lестпruосTизaPa.
,каемoг()файЛa с вь16Ранн0й стpn,Гсt]lсii вfle,lpс]lrlя' 3aп'lсывnс,I х.кoл вllyTРЬ
l ] l l l | | , ]|'|.о . у | l | ' 1 , 1 , в . | , лl с| ' , 1 ' к ' ц , , l n . в i , р | , | ] '| | с p ,\ | , |
у l I I r ' . B r 1 r I l | |, Jя к Ч , | oп о .
/l(lllriТllаЯ пPoгР1l]\tI1arlс заi\'€ I r;lс1' llI]t{а]( х lllrIloIlсltrlii,
/цля Jко||оIluи Ilсст:L i\lЫ 6удсl'1 IIсп0JЬ3()вiLl.Ь рЯд o6illellpиIiятьlх с()l(Рarцсllий|
пePcЧJк''llс]lньrх JlI,t)кс:
. FA: Еi]е AIiglriпсл| 4 Л l i l и ч 0 с l { o оR ь Ц ) l l r I l l r в а I t l .сl eе к | l l I i i ;
. s^,oA:sссtiолAIignn)сntIIJl1]ОlIcс[Ali8пП]{:nL
BllpтуaiьЛoc вы PatпJiBa.
эаюлoвoк
М
N
сrкция давньxи слyжe6ньeсeкции
ш
ffi свoбoднoeпрострaNoтвo
БлAгoдAPHoсти
Aвтор BъЦa,(aе'Г пpllзrraTсльнoсгь сотруl(нll(аNl ф],tРruьI<LlсToк' Il JlltlllIo М -
p U ш | | | | | ' U в o йт . T аr : ш , . | | I I ] t д е | | к nв л , - , l | | r \ l | | | ,l уa 1 ' l | о . | ' r . I l | | r I i . ' I t в . 1 | | о | | |: | | l J .
тyPy' пPсдoставJlсннyЮll.]lя i)l{сlleримеlIт()в' 11l)ове/leппьlх в проIIeссе Лaписaнrи
oт и3дAтEлЬстBA
Bаши замeчaнпЯ' пpодJo)ксни,l и loxpoсЬI 0,l]IРaвЛяй1.с o aдpeсy ]rлerr.ГPo]rнoй
.1llи.Iеp'' t{o!lлЬloTерll;U{
пoчтьI сomp@рitel,сom(издa-rсJ1ЬсTtso рeдaкпия)'
Мы 6удeiI pадьl },знaтьвапlс lIнсI{l]с|
Bсe исхoдпьIe тeкстьI, jтpиRеlleнflыeR кнIlге, nьl vожетe пailпr пo аliрссу http'/
www'piteiсom/downIoаd,
ПoдPo6нyю инфoрмаци1o o lLaшliх ](ЛI]
г:1хвьI пai'i.цетe
rrа вe6-сaйтe пздате".rьства:
httpl//WwW.piteгсom,
чAстЬ I
o дЕHЬгAx,BиРyсAx,
пPoгPAм1vtиPoBAHии
и сMЬlслЕ жизHи
',,Эnlо ш mы оtttёсеш' latьzсltu,:лno oltu олаielotn no6oi'
вOсroЧнаЯ мyдрoсrЬ
глaва 1
пpoгрaMMирование
денег лoпaтоЙ
глава 2
глasа 3
нeyлoвиМыe
Мститeливoзвpащaются
гoвоpят' чтo п:l.vка jтo удonлeтвореllие сс16стRerп]oloЛю6oпъ]тствa3a чy)кo11
счет. ПporPaммиPoва]lисl мс]ltlly llpoчиNl|тoJflс|BиPyсъi это нe та (]6Лас1ъ'на
tiо,Гo]хriп oяllо заpа6o'Гaть,
ХolroltIo' есJlI'J
Rьl B.)о6пIeoсTirl
lетeсь пaсво6оле, a r'e
no-rпePrнeтесЪul'ГРафy,не yroдпте в тloрьпry (лal(e лeгалъllьir иссJ.IeДoваTели oт
этoro не застрaхoraны), Pазpa6oтка аn1.llgиpyсoв !l вoсстанoв,Iс]1I1с даnнш](_
тoлtене 6отвесъ кaкoe прп6ыльrтоедeлo (yстaпaвJлuать пaроДyWnldows и'го
вьIгoднeе),PьrнoIсдавнo подсЛеIJмeжлy lLoмпallияr1ьгигaflтaми' пoстoРoннeмy
чсJloвскy вtlllсaться в это16изнсс oЧснЬ тpyДito,
Tвop\eскliN! лIодяi\rD этoii мутпoii вor]eпРпxол'l'Гся очellьTя}кеJю'Пepел фaктoп{
жесткoli aльтeРrla'гlпjЬl<llли кrrrпать пРllкrraryхT п жllть B дoстаткe' иrrlr зaнIr'
nla1.ьсяllссnсДoвaтсnЬ((oii Дс,lTс]r],tlft]тью 6сз lpoluа 9 (aРмaнс' A{нor.исllсopltи.
llаРlIьJехaкeРы стaBят rlа сe6e кР€ с т и хopollят своii'г:[пalIГзaЛ(IrBo. поллa8Лепl'l.
е}I o6стoятcЛьств тtIrlа 4)кс!a' (a пoнимalorllуIо жснy наftти ох каI( тpуднo) oяи
ус'Фaxl]ax'Г.я lIа цxrrll,/lь]IyюРаботv, y6r'ц:|я сe6я n тoм' ч'г()гnaПaсеl{Ь]Iдo]lжerr
зa6oтltтr'с'lo 6.Iаlосoс,гL),llllt,Lсc]!lЬl't 11будуцcl\lдсTсii, Toч1lсс'o мaтсP]1а,lnn)liсo.
стдl]Ляl()пteiiэтoго сaмoгo 6y:rvпtегоtr(отоРoе тen€ Р ь v)кe llикoщa llе liас1упит'
]tol.o]\lyчтo у шмo'|oк ]l ]l0ltcг l lс'l.ltllка l{оlо б}'дylцсto. э1o IlутЬ в !tllкуда,ЭTo]tуTr'
скаРa6eя' тoJп{аюllLсroliеPeд со6oji anвoзпьrii iIIal)'спruJloЛlrillЦукЛцийBсё вellи
м Pa, n)I(сJIтaястрeлA' BIlt(тора пeлсBlIIIa _ пoeзд,ЛпlDкyпt'liiся к Разрyllleпяo.
A l у i l 1 о с ' l . у . с к o 1 . 0 р ( ' 1 ) j к | . ] l Ь i } , 1 ( ) j i ' l l l l : j T o l l а ] l l I ' о 1 . Р с.6l l ili-]l l.lс{Лс ,Ьl . ] t I U { - l . ' i l в o в ( с
1lс lla]\lсl(Jlа зxгDo6Ilylо )l{l]зilЬ'Bс(' illЬIyillllРaсм' БoгaтЬrN1иllJпl 6eдIlьlп1п,oдних
зl6yдЛ.' l(pyгrle oTЛo)t{д1.с}l в IIаМя1.I'l llclю]u)смIlЬI|!l1l IlопyN{0llTill\llI (тollll'ГРl'l01а
с l.аlioill)lil к1'o-1oPil3Лс1',.|1!,l o()()JllrilN|ll l1rlсiilIа lJol(аll.u11дл(с1.Ьlс!llс]IgIи'l''. И/lся
IljrРуflЛr- сai1()lrclrl)01уIltЦ)уloпlllхся l{ехa||ll3]!loR _ од|l! lI]]тaкlП. :.Jтoпo.]{асто.
яlцcl\lу !Ill1.сpссIro! eТoi!1уl!1()хЛol |(х|B''l.l I l.llсвolo жl!l]llЬ.I.Io8a)rrlo' |счoNlyЛс1,с1ъ,
Bсс мЬl .Лo-r'ЛIl к свс1'y,а П0|IаlLilct1 во l.J'му'J[tr,|етЬ|Iy,кlю llo _,.' а _0r,, Бe'сaTЬ oт
о6ьтДcllttoiiссрoсr.x )кr{3!n к "цю6oi,iвы6P.lllнoii цсЛI1'тPaгсllшЯ в Том] чТo в кoм-
ЛьюTeрltо]vr N]Ц)сI'l)1lэп бЬlстpoyстарсваIоT'pазрylцlя пal1eчcIпlь]ooрl,Iеt!тl,]рЬl' rIтo
чyвств},стасTpo]lалT'кolдa cfu lIyтcвo/{rtа'lзвсзl1аijсчс3аeт? l{aвсрtloс' Тo )кс' чTо
tt Iрor.Pallll!'сT' ]ior.]{a ll'l'.'TфoРмa'кo1oPoii o]1OTдzUlсToЛьIroвРсмснrl и сllJl| смc.
i|яеTсядpуlo'I' 1l тl,lсячl'iстРок rц)oгрдN]n']lотo кo/lа прllхoдj't'].ся ЛереllисЫпaть3a-
lIoвo,'.ЕсЛ 6ы 1oлькo перcпIlстiIrатьIЛьвпtIая /loЛя rlaкопЛепlloго (]пъ]тaстaно-
вllтся 6сслoлсзнoil' Хll,r'PЬlс uPиeмы llрorpalrмrrрованпя o6ращaю-rсЯ в llРах,
УNшulс сo,Ц.rlrать)4nl)еIlтl,ll]lll,lерс,]lt|ДeJlTll]ne пpol.l)aN1Alы о6есце]lивiЕT(9 Л $iиpe
Windows...
)Itпзнi хaксp.r .. стpсrrиTс'пьIlыйl l()Tol{l IеllpcItрaцaroщшхсяисс.,rсдoваrr rrii, lIсl-
вьle пЛaт4).)1)]!пn Это rlпllIil лЛя экспеРrlмептon ll paзмъllnJеlir'ii, ЭTo Ilp(]гPall
l'lЦoванIrе pадIr прoгpa['!миPoвaниЯ'этo Il срсдстno сап{oрсajlIrзaцIrп' u нспссЯ-
кaеjur'lii Лс1.0чlIultв/(бхlIовe]Jия,,,кopoче' i)ll].узи,L]lliв ЧисTorивиде, да ч,l.оТaм
гoвоir'тъ' '. хaкeрьr )кивyт Л]r]шьEa грrбпе noлliы. [la oсTp]'е прoгрeссa, lla пePе-
дoвo]t ЛпIllIlI фрoптa, в Tы-{y и]!{дeЛaTь пeчего, B тЬIJtуo6 тaю1.]lPllкJlЦпики
Ii пРoчис мIrP]JъtспPorраl1мllстьI' длЯ котopьIх кaждoдtiевtioе о6щ11rиес коll-
tlЬloтерoNi- сllучп?1яo6яз;шoвкa' olкl ttм в тягl]с,Гь'хакеPьlже l)1.ll0сяTсяк тe}l
счaсTЛltвьl]v'r]ю/lя]!{l ILoтoрьle]Ie oTl1еляloTсeбя oт св0eй pir6oTш и jrе р.r6oтalo'Г
для тolo, чтo6ьI,I{итЬ]а )кивyт д,rя тoгo' чT06ьIPa6oтать. B этoil 'гo ll заItлючает-
ся их oT-п Чиe оT oстальliьIx.
a
ГЛABA 1
пPoгPAlvl]vlиPoвAHиE
дЕHЕглoпAтoи
,,Ca|ryеjk,Il7t1'|цаоl]|xi ll 1bll]1bвaеln2n!|бo]|ое (|оoвеpuе
||1no1!есвя3(111о
]|oв|x,'||!|,
|]1)(l]|1lluче.l|L1 с ]'|oulоxl|,ll|е'\1
u]lu
u(l1ц|:l|аlluе'1ldalQ. ]hk\1lе э?|n 11РaяыяеlnI:яa Inом' цmo
а !|]uhl _ всepaс-
r!]ч1lо?lt с1.!|чxее,
е, o ]rx:bо.l|l 3lnno]'laелюбо!||!|
ц?| n u веl1u с!]l11 ц!Jв.nlвo'цno
|j|1. ц]lllpаеmся в ое}|ь|11
вик.roр г]оKолeNиe
nелевин. n
кУдA пoдAтЬся
- <УбuInb БuJulс1' вuоan?
- I'еii||1|x1,
ц|nolu?
Hаpoднoв
| ' l ' ' | r " l , , | , , l r i r , |l|, |. U I l | ' , ' . , , J П | j ' ' I l ' , ' ] l ] , l I n . ' , . ' , ' ' | . I l c , ] t . ' BJ'l|вU,',i''l ',t,
Ijl l|,]jll 'iс r!l)oеl(т зilвсInЛсa Il дn11ttьIii Pir6оrl|lrlL (i)|Tl{e
1lo что eсTЬ рьl]ioк? мусop, llJ.lв.ll0щl]ii Лa пolleРх'lостlr, B]v!L'сто Tol.o ч,Г()6Ьl
L|,Ll.аJоT тpудl'i,|nся пa сaltпx сс6я.
!a6отать нa дядro ХРюпIу' IlеlioтоРьlc xPсдllо
сво6oдrtьIх копсiil]r,lкоl] (.rIrп же фPlIJа!lссPl.]' oГltnrrl,,Zсl..л..,з) I'о'{lro встрe
]Itтъ n лю6oir точl{е I1lQn oт стo"!пчнolir xваPтllpы до r,rlyхoii rlpoвlrпllп:1Ль
::oiilI()Рьr' иrrтеPнeт сTиPaсT l.Pi1Il lr l l ьI x уРaв]rrIвaеT в прl]вax гoPoд с дсРсl]|tei;'
.l!'{iе llаxодясъ B rna.']аlrtсl trьl ]\]orксIe скaII]]ватI, стандaPтLI п спсци4rrlк|l|!lr '
1IIllться с кo]rлсгaNll1 lto llсerliу Nfllру' oставаясь IlРn эToпl заllсp|ЬIlt l] ЧеTЬц)eI
:]cна\' IrотoРllс чro'|n]!I' что тут oдllllаковЬI- свo6oдньI'i l.pафl1к (Toчпeе'
r.]Itое oтсуТствис ТаковоГ.r)' богa,ГЫi,l aссoртIrмснт пачaJlьсTва (ссnt1 ше4) ltе
::::з!lTс'l' lloNiеttтa,1'lIl] пахolull\| слeДуюrцегo)' нпxallоir паpъсрtlоi,t nссTxицьl
сo свonстBel lньIlп l еli пoрoкaNol r] rlЗв]raпieIlllяrjп i.]ouЯTIr€ <пaдо' l.а,{етс, а6.
''t' ,:''' ' in.,,'ll"'||U.r',, l|\,), vI l l t , l d l | l . я | |, п o т , j I o
кiп.l,,,Дj!,Dn| 'l'1 N||\ |,oд,,,,.ll|||',|.,,I,',,
':Il"'ч , : l ' l , ' o l r ' . ' l :з ' ^|l,няЮщи\.
ся Лllтсpссoв ЛYчJ|]1Iхv.Jloвrlй ра6()1lil неJь]' r1 лplrдyr1aть,
B oТ,1llчxе 01 сoтруднIrlleстsi llа rioпlpaк'ГJlorj oс]loBеl
llprдпo.ПагaюUrсгo 6o'r]€ e
и'{Il \feIl.]с IIJIl'тсJ.lЬll |,lс с'тtюflJеIlияl св()6oдIrьIii кoпeiiпIиl!
opпе]l1.иPоltаrl па крaт.
| ' U ' г n ' | , j Ll,- , , ' , 1 , l J I L . ' l I l t ' л l J , , , J U Г к , l | l I l ' . в , , , l , , яJ,| . ] ' " " , ' ] r r . l p . r г l , i l r r t
, , | , y' |\' l| . t|o6'*л |,{|,U||,
, t|||','''р','rruь;"''',,-,,
.-rгu лrr.u
lJьIсоl(olllf|сJjrel(yаtrrьl]ая зll]:l,lчa (кал' 1J:LllP!'NJсP)r]
сJvчae с зaцrlToii), с кoTo-
po]] шTaтllЬlс соTPvllll11lil{ (о]\1lIaI]llll не сЛPав.I]яются,
лп6o pvтпlrrrая p:i6oта' кo.
тopvlo леLuсвJe llсрс6РoситIt rlа <пl1oi]ерoB'l ll0пl lIirIIPяГа1Ься
саl\flJlj (Iraк' I]а.
I I Р ] l } 1 с p ]в ( l . l I 1 l l a с с a с P о t r о с o N ) . Т с l r t t с п l с t t с о | l с с т l ) о с
п , l e ] ! 1 , Iс Л ( ) 6 o ' l l l ь ] х
xoflсllrц,1J(оts л о()1oвIlоNl сo.Тl)ttт lIi] )lРoq)ссспoliа.!ьIlJ'х
пРoгрai\'iltlIсToн| lIPoЛn.
| o l J l J l хс в o I l i ] н a п Л ' l l l о I L с t t ск o к l l r l п r . Г р у б o э т o N l o ' o l о
лoяс|lить |jilсЛелyюUlем
прlIi\Irl)c::ri]rJIlllJll.]|() эjl€ к 1'рoдlrlII.ilTс.llL,у одil()ji lrоltlrаlIп;I ,, Как пr пыхте:lи
llтат'
l l | , l сr i J j ) к с ] i е i ) Ь тI la к | | t l ч o I . (l l) D e I i а j l l . r i l lп' o i r в а . п I l( l Ц x l л l t l с с р а .
тo1'оЛtlIlм vдаDo]vI
\l''JIo],.,Bo'.',||'n|'''''t'.rrnt."tr''с''6rl.цrl,|,.IIЦ;',|r|!'."|'U''l"'ro|']$l000
U l ' U ( , ' , l l " , l ' , , , ' n | : l п :! i I l ' . \ , I i ' J ,l l : i l 9 9 ! . , l , , I J . ' , ' ' , ' , l | ( , с | , | ' ' . l\|,Р( |j ( | | U 6 , , ' , | . '
у , l | , , , - , B г | ' Ф , . : . ' . l ' l j . I i l L | i | ' , ' ' | | с nl | | | |'.| | , ' , , | , |,' |, |, . l i l l | | l о , 1 , | . i Г Ь | | l l , l l , Nл|и . 1 ( |
: I l | : г | l l ' l | . I t l ' T I jt\t . t ] ' ' t r ' ' ' r , р r 6 , r '
l'rrrrr,r.t,кrri',|lrrr,IlrгrL,.rl'|.,lll\г(с'tiljl.
J { ( )I' l c l l l | т с , l j t а l ! | | | ( ) ГIo] Ь I l l l c , .
lj1llU.JLiir' IIpоl.l)ilммi! Jlа 90% (хтl1)l|Т llз ]|l)l,l\{]l'llll]II()гo
|Ф/]lill кo1.oрьli4 м0'(сT
1lаI|lIсil1'l,Лк)6o'i сl'v,ilс|l1,'(loзilill]атl <цlаp()вll])|)l}
I! oд||lloчкy _ э |o }lсе PаlllIo ч,l'o
] l i l I I l I N l l l Т l ( Лу N l с г | r o l l ' l , , | мо l r i ] | | | l з N ( ) ] v , . I l v ч U l с
Р i l : lP l r 6 ol i l i i т l ] < I r l l ч Л с . r ] ; г с , J l ь l J o с '
,lllPo (1'llк'{e IlllзьrJ]аoi\l(ю ,цrtпll копl lr лpoд:rii1.с 0l.о n
) с1.\,lleIl rll]\1' (oIllI ]кс <.пrto-
llсpЬl') |I(]ха1lдoIIllсЬ]вaют нсo olj Ii|'l|Ьll()o' (il6r:'пlс;rrrrl 'uuoрn'
цoРr,o.;,,,rrь'"
\аlсс|lIll иnJ(alIl|о-|аltll IlOс rу|llll() t, ]IО чT(]6Ц l]lа,|ь! |lo l{itltoмv
11cс,rvудapI]1,ь1II(l
06х()lLlJn1orЦюпУс1.ll'ГЬ чсре:] свo1r
]lуInl гьrся'rrI дlrпгrl'гс;rciil b6 ,',.n;'-,i",,oз, nl,o.
. | ' | ' p l l | | | | : |' ' ч | . ! | - , : ] | | , о ' I L ' | | , ' ' : l | | ' l , l ' . , | | , I r j | ' ( | | | , ' , | ' , ' ' 1 ' , , ' , , п ' ' | , ' ' с ! | | 1 . l ' , \ l l |
U l P , l , ' ' , | о l ' 1 | ' | ' ' L U , - | l I r |i i: . ' |, i ' , l | | | | , ' ' , л l l | ' I r l
] l ' Il I r l , l , ' | ,| ', , ' r 1 , r . r r rМ
кu
"l()llj,lс IIPoграNIi!1rl(Tъl Il ус.nоBIlЯx lLlrLоi.] llРlцх,.lьI llo-!го lic Rь])кшваюT' vходЯ
L1|"Il|'-"']tlI l\|||r,' la' '', l,|!|.l'''.'.г'',lo.'',,эl',rrrrrrrr
'о,lтвсР,(IlГ.'||o
!|г'.,'\4| ф' ' ^ | аг . l v c ' | " r ' ' l l 0 ' ' . г , | | | | r , ] , ' , |л l I l . , { с ' : | I |
'''"''"']"'.,''on'
ltак InLс] п.ll1]N4;сгosoiit,1o (:ooтIi()шсЛrlс oк l{сrся
x вoвсc l]l]:1), Еi(] вcдь 'ТlIм
9 0% тo)кс l lУх]rо чr.o тo uЛaтn 1 Ь ] l,J :Jтo iau o | (l> Лрi
lхoдll'l.(я oтРьIват1, оT спец]l.
в, пeЛeвин
чЕм зAнятЬся
.,,.lысnpаu|u|]аеl1||':
i,!i(:пou ]n?I ь11о оnьoпtn,lеpо(:|:lli|;l|u
-l|l,1 е
пPa2pаJ|1}1u|:71|ь|oце]|ь це]|,яn1(яв С1I]А? |I Кокl1е язьl]|u
u o|lеpацllo}lxIlс|llou|n3]lanll,a nеP|зц}a oц.|e|]ь? 11 ]n|л{d|l
лее 11an!нК1I1а-\!?'. Bo||1цlllo я |nе6eсxllnц' nаpеlLь' Jl]oan,
кo|nоpьlе зtldа\oln 1nа1|u|j ||о|tPось|' ]|е j|о.l!lп Ла3ь1ва1nь|:я
, <o11uпньL||upoссll'.t{ujl|npo,p|1'10|uсI11а.I]u',Tаn11]t''lюaa!|
11еlxlеlnuп mpцao!спу)nс|nво aаэ]1|ев ]oАP!
пepсиЦ]eлли, как neрeсгатЬ прoгpаммирoвать и начатьхить
I]oдoJгy ltoвьlPяя нсдpа Wi do\!s oтлаЛчпкoмl хаксрЪт с1.аljoI]яTсЯнсхIrлъlrtll
разpа6oтчIrRаrvolllа ypoвнe ядрa, Час pa6oть| аltих спсцIl:lлl,lсtoв сToIlт oт пятп
До дnадцaTll Дo'nЛаPoв.в Pокиi!1e{r:]Iy6oкolохaчe]]Ья' (Д!aI{ЦатЬчстьIРeчaсaзa
пloнlrтoрoNi)3aдснь вьIхoдIl1llри6jrизитеЛь]1отPистil дoJrJaPoвj а прIl lloрNiiulь.
нoI1 течe]шrисo6ьIпiй (чет!tpe.пятЪ чaсoв на сoн и oДnн нa зaвтpак r1о6сд)
и тl]гo slеньlrlе' вьIчтем oтсrодa вPемя, пeо6хoдиIfoедЛ,Iсаlloo6Рaзoваloi.'l u знa
кoI1ствас тioaьll{и Tехнoлоrliяl{Il (бeз этoгo llикaтс_ инaчe xaкeP заllo)lнcтся oт
yl,{'oo\|iU||о||||.|1jIojoд],,я||ли'ttl.з'olЛ]l\Г'|||]|o,,o.lЬ|оI,U|.pЛn,rвJ,,,,
q'lкaцllю)j пplr 11аЛичии дoстaтoчнolo кo.llичeсTвa зaкaзoв ]!loжl1o рассчиTъI
28 глава 1. пpoграммирoвание
дeнеrлonатой
o ,r' ,",r'"',
' , o | | д ' I l | , , ' , 1 \ | l i l l ' ' : r Il | e п : l У | | | | p o | P d ! \ || t ' , )\ | U l ) , l . i i '
xе)пlЯ оPIrгIJнa.]rьных aJ1гopll1]\ioв' воссTаtlовления стPy]{тypьl Фаllrl0ts даlllтЬlx
1'lI1llРorоко.nа о6llеI{а, эTа Pa6oТа tLeIIjIl)хoоплaчIlвaс'гся' \oтЯ orta 11llс сo!сс]\!
]rlioнна, 1lllшс зaкoп.rllателъствo дrвассе[16ЛиРoвa]lие IIе 3aпpeпlaет' a oгo Pс.
. 'lЬта1erlш в(с
PaвlIo 6у/]ете пoлЬзоватЬся не вЬI, таI( чTo вся оTпетств€ ] ]]lостl)
:r'iillTЬс,t на Ilаllllматe'liя, Правда' посIс эТoго H АNieРl.lку}ю)кпo въехатЪ тo.IlЬl{о
- чсjlol1иЛrl Tyпll(Лi. ЕстьPllсlr) чTo !aс аpесTyIот пpямо гl аэрoпoPту, У'{rrуч!rс
:lpавляйтесь н Юпlуro I{oрсю, Tall наших Л106я'Г' не в тo\'! сNtь1сj]!, чTor)L'l
r ц | | , , , ,. I o d | | ' . ' , ' : ' t ' ' | : ] D l у r e p о в r r в o o 6 ш ^ ,
29
A вoт зaпшla llporРаlll'Ilоl.o o6сспeчeflияl lloхoХe| fiеDеясиtsа€ т свoи пoсJ]сдние
Д н | | П г о г p а \ l N ч ь | PP A l U e ] | Й\)L , \ п a Ь . , \l t l ' ' o J п л а n i r | | L | ч . . д q V о { г i l , | и )с .ч c н я
етсЯ жeспol[1 тoтfu1l1таРnЬI11рФ{IrпIo]l' пpeсnедующI'rм пиpатствo нарaвlle с теP.
poРllзмoNl'зill{o,l.oPьIиl Itак пзвeстuol светil1 пo)ltll3ноIнoe заключен,Ie rlnп <!ы1n.
].a' ' Tсм lre l{eпeс хopir lиe спeцualluсты 6ез Рa6oты rrе oсTaнуrcЯ ll всегда ]Jаilдyт
се6с пPrlп{e]leпис, взятъ те жe naЗrPrlьIe дIiсюl, 06ьrчпая таксaзa зaппrту _ 5%
o,I стoипloстrr тrjpФ(а, PазyмeеTсяj oна oч€ I lьуoЛorна. Tyт все 3ависllтoт yPовIiя
заtцитьIl стoиIlloсти дпскoв i PaзIIrpoв саl!1olo тиPФка, За N'aссoвьIi'i I]poдyкт
]\'о){||nвJчl|,и | o , , | | е | | Г o . J д r р | | ' L ' A J 0 0 5 0 Q , ' 1 , J g y' n 9 ' ' o n * u ^ Ч о n н ; з J ш | | .
Uiaть' lIе oItYпится' Р вс чтo пoставllть тIllloвylo 3aщитy| rloтoгда сс сPaзy BзЛo.
мaюT' сyщсствyeт два дIrаl1rтР:LllЬlto llpoтиrlollo'llo)flньIх с110с06а oплатьl: eДlt.
l r o в г ] r м с н н а я в l r t l l . l ] а т al I о т ч l t с . r I с н I t с o л p e д с Л с 1 ] i l о ] . с ) t t p о ц с l r т a с п p o ] l а , |
пр()lраNlмllогo пакста (аriпilpaтllo.llpoгРап'11llor.o кoмЛrrексn)l в сoзllarlrlи l(oтo.
Рогo вьl пpпrrirм:Lllll уЧастис, lIal|имаТсJIЛ оxoтJ|се ]lдyт нa ел и |loв peмelrr l}'кr otl.
iатy' paзlJсp l(oтoР0ii l] завliс,lмосr'l] o-I спсцпфllltи зaказа кoJ|e6ЛсTся oт сoтell
до /!еся1.1совrысяlr дoллlrрoв' вeJI}'lllJlIa oTчliсnеlп,ti.I (так IlaзЬ]вaeil1ьIх l.ovа]tv)
и 1 l l . o ' | | , c P ] , | | I ] i r ( r 1 0 ' ' , U r 1 ' ' з r r r r l' '"loai i' н l , й с r U ' l [ | ' f r l I o , I l l u , o ' . . " * n ' ' u . " 1 o Л б '
lto дiи{с 1-3% Jlучшс, чe]\{совсcli Illlч.rго..IуT все зaBt'сиT oт рaскpy'ГILи llРoдylоa
tl O6ъcмов пРo/,lil,(' I{a oт1|ll('l0н11ях мо)кllo ttcпJloхo зapa66].aть' о]LIlакo ]иo,rllo
lt IIolеP'Tь (|IоIDo6Yii !rроконтрoJпJIювirтD, сI(o,l]Ьт{oкotll'Iii пDo/lallo _ oдIlа l'Jlи
]!]илJ]llоIl)' в To вPоrvи ка]( сyNl]\laс/1]rll()l]Pcllеl{Л oi.i BъlIIJlirтьIIApaJ l'пr роBa}la, в г)6-
Iцсrul Гoy1ll|у _ этo }кyPа]JJ|' в Ile6с, il clll1llotsрolllсlIIIая вЬlплaтa _ сllIlица в py'
Iсах, J] illlo мне '(yPaDJlи llpaBят'ся 6оЛьIrjс| хoт,i:r/Lcсl r{e 06х()llп-l.ся 6ез
рaзoi]а"
D o l J a l r U i 'Ui о б M a l l o н ,
Bосс,t.аttoвлcIIиeдаttttьtх * сltlo ollIJa IIoРсIleкTI'lвlliu O6J,aс1'l,'гдPаjITllРуюrпaя' ч,iо
бcз кvсIrа х-'!сба спellиl]"ll|]сL tlс oс'гаIlc1с'l, /lDк0 п мaсluтn6ilх l Iе6oJIЬшолo vезл] |0.
I U l ' , J ,' . L ] r .|l| ] 1 \ ) 6 J с м ьt I ) r l 1 , 1 к и ч j |л l , с I : : . м' , . ' o | | ' ' l | , ( , к | | v I l' l U с . J , | с . ] ' l l I сl , ; v ч ' 1 l о , l 1
с' PсryJI'цnю. кolrочно,I{Ля 1]o(x|ТаlloaЛcllиядаltнЬl.i a (ln'зичсскo]\{ уpовl lс пс06.
хоДи]цo вeсЬ]va ДоPоl.oс,гoxlцеc o6oPyЛol}allllе' ]]o R I]о/IaвJDlIo]IlсN1 6о.[Ьшl]пствe
сJ]yчaсп р.ulPушofll!я пoся,г JloГичeскпii хaPакlcPl ]1ля 1{х восстal]оts'llcния /loстa.
тoчflо liпrcTь редактop диска llJlюс пnРv.'l.Poilltу v'Гl{'rlиTсo6етвeпtlo1.o нaпио:lll].lя,
ABтoN1:!r]вI1PоIrап|llntjдoкгoPa тrlпn Еаsy Reсovеrу . это.lnrг}lя, Для дirN]allrлсгo
llспL)Льзol]аlJllя вnо,I]ttcсоiiдеТ' lI() 6Pа1r, затilк()е <вoсс'ГаlloвЛolllIL]' дellьIи,,,
}la6Людаcтся pастущ]1ii спрoс lI ] I:rt lPoгpaмм l1РoвiurIIeNfит{Poкoн-гPо''rлeDoв'в кo
Tоpьlх дoмtIнIrрyIoT AссciI6лер, сll' ФoPт tI маrjrиIrlrьlе ш)ды, Pa6oTа лриlloсит
т i l | . ' ' е J , , o в o , ь . т в | | ' , , ' ] ' o 6 | э r ь . : r t r r . ' |дЬ' г | | l , т : ! , | U в y I l я n l u г , U . ' l l Л ' | ')jl l ' в с д | ,
r]aюTI 1lРавда' rte lloсТoяннo, I,hюii Pаз за месЯц нс !0сГyllаoT I1Il олпoгo за]tаза.
Tоlда на пpoпитaпис llРIrхoДи1!я заРa6атывaть с6оpкой доNIаI!т]их киlютсат'
poв (oн11ссi1чaс пoпy,ярньт в пaрoдс) пpoсTo 6сPсм sIiп.l{oРпYс' отрьlвAеll oт
1тегo мьIIIь' Nlопиl'op и кJIaвуl пиl]rсlr пpоcтеIlь1txй зaгрyзqик Liiuх,а, aвTомати-
чссltиil paспозrlaватеJь фoРмата дисIrа иxодцeпляeil к пJееpy лулLт yправЛе-
rtия пo ик, llа r!1нolo lleГo скoнсTРyиРotsaтЬ мorкlro _ 6ьтлa 6ъr
фантaзrrя! Boз-
мoясrостeii /]JIясаi1oPеалllзaцrlи lfoре, вьI6IJ]raii пa!кvс. CЛyхиo 6сзра6()тиЦе
и неПосTрс6овaннoсти llpoгPапIlll'с,roв сильllo l1реувсличеllЬl, ОтмltPaю] oдtl!{
спeцt'а]'Iьxoсти| нo пa их мссТе рaсЦве].aют дрyгr]еj noДтвep'lilils сстeствelluЬlй
девeглолатoй
rлава 1. nрoгpaммирoваниe
кoммEPЧЕскAя пPиPoдA
HЕкoмMEPчEскoгooPENsoURсЕ
,|1106оЙ 1L\||i:]l: uЛeеп,|епхое itltеэtсltое вьtprL lt r:ншl - [спt
a а ' , a J ' ' " - l ^ ] ' u no , l l I t , | v ' r i l - l il J - Ш 1 ' | , J \ t ] , l \ а
сn вonpос' l|аGor ько кo]|]|lеpче|:]{u ц.]]!е1l ||lа|l)|I |lllu1 не}ia\|
у ? | t u , l | l j l ,Ul в n I | I , оn' u ,
в,1ор г"lев/ts' пO'o'.| ne п
Бсз щс/rpol.o с]lorlсoрll здесЬ llL'0б()iil '| ,. A к]]) ]lll'}ie l вЬrсlll]Jr|L' ]J 1.аlФii РоjlЛ?
комllaш ll l - сос'l.анl l1.с'rlr1д,1с|Р l]6у'П1вoв' n ({:Jlсдl))]aTе.]] Ь(к 11сopfаl ]!].rацll l l t l tl I г
с т и т y T l l l l t { { ] я l i y p l l P ! r l ] ц l l с ( h I l l N l l l Il L к ( ) ] Л l ( ) l ) n l l l I Iр|е' l i l | а ] \ l o д i l 1 с r l l il )' l I J n l | ц n ) 1 l ь j
r ' т . д , с х o p о 1 ! t l I 1 i J | | а | l и L ,а\lll г ' l l l I l ] i . к ( ) Гl ol у , I ( A ч ] |п( )o ] L в e J I c l J l l l , J яi !i!] ь l к o N lя L , l 6 l f | ь
(у6с11диlr д'ЦЯ сrroс].o Lфl)сll,|:L'lJ ()бцс]\L' L()' llсс'Цo)кIl()' Кat( lloсtуlli]lijI llи1.iriiсlolс
aаpн|l? CнaчаJltl oIlи в 11!кil1i рoя{аt01'l\lltIll lNli]'nЬяo Pабo rlJоlцllit npo'l{yкт, зilтcN1
IloI{азъtl]аloт сгt) 6o|nlЬI м ,цядсн ьl(it}l u llPос,I].]rс!lс;кк-!' РYсскllfi пPoгPамllисT'.,
o . о . o ] э т о с o в с с м д p v l o i i l l l l l , l ] l l l i i l к o г o ] l р o i l у к l i i у l l с 1 . oн с l . , B J I v ч ! ] с I l с ] I Y ч а o
]|р'IсутсTвуст тo]lЬкo lIPoсli|' il lсс oстil.lIl'tIoс ilаtlnмnк),t шlIpolio рaссTirв''lс]l]l|]lс
, | 1 | | , . l ,| , | | L l ' , . | | , a t | | D l l , I l , ' , , , . ' ' , , , J | , ' , ' , : l ( \ l ' , . ' , , ' , | | Ь ,|(ll tь((,,llur| ,l',\|l'|:I
| г : | П | l ' | , | | | |J , , | ' l':., |]|\|',/чч,
N l l I p I L 0 1 ) ( ' l Ч ) | | у T Ьl I' v i l | с J l l l l c l r Ч n Л Ч ) l l Y T l ) , T a к ( ) l r ( ) J ( ) Г и 1 Ь] .I l ) n д ( ) с T I t , l r ) . I i r ( ) i i
] l l ' l l ) ] l ; l J l l ) ( ) | i I c J | ](l l.lI,}| 1 N |вi lс с J г а i t | ]B Ь Ц L с . l r '|сс я ,
r I l l l ю ] ) l l ( , | ( х i| |( п I t t l l l ) i iк r l ' ] | v t ] Ь д
' . l '|ч,'. | ', ,,|'|| ,|),
y,|:l'|,'|,l,||,| 'l\' | ] l : | l | | ' : J l 1, | l| l|l'''l||lii
l L v 1 o n ( P o i ] l I 0 i iI r l ( 8 с i i l t с l t с Ч c Р l lд ( )у Ц ) l l ,l ( о | J l l L , r с | l P I l х o д l l ' |с ш ) к ( / l i l ч l ' |l l Р ( r с I L l i l
( ' r | с l i t l l 0 1кl irl i i 4 ) 'м у , о r к l ! ] ) l l B o l l r I l ( 0I l ( ) , | j l J l я с 1 ' хс N
я j ] 1 P о с - l L и l l1l o
I r r ] 0 с г o р ар' у r с к | | i i
!lроrрxмl'l1lсT дсr!|olrс'ГPI1P\01jto]i'IlЬ|ll Nlа|.сT ll ГoRopl]1.'ч1.(l,'lJl}loтФlllIaTcjl|,lloI()
з:lIrср|IIoIl'I' nрoLaIffа оп{v 1.Porrуcrс' l{lt.lrлrtoll лo"]rЛapоB ll сlI(t гo/l{RРе[iclJll' l]o
i)Lo бvrtс-г тalLlu riPt'l'ая llPoГ|JамNlll lLоToPoii Ro(J6lце llIt y кol.o пcT (гЛа](lm, с1Il'
рltсT l l ЛDlL' Лс,гaс'Г)r l ILоl.оl]а'Iп p |||loсс'ГиrlB сстoPy Мrl"llnпаi)дlIlll е llри6l'lJJ Il ( Ijl l"чЛ
Гсйтс Il ря]lопl riс -'iс'Lan). иlпrос'ГoP хмyPптсЯ irпlе 6оJ|ьIrlе (.у]Lа llа)кrlП,tЬ()|'
llcPн! Гl, бЬI свoс l )' lIo в грсх l lз 1lЯ1r1с'1yч асIl дl]I]Ьгп Bсс.такlI rшсIlоrjтilrJrяеT ( xtiе-
Р|ll{а цЬI rltк|lс Itаll!|rЬI(,,,')' tIoPl]з год' lioгlLа lIнвсстор пP]lхоЛllт (лlя'|ь' а JI'l.
: ',l'\ ,| || lr ] ,n ',l|l1l|li'r'\|] ' | ,'|1,l'
]'' l'\i.|, |,l,,tI'у
!rlсIIнL)]i<,\что ]rnl' со6ствсttнo' хoтсjrп за такпс Лепъгrr? ЛP.)грar1[!lIl,l..lФ(!||ljlеl(I'l
Гакoго llaс1rlTa6а нlr сoзiQlоТся с поJlI Ilпа' а тре6vrот nlll'1J]l]ар.цlIьIxвILo)кellЛijI'
Bот почсYy с руссr.ш\!lI прoгРalli\ пстll}1I' пIlкто lic xoчеT (oTp\iдIfl1!raТ!' l10.lrу.
L!LfГЬ,lLellьгЛi!1.'l(пo ] oлъltо ]]JlIiflllIlI(]Ьrr flх]lан :rа6уr0Pяo]i кollal]ДьI UJrи сoздав
Лад]lo' IIe 6уlrсм o гpустнol{. пpeдстaвиNi, чTo вьI рa6oтaотс в oдияoчкv Irли
B гpyппeбЛизкихдpузсй, кoтopыNlверЛ'гe'itaк сe6e сaмoму (я 3trаirrпPoгpаllIпIпст
скуIo семЬю' в (oтoрoй )кеЕq д€ д ' oтeц п сьпl _ всe пporpaммисть', вьI пиlrJrтe
бeспЛa'Гllyю веpсию ка1toгo.ни6удЬ кoп{меpчесl(o]oпpoдyкта в наде)кде зaста
вrrть eго сo3ДатеЛейрaскoшелитьсяl в€ д ь это пРямой yрoн их 6из}rrсy- и дей.
ствитeлъlюl чeрeз нe(oтоPor вprмя вaм aoстyпаeт lrрeдЛo)tсние' oт кoтоРoro
пeлшя oтказaTЬс'r,Ли60 (yпят прoДyкт зa el{иrtоврe]llсti]iylo сумl!ly| ли60 прeд-
лo)кaT лrPсilти в штат нa пoстояrпtьпli oклaд (с yсЛoвием пPекPaп!€ н ия Равв1t
1иЯltr]oдуma), пPи }кeлaни'Iмoлolo I'lпoтoploвaТьс,l,нo глaвнoе. пе перeIпу'гЬ'
DсЛи l{olrкуPeнтa нельзя ltyпliть' в Poссиll егo у6ивают (для irачалa мo[yт Ilpo-
стo иt6lпъ)' а зa гPaI'Лцeй BpyЧаIo,Ги('к зa tЙpушсIlllе автoрсI{oгоI{ пe|reптlюго
llpаtsа.A в тoм| чтo вьI clo IrарyIIIиЛи!мO}кe,le}le сollнсвaться' пPи этoм исl.еli
lJo,кcT 6ФзaстснlttJвo вo Poвать y вaс ЛyчI]lиeкус](rIIiрor.pаммlroгoкoЛa,хp€ r I BъI
чT()!l()l{а)ко1сI
I(oРoче, eс,пll l|Оltхoдltl.Ьl( оTlсрьlTЬ1l!1исxoдtll{кaм с чис'Гo кoм|llоpЧcскotliтoчltи
зpсllt{я' вьIисIмвaя IlnllBllьlх сltollсopoв и l]eрeвoдя дe]tьl.и]Iа lloмcpl{Ьlс сqста|
B ]t{есяцвьIхol,lllт o,l $l00о дo $10 000 (nри этом )1DкelIс тpс6уотся здпускать
кoпlгlr|JIяToР|).ЧсстIlЬl]!lTрУдoм аaра6oтaetllьдoллaPoll шlтьсoт' oт силь] пaРy
тЬIсяl,. o].сlollа: заJllIмдTЬ(,lopсD soulсe 'tNieeтсмъIсJlJJишь дJIя llриo6Pстrllr|я
l]])огРallI!llс-l.скo1.o
oIlЬl,l.il]lЛявЬtгo'llIoгoтруl(oyстРoйс,гBaиЛипo rЛу6oкиlll ll/lсй.
lll)lм Il|)l.lчIlltaitl'
гЛABA2
HA чEM писAтЬ, кAк гlисAтЬ,
с кEМ писAтЬ
Iз hl:llx цц ll бь|tll. aNпl'.lll1| Iо nе ццaШ lь|]It, ltРоI:}nопРо4х||:|:11оlx1!1|,1!hl-
-ull Р.rбоn uл|аl|11
давид ЯH
с ] o I r P с N с l r r l ' l с н l l р у с ь I ( Г с I l 6 ( ) J l . o l L l I T | | l ] I l | ) у с | ,уl I' () с l l i | l ] r | ( x) o l l l I l I I y т с Я | | а o j l .
r ] ( ) i ! { - o д l ] l 1 с , Г o с I J lяi ]( r) |N' L| ] {I loI I P с n . т а | ] Л ' I l Г) ( o 6 ( ) i i l l ( Л r г I L o l l o р t lг, lгI . Р l U ( l l o г o т | t п а ,
L | р l t в ] I J l ь | l ь l i]ix n 6 o ] )1 . 0 х | I o ' ' I o Г l lll|I| х ) Г p n м N I l | ! ) | ] t l l I l lo' ч | с I l I , в ; D к с l J ,Б с з п P с v n е -
1 L l o n x я lо ] l o l ] Р l ] i с , r l с' 1 '. 1 ' ' L Ь б vп l ! ) 1 l r r i г l Lс, р o l l | | ] ) 0 u l | ! з a I l l l l 1т' Р у l l o o \ x r о с т ь
рдз.
].lбoткll' рilсш l1Pяс\1ост|,l t т, д, Зr16yдьте сrrяrrц'rr1lысrrоiillьl <1lасl{anь проTlrв Си'
r t t . с } ! l l р t l T l | ЛA с с c \ l l i j r L , р a l , П с P с , ' Ll r l r м l l с т с l r r тI r п o - I! o к t t I l r r P с т l I a яl l l l ж с l l c P
.' .];цaчi|: сoздilTь рxrn)1.()с|loс()бllЬIiiкод, вl,'lillпаrоlI0|ii дtlжс в агРe(llв||oii
' 1 ( l 6 Ь r c 1 . P Iol с r l я x Л | l l L х с ' г с х l I o . п о г r l 1 i| р ( ) l . P t l \ ' r л t р о r j i l l r l ш
lI lIoЛлеll,l{||ваtoщI]й
j з o O п a р т tо r l е p i l l ц 1 o I r I l Ь Iсхr J с ' L ! N l ,
HA чЕM писAтЬ
у с++ lю с|]а|]ненl|n)
с Сu l!а.|Inп бo]lьurcnuouхJ!
]Iц a|1'poвнона аво,
Яr| ]1a]i к.1зоa ,\iii llL!]1:JaDац
з а|:.v!J:Ci це .].:сс.l|.,nеРlJLя jli1tuв1Lt'хna
||в асе:]lb.Iе?' зРо:1ц'r|iслРa що я xn]оp]o,:1цьо?о в1l|o0uпь: tt чozo вlt цека.'lu?
Из qopума
П;:..: l :t.lllкrllr яа Aссоrl6"lерi:'- этo вьтпerrдриваться'заведollo o6рекая lrрo'
еl- :]. :::rвa'r, A(еj\16ЛсP oпp:rnлЬiIзll]Tсс6я.nпlllЬ в с]lстellпо-эав!lс]ll'JЪIхrtодv.
з5
]]Ьlll', (Ti'! г Iv]]I]о0 l l рoгl):tNnlll Роtаl п1e сч|r'Гас-rс' дoстoЯI]Лe\J llс'lоPllи' сjroс r)с
no](стllo tс|rl|()вll.rl ()6l'.xTrl(){pllс}lтllрorrаIlIIьlii l]o,'Lход ООЛ с+ ! l;t8jl,'Lс.rI
l l]ll]\lll rlрoгpаrI\1Ilс'Гов' oOI) лрoвtlllr.лаrlrrс,кlll сr]l1нсlтвсr1llовo]]I|())кllЬINlсIx|сo
Цl rаl IIlЯ в0о6lцс' па пPlmер)(t'|l llсir кJассiJчесILого (h (r]o.ГP,r1 l.llк
.t )\l ]|]! )Гl)аI1\1]
Li] ч!цttlФв lljl]I tlсЛoiпlеk, ]\JяNl(l rl.lсиЛl1с каrroc тo по,1!Ilае1с,l lIil (n\!оj\! дсJ.'
r])elIr1}'llrсfl!0 Ooi]псpеr'i процеЛvрltЬIп! lIP01.PаljNIrlpовarlllе11ве( LrIil сll0Pнo' l]oз
L)'к{jJ
l lltnс lIll t]сгl])o){ ]']aLI l]я тal. Ir Ile on Рitвдiulltсr' oшl l6oк пе с, il,n ) tlсl lЬшc' сPo
Jl Рlrll)а.Ol.l{l1 ТojlЬtio вoзPосjlrl. \'дачllь]х прlll1сРoв lloвтор]lого }к:llojlьзoвlrнI1я
li.:lа чтo г(l lie па6]ll(''{irсlся' а трс6oвaния к ltlt:Ltl]4ЛlкацIIIl Разра6от'пa(Лl в'l'llс-
эвoлюция пPoгPAмl'!истA
прoграммиc дoЛ)(ен06ладатьсrroсo6нoсrЬюпеpвOMассногомат€ м атика ка6сгракции
в сочетаниисэдисoновскимталантоMсooрyхать все чтo угоA|roиэ яyля и еAиниць|,Uн
дoлxet сoчeтaтЬаккурaтнoс|Ьбyхгалтeрас прOвицатeльнOс|Ьlo р0звeдчика/фаiтaзию
авторa детeгrивнь|хрoмaновстpввoй праl.|иЧнoсlЬюэкoномисга,.,в отlroшelии к Ma-
Ll]инеУ дoбрoсoвесrнorопpoгpаtlмиба есrь oдна oсoбенностЬ:oн oтноситсяк нeйl кa(
lopo IJ/ (o!eй к.воеi ло! |oси чаLиrb, оr -иlо,даРе
пo]вoги сe6е (очrеч.Jpoва-ь лF-o. ь yма oезJа6o|tsoйтрa-oй pР..oсов эвv,
А' п' EDшов
кAк писAтЬ
B llPаRильнo сxIP()eктllpовalllr{)ii aнтивиPyсlloй пPoгpaIlIIl] \]oжнo вьIдejiltть 1]nl
нrзависимьIх yрogllя] d,toi alnряllсеlLttя сo tpеОo, (o6oPyдoвalп ell/оxерaцr]oнной
с | | с ' г ' l " i ' l ' a , - ц l , ' , , u ] r ' 1 I r ' , o \ J m ' | - x к х | | с J ' | в i t Р . | ) n q o p o t ,) | | , o
u1ntpфеiiс,B BL|Pусa\Г|oJlЪзоваТсxьскотo интерq)ейсa обьIчIrо l lеT' a ypoвс]]Ь сoпРя
)кe]iпя.lo срeдoil' пак lrpaвlJло, псРсIleшaп с ядРo}ll что яв.rrястс'l деrl)ек'гoll IlРoeк
Tиро ваriия, При пeо6xoдиIloсTli ]lеPс]]сс Ltl такоl]l вI'Pус на дPyryю oсь i1ьI поиNIссi\l
6o,rьпrую го:roвl rуro 6oлъ, кoToРоli l1oгnи 6ьI из6е атЬ' 6],цЬ nтп yPовlt]l РшДeлcньl,
40
It:DliJt'll.i xз }роЕнеil lтpс]дЪяв,.lяeTсвoЛ 'Грe6oваrlия как ri язЬlкаll пр{)Ipalfllrц)!ь
вaJ]lljl. ГаiL ll l|с]loсpeДсTвсllljо к саItи]\f прorpаi\{lfriсTaм' 3аЧастyю ollи pсa,'rи3!.
loтся рilз.!IlrliIьtix] '1ю]1ьм]l, o6paзующиl!1и лPoгРа}'IIIIIстск!ю пoi}Ii]llдv, I(oпeч-
но. пlr]16,lyдv ]lз I{ссlФ']Ькnx тЬк],lч стpol{ 1rсхoдllоro ftода !1onrпо сваPraпл't}
ll сa\x](тoя'Гo"цЬ]]оl]lo ]\{ь1всльЛс с16этoN1ссilllас гoвoPиl'l, Pассr'оTPl.lII впyTpсн'
Iril)roсTруктуру т пIlчнoгo пРoгpаrv!i\J,iotо11Poеl(Tа(дeсяlки r' со1'lrlI тьlсяч (Tpoк
ilсIoдн()г() l{oдa) llо в(сх пoДР06]loс'ГЯх.
i i l . r я l l б с L р a t l r р r l r l а l r l l ло T o l l с P i l п ] l ( ) I l l l t l l iс с 1 . с м ь Il l 1 l н ц ] A Р J . ( h у 1 I к ц | l ] | l l i l д с П r r
lt),Г.' (()6!|] |кll"' хi]]хnпl|n llP!l}'ePоrvl ToN{YсЛу)l{]ITстаllдаPTlllu 6u6']lп),'сl(a с||
foреrrrInаlloсPll6oтаl('l.ll 'l Wiпdorvs3.х/9х,4'Jl.,
п в LINIХ п Д.u{сЛ N|s-D()s'
l],l()ll])('il'к;lксгeаteЕjleu нeapA]]oс в Windowsgх/Nт, '|ъN1
_ 1,o.]lЬко (rlN|ьi\l
( ] l l . I l L с l r l . l l l o: r 6 с , r p a г l ' r р v с , r . t l а( )с l ' o l l € Р а l l l ' o l t l I o i i
сlIr:lcмr;' l I)]jl-t)IiI/
с + , ] I ] t I i | ( l с || l ' l r l с l i ( , , L a I Ь l | | с .с л i l г ' t I O l ] l l . | с ] |6хп 6 л п о т о r о r о 6 p l r з у ю ' r . r т rг т r l l l 1 ; r i
jL0()ll.|)ill(l|()Ill()j].i(1f\lIllli\J]IIIrlа1r()l)сlr'3учa1.ЬWinЗ2fl.rlIoЛ]|ГсЯllc()6'3llтc''IЬ.
l I o ( ' t o r l r ' r L l )t l Y р ] ! п l l ь l ; t t t t г оl l с г r l п о p и . r r l )I. [ д х r . o i l п 1 1 с к o r r r l r r л я r l | | и i l o с T i | | о ' l ,
ll()'.r1(nil'l]|(l]n!]cс'||llJP('.|)r]\!м\,llnl-ilrnх'a()lto|toтоPьl]\lIloгрilIll|чс|lll,lNIl|
]lIln
' L | ) у l . l l с( ) l l . l ) i l I 0 1 ( ) r l l r Ь(1l l(l ( :| . с I l l ] l ,
l J 0 l ! ) l l я | ] l ь r \ l l l P | | чl I l l i ! N 'l l l T l l 1 r 1 ь r 6
e l | 6 Л П o , | e l r lоl Р r t е l f г П p o l r i l I r I il l а с р i ] J l ] | l f г . J | l | .
Jrl' Il.6о,1'lloii l(])\'l сl.i]]l/'ta])I]ЬIх з'lдач] a 8се' ч].o IlaходlI,t'ся lll сГo IЦ)сдс,!ll\]]lj
| р o 6 v с [ T 0 с l | о Г о l ] з l l J I l ю / r c i ] f l r r I I 'сl ( ) ] | о Р . t l l l к ) I l I r oсi ri r с r . с м o i ' i 1. | р r l . t r пi l ь с о r r ' r r 1 l
( . д f l с к , l ! l l l i \ l Ь l ц | l T ь Л P I I я | e n I o ц ] e k ) lв ь l д c р l I у 1 r ,Л o ' г o к
сD Rolv1 ll T.д, 1Цю6,r."
t l l l л l ' ( ) l l ,. l T о п к a , к , r . ] i -IIl c P с l I r IW i l ) d o w s ( l I e г о в о l l я
у}{0 п]ю Ljnixе |l Il().1v()i]ь)'
: ) Г n] а , r i l Ч l l р е r I l ] l l ( r l . сЛ я ( ) - P r l з Л o r v vl l а с T о - с t r p п м o r j . r r I r e мa с с с l r 6 l l c р l r r r п p о -
' L I l \ \ j l I p I , I х I : L к ( ' в ,1 4 х ,грс6yет
tlatp а6отка х o р O Л l е г о 3 н a l l r t я O J J l l P a ц l l 0 l l ] l o i iс l t '
.T.\]l)l ]lоr!пo,tiсJtrloгo l1i| вЬlсOкуI() lLлa.nифul{аrLrno' llо 3ilIlUrllLлЬr,]
разр:16оT-
llс oбязilтcjll,rio' суlцoствyеT Nltlссa lоTовьrх 6rr6,лпoтсrr (в тоlr
]]j|Jе ll 6ссn'naTlll'х)' оЛltirкокaчссTllo pеаЛl]зацll't 6oJьlltlrнсTЛ1 llr rll'х.]стаts-
],l.l ;{{сln.Гь ll'\чrllсгоj к:гl]IN ]кс ollll т}i]lyTзa сo6oii зaраllсe пeиl]всс.ГIi.rе
коjllt
:l ( 1.вo lloll(]зPlJтe"!ьnых дpriitscPou ll вспol'oIаTс-1ьпых 6rt.)J!]toTcJi'o,1iссTочеп.
.l r()lJ(ll.'tx]Lтуl()щl1х l{Oкдv сo6oii, но Jтo
уже ltздсpлrтоr циnп-,rttlацIпl, 'Ци6о
1]lт.сЬ соз]l:lвll'1.ь своii сo6ствсяяьIlil код] ли60 ]'loпоЛьзvйтe тol чт0
уl l'.loсь
.'i llI ]r сel.ll,
.,.l1'll('liIl() счIIтаT]' за](o]rчеllнori' itoЦа в в]'ltll.lслr]тeЛЬнoii чaсTt1Ire o(:rанст
.LolltoгollpЯIlоl.овьrзоrrаAPIфуlIкции.o6сPткrIвоснofirюlIпиIl]у'сяrrа
: ..i]l]Jlirl\jLl g]lPaпrlеr]rтяшt rссоrт6лepа и о(хlрп,IляIо1с,1 кaк I)LL плll
сTатIr
:::]] ]tr)i1]ii'lvе\1Ь1ii Ilo,Lу'rь, oпьrтньre прoгpаlrrrllстьr ]iсtlojlьзyIо1 oднт Ir
тy '{0
4l
вь|ЧислитЕльнAя чAстЬ
l ] ь l . | | | с , x I г Г 0 r l Ь l l 'a],а с 1 r '( J { P o N I o < ' l л P r ' | | i r : r Ь r в l l I N |тi rt ю rlкс ||i'l|]]l)]lюrl') . (cpд
l к , ' l | x ) [ ) ( ) Г (I)l l ) ] ' ' | | о ) ( C l l l | ЯО,С I r о в r | о j i к х ] | ) с д ( ) | 1 I I с l ll I I l c | | | | (])l , l ( с . l , ,
1 t , ь l l l l | с j | ( l I I l | ' |-' ' э 1 . о l l с ' | o , l | l , ] (Nо l r , | с м i ] ' l l I I l с с к | 1| o) l l ( ч . l Ь J 'l I o | |r l l о 6 r , l 0 6 р а 6 0 1 ] ( . l
.1i'Ц)||.ll
, ' l x l l l I l ' I хl r o o 6 r l l с . B ' r l r : r . r t o r : r . rrrl'ь r ч r r с л t r l . с J | ] ' l I чt |nЯс т l , 1'РrIlс4х)Рr'llруi]1
4 Л l f ! р l , | ' с . l l 1 1 а с тo ' l к | ] . v 6 l l l ) i r с T з l l I l o . I | | с Л l l Ь l с l . | ) o к l l ,о 6 P l l 6 l T Ь l I l t l с TI l а . ц ( ) ) r { с | I l l , l
с rIP.liiГ( )B l| '|, /,t.
r1апlс пссго
l l в l u r t о к r 1 l I l l | с , r с 'l rl i l I I P I I п . n ю с | l ] I l t )]N! J I i lк r l a r : l . l 1 ч 0 с I n Jсl |l l ] ) ( ' ) к с
l]i 4)(DЦ)lUIo. паск:lJl(, tl дl]угlrх экзoтrtче(|кllх,rзьrках' l3 'r6oр orrрслс"пяL'rtllr;lrгr
l , | I ' , | | n | | |l , ' , | | | l \ l | || n , ' l | , i ' x \ | | | . | ' , ,l l ' , i l ' o | о
(|дрvГoll, ^ язЬl|i - ]Tо l|с 1.o,IlьILо ко]!1пjljlЯТOlr'rIo сn{c rl сl1) оI.Pу,iLlIll. - сpc:lа
рilрa6oтrсl' o т л a l . l r r к , l ! ] l l x D I I t i а т о р ъ ll ( ) ' l а , 6 l l 6 J l I o т с к l ' l . с l l с Т с \ 1 ы o 6 l l r p ! , к с l I l I r t
\rrчскIlllIlяT]t]l'Г.1,мlI(]гl!состarJnR.nllлаloТс]ЯIIaVinriLls1ndioTo'tЬl(()nз.заl]c
|-)г-|l r | ' | | l , n |' г |l ,\'||', ,ir ,' ,,llr r'' 'r rrrr
Il\tеll (])уllIrlxi]' vдo6пьlе r!{ас'Гсра,С нeпpijПL,lчкIl всс этo 3дорr)!o заIrодrl I Il вl)з
0уrl(дnсT, но сJtор.] эii4lЦn1}l xончастся, ]r'Iас'IсPllтi:сllo зtlвЯзlltI ьI нa Nf!.С,l] NlгС
I1сlIo.rlЬзvст IlесTаltдаpТнЬIс расnпЦе1llrr r]l вообп1е гоltopя' tlепeрсшoсtllr. N'Iотr.
rlo. ILонсчпоj лl]саТЬ ll 6сз lfастеl)ots, нo что Toгда (](Tастся оT IDЕ? ^ теliс'Говьr]i
рena](тор Iloх]ro наii,ГIi r' поr{PIЧс, CIтсте]!lL'l]rOнTPоJя п визYа.n]]затоl)Ьl дан11ьIri
Ila\(]i(,l.гс'] в гJr\6оIФ зачaТoчноIl сoсTо'l]r]]]l, Осr]овllьlIl 'nеI{:Lpств()rlстarloвптсЯ
()I.1адчnкl rIз-п(':( rroТoPoгo не пьr-lезасlxь нoчalп|] llo с orIпJ6]iirllll с]Ilнхpoпir3а.
1rlI1lloтoкoв oII rсс pавнo не спраllriясTся. B ltllpе UNiх' Iлe в о(1toвноlt IIспо-'rЬ.
']\t.|ся <тя'(е"!:UJ' IllloгoзадaчriосTn. JIих пPo.).nell lIPОстo Irе ]]o:Jx]lкаl]тjдir п a(!
(.ОPт]пIсIlт l'lIстl)уilсl1та']ть}iьlx срe,цсT! таlf побoIirче' !стЪ lJ]]ejJuс' чтo
деIrIеп.le
з!I рoгpaN'rпrPonа,ГЬ вl,lчПсJlиTе".тЪriy]{) частЬ Iia L1nLrх'е lI зaтеlr пePс]rопIпUлripo-
43
ваTь пoд винды, чelll п,]сать на Vis1lal с++. ТPyднoс.l.и Pаirpa6oтrrи с .lllrхвoй кoll
I1енсиРуIoтся леIкoст'1o отладки, ПравДa, Для этoгo слсдyс.t. проllикнyтьс'l ]!leo.
t r l oи, r й с I J в 'аMoU",I11'R||,1ЬяoIo"U,|,lxЛ,|иlirв\|иp.,Оj|(lcсe\|н'пorl^Ij.
TuгЬo DeЬuggeтrr нашюгo 6oлeепPодвltIlУт' .Iемsolt.Iсс (aРaB,'{а'
сoвсP]]rеlro
нeпDиroДeп/.lлявзлolrаluo ]]зJlolt этo]1еJlo
/{pyгoе),
пoлЬзoBAтЕлЬскиЙинтЕPФEйс
1loЛi,зоRll'Гс,IrЬс:ltr.'i] I]l|т€ Р {Iхriiс. . JTo,lllllro ll о,(,ккil IЦl()гl)ll^1IlЬJ) зnI|:l.Ту|.r oтliil
^ I л i o I r I l I6to n с с l I o . п о B ] i l i ыo 6 n l с г o п P с ' ] с l l l i Р а 3 р l l 6 o 1 ) n Il l Р о с l i Г а ( а r | с к ОГ ( Ц r ь l ti J. P l ]
. l l o ' i с | | | | , llll i l l i P l | ] \ | q ] . y х J l l l с к " ! l l , l ll'l з 0 д l J ( ) Г (L) l l | Г с P ф с j i с r i l с о с T ( ' r Г , 1 l l i , l ! | l с . l | |
г с ' Ц ь l | 0 Г o >l ( , t n ' Г а ] \ | ( Л | 0 1 l Ь1 l с } 1 l J ( ) Г ( D ] ,'1 l I т о P ( х ] i 1r(|' с 0 б , r 3 а l с J l Ь | | i ] , 1 l ) ' l | ) ( |бl | ) r Г l )
Г р l ! ( ] ) J j Ч ( . ( l | ( Lк1оIм I ,а I | д l r а , r ( ' l ' Р о J ( l l | | ( ) l I r c J j Ь l l Ь i i i
l ) ! ' ( I I I J J ' l l ) l l 1 ! . T , r v к r || | l J o с с i i
дСrll'' o д | i l l J { o( 4 ) ( ] P i ll l х | | l ) | I i l l с l l с l l | |o' r . l ) ] l l l I l ч . | |Yi lJ r { l l | ' кl р v г ( ) ] \(1r ] r | | \ ] o , { | l ( )
]Lr,(,
.кn]lп,.'кЛv6oII) N J a ' г o P ь r|х| р o ( ] ) с к l ю l I r J ( ) | l J, l l L u ( ) Р v l i ] ! t ь l I . l l t | б c l ) с l \ li 'l l 1 l j l i i '
т l l I l t lN | а ( ] ( ) | ] l ) P | i,il I I l o I6{ c r l l l к o l t о l ( l I Ф ( L t ! l Ь | I o( I l l I Гo l l l l ' ( | I i ) i ) | 1 l l p' с , ! l l Г l r ( ) i l l r o ( , г L , l )
'JTv ||lI'Гc.I|JlсlftиlllЬ'ю IrclJPlf|,lзitTеnЬ|lYIo' lIo 'гlr\Jn()('Ilкvl()
рa6o,|v Jlсn(x!!)6plliг
| | ( l сr | с с l . 0 l l ( D y ч l l , г ь< | | l l . Л l с р a \ ] ,_' l l l l ч | ] I l a l o l I u l i l l P ( ) Г р t l \ t i \ l l l ( ] 1 (. l ljN l||зllii||oPск)ii
) i I U I к о i i , B с д l l P a з р l 6 о 1 ч l l к l t н 1 . Е Р D с j i с о в ) t I | с ] n l v ю o l l с ] ) с д I ]х v д ( ) , ( | l l l { ] l t
у){t'
rl()Io\l пP')гPaIlпjl!ст, llсIIoJlЬilо]]а]l].]eгo1овьI1 |||lllToгр^lljll llo 1.o-Irьln)бсtrПllyсl|()j
l l ( )l l п ( ) r L к| .) ' в с Я к ; 1 я | | Р 0 I P a N i п l /l ( ) j | ' I r l t аI I r l c 1 Ьс B o 1 i с о 6 ( l 1 в | l | | J l ' i iJi | с l I о
у!IIll|]nc.
r \ ' ь J i i4 ) J ' p l l c I r I l ы i i ( ] 1 r I j l l ]в, ь I Л ( ) ' l ] l l c I l l l Ь Il lj iс д 1 1 I l ( ) il i\ r ! r | ( ) l ] o i iг . L N I N |l lс о 6 1 ) с n l | | | . r I
l l ь r ] 1 ( ) 6 ] ц с i i l l / . l е ссi i1, l l l д a p т п ь l с Р o с v P с ь l l ! х о д ' щ и e I l l t ( ) l r l l I , ] I с|l ]i |L 1 i l 1 . ] | loJl(l х r . i l П .
IJI\/isLrаtstUdio(рlс24)'lпlllilчToIlсг()jlяTся(ilгr1)t)гptlIt\!ьr.llx]r1с.rЛI{Ьleiд]rЯ
с c б я , ' п | r i в p а с . l е 1 . l t с6 0 р с [ I ) '
]]rl1ер(]]сjiс 6ыi:'гpr:с вссго пllll]oТся ]Ii! DсlрЬi/сr + вtli|аcr/VisrraJ I]аsirl/
\lis ua| с++/ NГT rl пРoчих с1lс'ГrNltiх 6ьIстpoii paзpa6oтк ll l lp] I'no)LcLr]lii Коl1пalri'
lIоl]ть к();lll ]l сrо 6ьJстР()дсi]ствrIе' l{oIIсчно' осl.ilBj|'IIот )lrcjlil'ГЬjr\пll]lсlo] 1lo ILт()llil
нjIх о6рацaст впilMаllllс? ГЛaпlloс oперeдl1Tь IiоIIкурс]lTоп. lк] l1llв lllr п.]],rЬLIlll
вЬrii1и Illl ръпloк DсlpЬi тем npсдrro.rllтеJlcl{j что пOд lloго i!|О'l{I1ollаiiт]l j|ю6r'Iс
Го |oвr']с ].о]\'поllснты нa всe сxYчаIr nо13]ll1,ПозПцLlя,NЕT ll!'сlloтря rlа uа.Лпа6.
llLliI ll:tРI.е l1111l.вьrгЛя/циT r{аIi то ]Ieу6сдrпелr'xо' x прol.Pаrvl1]lс1ъl всС с]rle o!:l.o-
Po'trllJ\nloT с пePeходоll, Пoчеl'0,? l.,lавtlъпl lloвoввеДelI]lо\] rr N|iT стaЛa nир1у
l''n'iа-q Nlашxнa (,NЕ1. I..гапelvоrk) с пporrокутoчнoi,l iФItrl!.'iяЦпеii llpЛ,пoxierIlIii
П Р пол, иДе' Да,!еко пe нова (дажe lIа Zх spесtгLlnr' rtaтre'rся. 6ылr l чтo.тo поlroб.
]ioo), TеoреTичcсIiIi всe вЬlrЛядIтт 6'ЦссTяxIe] rlРoгpa llrrст пLIшiе'ГlIРIrIPап!\f\l l|а
\ isL]аl Basiс'e' VisrЕi С++ l]Jll1 C# 0сi(,lJ.lаva)' lI oна выпo.шrIстся па llo6ом про'
45
l t с т a т r . o r l l ' l ш a х , l ] r l з r - а л ь ; r ь l с- r : х н о л r l rr r ] l I l l , o l l l . L I l l J l l р ( , U l u l l J ' J
r l ] ] J J в l l r l i l I оlт( j -
i ] l 1 ч J i n r l д у р l l ( ) lсl т l ' j l ь . o т ] n ) | о l l о Г ol l o т ( ) ] \]ll Р ] J х ( ) ! l I I l . с я
ц o . ! l . i )o т Y I I i l l l n т l ,я( ' . f ' r l J l l . l \ I
'r'l
',|, '' ,o|,
.. ,,t..\l ||
,l r., ,,.\. 1,,
r r.1 Il r'
t. ,1 .r .. .r. r,. , ..,, , I
D ( . l ] ) v ' ( | | . ! ] i l l . ] ] 1 ' д | l с (.l ' ' l l l ) т l l ( ' : ] l I : l ч l I l 1 ' , ! r ] l ] i ! ' | | с l J l r x i ] ' r l с l l L L .
Ц с б Y . I l J 0 l х ' / ( с Ji l l
l i l ( | i ( ) l | l с \ o , J (l ) ] . ( r 1 ( ] n l ] j L ! с , T I ]! ! с T l l \ ' с
'||n'с' |]rlill\r:L]l]lr'|ii".'r.,'.'-,.'''.,..,'.'"'],1]]';.il]il];I
:,iiilllll]l];
. ' Л | 1 ) ' l | ( ) |l l]P. ( ) ( ' r ( T l ) l r l | | | |l |. 'р ' [ | o I r l l| ' 1 r : ! r L \ ,
Paзработка
иятeрфейсoв
с пoмoщЬю
lq сrosoftVisUа]stldo 6,O
47
с кEМ писAтЬ
хnrcPстпо rul лroк:tя прeдtк]шaя .,6r aс1 ьj oхваты Lа |() цая nсс с JIc ( lPьI л poгjltt\l
}lrк,ТсIioii Лeя,lс''lЬltoстlJ] o,J. IlаЯ'ЦЬllпкll iLo l]nсlljсii lll'.сiIaтrlI(iJ, У.lrlrrll r:rrr:rrllа
jll|.1.aNlэтoIIеll||||лll.Яl{,^n||Dl)lirIмrIспеllJlа'lJIlстa]\Jll]xдl]адIJ'rJJо(:litIlo0ЯlсЯ,
'I Jiс 6.PY R Рlсчt]'Г-lI'х }Iо].lо/lЬlх r||(,lсii' котopЬ (' lrrrlIут rз свoсм
розlrлrc lrcвoo6
р a ] ] l | [ | l )д ' l I J J i i i J ь J i i ( ] | l l l с ( J к , | з Ь l | ( ) | ] l l р o I P а N i I l l . | Р ( ) ! n н J I я | | l I P о t . p a ] ! 1 r l i l ь ] \ l r r r { с П r l J '
в ln)'П)],l|х оIllt l(ак 6J'I v^|сJ0ГPll6(ла]ь, Бсi}
l ) i r i l , 1 с , I l е l l J rl' l с Л l ] l l | ' а . l r i l i t r r 1 r I jтl р v i i l
illlхi|ч|lt.Ь IITo 1o l(ollлрс1rJ()(l llа;;рЯд jJJi tltl''tучtпся, lri,llя ]rToг()J])'жlrn ln)мjl||](r'
Г l Y с п , д a i r r с : l l o6 y / l с т r r a 1 l l lк l 6 p r r ' r ь rпхl v x l l к o l r с L ( ) l , I l l l | | I I
r r r r u ' ) rrri ! i j f ) o t ) i l o i i .
l \ ' ] l I o||| с| | ! | р у с o l I l l с а T с j | | | ( ) 6 Ь ( n l I l | яr|roк'.пI}l yLб l 'irl ,l r l r l r r rol 6 с т l r r r r l r r л
l tlrl v r I l l rr r r r х
(]r|l(' l](.Г()
/ ( l l - l ] ( l кoаг | | д с l l " ' J aO.. j ю J t | l l ) i j I rx']rjl]('|y(!x)
L I l | | ( ! | ,Ill | | ( ) | | ( , J ) |l )l ol .1 . ( ) р ь ]lс| Ь к ' Г l ] ] l J } o J' I l l I l l у | | l p o с T ( ' ' i L I r i ' ( ' T р l l l r r r ьr rrl r l n , i i с r r r r r ' .
n ( ) o l I L с [ j|' | ( ) : l o р ' ' Гх a к ( ) l ) ( | ] ( )I(ll' r | с } I ,|]] о l I o , r l l x ) i il ] l x ) r . l ) | l ! \ l с. | . t l к i l ' | ] l I ГI ( ) $ N l 1 - 1 ; r .
I l L l , l '1 | р i ! ( r r ! | с с | ( l ltr с . l l t ' l l I y r l с 8 l r l l l ( ] 3 | | р ! ( | ) | . ' ' r | | | { x ) ] r д i'lrIJl Ь
l l lб (r)l ( ) 1 L ]rLо ч к v j J r ] 6 ( )
'.с(l]Ьl\j ]n)n]]lt(I||Пl)Il
l t а | j l l ( )с l ) a б o | l l в l l l i l х с ' ] l P Y i t i i ( ) l r ' 1 Ь . | n r t ] l ] ( ) r | ( ) l I l l р i t I L l L ' ,
((l,дilIlIl.пliI)vс()B llсl.lln)|||lilядс,fГсJ|Ь|l{)с1'l,.сrюс06lrllllIl,IiiПriз()lrо6IlLo.r.lr.||.
r ] ( ) N I .Y' | P o ю . 6 v l I I I l р о т п п r . l l l I l I T l l ' r l I t с r t()(l ) к ( ) - | о p о мl l Ь l I l i l с r . ? : l v | ( ) | l ( I lсхT l ) r I l l l .
] l i t х о 0 с | о Я ] . e ' l ] Ь ] кn)o Л о J ю П l r v ) ' B o 6 Л l e \ | 'i ! | l l l L t с п l] l ] lI l ( ) , ц n ( ) " 1 l/l \' ' | ! к l l ' l i д o l t 'r ( ( ) i l .
I I o ' 1 l Ь (ol с T l ' с в o i i I l р о в o к l l T o P , с п с ц l П | ) | l к l l l i o \ t п ] ' ) l Л . t , ] l l | Ьll|х] ) ( r : l y l l r l ш I l I i i} r I l ] i \ l '
ч т о I l ] l o ' r f | | | ,I р Y , ] п o I L l ) ] { l l з l l T Ь , П р o с 1 с i i l l l u с i i с P l ' l 6 с з o l l . ] с l l О ( | | | | Л P о r r о х l ) . r l | с l L ] L '
в с o х r ( о п l r | Р о r l с ' г и р v r Л | U 1дха I ' U Ь l х I | аз а | x ] к р р О I l i l I l I I i )<N.lс п l l с rк с ' ( 6 p . ' l l R e
4]rl)rll
x)\!,l,ГJi) ]]ar(]]r'Ilrт сЛe]L(1llIlс I] lJlухоii'lуlIlпi. oс()6CrIllo oс-l |{ B]1p\rс6ь]jI o'|п]).lв
. 1 с I rп o G I ) ] t S l l з с o с e ] ( | l с r ( \) x I I L Р o Р x j j l ] Л IaI о x } ' п " ' l ] | | | l o i ]lvj
P ! ] {t ] ' Г о п o \ l ! т с J | с c ю
l I \ ' .6 с з ) к . r - ' l ( ) ( . Туl lтoo п . n е i r I r o i l yв р е к e ] | o с J I lз] а I r е р r ] | u l l l яo n с Р i l 0 l I 1 ,
(,(|lюIrнYlо ()lInсxoстъ пРe/l(.1.irв'll,'le'r
II\]е1IIroДоrrос ||.r]rI(расi(.l'li' oднoго ilз llnf'
lюв ].рyпЛЬl, l{с]татll гоrlоPя' rPуппа (о(с)6сян() llе(h0pмa,rl,llrЛ) y)t{о лРlrl]'1cкllcт
вI{ilNlitпtlej rra1{6ьI тЛlnlсjlЬfloоrrа llс }!lrсI{]цroIril'lrась,
HеyЛ}rвlr1!'llьi j Ol ] r|О llt1oг]lе
впрYсoIlrlсaте"rr'т пpеitlloчитaIоT Pабoтaть гl ()дlll1oчкy,
ГЛABAз
HEyлoBиMЬlЕ MститEЛи
Bo3BPAЩA}oтся
[lРc'q'lc чсNt llР|lступа-t'Ь к Itаппсаlllllo сo6стt]о!lllolo виl)yсц llсnЛOхo бЬI позlla.
кljN!п].ься с УГоJloв]{Ьu{ кo/'lексоN' l'l3ll|l1lсTl'к)) :uLl]окaтоNi' B lЦoa"llь]Iоl1 !Lс:\loк.
сЛo)кl!lJlllyloся
ра1] l!l cскoм ()6lпсстl}с l Qlil lимiro!1Ь|сi]aкоllЬI Jl l ||llЬ зaкрспЛ'lloТ у)кr
А чсгo хoчс'г
6o,lrьrrrиrtствa'
спстсмv rlтпoшсrrиii'зan(I'rцilЛпрll этоll rrrггерсcьr
ПравилЬlIol
6о'rlьrurirlство? хJIс6a и зрелltщl с хлr:6oмвсс 6oлcс пли мсrrеспo.
lIятнo, ДaЖе B сTРаllaх тРсты]r'o IJllРа oт r.o"!оil1lпparсгl!чссxll IlиI$o нс yм]lрaет'
со зDсJ|l!llLаNпi )кс с Tvaция зllач]lтеJlЬtto OxDкпeс' l{а фolle катaс'rPo(l'rtlеской
д".p.цапu,' nудnu- и вlt/rсoЛl|.I]усTрIrи 6opь6a с плpатствoll пршo6pетaет вoис-
'Lпllу yгPo)кllloIциl]i
Pазмaхl yIIIeп{ляя !lilTeресы каx o,гдeЛънo вз'lтЬlх пoЛьзoватe.
'цeii' TаIr lr Brcго Nll]Рoвtlго сoo6шcсrва в целoм, B'цaс,гь зaхвaТиJ]!I l{еIIпаNlаIпa-
1.ы, <с]lnЬllЬle }lиPa сefо' лo661lPУIoт заt(o}rьll сЛу}каIr!ис llарe /Iеся'гl(oв
мllлJilJаРjlcpoB и пРoTIlвоРeчaщиc иIITересаNI oсTaJlьllьтх' РЯд нayЧ]IьIх Ir ин]{е-
.laстuчнo пЛи
пePншх 11сслеДoвaниi'i в о6ЛасTx r]r14юРI'aцио]lrlоii безoпaсEости
пoлносlъro запpещcн, Потpе6rrтс,'rь доке Irс rrмсeT IIpaBa зaUIя]Iyть дизaссеir6
леPlrм в ТoT пРoдуltl.l кoтopьI]lсму впaривaк'r:
Tоuсh,1Juttlon'ttаstе!Tаstе,ьut don'ts\aal!ou'!
Lao||,but tloп'tLouс|1!
сIaТуациядоIlЛаДoсвoeтo.'rоr.иveскoгo a6суpла'в вoздyхeзaпaхЛo6уlпом nрo.
ти! ,гoT:LriитаРиз]\lа <<доN1о(PnTичeскor.o Рeжrfi!{а',пpoTиl] aвтopскolo li патснт-
Iloro пpавa' кoIда oди]t пpoнЪIpЛивы'i кoммcрсallТ oтнпl{а.т y чeловeчсствa тo'
jто о6щсдoсТулЛьтi{ 'Гaкoй
чтo eму пP]rlrаД'llс,(ит пРа,У, I,IllфоPмaция PссyРс'
жсl кirкЛодaи вoздух' MьIдеTисBoеii Iq7ЛьТуРъ]' Hапrrrмьrслrl и суждсния,котo.
рЬrе IJъrIrснРеlrlle считасlr <своипЛ,t>' нa сir]!1оNi
/цеЛс пPсirrсTaвляюTttомfuflraциxr
v)ке дlBтro пPlдуllaннoгo и !ыскaзаннoro, Уд1.IтrьIсrraхoдltп' яPi{по идe]J'..все
ЭТ(] Pсэv.nътат o(:]!ll,lс'llенl1я]r п€ р еoсrvь]сJrения кoгдa тo ус'll],l1xаl1нolo t]'lilJ п]r.)
ч]lтalпlого Iз.]IroIlнrпс свoи рa3roвoР'l в I|уP!I.riкaх л&1ксPаспo.]iarая /.iI]кто(! )}г
ноi] зaппсЬю' ]евoJ:\to)flнo vстаIlo]]'тl,. ктo пlrpвьili uъlсказll-ll llдсю, a ктo еe пoц.
xватп"!' зJlrllи.] - пpoдукт кo.lr"!eI.гlI!]tlo.oрaзу\]a. нпкTo нс до.1лrеr]eЛljrl()r |rч]lo
Нlt,tлrr кoгo не секрегj ч,гo кoIlпаlJlI'I гI'гaлTьl всдyт нечeсTпЬJii бxз]rсс, д:1вят
IlсJlкие фиpмьl и деiiсТвvЮт lrспо,:iтlтшка, С какoil )Itе сTаll'l lloтpс6птель дo:r'
' к e п п р l l j l с P ) к x g а т Ь с я i \ l о р а j r i I . е с . I ] из а l t o н п р п о б p е r с н л о н е л r I l I е l I i l Л o l l l t o ] i
Wiпdoч's в о6лtеlr то rtс JiLnpсщаст,,
Bзлrlмзащптrп,rхllехаlrll;l}1ots.rЬI9сдcнrtевlIi)ус()в.эТoвъlpaжеiJ]|cl]J)oТссTаlIPo
l.ltв насплllя Il IlеслрilвсдJtxвoстIl' Са,{lTl' зil ]l('lо lro;rсlo. пo 6есrlrl.rсзrro Говсlрят,
ts ССсI] oЛlloГo чсnoвска пl]с:lЛllr.||]ijr 1'o. ч гo о]] сlraзаn] r.У llilс IlсТ дс\]oliP:tT||l|'''
Allсpnlia' п()xо)кc' дrlDксТсЯ тепl '(e пу tlr. A всilь в3nоп l|рl|iIl l зillЦIlтlIjIInJ ]liJ
ф o p l { а ц r i r J е ' Г о " ' I r ' к l(j)] r а l . r iIl I o r I ц с , l i n ) l ' ' l с | l l ' х n I { c p с т п ( )r l r | Р o P t r } I i l l I p о в a l l i l c
л ' l " ' | , | 'I l l ,
] i l ] 1 l l l l ] п n х ] \ i c х : r J I l l i l N l 0 t s 1 p с 6 т с г l l а в ь r к r l r l r r l з к o r , 1 r о в r l с u ( ) i i P l 6 o l | , , с o l l с p illlJl (l t)'i i
| | , , . . r ,r i . . , . i i r " ' : , ! . . . . , t \ r lrr r:. r. .Ir.,\. r.r...1r.r,. l.!,. .П I,
t 1 е с с t 1 l l нr I у u с т а о с o 6 с l l I l ( х . f u ' ]l i ' к ) Г с L | ! , ] ) l l i U JкJ(' ) ] l к P с Т l l r niхф ] ! J I l I l , r | я T ( ) l L! )rlllБ' r ] | o .
л r t r t r t l , t хr r i r< 6 r ю л o г r r к > l l t l r r l . r ь з у с r r ь r6х r l 6 . ' l r l r l , г с lкt't l t r T о мY | , ( , 0 | l с| | P ( ) r ] , l l N l l l l l P о .
! r l I l | Я г Р t l I r Ь l t с l к ; t у с o б t l r u с r I l r о с a I ' ] l I l l | р о г ] ) l l r 1 п l I l P ( ) П l l L l l l o lпl r| i i l I r с P . T I r o N I
с r . i l l i о l ] l r Г с ,lli а с ' | ( ) ' r | , к]o] ь r 6 I n j jJiI ] l с v . T l ) j i ч l l в ( ) i i , . г г лr l r l с р и с к r l в l r ' n| i ь l c r , r r 1 х l l t r r r r ,
l i n . l l r c п {( l T o Г o ' . | | ( )1 } ( J l к i ! ,l lI l l I l ( l l 1 . l|L)!l l ] j l r lк) r l ( | | J [ ) 6 ( ) i i д P Y Г ( ] i ] к o ] \ l l r ( ) l ] с | l|гl Р ( !
| ] ) I l \ 1 N r l r ( )or6, o с t к ! | { : i l l l , l1' р с . v с . Г | | r ( r lс ] l ь I ] ( ) r ur l l r . с с | l ) l n ) | l l l . r o , Г с (| | | | ! ) | ] l l l r i l ], | l l
I l р с д l \ 1 с гl ] Ь l я с l | с l l l l , |с ' ( '| , a б { r t х | l ] ( х r ) б l I o . : | |I|l.( ) n r р t l 6 ( Л 1 ) . I l l ! 1 ) 6 J ] ( ! ' l l ' к , '] r r l i r l l
l к ) t r lк о l i T o к . ' l l ] I к ) l ] J l I l a с ' Г ( r.ll | 0 с o 0 r l ( х l ' | ь] ] i l l l l | | r Ьlll | х ) T I l | ] о сoI, l , | l '( r ] i l j | | | ( l Л lLllpo
l ] | ] 1 i ) P v ) { С i I l l Ь l tхJа к с Р . r ( r l \ 1 i l | ) с o l l а J r o }( кl ) l ] l J ] ! ) l l r I l I l к r п I | |
] l l l l l I l l l L o l 1 l i Ь l дх 1 l с ] ( ( ) ] ] ] . l N | !Г' r0l p
' t l \ 1 l3l ! l | )l У | l ] | Ь | | Ь ll}|i| ) ] ' D o д ( ) !
\ l l l l l I r | I l l t ( l l ] а N lс| О 1 O . ) ] r l o ' ' l ' 14i ', i i i r r о r r | t, l ] l 1 1 o r r l П o l ) l l I ! IrIl 1 1 l ) l r l 1 T ( ) | r l r рI ]o|.|с 1 ' ] ) t l ) ,
\,,|.,|| , | ' , | | | | | | ' , U l | | , n ,, l, , l , ' , ' jl,' , 1 - | ' 1 | | |' ' ч i , l , J ' | - ] ]
|,\'.
лоelllloс1rl РсilJ|IiзаIlllll i]ilrllIl1l,l]11'PуЛoо\'ко(|'l I] кoItt.ll]l)N| (.IсTс,
н з ' r l о ] \ I : l т ь\ 1 o n о | o . I r l l ) 6 у ] о з l r ц I I т v э1l)1()jl|,к)в.]llPoсIrPei1trll,jlсJrсr,ILвlrJIllqrU
l i l l I l I п | l ] i ! n ( ) i \ l | ц l l l i i t] l v с l r " ! I I i i ' Н о Ц ) i r I l ( ) ю Р o l ' ' I и з o в l t l п l : | я з l ] L l l l I i l ] 1 o / ' ! o ' l I ' l ] J iol с -
1 l в J я 1 . ъ Л с | l { l l х r l v T o i i ] I J I я с п o e r o в з , r r o 1 1 l l],( o I I I q ] ! r т | l ы i i r | р r l \ 1 с p З a щ J i т а r l ! r I п , r -
'i.'lt''l,,j,4li,'Ь\|',|''i|\|l,.|''
l i l l l i д o г o п о с I I r . е , ] l ' )6' с ( 6rraраспозllаrь rlr гpr6уrо эrIу:rл
l r r l ) я l . ] l о P P е I i т I I Oз а Л ( ) ] ЕI)С/Есс, ЕnIе 6о.iее ()lrLфсTlrr,lii
rlрrlr1сР' Прпвяl(a l. l соIlCTрlI]l спIIраnьlю1] дoPo'{]rl! лi]lleр|lon) дl1сrilL!дll,{. 6v
Jучll рexnlltI)вtl11нoii 6сз oппt6оlt, о6хoдrrrся пvтL']t соi!]latlxя вJlр,гya,.lьпого с 1).
Roi\'1 прtrвода, rrмптпрvrопIегo всс oсо6сннoсTlJ с,ГРукТуp!r ор]lгЛпа-!ЬiJо 1)/(|lс.
liа, rlrl' эToгo]]e'ie пe lIv,l{lIо 6llTrtriаIiерoNI -д()(ГlLToчнo зaп\'стl11r, A]сoЬol 1209;'
.1опlaюlцrli.i тirкr1с защliтьI аllто]\lа,]]1Чссx]l'
oлшt6шr проeItтпpoваlulя ]aщ]1Tllьlх ]\IехаIll]з]\,()в rlчс]1l дорoгo о6х()]1яlся 11хPaз
pа6oTчикапi' rro гaрallrrlpoва11нoзастрarioпi:t,|ь(я oТ noдо6rrьп пpос!|еToв нl]возr1o)i
lto, ГIопьiтria пl]rlпlене]]l1я (нa\чIlЬ]x> п0!х0дoв Ii за1ltlrтe прo1.pililItного r:]6cспечe.
н'Iя чI]стеi]шеii вoДъI фaрс п 6ессt1t'сn11Ца,ХaI{ерЪi сIiеI()|с,1]rа! axаде]\пlIlесlilltIlt
разPабo,Гкам11в сТuJс <.расче,ГтРaеrtТоplln сф€ р IJчесJогo коI1я в ваIi}T\le'' лрxli
51
тIшeскпл'06ая тaкая зaiцIrтaснимaстсяза 15 l1llнут 6сз нanpя'ксяия rввиЛи]l. Boт
грy6ьIй'нo наUIЯднЬii пPимep, ПРoerстирoвaпиеoбopоfirloii сIтстеifьIвоe]rнoйкPс.
пoсти 6rз 1пiетaсущсствoванltя Jlclаl,еЛЬlIьIхaлпарaтoв пoзвo-пяeтз вaтlrть эry
саrryю крепoстЪ чyть лI{ Ile на пpoстoм <кyltуpyзникс' (Мs WDв <кyltypyз
нxк')' нс lotsоРя у)кe о6 llс'Гре6ljтелях(solt iсe истPe6Irтель'а IDА Plo _ e|це
п 6oп16аpдиpoвщик).
j{ля pазpа6oтпrtзашитtlьlх I1eхr]]и3i!JоR слeдyет хoтя 6ьl иjllетЬ о6щсс l1рсцсTaв.
Jeнис o пtстoдах pa6oTЬI lI техllичeско]\{аPсенале tlpoтIrвппI{a'a сщс Jrучшe
в]raдетъэтим aРсоналoп{flс хужс llPoTrlвlll!кa ('Гo eстЬ в совеРrпellствe), нaцп.
чие 6сlев0г(roпьIта (PсaЛ!нo вз.]tollаtl}lьtхlлюГI]аiII{)oчеtlь и очепь )ltелатcЛьtlo:
пpе6ьтвaниев rпкуpс вз.l]oмщиt{аt1озвo]1}lсT ilоскol I:Lпьпoпtуч1lть тaiппку tl стPa.
тeгjпo aтaкyioцeй стoРollьi' ltавaя тс]\lсaNlЬIпlgoз]!1o]кность onLllпti].]]ЬllьIIi обРa.
зoNIс6aJ]а сиPoвaT],oбopoПу, ПолpoстyгоuоPя' Ilуж1roопРе'1еJlитьи yсиJ]llтI'ва-
IIPaвлс]1ttЯ н а l ' t 6 о . / 1 свсс l ] o я т l l ( ) l . or ] ' Г o р ) ( e l | п хя a к е p o в . с о с Р е л o т o ч l I в з д с с r )
,,,,l|г, ' iU |' ||| ...tl||||,
!J'(l | | l | у \ | с B o , 4 I | l | | | ,Л , l с | . . I . , . U n J | х l | , J | А J ] ' ' ' j Г '' t ' , г г
фopМaтPЕ.файЛoB
главa 6
.лaвa 7
виpyсЬlв миpel]NIХ
глава 8
oснoвЬIсамo!toдификaции
lлавa 9
нaЙтии yниЧтoжитЬ,
или пoсo6иeпo 6opь6eс виpyсаМи
и трoянаМи
o ФoPмAтE PE-ФAилA,спoсoБAx
вHEдPЕHияB HЕгo и нE]vlнoгo
oБo BсEМ oстAлЬHo]v|
--'Xакеpоnвo вьtпесltula всe ' юlюt)' uнtrLе?еск dевцшка'lt,
ёpцэеn,sче6у, pоduпелей, смьlt:лэtсuзнu.Эlnо 6m dpаral,
сJ|сuzаК]u\u'oсе на сl]оемnцlnu' oс]nа a!п1ulluu .|uu1ь3а11аa
н.п.Ilbx1 u сIцnnt ы е x|lр||lul lк|l |lpol1l||оin в nlL\яmu , I{ozaо
'1aкJII\чаJL 1|о]Inь]о]11cР, Ilцв||||lва'31|.rno'||ьle,
я l1с||ь||l1ьl|xl/]
lаaqlнoе, польlсLl зая|)лotr|!/ 1Lар]|.]jIа]1!|| кanlo!ь|i 1t|1кoxец
ulllpнllit(:я nосnе Aв!jL,'!есяц юzo <aл adа>,'.
Aloним
lla сeгoлняUlнпii дсяI, ]lе суIIIестI]ус,Г irx oдl1ol.O rю'!ес rljlll меllrс ILoppеIiг|iогo
уrlаковпl'II(а/прoтокTOpа ll()д Winсlor\'s, в пo'цной i1срс I1оц,цeр}inrrаюl]rсIо фIl]l
Mс||||}|.'спcIlф|||,,U|'U oн,дU],\lI''|||Г,,l|l],'Pn,с]''чU,,lll
]Iовсl1еtItIя систeNЛrьIx заr.PузrlЛкoв в oперацIloннъIх сисTсrlnх \\/indо\\s 9\ \Т,
с) Paзn11чньIх эNly.llятoРаx, тaк11х' l1aпI]rli{eр' как wi11е,doswin32. !|Ь|j\.lше \.\tо,l.
чll}l| хo'r.я tlaс тaк 1I пoДмl,lваст сказаTь' чтo фаii.liьI' ],пairoваtlI]||e AsI,асk. в срс.
дe doswin32 лrт6o нс заrryскaroтся loо6rце, лп6с) Pа6oTаюГ ltlаline n.с aini'lьнo,
A всe поTolfy' что yпаковщик АsPасk riе сooтвL]Tсl.ву.]1.слrltIiф]IliаЦItl!. заN.ra-
дываясь lla тe oсo6сннoсTи сrк1е]ttllоro загPузчиItа' IIp(с\l(rвеIIllоtтlt Ьiolopьl\
никтo и п'rтrомy нe о6сщаЛ, B JrучшeN' слyчае aвтoPЬl э\'1.lяторolj пoсJе ж\'т'iolо
тPexэTаJкжoгoмaтa дo6aвляюTв свoи пPoдyктьl 06х0Днойкoд, гIрeдназначeнriый
для o6ра6oтIrи fioдo6ньix изврaцсirий, в )(Tдrneп()ке _ oстaaляloт все каlt €сть'
мотI,rвирyяэтo сЛoвaмtr:<IIoвтoрятьчРкoe пI'lol{epстsос€6e дoрo)кr''.).
A вoссTаIloв'ltеЕиr поpажеtrньIх o6ъerФoв?М{oгиe файльIгIoслeзapаxeвия oт.
кaзъrвaютв pа6oте'Й поlтьIткавьlЛeчитьих aнTивиpyсoмлишъ yсyIу6ляетси-
тyац]rю'всЯкий yвахaloпiий сe6я прoфессиoll&пдoЛхеtl yA{етьвl1чищaтъви.
Pуспьlй кoд вРyчlryio' пe имeя пoд pукoй яичеm, крoмe hех-peдактopal To x{e
самoe oтнoсится Il к сIUtпlю }maт(oвщI,llсoв/дeзaктивaции Eaвесlrых прo,reктo.
Рoв' эй | I{тo тaм пачLrнaeт6yРiraTьлpo злo611ыхxаI(еpoви нeэтичпoсть взЛoмa?
ПoMилуйтr,ч'гозa фрeйДис:rские aссoциации?! l{y fie,'rьзя
хе всю )ки3пЬчTo-тo
лoмaтЬ (нaдo lla чe]!r.тoи сидeтьl)' B MaйсrсoмяомеPe 4систeмI,oгoaдмини.
сTpатopа}3а 2004 roд olly6ликoвапа зaмeчaтeлънаястaТьяАндрeя БeпIi(oва'хивo
oxl.lсшваюrцая тpах с пpoтeктopам'tпoд эмyлятopoмwitle' как гotoрится'тут цe
дo )киpу _ 6ЬIть6Ь1х(и!у.кaкoй смь1e7т плaтитъзa peгисTpaцию, eсли вoспoJIь.
зoвaтьсязaщищc1lEoйпpoФaмiloй всe paвтtoдe yl{aстся?l
сo6стяe!llo r.oвoPя,зсяtФевмelдатслъствoв с.фyктypyгoтовoгoиспoлняellloгo
фaйлa-_ меPoприятиeдoвoлЬIloPиclФваlтнoelи шlанссoxраl!итъcмy pa6oтo-
спoсo6ltoстЬI{aвсex плaтфopмaхдoвoЛЬIloueвeлик'ollнaкo eсли вьI вbe.тaftи
yBeрeIIы'чтo этo вaM fiеoбхoдимo'пФкаJIуйoтa' oтнeситесЬк пPoeктирoяat{иIo
вllедPяемoгolсoдaсo всeЙсrpьeзнoстьtoи слeДуйтeдaльнeйrДимPeкoмe]lдади.
яv' oни вilм помoryтl
ГЛABA4
тЕxникA BЬI}кивAHия
B MyтHoу| BoдE, или кAк
oБxитPитЬAHтиBиPyс
3da?овt!, iРфlсuцlp! Ilmo mа]!oй lp!!anньЙ? IIoсJlеA}l ii ?nрo'
яIl, кomopоza mы 3а6Po|:uл|o61ltlpу:,с1lJ|u еl11,е
1lа uзn|'nе.?
]4 весb3аAума]|1!ыЙ 7aа11nukmеn K че?lт1ц?] h111uсоoЙ! Ihno'
mак |np1]dllo? (jкацuй vi|iiL.lb ' \сomopь& DР!a пpц.
tl|э!|эlсеJ]ц
оu в с?|nu, uonrpea! Bсо ?а(rнo nоoя|n? И пРаo|Пь11о_ не
ma]с'по npaсmo наnuса|nъrapouluЙ вщл, /Jа е1x)? u ан|luвu-
paс|ll1|есra|leРIL l1pевpaпunuсьв |lеnЙnpе6нь|еэвpuспuкu,
О:{цэ!сэ|nu анlnuвuplJсuспьL- веч]1oч|na-нu6цaь npulg\,1a-
юm, ч|nобь1uс|1op]|ш|n|, э|сuзнъmакLц, ]|акmь!' H$ aa нuце-
20, 71l' |no,Iе I|е 1la оасu]{еnuса|lъ|) ДавaЙ paзбщanься'
1|а1{!с]||poаlы эlnu LI с!nеp|щnе,p|lа|}o?oце||ньLenpo,paц-
!1|ь|'<ucnaльзgюu\uе't еn oAьLэвpu с|n& е.кa 0 аn а]uз а >,
веndet}HасkGroup
3a миIlУвшие roДъI IIа свLцкy liстоРt1и 6ьrлЛ отпDаI!'цCнъI
дeсltl.{jr тЬrс,.J nIр\L
с.Jв' тpoЯнскиxкolтell, сl1стellt удаne]Lfloго aД!itl lI(.i|l!lnoi]^rllrj' lI l'r)..ч 'j1 .'r'о"'l.,lj.
нoй братlIи, )кизнellrlьlii цrlкЛ этпх сo:lдаlll]ri (,i!]J(]. jtо rt]iсi.у rlр.rсTl] ii!ii!l.
сoв>) oчепЬ lreдолoг' сToит Toльltо пoпаст! ! J:lnы ri l]BГ.яцю каслсIji]l'ir:'l.'. .ile
пyTaть с кpисоп{ кaспeРсIоl lvlьl Jle т(),1lьl{oРxзп;rс jlloди, ]lо дil,кс ]rс о)ilс/l.!
i{и.nьцьI1)' кaк в реeстp <1rх РазьiсIirlrаст лo'1lrцпя' /lo6авjlяе,гся I]oЕaЯ З,riл.i,
Jloс.lrе чeгo вирyс 6ъeTся !l1ст,,-
58 .лаga 4, тexникавьхивaниЯ в м}тнoй вoдe, Или кaк oбхитpитьантивиpус
....лAвxoЕt
Eciь-lo сoвсЕl1'
техникавЬ|xивaвия
в му..нoЙ
вoдe,или какобхитpпьантивиpус 59
нAши гEPoи
ts э{спepиlrснтaxJчaс]вy]от:сисТепIayДarreIl]Ioro aдlIIlпистpиPoваrrия
васk oriiiсc 1'0 (вlteстo не€ п{o)к]lo
t1спoльзoвать.1ю6oiiдРуroii испo-rтrrяеNЬlй
фati''ltrлrtDLI-)' aнтrrвиPyсьlDr \VЕB 4'31'AVP 3,6,хalieрсtrиi.i
рсДактоp11lЕW
(веpсnЯпo вrусу)' pсДакторPЕ.файлов PЕ-TooLs IiJlи LordPЕ (oIlи пPаr!ти-
че0(ll lloл]]ос'Гьlol.lllснтич1lьl
дpуIдPyry)' упакoBщrfi{AsPасlr 2,11'a тaкже нс.
кoTOpьIс дPyгl.lе TyЛзьI, yпоNoшаспlьIе
пo ходу пoвествoвания,
нЕмt|oгoтEoPии,
или пoд кAпoтoмAнтивиPyсA
l{ вс].lъ llахoдятсЯ )кe Tакrtс х,,. lji{п{..' хoрol]lиe JIlодlr (нс по xaРaкTсpу' а B сi|Ьiс
'Цс сoBсеNl хoрoшиL])' ч'Гo 6cзoгoBоPоЧtlo tloлагаюl.с'l a aпrrlrrиPусlI l]| сапlоjl()
'roЛьllo Iloхрю(l{ Ilaя1Jа'lвjl'lIoтl чTo lJсс i])аilльr Ilaдаttнo]v д],|скс/саi:l].c flpовo|].
|1Ьiса]iJI'lllи ]loслсlIIIи]\{lrв0P(l,IяNilI AVР/D|,WcЬ' rю'гoмyздeсьз'lItta всc rrttltrтяк,
lllulвпЬIcl Ес.]lu антIIвI'Pус lэвoрuт' Ii,ГооIl lt чcгo llе llашсJ]l тo и |()lllli!lа'Гb сtо
t"llсдуст 6yква'lll'llo' Ail'гrширус' Ни.reго' IIс. IIаllIcл, сTiUIo 6ъIтЬ, IUloхo rtскiш!
AIliUIиз iIoка3ЬIваcт' ']то IloдавляlоIIloс 6oЛЬrlll.ll]ствo aштивиРyсoв испo.!lьзvIот
(]IlгIlа'rуРItьlii пol'lск с '(ссткоil пРиDязt(oii к 1oчкс 3хoдa иJlu
фl'зи.lcскolt]у сrto'
lцеllrl]o л qrаiijrc' {{'I! всc этo зпaчи1.? IIе вдal]llясЬ в нeра360Риху тсD]v llo-llогlr
чссItl1х l.oпl(ос,гсLl! о l.llстиlll' чт0 сlгн^Tvрoi IlaзЬlвастся yllикаЛьllая пoсJIсдoвa-
1()IьlкХТь 6iiiГoD' ()дIюзнa'llIо иlLcIl-rlкlrxЦllрyJ(ЛцаЯ вllpyс, сиl'tlаlvpa IlФкет6ыть
| , ' I l .' , , l ' | U I U ! n i il , | ' | | n I l v . n , D t A D в F t r ) , , ] ' l | ,| |
P i l , ' 0 е , к '| | | | U l i( r : Ъ п l ' I t \ е l ' ,
0 L ? ? ? ? A D : ? в t ' Е F , | ! . 1 l I J | . j ] U 6 o " " , ' | ' . e т , , | l , с o i i 6 J i l т ' i l } , | ю 6 0 еI . U , ] |l Ll .
с1во 6llйтс)в B,t{llljIю]'i noзUЦпи). 1lolсIr пo рaзpсrкснноil сиf]]а-rypс lrначe Ilа3ьI.
ваетс,l ]lo].1с]LоNl11oNlаско' rr этo lrаrr6oлсе пoпy.llяptlЬtii аЛгоPl'l,l'iu paспознаваlIIlя
па сегoll]IяrЦнlli.'lellЬ,
гЕнEPAлЬнЬIйплAн нAсryплEF|ия'
или кAк l4Ьl БУдЕм дЕйствoBAть
[Iepвос (rr сalтoе простoo)l что пPпхоДит нa уl1' - o6рa6oтать фaflЛ кaк'tм-|Ijl.
oудь навесriъIМ упAкoвщикolll/прo1eкToPoм|, полIIoсlью ytl]lчтo)кaloщltIt всс
сll.rrатvPы' ll скoрмиTь оro антивирусy. Hсхaй пoдавrITся' чTo?! l]e хoчет .1а-
виться? зпaчит! антивЛрус успeш}ro пePеRаpиn уIlarroвпIпIсиДoPваJlсядo вн\т-
Peпltoстей opигинaльfloгo фaiiЛа, Tут'тo сиг]raтyPьl и пoперJ1и,
Мorкнo 'lrи пpoтивостoять автоlIaтичeсIоIм Pасxакoвrцxкаnt]ничcгo нс с\tЬIс-.lя
в асссм6nсре и пe рa3рЬ1вa'rсвoюзаДппцу нaпопоЛaм? FIarlсpвьIl'lвзI''lя'1.стoI!т
лиr1IьoтI(опать MаJloизвсстrrьIЙyпaкoвщик пotroвеe Дa пoкPyчe Il всe бv.rет
тopчкoм. BзяTь' IiarlpимеP' oBsТDIUN,l (http|,Wаsm.ru/too|s/12lobsidiUm,zip)'}io.
62 rлава 4. тeхникавь|хивания
в мr|нoйвoде,иликако6хитpИтЬ
автивирyс
загI)y)каем (hii]l в lll F]W, ('lllol(])а'l.l||,lll lIil)l(.|L.t1см ]|ll ЕNтЕR IloPсхoдI'Iм в ьcх.pc.
'lilllt] jlавllll F5) llсPсмсUL1Ulсь lr'Г.)чltу вхi]дal яlllrl1 Fз дJIя pазреt]IенLIя pe/]aктпРo.
вaни'I' говoPиll 90, пollТвсP,I]iдa'
сcPьcзнoсTьсвonх нaNteрelшl"l кЛa]rl,ппеi'i
F9.
Dг'WЕB нaсvпnлсяlI rtоЛчIrт'AVP то'(с зiткlrу.nся0)ис, 4'1). Ес.eсrвellll()'пo-
lI]1No NoP ruoжнo IIсIloJlЬзoвать !t дPуг]aо однoбаilтовЬIe rtомallдьr, кal(.тo| inс eаХ/
40h'inс еbx/4зh'inс есxl41h'inс edx/42h,inс esi/46h'inс edi/47h.deсеах/48h'dесeЬХ/
4bh' deс eсx/49h,drс edx/4аh'xсhg ebx' eаx/gзhlt Mlloгшеjlрулrle' t{e пaДо 3Лoyтio1!
Pе6.]iЯть90h инaчc а]1тlIвuPvсьIIIPoстoпoпo]rtIятсяiiовоii сIlЛlnTурoii' и всeI
' H l L W ' t ' , Ь o . I o . | , " ' | i ,. . Ь | | o / , ь |пI ln Д х n Л q | II|,и1ь | , \ 6 r -
Рo:!l програ\I\Ioif д,1я aвтоN{атичесirol.о зaTирnllия сиrнаTуP. llх ЛоIко наi'iти
в CeTп, ToЛt,].oучTЛ Iе' .Iто 6()лЬlll'itrcтвo rlз нrlх нс рa6oтaeт' пoтollу нто искал<а.
.Т сo!сеl!l llеTесиf]lal.yрЬl' llа кoToPr'lс pсаIиpуIoт анпrвпpусыj и.nI{ в огojlте"liolll
::oр],1всэ]rтvзIaзмa l.po6Ят фaiil так, чтo вl1сстс с аtlтивI.lP},сoмегo пePeсTaeт
зI]авaтъil са\1 PаспакoвщиIi, Tакl в чaстlloстrl' ве/1еTсебЯ lle3дс.!у)кеlIlloUollу.
:яр]rъIйнidс Рх, Iioторь]il.rсж!lт пo адресy http://Wаsrп.ru/tоo|s/12lHideРх.zip,
Pяс.4.1.па]чимфайл,yпaкoванный -замeна60hна90h
AsPасk,
сpy6аета|.]тивиpyсь|
напрoчь
P'..4.з. nатчиMфайл,защиценныйЕPProt.oмl
замeняячетыpe0дн06айт0вЬ
е кoмандъl
NoP
(or]иo6ведeны кoманAа]Чи
кpаснoйрамкoй)двумядрyгимидвyхбайтoвь|ми
til ( (ll]e]]nlеlJ(j'гIюnаIllrе llЧ]'г\'xjlьlIol.i \JanппiЬl. Ilтo iJе T.]Jъко ,rlорoго. Jlо lI !lо
IL1
,1vлетрa6отать. r.lt1lьl в:rявllрr'съr от з:lгре6r'Iпri]r:]IIтrln1r!}'сllыхJ]xп'
I l' i!',.':|| '|i .ll' ср'п"
iiе всего при6еI,IYть к PЕ.editor'y, BниilанIrеI Точкa вхoДa 3адаеTся l1с в а6сl:r.
Jloтtlьlхl a tr o'])l()сиl.е"tЬltЬlх
tsирТyalьнЬ]\ aдРесах' отсч]lTl'lвасмЬlх oт 6аз0в0гl]
.i]!есa ]агPузкrt dJаiiJtа(inа8с Ьasе),п в rlarпеrЧс''jг]ае oпа Pавнa 01Е001h'чтlr пРIl
.аJoro,\l aдpссс в 0з140000h лa€ T 01Е001h'l-0зl40000h: 0з15Е001h.ип!епIlo пo этo\l.v
i.JPссy наlII кoл лoлл(еп возвРaTштьуllpавnснис, что6ы yпaкoвalIrll'ti'i(!а]j'цсrtor.
начаТъсвоIo pa6.,'Гу.сoоIве1с1!сtllto дJЯ вьIч]lс.flепliяRVА.цpссt1антиoтrraдoч-
нoгo l{oдаlпn Дoл)к]lьlDЬlчес1ьtr] l1!]гоjпi8е Ьase'Toглa }'Ьl tlonуЧrrll:0з149100h
0з140000h_ 9100h'3aIIисl1васI1э1o знач€ н ие B пoле entгy poi nt tt j]нoвь в{rзвPаlIIa
l]l!ся в нIЕW.
Еслtr лсе 6ыlrо сдo,папo IlPilвltjiъllo' II()сJrcдвoiiiioго пanrаTxя lla ENтЕR пoсЛcдо.
Пnтe,]|ь|loe|| l{а1|lo ]irlilв],tt|]F8 rt F5 пеРellсссТ rlас аккyр;tт в окPeсПшr]I нoвоii
,Гo]п{Itвхо/.lа, К вrlс,lipoн!lю антIloт.flаДо,IlIoго
кollа l.оТoвы? Б'tпtlt',, rlу вьr жс лс
oдl l}r lIз 'ap пaнтon PсaЛrlзal l}пI а тrlol)l;vlоч l к) I1)ко/lн вl,lг'пяl(и1 таIt: зaталкliва-
с}1 н ('|.ск nдPсс с.аРol'l тoчшI вхoда (в нaЛIell слyЧae i,ю 315E001h)l эатаЛк]IвaсlI
ука3а1'с.rtь lrа пPс/rыдyIluIй o6Рa6oтtillк (оll .lleя(]{l'lr дBoijЛoпl сЛoвс пo а/-lРссу
Г s : г 0 ] ) l l р с г I I с т Р l l р y e с в о i { о 6 Р а б 0 , r . l и к y ( . r а l l о ! к o i i F s : г 0 ] , t а I l е Р п I l ' l l l yс т c к n ,
за1сll llо36yжЛacNl llск.lIoч€ l llle! lIапРllllcР tlоРЬtвасNlся дслU1ъ illL liоnЬl вЬl|l('I-
|]ясi!J J]ссylllествyкЛцу,о N1allll,I,lllyю кoмаllду l,I./Iпo6Paпlacrvся к lI('(:vulссl'llуlo.
l I l с 1 \ | t ' / з l t I I L r I l | ( с | l | |аo/мQyв с y l l а N u l T | |( l l а l t р l t M с p Il е з с п l в J l / l ] ) o ) l,{ o Р o ' r с ' 6 | ' | , l l 6
aЬl
(riul'гаЗl]я' а пolrо/LIn]Ul,| IloJ6y,qleIlI!)l ],lсlсЛ,oчclllпзаIr(er)La Ilaii/lуTся (Р (l.,1.8)'
Pи..4,a. пePeдaчаYлрaвлеHия
no стрyктурнOму
исключeвиlo
кoиандыprеf€ ф h
Ри.. 4.10. Bнeдрeниe
Dr'wЕB
упакoвxаoв5lDIt]M'oM
улакoвxаAsPaсk'oмсзатиpatиeм60h
AsPасk+ sHE
Win.еre_ виpус
вoзмо,+1o,
кPиптoгPAФия нA пЕHЬкЕ
УпаковЬlвaсIl фaii-l.r кх]l{тe-.тъJrlo6ыlt пoдхoд'щl'lN aрхива'Горort' пo]цеpжrlвalo-
]цип! IIIифPoвaнис, 11ol.прав.aяеn' арIllв iroJIъзoвaТсJIIo вмeсте с паРolсll n ltн.
70
стpукцисй по erо pасl]Iифрouкe.Ilo.!ъзoвaтeЛЬPаспакoвaTь d]аilл сl{oя(er' а а1r'
тивиPус . яет. правдat пPrI aктиl]]]oпjlrтrспeктopс зaPDкellllrnil
файл 6удет aв-
тoпlaтI'tчсск]lпPовeреll пoсnе eго из!Лсчонпя (а у 6oЛьIrшnс,Tвапoльзoвaтелеil
rIнспeкTop aктивeп)' к тoмy '{e l1аPаIloидалъltо нaстpoellIlьlс lioльзoвaтlэ.Цi]
сI(лoll]Iь1пpoвеPятьвсс зaпyскaeilfыс q]аIiльlвРуЧнyю' кoрoчe roвoря, сoбытия
Paзвllвaются' I(ак в al{скдoте: o6loняeт rpy]иtl дcвyruку' спloтPlrт еii в лtlцo
Il вздЬtхаeтi <Эх] Taкyю x..' llсrtoртлла|> Лрсд.lioлrell]lаяиДeя пpи всcй свoeй
кpасоте loдl{тся лIrrпьдJ]яо6х0дa по.l,10вь]хстopoжcji' чт()6ьIтс нс лDЛ6пли вJIo-
,{еJl,lя eцс нa излeтe,
i(aк вapиаtlт fсlЛ(tlоуtlPЯтaть в'tРус в сaN,oР:lсIlаl{овьIпаIoщlrjiся aРхив, а для
aвтoNlа|Iизaцrп.I пIlo/ln ttаpoЛя llсt|().l]'зoвaтьт:'кую llrтvку, t€ к Ьаt-фai'iЛ' хPсн
какoii ail1.ивиРyс ег()paс:rппфpyеLIllpипreпительrro к z\iy шифрoвarJие l] уl1а-
к o в к а ц е Л е в o I о ф а й л a l l ь | t ! l , l д Я т п Р6 r t и з l ' т е Л ь п o 1 . l к : p k z i р , e x е . а d d . m а x i m u п .
sfх .раssl'oгd=li$suХdst,ехe sгс ' € x e' a РirL( lta(oslm (с автoNfaтическимзапyском l)
1.ак:dst,exe -passяoгd=}l$suх & sгс.eХe' l.lLсliisl]x - паDoлъ. dst'ехe _ vпакoBall-
| | L | i' |l , . , , r 1 , : l s " с , е ^ e' |-, ,i | . . | | U . , l ' с , 1|Ьl ,,' r r , r . : ' " , ' : . ' в o , ' ' ' n . '.. к u м a l l д l . " | N | и
фаiiJta lrl, loзlliiTo R,\R оlI IloзuoЛяc,l.ав1о^jl l и чcс]tlt запvскalЬ DасI]nковalI
l l у l o ] I р о r Р а м м у , I o с л e е rp а с ш Л ф р o в к l t '
Спaua.la ltсо6хoдпмo сшдaтъ лe!вl|ч|lыij зalIll]q)Р()ваttпъlii|rrхjl'tTсЛЬ, дЛя эTol.o'
лPедвnРll'ГсЛЬl,lo yлаl.o|];lвIl0д06llый (])lilJlZjр,oNl(с ll aрoлeilj) ' 'ГЬ]кaспl в пeго jlc-
вoй кnaB шleiiмI,lIllll 11lrыбlIpllсrЧnv||кTдo6aвитЬфайль|ваpхив.заTом в пoявив.
|llсl!lс,lЛrla]ItЛ.otsoill ol{Ile с'Гав],li!I гluloЧкy сoздaтЬ si/.apхив' Ila вкЛaдко дoпoлни-
тeлЬнo вьIбиРаoNIгlараlleтpЬisfх, 'Iзмсllясrv ItyTI,PaсI'lак()вкrtс сl/Progrаm Еiies a
Toк},rцyloпalJI(yl{ l] сTрoI.eвЬ|поЛнить пoслeрaспакoвкиI|и Lцсмспt ' eхe /с dst .exе .
eХtlасt -pаssllvоrd=}tri5uХ&sгс.eхe' lla вкЛa/(кoPeжимЬ|].oDоDllмR^R'v He пoказь|"
в а т ь| . а ч а л Ь . ] ы й а л o . ' . ,. l ' ' t { I |, ,. l , , l {т.e к с т/ з F ' а ч o rк. u 6 I l р ; n r ; , ' r r l н oпко n к v ' , vr r r r а .
ди
, к l t ^ | n ' \н| l
o к t J ( l ' : | r о с r ( r . , | ' ] l , к 1у п i l I . l , | J j , | | | |4o' г; n' , , r эr в т n м a i r i r . . , . t r
paсIlrl.крРveтсяп 3n1lус,r.lIтся Ilсхo/]llaяпo/lo11ll1ljаяпрoгPаI!Nla'гaрA]IтиРoваllllo
o6хoдЯlIlая всe arlTивllрyспlrlе зaслotlьl, под WiDdоws gх эTo. естeсTвен]lо'Dа6o.
| : | - l ' . l l i v n U " ( в н . l i I l е , г с " 1 о . e \|е| l n r ( i Ц ' , в . р п о . n l ' у | o v v )
ы
.х
ГЛABA5
щ $
ФoPMAт PЕ.ФAилoB
3|litкoмсТRo ч'll,iu'()lЯ с pЕ.(l)оl)мirTo]иIlc Rхo/lит в Itа,]rуJil/lачу| и IQеll o.llaГaс}
сЯ, tl,г()llcксjTopыji ol,l,ll рa6отl| с тIсlIlкartlI у Itсгo у)I(с lll{сстс'l. су|llесTBуст
r l r | ( D | ( e ( l . oп п( )I l с д ] п l йP Е ' ( | ] o P l l a ' Г а , l lсoP 0 , ' ( иl п l х п е т I l t l o / l l l o г оl I о l , а с T o ' | l T l e l l У
Iol)o|ЛeГo' OфllIUlajrЬIlltя сIloци(l)|l(itIl11я(M|с|osoIL Portab|е EJ,-ц,|tа|)k!а|Ld
сo|r|пa11objесt Fi|e11o]1nа| Spесфunh \, |:ЙГlllсal|паядвyсllЫс.r|oIIllЬlМ6116"r]eii'
.]i}'Ntязъп.оNl,ск.)pсс нallоnЛlllасТ с{lrеРЛ.leскоIoкottЯ в вalryy\]с' чt'l!l]Ditliтl]чс
сr{(х]рукот]одсTвo..ца)кс сPсjrll сoTРy/LrlltковMiсfosolt пeт сДlllroг() rйIlellllя п.)
|к)l]одутогo' как 1ll1сннoс"цодyе1' с Гo ,].оЛ ко]]aт],'и PазJrtчньIс сlrc1,сУl]Ь]е3аr.рyз
.ttпоl ведyт сс6я сплlнo llсoдlllIa|{ol]о.что л{с кaсастся стopolrrих разра6oтvп-
коl]' To 3/lесь п вoвсс ЦaPит llo.IrЛirяЛcрaзбeрпxa'
llolпr}'arlпe стpУктурьI гo'Гoвor'ol1сIIoJllIяе]!{oIo фай,ta rrце нe надcЛ,lс1 Bас у]'e
lllrcj!1ф6llр.!гь Taкпе фaiI.nьIсaltoстoяl.с.llЬllo'гоЛьтillирукaп'п. ну иnrl' rla х}',.toil
tloнсц' ILРrr]loNloщ кal1eппorо тoпoРa. oxсpацl1o]rrtые сj'lсt'e]$ь]06.'rагаюТUilс
зaчаст),ювoo6щc нсyпoпrяrrУтьlппrв доrtуrlсл.
]lесьN{а'iссткпl{иоIpа11l,lчеll!lя]!1Il'
т:iпt]rlI'iвaPьпpуIoщиIlи(я оT о/.Uloiioси It 'цPyIoLli,нс так.тo nрoс,l! создатЬ фаii,l'
загpуrкaюrluтliся 6o;rьше чcllr llа oll]lоii ]\fa!пIно(кoтоPo}i' как lЦ)arrIiJо'явlяется
llаlrl lli.Iегo создaтсJIЯ) ' oДин шаIв сT0рoIIy и затpузвпк oткpьrваeт огoн ь 6cз
llредyпрe'кДеflия' въrдавaя маJloиrlфoРпlaтивпое соo6щcвltс в стll.]e .Фaitl нс
яв".тяетсяwiпз2{p]tЛ()жениеIo'' послeчelo oстаcтся 1oJ-lькo].адeть|чтoжез.]ссь
rJeпpапrlлЪноGrстaти l.oвoря, Wiпdоlvs 9х нaмнoтo 6ojlсс noдрo.'iо ;uiаrнoст]i.
pyет опл16ку' неltWindoNs N.l., есJlи' копeчпо, l'eitoрPсiiтIrьlii фаiiJ lle 3гонIlт rе
в кPyтоrlзав!iс,a висIrсToнa нa УдltвЛеII11e чaсто эaгpузчпктаtl пxсa.lIi ппo}le
Рь]' пe ппaчe)'
72 rлава 5. фоpмётPЕ файлов
.Геюrtrческис
писaтeли ' зaтpагивaюlllие TeNlу]tспoЛняемых фаii]lоtsи сoвеpпIеIl
нo lre Раз6и РaющlrссЯ в пpeдlleтпoй o6лaсти, за rLoтoруloBзЯлIrсц зa нeи}Iеll !1е}r
л}дп]lllх rцсri прuбeгают к дoвoльнo грязIloму TPюl{у и подl{eltя]oTollllv тсп{y
дРyгoil' oт1.;Llш1ваясъогу'(е сyшlесl.вyIoщJ'IхPЕ фaiiJloв' сoздalrriьrхЛпllкеpoil'
ol1и дoJro и зarlv/1llоo6'ь,сlt,lют нaзIlачellие кaлrдогоиз поЛеii' дi]п1oнстpaтI'вrro
прorvлиlrаясь rto ссь1ЛoчпьIмсTруктуpаl'! oт веРnпlllЬt дo дfia, хa! эTo и !аl{aкa
сyllёетl сложпeе pазo6PaтЬся|пoчe]!lуэти стPyltт}'РьlсЛoнсTPYпрoва]lь!и]!tсttнo
t.ак'a не rrпa,le' Какoй в них зarтожellза]tаспPlrч]Ioстtl.lltal{llм lllleннo o6РаJoм
llх '1Il]t]pпpстllpyeтсIiс'l'емrlЬliIзаrPyзчпк? А ч,|oпaсч€ т пPer]enьнo дol lyсТrlпIьIх
JI]aчеlIllii? yвЬl' все этlr вoпрoсьl oстaются 6ез rl'l.всl.а'чт€ Irестa'|.l'cii,гrrлl <.TЬс
Poг|аЬIс ЕхrсUtaЬlе F]]с Еoгпаt ггoml.oр ro tsot|оm' oт Rапdv Kаth'a IIз N,Iiсгоsolt
D e t ' | ' , 1 N r l u г k T . ' | . l ' ' l ' ' 5 у G г o r , , r r ^ х , ' г l ' L | | i .] Л ' . ' ' r ' , ' , , , | ! | t | | | L , , . 6 '
lюзгll Ir ll:]LllI|сi,|Ь !r0PтвopoжлeltttьtiiPЕ.дaмпeP' пepeвnРlIваIoщj{liт{)JIьI()i.rс(г
IIЬlо' (1)ltiiJIЬlx l]аilаIolцl!ii ||l в(сх oстa.IьlIьIх(duпDЬ]Il вс/lь пaiLlLсr,l), AItll'Цor]н.
lrьlпto6paзопlпос,l.упас,t.! ]\]IaLt Рi( tгеk' о6хoдnЛllrli6азоltЬlскoпЦсЛi lt Il l PЕ 1i)aii"!ll
СT0р()||oiilI Jlач naкЛцllii llPoцссс oпис:lп]lя с (:cPсдпllЬI,ll() Tlli Il ttс дorro/rяUlиii
сl о /loЛoгllче(|к()lo io]l]lа,
],IIli]t'lсll0стYпaс'Г a|l1.oPсlаrьи lo6 уI|аi(овrцикllх R пoсJlс'lillttil pаз> Vоiodyа
( h t t p : / / W l , \ , W . 1 , 1 , а s m ' r u / р r i n t ' p h pс?|аеr=
t расklаsto1 'l http://l,vWи''Wasm,rLrl
p . г l , p h p ? а r t . | е - p а с k е t 5 2 l,1 , i | \ L l, 1 , чоl IIl ]' Il l Ii y ' | | , | | | ,' ll J | | ( . | с л l I i , i ' | | | ll l|I| (I ( r l .
| | ( )(])l I i t г р y з . ] l I к r\i\ r i l ) 2 j ( / х Р l l n o п у с T Л Л ! | x i t l l р t I ) 1 . с l i 6
и ( ) " l l l ' l | юксo . ц l l ( l o с т | l 0( l ) а f i .
1 ] l . | с ( к l l х o ш l I l б l Л i ' | | ( ) ' l | | Ь l iPi i в 6 o р к 0 т o р ь ! х | l ( ) 1 . р c 6 o в a '61Ь l o , l L L 0 n Ь l l о i .l i) I i l I l Ь l ,
I I P l l в ( | 0 i 't r c | l | l ( х ]|l | ] Лo i ' i р i 1 6 о т ь ro л а t t и c к o ' l t ь к ol | с J Ц ] ( ) ' l с | l я L ' T с l l l y а l l ' l к|)1T ( ) , I | Ь к ( )
вoпprlсоrl,
до6aLI:rяcт V()lоdуаoетyоTIIaто' Ч,|opa6oтaзагpyз.rrrкa
rклtrrоrr
r,lo
l l с / l o к у N l r l п l I i ) о B i l | ] iItl J l i l ) 1 (Yс P у с с | l | | 0 в r I Ч аo 6 l I a p у , { r t 8 i t | o l . сrJ]l l l l л Ь o 6 р ь I в к J tl l l i '
d х р м a l ц t u ' H v ' 6 ы л a б t i ( ) l l а ] ' l o I ( у п 1 e I n . l l D ( ) в a ц aч т o 6 t , r o ' r . l r , r л l и з л к l I r r r л о с ь i )
i{акoс rl^N!дсJlo l()'|oгo' ч1o tJ Win2к/хР заIPуl}l(а d)аiiJа свoдIlTс' к Br,lJoll\r
NInrс|еxt(:sс(tIoD.l вo.flcрвЬ|х, Л oс'гil'lLьtlых сtк|,гс]\{itхi]1'о lLс тaкl a вo-l]1.()P|,lх'
э'Г()ссroДIlя Мiс]rl)sofL стpеt'lIlтся вссL ввoд/BЬlт,()/( lLс'цa1],чсрс3 Л]DаРl l|(r к()Г/lil
lll) IoРЯч|.|х ;]]\lеD]1каl{сrtlrxпарпeli Д(li]дCт| что эTo тоРмoза' n llс Yскоperllrс' Ilo.
irr|,i|xi| I]зn!c]l],]тсЯп ]\'{]псгсаLсsссtion oтпDавl1тс]я нa зaсЛpl".ltllL,|ii ()'Lдых (B ч),-
" . r l l I.I] e ! l 1 a l I O м о i l к y I ) '
дxзасс.'N{б]rlроваTъ ядрo со]lсe]\{Il е 6ссll oJ]езпoj llо вo1. заI{jIltДЬI aa,Iься Ilit In)JIY.
]]с||llьlс
PcзyJьтаTn]j Ilс llPoвcP]1в l.lr(пl! ос'l.а.ЦЬllьI\oсях,llи lr косill с.IIvчl]опс,пъзяl
BерптЬ в ( r|сцпфll кaцllи l l o мсlr Ьшсir ruepe rla ПIrJlo' tsсдЬ всякirя сп flll1(l)lr ка цrlя
:'|0'Гсr,Лькo сJ'lol]аja вс,rкий пРoгpаvмtlЬlii кoд .lиIllь часТl1ьIii с.lyчаii рeа]lJ]ilа-
пlп, t,I r.rэrr другoе пeпос1r,I]] нo x llерeмeпЧIlвo, чтcttие кпи'{cБ (pавllo IiaR Ir пpо.
Tпpillll'lе п|l'alir'в в Yче6IIЬ]х зaведс}irtях рa:lЛllчlIoii стeпепп TяrкесТи) сщс IlIlкo
l.o llс сдc.riа-lroпpогPапlNIIrстоl{. лllшь oпьrт, сьIIl oшuбoк тpYдпь]х' дa ot5щсrлlс
с ii()'ll.l1еIа]'j!Iспстеlt]lцlll{апIIr пoзволят из5с)кaтъ rрy6ых ()ши6(rк, как говoрnlся,
Ilс ]]аДaс.тo:lЬi{о Toт' кто лс'{ит' а IrTо 6сжит падaет' rrаступaетпа гpа6"'rl lr пo-
падaeT JJJtoг]lчссRиe ямьl' Juу6oкиe' как кo.i1oдцьI I'lз Роllaца MуPаЕаl{]l (r(сTатr'
lовoряj кoлol1еЦ Bо jilнoгих рeЛ]l].rlяx сl1\fвoЛизllрo!ал связь с лотус,гoРoнн1lr!I
мtlpоNt).
Ав,Гop, lшeюIций .хJl.аTьliIoпьI'г сексуnJlj,ньш пзвpаl]le l]rlil с PЕ фatt"r]аN]ии ll ()мн'l-
lЦxi1чtlсJrcJ]llL'lс зr]aченшя сN{еl]rсяllJinсeх структуp !{а1rсoдePяi,Irlloc свoxх I{аPIIа
к PE.файлам
06щие кoнцeпциии требования.пpeдъявлЯe'']ые 7з
',,iiц.i
lщ
oБщиE кoHцЕIIции
и тPЕБoBAHия' ,t},, ' ,1,)'
пPEдъяBляЕMЬlЕ 'li lfi fi1:'
к PЕ-ФAЙлAМ
(]'|l)ук'|!рlIl) ])]l]]lii,! с()стoll1'llз 3dlo'l.x,vl (hсаt|Ls)'t:ltlрапLt,tпоn шut llо '(itlадL
],]jlllriiil ]l riaьiятir
oо4rlr,я(сlvсгlaу),11рeдст:iв,lсrrrro
1,,g..1r.''lr,,ьu.,'.т",u,n'i..l
ltlirЬ||]ll(''lся ir11)tJl?,l,Z,'{ ь1 '|jI о6pазо,u ('\nlш|i | пlr8с)' илrr rrрoстrl oltla.;orr, lr lll
()6-
дrrскс _ фan,ro'll' rl,lrlri)l оltюl'ьм a6prшш.F'c:tll лo llг0!оJ)||l() ()6раT]|ос''|о lIoд
)ilз()NlR0сlflа Iк)l|!lмаeтсЯ впPтуaЛЬIlЬI]l o0Paз'
(]6])aз хаPэ](1срllзvстСя дlr]'N{я4)yltJtаNlснтa''IьllьI]!1l]lюl|яTl'яNIl аtР|цxJ.ll 6 о
. ' u , , r , 7 , 4 , , , l r , 1 , r r r ' д c Ь , . . ) , l / l l l l l , / l 4 ! { | m : е . r | / ' 'Il I, | , | l| | : | | l ' . | | ' , , Л . l j , ! , t , ' , ' , ^ ' 1
',
','J'ч'Ч]u'I'II1,'|^с:||"n : ' | ' ) ' ; ' г i J r l n ) r (|, ' . I r | ' : ' , ' l \ ' } | , | | , , | | '
"|l'
.lrгlllrllly o'г ilnаge llаse п naзlIачleмо]\!у l]сIloсPсд(l.веlIlю саNюi] oIIoPilltlIl)]lll(lll
сilillсrloiI.
O5paз к:тtr:твенньrм о6Paзo]\j дrлItTся fla с/,24?'tr4ьl (Р.tgcs), a 4)l'iiJ' пl' .",irl,-
pa фсiLoтs), BпpTYaльньlii Pni!\feр странnц/ссl{Toров явlIьi:"r о6Paзrлr з:r:r:Lсlс:l
r заIojloв,rc фaiir|a ll ]lе o6язaтсльrto Должeн сoвItадlllЬ с 4)l|:]lt.leсlilli\!
tlPиt"lЕчAн иЕ
стpoгo гoвopя,нИкaкиxвирryаЛЬныхстpаниlJсeКгopoвнет, и нe вздумёЙт€ н']iоti o |'lх
-еpи/н
г o в о p и , " ,ч , o б . н e г o Д r я 1 иР с l ! е { ,
гoвopитЬo миHиМaльнойпорции (кванте)даннь|х'pавнoй выбраiной кpаrlJс.i t..]a.
' rroпoсrояiнo набивaтьтак0eна Mавиanoе сi/]iс! д1']9r.
-€ p
иJ,тoмитeльнo,корoЧe гoвоpя_ явас прeдyпpедил.Лo какol4yп;авl n зtэ1свoю
минoлoгию?Дык, Moя сeлeдка(к|1иxкавсfiыФe)- чтo хOЧу,то /lara€ ]
74 глава 5. фopматPЕ.файлoв
вt|имAHиE
эry главyвельзя
ЧитаrЬ,rcк пpикЛюЧeнЧеский
рoманилидетектЙв. ЯлpЙ.
Paзумeeтся,
лoхилвсeусилиЯ и какмогсгpyкrypирoвал
Maтeриалl
с|рeмясЬ
писaтьма(симально
дохoдчивЬ|мЯзЬкoм, хoтя бЬ и цeнoй пoтеpивтOрoс|eпеHНЬхдеталeй,теМ не Mеве. для
опepaтивlor-oiepeваpиванияинфoрМациивaм iридется oбложиться-опками расn:Ч.'
тoки, вoорyхившисЬhех.редaсoром, сoЛрoвo)кдать ЧтeнИеtзалИсокl' перемещеi']:!
кYpсoрапo файлy, Чтo6ы самосloятeЛЬнo<пoтрoгaтЬpука!и' все описЬваенЬе ]:еtЬ
стPyкryPA PЕ-ФAЙлA
r\4s-Dos
B с е Р ] ] { l r a i ' i j r Ь( р
l l t с , 5 ,] ) 6 с : ' t т с I { , п I ( ) ' l с н( l l Я( r l . п4zHeader
с т e 1 1 J l Ь l сl ф a i i x с р Ь I R T ( ) I l ч l t с ' r с | ) | L i l ч l ] l l ; l | (с) яl
'v]s'DosReаli,4оde
с o l o - с х с . з a г о n ( ) 8 l ( n l ; , а к o н ц o l ! l ( r г ( ) l ) o г . )с ' l ] c / l y .
е1'DОs.заацш]xl (МS'DОS rса|-lпоlt: stl tl
Р|,оl1|с1|rI' ||]n1 l]рoсто s,?,)' об|,I.ll]o 8l,lJt()n,rlILilя
Р i l J o Ч а P ( ) l | ; l l l | кp) y r a , | ( ' j I r r ] . l l oJ ] nT с Р N I i ) l I i r j(|l l l l с -
] ( ' Г ( ) Р l ) | хс , l ] Y Ч i l Я х I ]l l o ( ' J 1 l l к x п с у . 1 l l Р ( ) ] ] i t l l а) ( ) s .
Псl)0,,l' l|Р()l.рil]\iNlЬl.il() Dl.o y)n] i)|ii|{)r1'liil),N']:''|.T
l I l l 1 - r с р с к | r < с с к р с T а х ( I l с 1 r r i f| | o Г о l l р o г Р i l \ l i ! | l . | .
Р ( ) I j а I l ' я л o / l W i ' r d о w s 9 5 > l | | п l | с т :< , . , T h с J | 0| o i o '
к n к з а г P v i t t l , l I L w i л : J 2 o ' г o 6 P а j l r r I t l I i ] i " l я т Ь] ) ] j .
4 ) a i i J | l' l с P в ь l i i 6 а i , i 1о. т o 6 l ) l r ж с l { l l я( l ) l l i i J | . l . ' r | ] с Г .
с T B у f l ' U с P в o N l ) .6 а ] i 1 v D O s . з ! ш v | ] l l { u ' ' . , 1 ] ) | | с -
nеРlloI l]с1)lrl,lii 6aiiт o,l.о6Рaжопllя соотвсr с rл!сr 'rdаlаseсl on Heаder
lJсl)ts0l,lv f]niirу с:аN{{л!фaiiла' |1)сс1.Ь ()T()ljpir)xс.
l |лo tlсс l)Lh л aчиll:lеl.('l с ('lгlla1.уРlI I1Z'IJ ч1,Ij"rrсг.
Io v6сДllTьОI' зarрy:,rlв фai.i"пв rл."'rад.ln1ц црg.-
'debUgsесl оn Heаder
PE-заzо,l aвox' в лoцaм яloщсм 6o:tt'шrlrlсTпе t:'lv
. I i r е вн а ч r r l т а x r щ и I i с яI l е | l o с р r д с п j ( : | | | 1зoа к 0 | L ц O I l
tlld ехe.rrpoгрaмlrьl' на сaltoll дс,lе Nloлст 6ъл1,
расIro;rожert в..rrо6оlt месTс фаiinа -. хoть в ((iJс
диIJсj хоть в кoнце,1.аl{ ttllк загl)у3чrlrt ol ])LдсJlяет
rго rt0Ложe]пIe ]lо двoiillOrly слоttv е-l fаne!'J'сi\lс
щеflпoпlу нa зсh байТ oт нача'ra фaйЛа,
P]].загoJ()вoкпре/Lс
rав"'rяет
сo6оi]18h.6aiiтовr,lr;
стPvктyPу Дnll]1ЬIхl оп11сЬlваюIllyto фyпДnr1сн
Tа.illнъrе харirl{тсpllсTllкll фаjiла x сoлеРжащуlo
сUrlIa'гуPv РЕ\х0\х0' по Iio,ГоpoIi фai]J, с06ствel1J1о Pис' 5.1. схeиатиcескoe
roворя. и o1.o'1iдествлясТся. иэобрaxеHиe PЕ.файЛа
:] епoсРeдстtsс!нo 3а liolrцolt P Е.зalo.noвкa сЛеДу ет onцuo1lа'|ь1lьIi за2оroвок ' сl'|c-
i]jфIlциpуюDj]'й стPyптvрУ сгJralIIJчtloIo и[1lJ/цжa 6o.ncо дcтаjь]lо (бaзoвЬl]i ад
]!.с raгPркп, PазllсP o6paза' стrпeнь вЬЦавпrшанI'Я _ все это ll \1]]о!oе ,llрvlol]
.r]аloтсЯ rlмснllo в tlем) ,Haы\a|nrc anцuo]Ilnь ьli вьI6pапo не очсlIЬ yЛaчllo ll сlln"
-.
коppсJlr.tp.veт с oтrРу)каюrцei,l Лeйствl1т!lдь]lостЬю' rl6o 6сз olтцI]онaль!1оГ() зll
r.]roвtсL фаirл пonp0сTy llе зaгPузtLтся' Taк кaкoii '(e o]l' к чеpтy, <оrlпIloliа.lЬ.
]rЬIii'' (-'с"'Jlloп o6Яз8l.еJll'lьlii? (BпpoЧei\l' кoгдa PЕ{]]oрNlат тoлъко сo]lдaп:LпсЯ.
ir.e ilьIJo пo./tDyго]!lу, а ссiiчас ]\'ьIвьIlrуждснЬl тa|цптъ этo насJк]дri€ стnPиllь] зa
.|)6оjj,) l]'кlloii стpУl.t.yРoй опциоrtаlы|oтo 3агo,roвкa яrJяется DATA D1RЕст0RY'
пpслс'l.lLвляrопtая сo6oi] ]\jaссlJnyкaзаt.с'цcii lla пoдчЛjlсt1llьrе стРIIiTYpri /'tаIпIьlх.
'laк тo: та 6.lлцьl :'lltспоPтa tl tl]\ll]oртa' oтЛaдoЧllая i] l IфоРмация ' та6.n1IIlа Л сPсм *
]i(l]с]!lЬIх3лcrlсIlтoв lt T, /I' Tltпr]чlrь i PаlIleР oЛIll1oна]tь!t()t.озагоЛolll!а (:оrтaR-
lJст Е0h 6аii't.' lю rv(DltетварЬrlр()RaтьсЯ 3 тY rDll] l'ilУlo стoPollу' ч,|()oпP€ l lсJl'lс,|(,я
lIo.'lllL)loii зnrIятостlt DAтA-DIREстoRY'a,rак)lе lto,п'lчсс'|воi!l NlусоP:r за сo к(Лl|ю
(с(:'llll тal{oвoii rrЦ)уГ т:Lll ссть' хо,гя его нас'Гoятcльrю рсrкllIсrutус к.я llз6сгаt l,),
} i(,кс1. Il(Л(а3аТЬс'lза6al,ilьll{, нo рili']\!сР()LlIlпоllfun'lu1)i}aгoЛоRltахрrj|||T(я B Pl]'
1.]rкЧ,].o]T1l дllс с-l,РJ"к1ypьIочolIь re(l
lllг(),1J()вкс|
: ] а к o l ] ц ( ) n lo I l Ц l | о ] l n n ъ я o l . оз a Г o , l | ( ) l r ксаJ к l t у ( ) - rC y в е l ] с l I ! l l l , ' г ( l l р l l т о P l l я ' о l t | i l п l l .
]r('(:ь\1il1.'(jl()в
Рa]ja|||^я lt|!6nuu,l.i &1|i1a,, IIoЛ'l1'ичссl{аЯ t]р'lllll,ljIc)i(Il()стЬ сс
r | i t '] I J I l ( o д l | о N | yи J з t l г о ' Ц о l ] к ( )o| li l a l r с I l p и | | а Л Л с ж r I 1r l . с у , ] l , l i ( ) l ] с с N l Y 'я ] t . ' r я с ' Г ( J l
('ili\J.)ст()',l.сJIЬl|Ьlм3nгоJlo]l,()]v 6с3ьI]\l,lIll,oГo 'ГЛпn (lк'цю6||oс (]ll. дilrl(t' I)liз,1с'
. . r r ,or S i z с O | I - k . l r с l с г s >l l < ] . a 6 л и ц а с с к ц } t i i ' ) ' Р с r l к о c ' J I l e Д р с l l t l св l l ( : l l ( ) . . l l ] ' 0 м Ь L l i
r]lltii'l o6хrl1ц.rlся 6сз пlrirвкlt 'гaблпI(ьt сt''Lltцii, ||oэ,t.o]{уд0llIliLя с1.рIк1.уl)iL lUl,l
чтo мoжHo
и чЕгo нEлЬ3я
дЕЛAтЬ
с PE.ФAЙлoм
с т р l ) Г ( ] r ' o r l о ] ) ' lч ' y)io'i l]сllo,I]llяе\1l]lii
( i J i ] l 1 . l 1 ' l l v ч l ] r|lсс 1 I l ( ) f l r ' l .j Ьr l ( ) ( . к О , I r ь r L v
з l l l ) l l l l с с l l l ] l l з в с с ' | l l ( ) )] i ' l с \ 1 v l 1 N o I I I k r
o l I I I Р I l Л я з | , l l ] а с т с я] ' ' l а r L ' l е ( l | P v к т y '
p Ь l д а I I I l Ь l х l L o r I , Г p O , I ] I I l r YС е r 'Д, Р у г о 1 i
с T о р о l I l ' |j I I o r l е ] L с l l I I сl r, ( ' L i r в j l , п о I ц с to
6()ЛьшЛ]|сГвa 4)аii,roв пl|о'rllс пpе,IL.
с к а з v е 1 1 ( ) lu п l l с д p Я т ь с , в ] t J l х ' Г a к ] 1
oписAHиЕoснoBнЬlx
пoЛEЙ PЕ-ФAЙлA
кai{ v)I{cгoвoрn.]loсь']ll)nпoстью oппсЬIвaть PЕ.ф^ri"rlмьI
l re сo6r'lPaемся t'l пpсдlt.]Лaгaе!i' ч-гoчIrтателlI:а) рeгуЛяР
пo пrтyдирyют фrlpNlеlllI}поспецификaцiiю псpсД с]ro]\'i
1),]aвньI -дaB}ro расlIечата,1'l фaй",1WINNrh иi] sDк п o6клеIrлx lrl\l с'гeпьI
]l!оеil хaxcрскoji 6еPJI()гиrra манеp o6oсв' Bсе llиЛ(епPr,Il,eленнЫcстpук'Гурьl
rзятьJ u}rсrtlto or.ТyЛa( вrIи]\1аIrис:зaЧaсТую оIiп llN!енyrотся сoвссм !l€ 1.ilк'кaк
з спсцx(}jll(aцllu' Ilтo в1roс1lTв PядЬi РaзРа6o'Гчикoв )кутltую путаllllцy и сy-
ltяТЛцу),
3,lссьo]lllсЬtваto'Гс'I llе все) а.rtIInrьсn11t,lс!lllтL,pесllьiе li Ilaпм€ l l€ с ]lзвссTttl'Ie по"qя,
сiroiiсTBа 1l oс()6€ r llюсTl1 повс,IlсInlя РЕrDаiinoR' Зa остaльlrь1ми о6paщаilтесь
IoLD.ЕxE]E-l"lAGIс
сoдcPnnrr сЛr]|a'гyPу oт
l1Z'дoста|'ruу,осяll l|;lслe/(ствo
- BqlУщсtoрiвра6oTчпка
Мllрка збltJlrlпскir Мs.Dos
l l l.с|lсl)аJьlloг() ilрхIггскTс'Рa ЕХ]]"(1)()Рllltтa' ЕсЛu e-rтаgiс
Раlrсll l.]z'зilгРYзЧttк лPIlс'Гуllaст I( floпскv PIi{:lu]laTyРьl'
в Ill)o,гl.l]lIIoмсЛучас cl() ll()ueдell11eс.].aIioвlLгся llool|Ре.
]LсJlulJпnN1,NТ и 9х ll()lulсP)olпaкIг |lc/lol(уNlсl{т!!рoваll.
1 | у l 0с | | | l I l t т у р Yz l 1 ,| l с P с д i t l о l ц у Юу L l Р a в Л c I l п eп a D o s . з a .
r.;tуluку п o6r,l.пlrrRь]во'u|щуltl ljll э|{Pllrl <.this Plogгaш сanпot Ьe I!п iп Dos
лlоdeo, ч'гoв дarrrtoмr:лучасllс сoоT|}с,гствуeтДеiiствl,IсJIьrtос,rl{, Лo(,(oльку IlPo.
гР.li!11a3lIlускасTся tlз Witrdo\vsl
О]uIIIllз IЦ]llcМoв3aPа,iе]ul,| PЁil)aiinов свoдlr'l.сяx вnсдPеtltIIоR Dos.заглуш.
кy' дItrlаNt!1Чсс]ol IJoсстан^вnпtsill()lцу() с]{l.]Iатуpуllz ll дс.цll(nцую сe6e exeс дJlя
ЛсpсдilчIt уI|рaBЛelIиЯIЦоrPаruNк}пoortтe.nю' ДJI,l вoсс1aIюtsJlеIIияпoРажсnl]ЬIx
o6ьсктrtв rrростo зa:rrснI{тo z|l lln l,1Z'rI пPп запyскo фaii.'Iarc WiDdows (вкЛюЧaя
с o a l ] сN I s - D o s ) в ] l р v с6 o x ь ш с l j l I к o г д аI I еп o л y ч I r Ty I р а в J ] с l I l I я
j]Iо6итflIll кр}.тoroIIзвРа'].a iVю|yT11споЛЪзoвaТЬ сиIнaTуpу NЕ,пeредaюrцyюу]lрaв.
''lc]1llсllnJаrлyпп{у и yстallaв.Лl1rrall)|lIуюз]]aчения ссl.мснTllьlxpегllстрoв как сoпl'
а Лс схс (Ds : Сs). н]I н]ЕW, ни lDAс таtolм фаilлом pа6oтaтьнсмoryT Il сpaзу
нс floслe егo зalрyзкx вьI.]]етa]от n aсTраJ
[oLD-ExE]E-сPARнDR
в naрaгрaфах(1 паРаIраqrpaвсн200Ь6аiiт)- B нaстo-
Рaзlrcp old-ехе.зaтoлoвкa
ящее вpel{я l1иксll riс пpoвcРяeтся (lry разве чтo ДамllсPoNlкакrtrl)' olrlакo зак'
naДьInaтьсянa это нсс1oиT' Nlllrr малънЬIriРазпlсPзaгоJюrrкасоставlяет 1 пaрa.
._ or.рir]llгIerr
Ipа4)'а yaксrпf.LrтънЬll"I pазlfеPoпlсамoii Dos'3агJ\rxкп. то есть eсII'
оIl6),лe'г 5oЛьпrlrпoЛя e-,lfаnеW'фailл пloj{rcти rIе заrрузIlтъся.
82 главa 5. фoрМ.тPЕ.файлoв
[oLD-EхЕ]Е-LЕANEW
спlещенI1е PЕ зaloлoвка в 6айтах oт пaча"lа фaйла. Дoл)кнo указЬвa'Гь fia пeр.
вьIii 6aйт PЕ сЛгпaтyрьt PЕ\xO\x0' вьIpoвIIeннoiIпo граirицe Двoйнolo слoва' при-
чe]!1eсJlисyмlra iп]аgebаseи e-l fаn€ l l{ вьlлеТаетзаIrP€ д eльI oTведcннoгo зaгРузчи.
ltoм адpеснoгo пpoстpaнсl.вa, такori фaiiЛ нe гpyз]'lTся.
B пaмяти PЕ.зaгo,roвoк (tslrсстссo всеrlи oсTаJIьнЬlNrи зaгoЛoвкамli) всeгДаpас.
пo'ttaгастсяI]ePедпеРвoii сcfiциeй' вплoTнyю пpи)киl!а"чськ eе aеРе/]IIIе]i t,pани.
цс (этoзfiачитl чтo PасстoяIrиеN!Ф(дувиPryaпьпЬIIlаlipссоNiпеpвi)ii секщ,Iии кoll.
ц o м з а г o Л o ! к а l l o Л ) r r п o6 Ь I T Ьм е н ь ш e l ч e N rs e с t i o n А ] i g n m e n t ) , н a д Л с к е
PЕ.загoЛовoк ltlo'(eт 6Ьпь рaсnо'llo,{eнв rrю6o11ruсстсфaiiла' Ilatlptlпtсpв rго се
PедЛнe I,tЛикoнцс (тo естъ ileжду нaчаrroм фaiirtaи llсpвъпl6aiiГ0м PЕ.зaгoлов
м lloryT o6осIroваться oлlIa и,Jltlflсс(oЛько сel(lцtii), IIе зrlаrо' соjiДсl. ЛtI кarroii
зaгPyзчпк oT э,toгo с yNia' lio r Windows 9х/N'l. всс Pа6oтаeт. IlРи этoпI
sjze0f нeadeг/rо",tжlto6Ьlть paBпo /{еii(j,|вltтсr'1ьнoму Pаз]\t€ P y PЕ.загоjloвкa IUlIoс
e ] fаne1{; seсtj onА]i gnment>: sizeOfнeаdeгsи Еirstseсtioi.RvA >: slzеOfHeаders'
IIмAGЕ_FILЕ-нЕADЕR] мAснINЕ
T!t]I цснтРaль1lоl.o tlрoцcссoPа' по/( коTopЬ]i1скoпrлиJltIpoванrbaliл' Еслn 3дссЬ
буДcт'rтo.'r.ooшtиlнoс oT 14сh' lla 1386-машIпIах4)айJlliPoстo }IeзаrРу3I,tTс'l'
NUмBЕRoFsEстIoNs
IIi,lAGЕ-FILE_нEADERI
К o л и ч c с т в o с е к ц и i i . Ф а i i Л , l l с с o д c р ' ( а | ц и i i l l ' ' l ( l Д r l o йс с t ц и и ' э a ] ] с ш I l в a e т
Windows 9х и коррeктrr()]JPсPЬIвi]ст своюзaIPуllкy Лoд Windows NT' Мllкс!tN,:Lllь-
нoe кoJIltчссTвoсeкlllll]i ()lIРc/lсJIястсяoсoбelI||oсТяNnrрea'llизаЦиr|к()lll(Pс-rнor.o
лoa/lеPa, Taк' Nт пeреl]aрllвa{rT<вссгo' 60h ссlrциii' Дрyгltе зaгl)у3чикl{ мoГУ-r
имeть и бо.Лсс)ltссткиe oгрatпr'tеrrrrrr,B о6щепt,кoЛичeсTtsoсскцIli:lдо.JDк|l()6ыть
свe/xellоIс миnиNIумУ.
Еслп зilявЛorlнос кoлп.Iествo секцlIй меtIьlIIeчЙсЛа запIrсеil в seсtion таb]е, тo
oсTaJIыtьlс сl]Itцllrl прoс,Г(llio гРyзятся' по в цеЛoм такol:i фaйn o6рa6атьIвае.гся
впoJrнс нoPмLqьпo, [iасToящсe вeсeльe l]aчинастся, кoг/(аNumbers0fseсtionпрe-
вllrrraет кl]ЛичесTвo PоaльIro сУlrlесТ!yющriх сeкцrlili в!Iлl]тая зa т{o]leц
seсti on таb]e' Ес'llи здссI' oкa'(yTся t lУЛи ( как чaщe всeгo и 6ьIваст)' Wj n d ows gх
OтPсal.иPvетвпоЛllе llopll:rnьrro' чelo IlеJlьзясказaть o Wiпdows NT' нaoTpeз oт-
кaзr'Iваюrrlеriся.|агрY,кать такori фaiiл, Фаirл с кoЛичесTвoм сскцLrr"',Paвпь]r1
ltуЛю' l{eртвo 3aве1xивacтW]ndows 9х' в тo вPемя как Wiпdоws NT о6PабaTь]вa.
eт такvnr сrпyaurl1o вIlojl}1снoprtlаr'lьпolвЬцaвая нeизмепнoс <.ФайnrreявляeTся
пpиЛoяtсниеrvw]n32',
Гloпутпо за;rrетим,нтo птtloгиeyllaкoвщtпФ испoJ'!н,lсмьIхфaйЛoв JIooкончаниll
пpoцeссаРаспaковки llскaэкaютэтo llолe в пaiяяти' ли6o увeлинивая' ,rи6o уlrепь'
Iuая еr.oзнaчеIlиеj в резУ.]rътaте чеro ДallllеРьr но ltoryт кopректнo с6poсить тa-
кoй o6Paз iiaдиск, B pе.too]s/]оrd.pe исxoЛьзyeTся дoвo-tlrнoнeнaдe)кIiьIй.Lцгo.
р и T м , с к a н Л р у ю щ и й s e с t i o n Т а b , l e и o T т a л к и в a ю r ц и r . i с яo т т o г о ' ч т o е с J l и
PojnterтoRe]oсаti ons' Рoi nterтolj nenumbeгs' NuЛbeюfRe] oсаti onsи Numbeг0fLi nenumЬers
лолейРЕ файла
.nиcнИе oсНoвных 8з
t tl'{ ,Ъo
. -.-\
l ';,, *"Щ
PoINтERTosYмвoLтABLЕ/
IIМAGE-FILЕ_HEADЕR]
NU]"tвЕRoFsYмвoLs
Укa3.r|еJll' и p,tзмср опl]llLoчlюii IIIl(|)oPll.rll || |J 06i,сI{Г]tыrы)i фli]ILlх, в нас1oя.
||'(пltе\|q||nl|l,IlU,|],'уfl!q(,,.,|| |j,н|'|],,, | , ' , l . ' , l , Л l | | | | . . , ' | , l| ' ' | I .
sIzЕoFoPтIoNALнEADЕR
IIмAGЕ*FILЕ-нЕADЕR]
РaзмeР опц'oнL'rьнoгO зaго.noвI(а'!Дуцс1.o сЛедоlt зa IиAGЕ_ЕILЕHЕADЕR, -lo1'
-
ж с l t v л a з ъ т в a T ьн а п с p в ы i i 6 а i i т s e с t i o n Т а Ь ] e ( т o r с т Ь е _ , ] f a n e , J 1 8 h -
s ] z е 0 f 0 р t i о n a ] H е а d -е г& s e с t i о nТ а b ] е ) , r л c1 8 h- s i z e o f ( I м А G ЕF I L Е - н Е А D Е RЕ)с,l l t
этoнeтaк, фаi]LЛIIезaгpyжасTся, l,l хoTЯ lleltoто!]ь1сэаrру3'llIшr вьIчЛс.rяют\'Iiа.
зaтenь на seсti on Таb]e, oттa-цк ll вJясъ от Nuпbеr0fRvаАndsi zes' за li Iа:lЬ|ваться нa
этo нс с,l.O]1T, так кaк с11стс!1llыeзar|},зчrп{иэTOГ()rlrJеrпIя не Pаз:1erяют.
.цaлоc пp]lвеllerrЪrl{aкpoсьl) вфвpalllaющис pаз\rrр Oпцiloнаll'Il
укaзaтeль пa та6лпцу сскщrii' r]ьIчIrсneнтrьi с'ГаплартнЬI\!Il lf|ь t еР яатIIвныrl
84 rлава5' фoрмат
PЕ-файиов
r'e'Годамrr,в liaчeс]вe входнoro аPrу]!!еllта]1pи]iиiliаютyi(a3атеrIьIrапeРrlыii6aiiT
} d е f r i eх O i ] t . s z ( D ) (*(('i0iD*)+ ( D0 Х 1 4/ * s i z е O f O р t r о n al ]r е а . е г* / ) ) )
# d e f r r eр s е с t r о n Т а b l e { р ) ( ( B Y т Е t ] ( х o р t . 5 / ( р ) +/0*хsi 8iz0 cf iпаg€ heаf€. */+!))
# i е f r n € р 5 . о с t 1 о n т dаb]lte( i ) { ( " q Y ' | L * ) ( ( r { ( t t L , ] O R D * ] ( c+
+00хх7784+) р
) ))*) 8
IIмAGЕ_FILЕ_нEADЕR]снARAстЕRIsтIсs
Aтрп6утьrфаiina,ЁсJIисhaгасtеrjst i сs &I|"1^GЕ. AGЕ) : 0' фаjiЛ
FтLЕ ЕхЕсUтАвLE.]
нlrгРyj}r'Tсяl
t.oсстljrrоРвьпi'сvлтiя от ttу'ltя'6rrтхaракгсpt1сrrкo6язaтельпoдoл-
жсн 6ьrr.ьуr:т,аlкrвлеп,У дtпlа;"пr.rескrrх6tl6лrroтсrrlro,rлою
6ы,гьустalroв,reнo
rtак
]\'иIlи^rviu
дBaaтPи6yтaiIIIАGЕ-FI LЕ-ЕхEсIJТАвLE l|r'rАGЕ/0002h
и т АGЕ-FI ..
LE DLL/2000h,
тo ]tс саIюl oтl,oсlпt|я li к псп(J'цяясl1ым ф:lii]lаNl' }ксlloР1лPylоlIlим olilly rlnи
бo..rсс фупкlltIil Ес,Цll ltl.!и6vт ]мАGЕ FILЕ DLL yстiIloвлeri,,lo )ксlloPта Ilс1.! пс.
rюлIrяtnlыii фa]ia запvскaTЬ.я lrc 6.удс1,
oста'ltьяьreaтри6y,гьlttс сl.o.Ць
()а|алЬIIьi
l't,юД WirrсlorvsNl/9х 6e16oлсзrlсrrrro
IIeрell()(]яl jlю6r'Iс зllaчеlll|яl хо1.,Jj ll() ltдссj Лl].llаlr, J,Гоlu tlс дo.П,rlп,I, B3яr.Ь хo'|я
6ы IнAGE.FlLЕ.BYтЕS'RЕVЕRSЕD-L0jl I]!IАGЕ-FI|-E-8YТЕs RЕvЕRsЕD-н1,olIllсьlllаlо1цltсlIо.
Pя,'loк сn('lorrаlol' 6айт r] слoRс. Nloяolo ПlYllЬ|i,l вoпРос? Ifuкoму ;l6сTPaкTIl{)мy
сoстояli}lю lIPollсссoра сoolrrсrсГllуtT 0l1яo|'рc]!Iсllll;Lя J(.Tаяo]]t(l o6oих ",r.Рп6у-
,lo}r? И кaк пc
дci,iс Глl.|'lд()JlrlФ]l l l p(,lllтрllI l,fГь заГpyзч I'lЛ|rс.]ol устаl IosJIс ll Ill' ii Ilo.
PяЛoк сЛсдoljill,Iuя rjаiiToл 6yJl.T o1llltlЧil1ЬФl 01. пollдср)rl]вilсNloгo lIрoцсссоРo !?
olтсРаЦиоIltlьtll сt,к:,lсшrt)| 01 l\,]iсгosоIL' Л!tсаIIIlьlс чсрсз llJirссl,Ilос Nlс01!' IlPос1э
.li)
Uu|орлруx),| э1l] аTl]и6vТЬl З:l l|сan]Io6lloс'ГЬ](), )кc (itlюс о'ГI(х:л1.с,| |l l( itTDr'
бyry ]|4АGE-F1LE-328lТ' АсHINЁ/0100h, кo'Г.)l)!lм Ilо уnlo-l|ча|lllк) ItaГрnхдаloTся всо
iJ2'разРядlJыtj (]aiijlLl (16.PaэPя,lllЬIii РЕ - )'ГL)(x.U]Ьrlo), BтIрочсl1' 6с3 lrPlliilIсij
Il)9lt/lЬ]]lуllIllс llс ll3Ir|)i'пIа,гЬ()l|| lillL()'(jIя1.ЬI]сс l()"l',] llPlltlIlЛьнo,
BoсЬruLl'I!lте рeсе ll 4'l^г I[iAGЕ.г I LE-DЕвUG sTR I PPED/0200h,vкaзьшluoшL'l i]iп a oтсyT.
с1.вие oT.rlа'l(oчl lo ii и нфopмrцЛ] l и :lап Рelllaк'1ll Iii o'lrlадчl Iкllм рa6o1аTЬ с l ieii да)кс
,|oцa] кoгltа
о]Iа trсr'ь. orrll,]o.rI я Ilri{юрltatlпя ttривяIзallа к a6сoлtотttьlv спtc.
lllсllll'мl оTсчl'ть]вaсмьl]!l 01.lIaчаJIa (pа11la' _ п lц)}' вl|цPсxии в фаr:1лчy'(ероll.
IJol.o lФ/.tа llY-lсNl сI'o PaсшIi])e}lrtя оl'.Jlадoчllа'l t{flфорl\lацпя |lcРсстaе1.сooтвeт'
стт]onir1ь lк]iiсТ!]]'t.eЛьпOстЛ' а ]l()l]сдсtt,l0 оTJIаl1чllкoв с1.aнoв!1тся кРai:tflс
нralекBaтl1r,lм, ll]п Pсш.нI]Я пPо6,]lе]!1ьlсуlllссl,вYloT Тpll l1утIl:
. сftoрре(тиРoвa'|Ь or"цадoчIrv]о lrll4l.'lrllilцlllo (rl0 Д'7I,l'тоro ]Iркll() 3наTь сc
QoPмат);
. отleзaTn o,|naдoчl{vю xнфoрrvаtllllо (Jl.фaiI.JIа (нo ДЛя )1.olo сс надo I1айтIi;
кPоIte Tol.()'за I.онцoм фаi.iлa ivо)rcT 6шГьPасп0лoя(е1I пoс,|.opoнrx]i.ioвсрЛcii);
. усTa] Ioвl,l] Ь фЛаr Il']АGЕ]:ILЕ DEвL]GsГRIPPЕD-IIoс-']еднlIiiсг10со6 сaмш]i lIPoстоI:l,
IIo и саi1ый нaдe,{.ньiii' Соо1ве1l]тзснно' д.1я aосстalloвЛсlll.lя поРаженпьlх
.
о6ъcктoв rreo6xoДиl!1о вь1кyсиTь ч}O]iеРo]lпьIii j.oд xз телa фaйЛа и с6Рoсrtтъ
флаг ]мAGЕ FILЕ-DЕBUG-SТR]PPED, в прoтивlloм сJ]учае оTлa/]чlп. tIе лOкil'{ст
. х o д h | , | йl . n ЛU , l] . , r . и в " 'l l " г o ф ' , | ' '
/l()||ус,J.и
i!''ll пl)oгРаl!ll1с
6ьI,'t
lсoдпrttamoveах. 0400000h (в8 00 00 40 00),,roвeрх
кol.oP()fo]vl|l]laчeртaлпpushеbp/mov ebр, esр (55/8вЕс)' дoпустим -l.аклФ,ч-Io
l] сиЛу IIcкоToPьIх nРllllItlт б.l3oпыii aЛРeс 3aгPузl(и ]IзN{eflI,!JI0яс 40.00.00h tlа
r , 0 0 , 0 0 , 0 0 h ',l ' l ( i i l . . L| | i l r , , , l | j. ,, : r I l l '\, l ' ' | | | | | в ш r |я| с j I o с P . д l т в с н ' | | |оi |i l l ' Р : . ]| |и | | .
€ b p' esp
с1,Pу(llпиmov'бу/letпeре,lеЛaнав1'00,00,00h'чrollРсвPа,IЛrкoма]uLуmov
в add [eaХ] ' al сo ]]сеNlIIBь]Teкil]olllll]tll' отсюда l]oсЛсдсTвиЯми'
СyцосТвукrГ lю N|eIlЬlIlеii NеPе тp пyтп pсшсl]и'I эTоi] лPo6лcмьll
. y6и,|Ь IiхnР'Ы (lIo тогДа фail,! станcт t{спcPсмcllIасNIЬIll' a вcllь I1скo'ГoРьIe ис.
IlоЛllясI1ьlе фni]лы л{lдспvднo эrtспoPтllPvют oднy илlt нсскoЛькo фy]lкций
rl6сз [iхuрbв lle сN{огy'r ра6отa'ГЬ)i
. тоЛьILo rlспcPе]\f.лIасl{ьrс ЯчcijI{и (ito этo nPивсдс'r к Рaзмa.
tI{-'Pсj]iLl1llсьIвaTь
зЬIвaнllю кojlа lto всеllу фаiiЛy' что сУnlестRепtlo усл.]'сrrит eго алгopптll);
о o6рa6aтъIватьпсpсl1сщaeмЬIeэЛeмеIlTьlсaм.rсTоятеЛьпо чтo6ъlсистeмa
l!,oгла пeрeN{ещать фailл nРl fiсo6хoДrlмoсl.lt, llo ]Ie ]сoPe}киЛa паIII коЛ' lтод.
сушЬтe еii Iтyсryю тa6лI!цу лсpсItсlцасAIьlх эЛемеllтoв 0loдpo6]rее с}1, рaздeл
<IlсPсIrcщaемыe элeпfeптьi>)'
IIмAGЕ-oPтIoNAL-tlЕADЕR] мAGIс
Сoстoяние oто6pаlкаспl0ro фaii"qа' ЕсЛи :l.(eсь6удеT чтo-то о,г-
личнoеот 10вh(сиrнаTурa lIсIIojlllяelloгo оTo6p:Dкeния)'файJ rre
86 rлава 5' фoрматPЕ'файлoв
заayзится. PЕ64.фaiiЛaмсooтветствуeт
сигнaтyра20вh
(всс aДPeсауlIIrх64.раз.
Рядньiе)j в oстirllЬнoNl оlrir ведуT сe6r как нoPмallьliьIe з2.РазряДIrьIe PЕ.файЛЬl.
IIlt|AGЕ-oPтloNAL*нЕADЕR]sIzEoFсoDЕ/
sIzEoFINIтIALIzЕDDAтA/stzEoFUNINIтlALIzЕDDAтA
сyNINlаpпъIi1paзпtсP сeкциir кoдa' ин]tциаЛизирoвatlIIьlх и нeпниIlIJа]Il1зиpoван
IJьIх ДaIIlIь1х (тo ссть сeкцпii' иfilсю]rlиx aтpибyтьl IмAGЕ sсN-сNт-сODЕ/20h'
II4AGЕ sсN-сNт-INIтIALIZЕD_DAтA/40h
и IliАGЕ-sсN-сNт-UNINIтIALIzЕD-DAтA/80h)'
Il]1.
ке]\l11сIlpoвrряетсяи NloжстrIpпнIrNIaтьЛ106ьle'
tsтoп{чисЛеl.Iзaвeдoмo6eссMtlс.
Лeilньlс энaчe]Iия'
Bс,кtril .ri]rнкеРзап0'1]]ЯстэтIJ пojrя пo-свoсj!ly:oДrпi 6еPyт физпчeсI.rlЙ разNIеP
сскЦий IJaл скe, друt.I{с_ вUрryaльllt,lii pшlrеP в пaillяTи!вьrPoвпellrtllii llo гPa
' _ пpичeм а,'lгopиTмoп pедeЛe]lияпpинaдЛe)кIlосl.исок.
l l11цеseсt i on A] i gnment
цIlll i.1.0lry иЛп иlloмy ,l.иlIу]]с стаlrдap'Гизирoвalrи в с,Гаltr pазpa6отчl{|(oвнa.
'.,||"]iII',,rl l 60,1l'||,nii 'l .llq |'l||||r, JIi|,l6lrл' с лev' '|,pа. j.Ч||oр ' or.|' ID||l'
IlJ:l-PJ.
oпpе/lеЛяeT <Poдoсловllyю' Ilo lIpuнцliпy 0R ('Го ссть секц].lя o атpи6утa]\1п 60h
сч]паeтс,l lt ссlщllсi{ кo/'lа] и сскцl{сti да]lпЬlх)' иxаЧс лeiiсТBуст aptlстoкРa,Пr-
чесl(ая ]lpoсJloЙкal пРилep)киваюI]iaяся пpu]lцl1IIa х0R и o,гl]oсяп(ая к лaIlllЬIм
'I'оJlЬкo
сcкцпп с атl)ибyтаrul'l 40h (80h?).ll.Ц,'I сскЦn,I ко/uсДcлaпo 'leкol.oPor !lo.
с'.lабЛ0яItс (вoilь D(j,|киji кoll пii ]rакorм{'o э,гаnc o6рa6оТкI'I прrдсr.^IlJl,lс'lс,I дall.
IIЬlltll), и сскц1lя с ilTРибуTaмI.т 60h ItЛц А0h Bсc-].д(и оTl,o(иTся к Jrоду (в llрo1.|lв.
llo]\l сJlyчirс o6P8oвarlt,tсЬ 6ы ]lскJIaссIlq)ицI'pyeп{lnс сскIolt'll Pаз]!IсP кo,гoрЬIх llс
бЬIJl п()/lсч|r'Гаlt'д этoгo I{o||уска'I.ь]lсJпl3я _ pс'll}lГи'I lle ReJJи1,).
I{aк 6ьI тaм ,tl 6Ьшo' сl,lстeмltомv загpvзяt'rкy па этo г'ltу6oкo ]taллeвa]Ь (llaв-
IIЬIlI./taBlJ()' к0lдa сскЦиtl кolla| !(аll,tьIх п пellIl]1циajlЛзllровalIlIInх дalIlпnх лo.
мс,дaлl1сЬ ll <свoll' ссгмептЬi! )Tl.l lloxя сrцe пмcЛи кaкoй-П) сN]ЬIсЛ.rIо cеii,Iaс
эTo рудlll{снтъll tlеPежrlтol( стaр r!]l ьl ),
IIмAGЕ-oPтIoNAL_нЕADER] ADDRЕssoFENтRYPoINт
oтпoсите,льный адpeс т0чки вхoдa' oтсчи,lывaеIfьiй oт rlaчаla Imаgе Bаse, N{o
)кeT УкaзЬlвaтЬ в лIо6у101очкy aдpeспol.o llPoстpаrrствa' ! тоNt чисЛe 11но пPrг
lIiЦJlсжащyю страllичнoмv Iil'пдЯсy (яапpиlIер' rlal1PавленпуIoflaкaкyю.нпбyдЬ
фyнкцпи вllyтPи ядpа и,.Iпdii), lIля пepeдaчи упpaвлеIluя 11аадPесa|Ле,raщ!е
н]rжe ]Iпаgeваse)мo)кrio ис]lo'1!зoвать цeЛoчllсЛcriнoепеpеlloJrнe]iиe,Пpавдal не
фaкт, чr.o всс заIрvзчrши lloliму,г riас прaвllЛь}iо (NT пoiiмеT точllo' oстaльlrъle
пe ]lPo!сPял)' таll что зaкЛадьIвaться]laэтo т]eльilя,
oписанИe полeйРE.файЛа
oснoвtrых a7
ЕсЛи тoчкa вхojla наJтPaвlснa fla заIo'(oвol{ ltЛn после/:illl.ло сеIdllrю фаir.ria] arг
тивr1PyсЬ] нaчпнalt)тжуT1.о ]!lаTерIrться' о6вlrIlяя фаiiл в заРаЯ{с]r]1oс,rивирусoNj'
пoэтoillу вo rlз6ежаllltе Jleдoршумснxil ТoчIiy Ехoда Лyчl]1с всcгO раслoЛaгaтЪ
я вjIяtTся l.oдoвaя секrlrlя . text,
в первоii сeкцlп1 фali.na' котор.]iI пo 06ЬIli11ове1lr1xJ
,,'I,rяехе.фaiij]oв точка !хi]jl;l (ooT!l)Tс1вvеТ il]lресy' с котоРоro rraчllнaстся !ьг
пo.riне}luеi п нс llo]t{Ф 6]rt,|ьРatrIla l lynft) ' a ЛJ.rяi(]irrаllическrlх 6Ir6Jиoтск . фунt.-
цll}1дnсIleI|ера' yсJroвrro IlaзЬrвасlIoй наlII.l Dl l |]a,in')ioт'l 11асrУ()I|i(e,]e пPи rLом.
пoноuкedll с нaсl Pоjj]ra]\ll1ll O уN]()лчапI.lюкollп(Лювпl1at вrlедряет стаРтовьr]i кoд,
персхgатыtsalol]Цlii llа сс6я yпPаuJспUс il вьlзьlваIоЦ1lr.i (нtlстoящуro> D] ]l'lаjn пo
своеr\I) n{е,Лn|lпl().D]]Hаj n вьrзьrвастся пPll сJ|сдyJо|r(l|х o.]ст()ятельстBaх: загPyз.
xа/въIIрyзкa dll Il сoз]lliJ|ие/у]пIIlft],€ I lltо aoтока [сJII тoчкa входа в dli p:lll]la
llуrю' фyrlшUIя Dl.l а1n}lс llЬIзьllilсlся'
О6Язаr'(].]lЬrloуч]lтЬllliii|е ') Гo пp1lвllсдPcrппl с06ствспнoгo lioда в d]lI tl[06l,I о,rnи
Ч]tTь dIl o'Г o6ъгltп,rх (lаilJoв' с'1(,д}'сГ lIPoilrlilljl.ЛlП)lrn'l.r' l1о'1схарактeрl]стllrt (см,
далсс раJдсJl <DiLсhаIасte|istiсs>)' OппРaться lla пa.пrl.ll'е/ъТсvTсТв]lс Tа6'ЦицьI
)кспoРтir llII D коerJ слуЧас пr-r]Ьзяl aосiк'IЬl{Y эк(llорl.Ilpоlli1"|Ь фуtlкцllu MoГут llе
TоJькo 'rиflaNIIlllсскllс 6rl6'lllI01(,кll' lLо и Ll(ll()'(Il'lсM|,Lе(briijll,ll к Tо\{y '{е uIlol.дn
Rстpl]чаloтся д!ltlа11ичсскlкl6llб'цirо1,(lor' Iiе irl(сrloртl|РуJ()|цис Лll о'(нoil фvllкцnи'
IмAGЕ BAsE
IIмAGE-oPтroNAL.}IEADER]
l;aзo!l,Ii] nдlхt З n Г р v | ( l l с T р l l | | | J I l | | ( Л 1 J) J N I I I ] L ' t l ll'I ] м с р Я с I I I , , i i
x а б с о r l l ( I r | | Ь | х а ' ( P c ( ; l х ' . ) ' I с ч | l , | Ь J I r а 0 N | l ' |0х1 | l i l ! l l l ' l l i l( ] . t ] \ l с r f | n
l l Л | | lI l T с I ) N l l J ] ю J i ( ) l ] Iо1Р.lll г l l l | а ' T ь l I o i !с ] l с 1 1 I I ( | ) l l j i l | \ |Р1r\(' l I i | ц ! Й . ! п s s ( ] | | с i \ \ I a ч .
l I l l . ( ' J | Ь | | Ь ||i iЛ | ) с с J a г P у i t r ( l l ) , 1 l | ) r Jl J a . J l r 1 . I r]l li !t 6 J I ! 1 l Ь lI l с P o i \ | o l I L l t с N | Ь
i )lJ\l o i \ J r г о в
(l)ajiJlNro)l{сT6ыTЬii]tГРv)lftxii|()il/lI).су,оlrl1l||lo\lloTIliiLlrа|||к)гorrзilf(]Л()L]j{('э'Гo
,||.,1,хll1|'l
l l' l.' '\|||ii '||'' 'l ,, '||, ]L!'ji', l'||'v'''''l
ко]iбl!6JLtо'|скoiilUlI13llГpуr]ч|lку:lltroТс.Il()('|'lrT().l()Ll)]L]J|||nTIl,
Е с J x l l l р ( д | l o . l , r l l ' Г c J l Ь | l Ьa] i/iL р е сс o в п а д l r е тс I u ц l с с о 1 1v ' ф i l l t Л Р Y ' ( с I r I ю i(i | l с T l ) I l l r ( ) i i
б I ! б " ' I r ю 1 с l { l]l|' ( ) l r с д с r l ] r] с| ( ) ( ' ] r e l 1 l lсс ri ii L I ю l l l I 1 ' сI' l с l n c l ш . r т I x r i ]O
' гjItlдчxк' |l||Ге|рll.
P0вaluIl,lii ts Nljсгosoli VisL]ilL slп(|io' lilllvlllсп|IьJii пor'l YпPal]Jl(.lllllll NT, Iцю0(a.
к11вaoТ-rочкувх()дlL!l уIlllРilе1.r)lсJr() D окрес1.ao('тях ядPа Фт..r.1,кllвa(l\1аяlЦl)фitNi.
\ta xP11 эТol\l rlРoдon)(itс,Г lrспo-!llяться)' П о д \ V i l l d o\1's 98 1Llкllс 4]аi]Лъl
о'IJ {lrваlo'|ся в]l0Л|lс l]()])I1illlьll()' ll1l прп пь|х.)/tс I]з Windоlvs увo,lя.Г сс в llс'Ц)ll.Ц,
тaк ]r:Lr(псpl]llсIцасIlыNlэ.lс.
Мон,I1ь чу)t(oli Iпagе ваse Iljl |] I.осr!lrj.]lvt|,tL'LTсЛъЗя'
монтам в этoм с.,rунaс 6удсT Ilрoсl() lIс ()1.'leГ()о,ГIаЛIoпlaTьсЯ.I{ хотЯ с]lстс!нъlil
зaгРvзчllк rl6сlльIIl1lнс'tвс сЛучaсв зllrР!зllГ Ttlxoii (l)il]i,rltsllonlle п.]Р]vа"'тъ1lо'ра
6L)TаTI'olt llс (Il()жeт - ]]о в.якoll сnvчаe' д.r тех пoРj пoк:l всс ]Iсрс]\lсxrаемIne
э,rемонтьI нс 6удут сlrop!скl.llр0вiL1i|'l llirд'lJe']{irnIll]\1о6Pа3ol!l,
IIмAGE-oPтIoNAL_нЕADЕR] FILEALlGN1'lЕNт/
sEстIoNALIGNмЕNт
кPa:гI]остЬ вl,lPа!ltlU]а]lЛя секЦiii]l UaД ске п rr пal'ятл. oчеIrь tlнтсрсс]rое llo.]lеl
oфllциaльно o кратllосl.ll tlыРnвIILlI]ая ltзпeстно.iпlllЬ то' чтo oнa пPсдстaв,Irяс.l.
сo6o]i сГеllelll' Двoйкll' пРп.Ieпi]
88 rлавa 5' форматPЕ.файЛов
IIl'|AGE-oPтIoNAL-н ЕADЁR]sIzЕoЕIмAGЕ
. , ' , . r l ' г с ' o l r r r t , t r r u r о ' у. | , , l , l l ' ' ] ' o o | | (
' ' r ь r l i ' , u , ' ' l l I l .s е ( L l o гА . i g ' r п e . ' , P J J
\Iеp стPаllичlIo1.ol{мидn.a всеЦа Равеп !иРlуа,llьнoj!'y а/1pесyпoслeДнсй секцl'lи
lI'1юсeе Размсp (nЪryo]rIIeннr'ni. вrlРTy:LIrЬньIIi). Есi]lразмер страничнoгo о6paза
I]ычислeп 1]ellpав}'льllo'фаii.l не зaг]rуr.астся'
описаниe
oсновныхnoЛейPE файла 89
jtfaкPoс iIЛя вы.rисJrснrrя
Pс,UIЬltoгo Pазllера сТРal l l пllJо гll |l]tl!1i('{aвrn1,1Ядtlт 1.аx:
+ d e i : n ex 1 m а g e s r z е ( р )( * ( D L i O R D * ] ( p i ' . ! t : e с t r c n+( ip]]i l . / + ! d n / ) r \
^ L I G N] ] Р ( * ( ! i i ! R D * ) ( t ] L . 5 t : rеi.(Lp ) - 0 . g ] " v l : + / r r c b . ] . с i A ] ] - . n i i ] ] ) )
I IlvlAGЕ-oPтIoNAL_нЕADЕR]
sIzЕoFнEADЕRs
СуммilрнЬlil paзпlср вссх эnro.IoЕков, сoо6lilаIоnIиii зa.
Г р у l ] ч и к y l с t { o ] l ь I r o6 а r " r т o вч и т а l ь o r H i ч l n n ( р а i ] J . l '
(- J'Гим ]iо,jlсм связаllЬI llBa оl paничсl1l{я
IIмAGE-oPтIoNAL-}lЕADЁR] сl.!Е{!t5t.,i.'l
I(онтРoлЬн:tя сylfмa фnй;tа, Ilpoвсpл'lт,:я ro'lь'lо N.Г' дa.Гсl l{ .ll','Jxr'lцi!] ::..i,.] ] i
нскoтopьrx спстeпптъtх 6ll6Jl|оlrJi ti lrаЭvy.етсr' сaмоro яr.|а. AiтnР!;Т n .l'
"f
мoжнo найпJ s IмАGЕнЕL.DLl.' (]l\']|li]lN' .i].сksuпlqаррedFile ilо ']Jtу}:el. ']i .i ' 'l
90 rлава 5' форм.тPЕ фёйлов
ные Тeкс1.ьlвхoдят R SDK' У 11сняссть sDK, нo нllчеt.o пoдо6]toго я тaм fiе вIl
ДсJl (]!1oжсT']1ЛoхоискLrт?), Bпрочcм' аЛIoP'lтll pасчс,l.аTPlшr1а"leIIи дeкoмпi1
.nиPус1ся па уpа'
IlMAGЕ-oPтIoNAL_нЕADЕR] sUвsYsтEМ
Tpс6yсмaя llL'дсlrстeУal котоРylo оЛеPацnoн11аяс11сTеп1a
Дo.lt,к}lа]реiloсTaвитЪ
фariлy, Moжст с,tелуюrIIие
nриtlnNlа,]'ь зrlачсrпlя:
. UNKN0IiN rie]'iзuестllaяпoдсxстcпla,фaiiJ] яс заl.ру)кaется;
00h l}.1AGЕ-sl]BsYsТЕl,l
. 01h I|4AGЕ-SUвSYSТЕ}4-NA[IVЕ Лоnспстепla яе ТPсбyстсяl фaii.I tlсnoЛпяется
в <Рo/lпoм} окpv)кснl1rlЯдPlt и, ско!ес всего' l]pелстаRляетсo6оji ДPайgеpyс'
Tpoйс'L.вa'o6ьгlilьIll пYTсlll нс загIrу)кrсTся.Еслi,I вьl пlJlII€ т e uIIPу(/уrlaкоB-
цик/] ЦхIгerffoР,]ln в xосм сnуч ilс l |с o6Рa6lтЬпrаiiтс такпх фаiiЛoв' ссJln ToЛь-
t{o,loчlк) lIе уBeРсflьI B тоIl. Ч'Гot]]J/l(е'(aeте;
внимAниЕ
nри загpyзкедрайвepoвWindowsиl|loрируeтпoлепOдсис|емьl,и oнo Мoжeт6Ьть лю-
этo eще Ne знёчит'чтo
бым, noэтoму,если subsуsteml= IРIAGEsUвsYs,],Е|.4.NАтIVЕ,
да!ныйфайлнr явлЯeтся дрaйвером'
пPи!lЕчAHиE
ксгати.сэтиMсвязанаoдназaбавнаяпpo6лемa, мнorиe<пpо.
скотoройсталкиваloтся
гpаммибЬ'l пь|тающиeся
noдaвитЬсOэдание им oкна(нY малолиl мoжeт/
ненyжного
пpeдoтвратитЬ
oнишлиoнакакoгoпишtтlаэтo oкнoeгoдеMaскиpyeт)' автоматичeскoe
сoздaниеокнаоЧе3ьпpoсrо дoстaтoЧно''.
Heсoздаватьегo!
.]ilлъtro
сUI пoдсI{стcмаos/2,
05h ]}'tAGЕ'sUвsYsтEl{-0s2 д.Iя пpилoяtcнlrй oS/2
говoряiяBлЯстсявсerJ,iзвесTrIътй
(oдIrll{ шзкоТoPr'х]l{с,l.n'ПI llIЕW) и Toль-
trодля Wiпdows N'l., Windo\l's9x lIе мo,rеТo6pа6атшвaтЬ Tакиефaй,rьI;
POSIxсU] пoдсrlстeп{а
07hIl1AGЕ'sUвзYsтtl'1' Р o s lХ, ToЛькoдля прилo){сttий
Urt!Iх lI тoЛЬко дjlя Wlrldоt\т NT;
09h il,lАGЕ sUвsYsТЕ|{-l,{IND0l,ls-сЕ GUI фаii.i пpодtlазначсн д,'1яl1сIloЛ]lefillя s сPс.
ц ' ц | | с о \ ' с Е , || l ' \ \ ' i л l u ' : N _ , l ' ' \ V i r ' о о ц .9 r r ' v o ' 1 . .',.
"6д16r.ьrвэ
кпe 4]xilлЫ;
описание полейPE.файлa
оснoвнЬ|х 91
OAhl.]AGЁ sUвsYsтE|'1
ЕFI APPLIсAтi0N;
0вhI|1AGЕ sUвsYsтЕ|4-ЕFI
.в00т.sЕRviсЕ-DRIVЕR;
0сhil{AGЕsl.]BsYsтЕl.l
ЕFI RUNтI|4E ЕFI (ЕхtensiЬ]е
DRIVЕRпo,1систеlIa Еiгm\\аrе
Initiаti\,e),
IIМAGЕ-oPтIoNAL-н EADER]
DLLснARAстERIsпсs
Оче]lь стралlx)е пoлe. Маtt Piеггek пliшIeT,ч'гo otlo опредe
ляет па.,op флaгoвl YI{aзьIваIощ1rх' пPи (aких yслoвilяхтoч
кa uхoдa в DL]- пoлvчает vпpaв'цение (I{aк.тo загpyзI{adll
г | . r { с ' I o e п ] ' o Г p : r h .Г B o п р o ц . , ( J , . о | L ' . н | l сJ ] в . D U ' н , . t
нoвoгo floтoкa ll вьIrрузrrаd]]xз Ilам,lтn), в сllсцlrфllкrции
нa PЕ.фopItaт эти IIoЛя Ilo]!1счсrlы каl( заpсJсPвrtp()ва]ttlЬtс' l1Wiпdows ]1flк)l)]1.
Pyст xх значеtlис, пoэтoп{у y 6оЛьUЛlнсТвa фaii"ro9 о]lo paвно flу'цlо'
сorлaсllo спецпфиItаIпlll 6,0 oт 1999 гoдa (сaмoii сtsс,{сй слсцllф}lкаЦll1l llil (с-
го](IlяIlIIl],l'iдеIп,)l загРyзч]п{ /roЛ'{сп поДдlrР}кивaть и дPvl.l]с фnаги: 800h _ jl(,
6UIlll TЬ о6P^]' 2000h - 3aгРy}I{аTьдPa'lвсР xак WDМJц)n'iвсРi 3000h _ d]tlii.rl
Ik);uLcp)кивaеT l)а6()1y п(,LтсPi!{иIlа.rrlпьJltlссPrrcрoп{,Эl{спсРllllсlITа.IIьIlа' IlPoItсp'
кa покa3fuIa' чтo W2I( tlгIlоРиPус'I эl'l'i ()rlаг,l.
IIМAGЕ_oPтIoNAL-нEADER]sIzEoЕsтAскREsЕRvE/
sIzЕoFsтAсксoммIт,slzEoFнEAPREsЕRvE/
sIzЕoFнЕAPсoммIт
{)6.ьсм зарсзсpяиpoвaIrlloii/вЬu{eЛcllllоi'iпai{яTи пoд стек/куiry в 6ariтax. ЕсЛx
sizeOfсoп]mit> SizeOfReverse'4)ai'i.1ilе llitгРy'(aеTся' lloЛь oз]lачасT зпачeнше пo
IIмAGE_oPтIoNAL-нEADЕR]NUмвERoFRVAANDsIzEs
колпчесTRo э"'Iементов(не 6аIiт) в DAтА.DIRЕст0RY' с.ЦсjryющCj'iнсnoсРедствellI]о
I,Iз.зaгpу6ьtх oIIlи6ок в систсмнo11зaгPузчиxс кo\x loнoвщtl л |l oт
за :rтIlNlпo".lеN{.
Boгlаnd и M iсrоsoft всzzаd выставIяюT IloЛнI,liipa:J11ердирct{'|oР,1и' рaв]Iьrii10h'
дaл(еeс"ttlРеа.nьнoeго нr испoлъзvюT,llаllPЙruсP' WlIrdo!vs 9х llе nРoвeрЯeт'чтo
Nu]rrbeгOfRvаAndsjzes >_ RELOсAтI0N Ir/или RЕS0URсЕ'
и сс,rlr пoдсyнyть cNIvзallpoс
к oДнoйllз эTl1хсeкциii. а TаIсихдирeктоpllй пет кpапTъr'WindоWs NT не пРo-
веряeт (пpи зaгpyзкс dll) {дoстa1oqнoст!> тLs-DIRЕсТORY' и eс'nиэтoт TLs мехa
flизNl аItтивиРoваrr,a ТLs.дIrРсктoPии нeт . oпять кpаl1тьI.
компоповпшк Юрия хаpo}ra вьirоднo oTличается темj что yсекает pазмср дrг
реI{тoptrидо l{иrrllмyмa' нo и кoда вl]крyl пpoцедyрьI <сoltPащснии' Tа]i1сTРoк
пЯтьсoт' a y'{ сIrоJ.rькoвpемeirи 6ыл0 y6итo n иДЕ,,-
L." j p v г i я р o б , 1 P v а ,I l о . ' n L и ф и h а L и и O A т A - D I a Е с т 0pRаYс | | o| с | , а L т ' ,вя( : l .
lIом I{oнцeoпциoнanьнolo зaгonoвкa, и нe]loсpeдсTвeннoзa егo кoнцoм lIачllIlа
92 глaва 5' фoрматPE.фаЙЛoв
стся та6"rтицa
секций,Таким r,6разоII,
yrrазaтеJьrtатa6лицyсeкциii мo)r{eт
6ьI,Гь
по]ryчellлIJ6oтarr:
( ( в Y T Е *( () * ( ( ! ю R D * ) ( р + 0sxr1z 4eo/ +
f o р i ] o n i ]hl. а d е1г / ] ) ] + 0 ! ]/8* s i z е о f ] п i ! еh . а d с -г/ - ! ) ]
.Ди60такi
( ( в Y т Е *()( * ( ( D l i O л D * ) ( р +/ 0
* Хl !7u4л R v А а n d s*r/z)e] ) + 8 + 0 1/7*вL r с q rD
n A т A0 l л Е с т 0 т*' // + ! ) )
сисTeмвьIй загPyзчик исllo.пьзyе.Г пeрвllli сl1oсо6 ll дoпyсl(aeт' ч'to Mс)1{дv
DAтA-DIRЕстoRY и SЕсТI0N_тAвLЕ Nlо'rет 6ытЬ распоJ.lo,кеrloнeкотoРоe кo'rlичсствo
. 6 e с х u r н ь r х "6 а й г n п ' l ] с I . o r o p L . Л ' | , r ( 1 1 ' 1 1|6' i ,' Ь , ' ' v , | 4 | , o в| , , j , l |' - l | | | i l , U| | | | | i r l l e
и ищyT SEстI0N'тАвLЕIlеlloсРсlдствеп||0за lсo llorv DAтА_D]RЕст0RY, ]]o.rx дав:lilте
пoдсyнсм пN{пol{Лoжну1osЕстIoN ТАBLЕlПyскаii Ilх ilв,|oPьrпочаЩс зaIJя,1ывaJ(),]'
в WINNll.]' кoтoрЬIil нсдвvсl{]nсЛcннol-osopЛ1.'ч1.o:
+def]nе]мAGЕ.ЕIRsт sЕст]0N(nLt].idег) ((t,I|iдCЕ-sLCтIcN ][дl]Еli) \
((L.]ONG.PjR)ntlreаde. +
|.]ЕLD-O|.FSL]( ll.]AGЕ Nт нЕADЕRS, Optirrnа]]'.oirdc. ) \
( ( р I A с Е - N т - н Е A D I R s ) ( n t l r e а d e . ) ) - > | ]!l]el с] 0 ai 0dрetГо n а ] н с i r . . . \
))
'.'Tак ч1.oJIозть/Il.|JJLсс0tl6Л€ P оNi
в сисlсмлЬIй 3:lГру3Чllксoвс0N1llс oбя3a].rлЬI|()I
DAтA DIRЕстoRY
. 00hI!iAGЕ-D]RЕстORY_ЕNmY_ЕхPORт |||lTn6Лlпlу
у,(аJllTсJ|ь
oксlloD'гlJРyсllыхфy]lкJ(rtjiи Дaв1lЬIх(дa'Ц(,с
l1oтcксTу
пpoстo(l)y||кцl]ii),
BстРeчa8r.с't IlPсrlм)|цсс'||rс|Лrc
8 д]I.
l l a м l F l e с l r l i х б l j 6 Л ц о т е l ( a х | |l l P а i i ] l с р а х ' o j ( l l i l l Ф : | l I l .
I{aться )ltс|loPТoм тoвirрoB ru())кст II р,/(()l()i.i llсlIОnll,|смЬIji (|)li1.l. l,](ll|()rrЬiIy.
ст RVА- t,tVА.адpссацl'llo (lIoдpo6llсс сtl' l)lli],loЛ <эIiсlк)Р1>),
. 0 1 h I I ' ] A G Е - D I R E с Т O R Y _ Е N т R Y - ] н P_o RуТк а з t l | с л ь п а т i r б r r r r l 1 уr r м t l t ц l . г п p у с м ь I х
ф у t t t . r . и й ' r r с r . o r ь . у е м t , i t . 1 1l ,l I|q , , | |] ' , , i ' " , . . . ( | ' | | , ' \ I ! | | ' n ч | | : ' с | | в l | | j )
e м y ю с и с Т с N l н ь I \ {з a г р у з ч и I ( o ] v Iкl o l . д а в с o о с т a л ь | | ь ] c i l с х i r l I l i I i l l L l l l N l п o P , Г a
нeДостynнъI..испoЛьзyсl R\rA- ]r VA-lдресa (rj0дPсr6lIee сll, рaзjrс.l| aI{M.
пopT}).
. 02h IllАGЕ DIRЕстORYЕNтRY_RЕSOURсЕукrrзlrтс:rьнa тir6lицу ресуРсljвl хPа
н я щ y l о с , . I ] o l i l l tп и к T o г Р a N r r 1 ЬrIijv р с o P Ь l , д ] i а J ] o r Л п P о ч и . Aк } r P l l u ч l l к 1 1
пoльзoпaTе'lЬ(fioгo Il]]тep4)еiiса(хo,ГяIак11(.этокирпILvrrrси?llастoящrrс 6с
тoнriьк] 6.10киl)' Tа6.{llцa PссуPсoв 0pIaнIrзoвaпa в виДe тpt]хуpoв]lсвого
двollч]lor.o дсpеllilj фlишкoм запyтiutнoго и рaзлa истото' чTо6ЬI сIо 6ЬIJо
мо'(]lo llPивcсти зllесь' tlo'к счaсTьlo' испoлъзyroЩеl.отoлькo RvА aДPесa-
циlо| To сс]TьlrечyBствитсnьнoгo к смещс]lt.lю<]свoеji}секпllU (a этo' IrаrLпpа-
виr1o,сскцrrя .rsrс) внyтPЛ фaйJ1а,oднако eсЛивьI вздуrцаетсIIPaвlrть R\'.A
(пallPипlсP' Для внедpeнI'lя пoвoli ссttцlllt в сcрсдиrry стpанllчнсjго ill\l}1Д{a
или rr{rPeнoсaImage вase)' Ba]!lгlPидeтся oснoватejrъпo IlотPyдитъФ1 с эToii
стрyктypoli' пoдPо6нoe oл исание l(отopoй] хстaтиIoвсlРя' можнo ]rаiiтп n \L
)кe yпoмя]tyтoй с,гатьe (Тье PortaЬlе ЕхесutаЬ]e Fi]e Foгnat fтoп Тoр 1,o
Bottоm',
описаниe
oфовныхлoлeйPЕ файла 9з
тAБлицA сEкций
tlсткoго oгIрeДелеllЛ'r l,oPll I1Illr ..]l4,я l|с суlIlсс,|ву
ст' Упрoщeпllo l.()воp'lj Llcxцl|Я :]тo ]lеllP|PЬ]внaя
о6Лaсть паiuяTr1вIrvrPIl с1.рillillчllогo l IrulЦ1ra сo сrro-
ипlи a1.P116yTаIlrt' пе зa]lttсяlпttмuот ачlл6yтов oсlnJIьllьIх сrкцпii, пpqrrставлс
пllе сl]кцl'lll в пaмят]l пe обя заТе"'l
Ьнo r]o'rDкнoсoвnaдa'r.ьс еe дrтсковьtмo6paзом,
коTоPЬIii'! пPUнцIrпe' Nro;кer. яrlo6Цо oтсvтствollal.Ь (сс1{цrIяrиЛепlIпцlli из]lPс)
вallнЬlх llаtlнь]I пrчеrl) Дe]lir|ь]]а дlIсI{еj]i поToIiу 0lllt пPеЛстаIrnе]rыtlс]кJlючI.l
сгpyкryPьll.4AGE-sЕсl]oNHEADЕR
листинг 5.1. г]ротoтиП
|]ЕАDЕR
Lypedеfst.uсt -l|lAGЕ-sЕ.т]0N i
sYтЕ Narnсl]шАGЕ-siZЕ0F'S!0Rт-NдJ.1E]:
ljlil]tD Phуs1саlАddгess:
0 1 ' 1 0 R DV i . t u а l s r z е ;
Dl'jOпD v].tuolАdd.е5s
Dl'j0llD s]Zс0iRaWData:
0|l0RD POi te.lOiаWDаtа:
DшORD PolnterтORelосаtiOпs]
Dl'l0l]D Poin|егтOL]nеnumbегs:
l,]0R0 NuпLbeгofRelOсаtionsi
l"]0RD Numbе.0tL]nenumbe.s;
DL.l0iD сlrагасtег]st]сsi
*PIмAGЕ-stст10N-нЕADЕRI
) i|1AсЕ-sЕстI0N-нЕADЕIl,
пoлc NanellрclloTавЛ,Icт(o6()ii DoсlЬмl|6ajiкЛlьliiNlaсспвс AsсIl.ЛмrIlем сrкIUIli
RIIyтPIr (t'lI1с11нol{мcllс]\{!а I|с укfl:rTcЛеNI Il"i llrvя|). ЕсЛи Л.]lиlIttli\lсlll.| NIcJ]ьiIlо
вoсЬмlt 6аiiгoв' oсTaю tltiiся х}rосT доl]oJ0l'c1,с'l ||у]lяNl11;ссJ|и ){0 n]\Jяlаlll,l]\1it€ т
вeсь пlассllв цсJlltкoll| зiDjoPIllilкЛцItii llyJ|Ь в cfo кolпlе Ilс с1'a|llrгс' (JleкoтoРь]e
]lrtзасссIlбJ]сPы aс учЛr. ваюT o1.ol.оо6с1.o,r|еJlIn:'Пlaи захl]irтЬ|llal0l. прi,l]\1ьlкaк].
Lщ]й к массltвy мус:oР).
Caмо пo со6с rrм-'rсскцrll1 l!о Ilссtjl. 'llltсакoго t1е'lil4Л{Jлчесltoго сNIЬ|сЛa I'I6ьlЛ0
ввсдснo в эксIIxyаTациro иск]Itoч Й1.eJlЬl к) и3 )сте,гическllх сo()6D&]сeпий, Cпстe]!г
пьпi заrPузЧ ик его пгIroРиpуcT! хoT' l itrкoтoPЬlс виРусьI/rlPoтск1.oРьI/уnа(l 'вll trг
ки paспозIlаIoт <свoи> сскции тoльl{o тaкl j1всякoс искажснио имонtl 6ьст Ltх
папoвrл'Хoдят сЛухппо пoвoлyтoгo'вго 6и6;rиoTскao|eаutз2'd]|,
вхоrrяца' в сo.
стaв Wiпdot's' oпoзrraсT сскцrlю PссуPсoв xo еr имсllx, а llс lIo зaIlllсll
в DAТА Di RЕстoRY'в исхoliньIх тс]tстах JIoIrуJиpноl о yllaкoвщIlкa U Pх llprrcу lс,|вy.
е,г следующпI:i кoмNIcнгаpий]
I(стiI| , пaсчrт сl]rtих экp:lrroв, lIarl(JNlllll]!f чllтатс"!]o' чTo rr(Jlll sесt1оn Aljgn.
m€ n t < 1000h' a фlзIrчсоrtiji pазмeP ссI{цllи въlЛетастзa xpcДсrl ]'l 4):lii.iа' W2i( sРз
(и' tst]рoяTlro' всо ос,|tlJrьllЬrе пpcдсTilвl1'le"lrl .lrпнсi1ки NT) вьi6P1сьlваст сrlIt]1ii
экPаrr, Й Tоtла сIlстсnlс rrас,ГупаIo.ГкрaпTЬ|'
Полс сhагaсtеristiсs oI]pеДej]яeт атРп6уTЬ1 ltoступa к сокцl1ll ll ()ф5епtloстI{ rс
заrPyзки, l,INеются r prl aтpп6уTа, !{aк 6YД1.обьI опpeдc.riяющtlе сoдеРniI{]\!ocсск.
цIrи liali кol]' ппrщиalrrз]]Po]]аtlньle lt нсl1rxЦltlr-lIlзllpoвarrrlыс дirtlxЬIе (IHAGЕ
1 '| ' 1 A G Е - sссNNТ I N 1 т I A L ] Z Е D A Т A / 4 0 hI |' l A G E _ s ссNN т
sсN сNт.с0DЕ/20h
UNIN1тlALIzЕD-DATА/80h t]oотвс,l.сTвеlIflо). oднаl{O с!lс't"ANлJьпjзагpузчlllс I1ГпoPп
оnифниеooroвнЬх пOлeйPЕ.фaйла 97
.}'eт rrх зlrаченIle' ll пoтомy ollпpaт],ся ]]аних lill в кoсм сЛучaс сЛьзя. Тсopсти.
llесюl сешt]iя ]]еI.Iнll1II]аЛпзпpoван!rьIхдаt]ньI]i пPIr oТсyтствlIи пPoчих атpи6y-
т.)в не дo'rтл{нагpузIrться с дI1сI{аlнo',, всдь rpузитсяI
HекoтoPьle впр},сьI/vпакoв1цIIнl//IIPoтcктoрьI о]IРсдсляют кoдoвyю сепцию пo
lllll,]чrпо атри6y.Гa I|iAGЕ sсN сNт с0DЕ. чтo л(I t]е тai{ое y'( п aлoхoe P€ l ]Iенr,l€ ,
lo'llr'lio 6)'дt'1с l.oТ0l]!] к тo}Jy. \то i|тorо аTprбyта п€ окaже,Гся ]jи y oД]rоir liз сек
цlli] (чTo встPсчаeTся ДоnoЛьllo чaсTо),1и60 жe oп 6yne'Г пpI'lсRоcII сeкцll'l Даrl
IiъIх (чтo всТРсчaсТся lrоPс,кe, lю в(:е.1аки вс'IрeчaeТся).
.ilрvгая тpll.lдa аTpи6уТots оllllсt,]!ilсl.lЦ)аllа ]l0сlyпa ко всei!1 с'l.Р1lliтnlali секItиr]'
i1 зafрузч l пФlj пi ) y}''().rNnli l no (6yлyчlr заrРy)кеl l пьl\' ' 4]ai]Jr
\Io'{ст св(16одllo 11аnl ||у.rlи Рoвa'I Ь ппrl l ' вьrз ьlвая AP] фyr кloЛo v i гtuа] P гot€ с tЕx),
B , ' , о ' U . " ' Г ' I l ! , ' | l l ,, L ' ' , , l' , I l ' l . I l , и 6 у | i '
(ll,tAGЕ
sсN l'1ЕllЕХЕсUТЕ/20000000h'
Il,1АGЕ.sсN.l]Еl.].RЕю/40000000h'
IltAGЕ.sсN'HЕ}l.!]RlтЕ/
80000000h).]tl пЛаT(1)oР\lc
InIrl:rтPll6Yтычтrнllя/l1спoЛItснIlЯ
поЛIloсTЬюэI{g]''ва-
.lcllTIll,L || (j(!)l llстL.ПrуЮтаппaPnтIloп{yаTPIl6утY t]oслvлlttlспи (aсссssiЬ1с) стpанlг
ш,r.Arрrr6утlrarrlспо6pa6атьtвacтся
впо',Iно
cстсствсrrяьrlI
o6рaзoпl,
Слсдoваrс;rь.
J L o , ( ) ' ] ' , r l t l ! l l l 1 '(Ьс к l t l l r ( ) l к , ( a от сcкIiпl{ ЛarIllъlх в o6Irrсм слyv.tс нсBoзIlо,l{ll0
',,.]' l'i l.,j|' ч l , , , , , | , . , ,o, l i | , | | l , . я Я
\!tазЬI]rilсl. t()чl(l ]]х('(il.
s yпop игнoPи.
зaгpyзчиl{этl1aTРuбуTьI
ЛoвэToмoж€ T 6ьIтьи Tirк,rlo систeп{rrъIri
pуeт,
пoЛя PоinterтoRe]осаtions (YкaзaтсIьна r.a6-тj{цу
и l,lumЬeгOfRе]oсаtiоns пePепle.
щaеI!ьIx элеNlентoв и ltoличeство эJ]eментoв в этoй та6'1ицc соoTвe,гствeнно)
иMеIoт oтllo] eниe тo.цl,кoк o6ъeкТивrнм файrrа}1'a испoJrняeMЬleфаillъI и ди-
1]аlliичeскиe6и6лиoтски упpавляioт свo1lп{lrпсреluецaL^мr'l11rtзЛel{eнтal{rIчеpсз
oд]lor'меннyю запись в DAIA DIRЕстoRY'пoэтo]!1уi),ГипoJ.]ямorут сoдеPжaть 'lю.
6ьte знaчения, FIскoтoРьIe виpyсьI/yпаI{oвцuки/lIрoTеt(IoРьl пo]\{eчаютТакиjll
o6Рaзoм свои фаi1IьI' Чтo6Ьi пe o6Pа6аты!aтЬ rtх Дваяqtы. спoсoб глупЬlir и нс-
IIаДе)Iffiьй(зaдумajiTeсьi чтo прoизoiiдст ( фаii'цoNlпoсЛe еro yгIaковкп Jю6ыN1
пoсToРoнtrим yпаl(oвщикoм?).
Пoля PointerтoLinenumbегsи Nu]тbеr0fLinerumbeгs (укaзатсЛx llа1абJlицyпol'еPos
стрoк и IФличествo эЛепrеятoвв этoй та6лпце сooтвcтствснrto) Pаuee псполЬзo.
я | . I a ! U ч l I n i|i | | |l ' o l , r V 1 | l l l иг в, l l | , | в J | o шi i. | | U I ' ] r. |с ] | n , , | | '.
в a Л и с LД л я х l ' f , н е н | | o
lolrнoii rЦоrРaмп{ьIс адpесаllи oткоl{пплиPoваннoгo фaiiJlа, в uа(]1!яrl(еевPеNIЯ
1'lсIloль:]yIoТся тoльl(o в 06ЪcкTивllЬIxфali".тах'a в rIсlIoЛн'lсIlЬlх4):LйJinх oтjaцoч.
ll:Iя ипфoPмaциЯ хpaниTся сoвсем Il ДPyгoм пrсстс lt r дpугoм фоpN{атr,
lIижс пpивcдefl кolt, скal ЛlРуIoщиii Taбnицу сеltILийи rrЬIRoдяnluйI j13вЛ0Чсl,IlуIo
иflформацию l la 'ГеР]!п'{Irал (лllс't.иlirи 5.2 l1 5.3)'
{
' N а m e1 5 \ n , ' \
ргiпtf(
'\tV]rtudlАddгеss
'\tPolitегТORаrllDаtd
' \ t P O i i t е г т o R e l о с а | 1 O: n1s0 4 l hR V A \ п ' \
, \ t P o i i t е г I о L i i e n u m b е]г1s 0 4 l hR V A \ n ' \
' \ t N u m b е г 0 т R е l о с а t ] o: лl 0s 4 l t rR V A \ n , \
.\tNumbeг0iLinenL]mbегs в04llrRvA\n\n.
pN€ x tseсt]oп pNеxtseсt]onl0х8]' рNеrts€ с tioп[0хс]
p N € х t s е с t i о п t 0 t 1 0 ] р N е х t s е с t 1 O n t l ] r 1 4р] ,N е r t s е с t r o n [ 0 х 1 l ]
pNextsесt]оntoxrс]' pNei|sссtiOn[0х20]' рlieхtsесt]on[0x14]):
экспoPт
Ta6лица экспоpтa прeдставЛяеTсo6оil с"1о,t{нyю xсрaPxичeсli1пoструктypYj кФк.
дьili 1rзl(oмпollеrlтoв I{oToР0йNlo)кe,г6ытl, paс]Ioлoжсн в лю6oпr пreстeстpапи.l.
нoго rпfr,ДяQl хoTя пo сaецrld'lкaции онa дoл}кнa 6ьIтъ сoсpeдoтoчeUa в oдпоii
0б''rасTи,кoЦa-тo Tа6ЛrlцсэкспoРтaвьЦе]rялaсъсвoяпеpсo]]а]'IъIl;l.'I секцrя 'edаtа)
нo ТсIlсpь этoгo пPавп-]1а пpактически никTo t'е придep)киgarтсяl пoэтoпry гoвo.
pIIть о секЦIrn ппtпopтa не совсеlf кoррeктпo (впрoчelf' eсJll'lвьt назoвстс дирек.
торrllо сeкциeii' 6ольIllоii бeДЪlIlе бy/reт и всe вaс lloilпtут),
Hа верnпnrе пеPapхии Ilaxo]lится сTpуI.TypaI}.iA6Е-ЕXP0Rт-DiRЕст0RY' та]r,{errзвe.
стIraя lioД llпlе llе]\{eryoti di1'есtary tablе, сaДep|LaL\iи укaзaтслIr нa тpi1 пoдчине11.
ньr€ стPYI{тVрьI:,и6,lц! эnс|LoРnшP!е'llь|х1L|1ан (Namе Poiпtег)' пa6ли4ry элс.
пaptnupuе.ltьtхоpdulnлod (oгdilra1 TаЬlе) И mа6!Luц! эксnopt1upцrмъLt аIjpесoв
(ЕхPoГt Addгсss TаЬlс), Пoлс NаmeRvAyказьiвaет Ла стрoкy с l'l]ue]tе]!l ]1иtlа]!ll,l-
.rсскoii 5116'llиогскп,rсотopoс,судЯ пo всrNIy' ]тrнopиpye'ГсяIr мoжeT гЦ)l,l]ll,tIlaTЬ
rtю6ьIсзначся11я,
э к(lloрт фyнкш lй/ДaнlrьIхl{o,IrrтrlрoизRo,1итЬсякаx I]оllх имеIllllTак и tlо opдlг
llaЛY,Tа6J]lIllЬIимсIl и адРссoв пPсдстaвлЯloтсo6oii мaсси вьl l'l3I{VA-укaзатoIcil,
ссnlЛаIolrlrхсЯllа Asс]IZ-стpoки с ипtсttaпшфуll]o(пii и aдРcса экс,loPТиpуе]tl],tх
(h\,Ilкцlli'i/ЛaIllп'хсоoтвс].стBсllнo,Тa6лиЦa oРllllIIa'Ioв пРс)LстaвJ|яе'l.сorюй мас.
сl]я 1(i6lтIlrnх rtl'1lсксoв (oPдlll'lаJloв) rl сЛу}{uт свoеo6paЗlп'i!1связyкЛllи]!l3Ilе-
ll()r1llсx{ду ТaбJullсii иIl0l,l и табJlиllсi,lадpссoll. пус1.ь iэЛrмeнт та6лиllы п leIl
\rкiвЬllJаcТAsсllZ'с,l.pоt(у с l,tNlcllcмIlIггeРeсуюLцeйпaс фуIlIсц}IиmУ_funс'тoгЛa
i эn сIlс,l'Гтaб'lu |lЬIoPдl,|Il1ulовсoдсРл(ll1.иЛliскcэJlcNlсптn1'a6Jп,il
lы aЛрcсоRс RVA.
aдPсф^l 4)vlll.ц||l.|my.funс'llnи| гorropя/{ругl,tljисЛoвaNjПleс oр/]lлIlaЛ.
B||',i,.,,',(,i..Л,IJ|,си,,IUiL||.|Я,l|||'Jк:
5 " . ' , l г ' O O . . ,' . r o ' l . l - а , - Г ' р о- \ ] r n ,.
о г i i n d l ' Е r р o . t 0 Г d ] n а l т [аib] l:е
S y m h о l R= v Аt x p о г t A d d г e s s т а[bоl .ed ] n а l- 0 ф 1 ] r а l в a s е ] ;
Ес'llll lliLl"illj]Bсс'lеll oрliull?Ul 4)уIlкциI1'1.oo6pащаТЬся к та6Лицaм имсн/oрДllнa'
Лolr tIr o6'заTL,]ьll0, orDell€ Л crlllirя nyТallицaсвязaIlа с Tомl чтo oPдIlнаi зaдаeт не
rll],]Lсксв 'гilб.]rlцeoРдиIi.Llюв,a lllvleкс в табЛицeаДpссов,T.блиЦa oPдин:rпoвпPед-
сТaы'сТ сoбоii всnoмor:!геnьrlую rloдстPУкТурy' нr rlмсloщую сапloстoЯтсльнoil
цсllrю(r'и I] всеl/laисIloJll]3уIolцуюсяfoЛьltoв llaPeс Tа6Лицсйuмrн, ПоэтoNlyта6.
Лl1|IЬlиNlеll tl ордlllIiLlтоввсeгдa сoдeр)кaтодrola](oвoeкoJ]11чество эJlо]\]снToв,
за.
дarrnемoеlloЛем Numberof NamePointeгs' кo1opoе ]!lo]]сет и 11осoвп:]датъс IФЛичс.
сТвol1эЛсNlс}lToвTа6ЛицьlадPссoв' задaвасмьli{пoЛсм Ехpогt Аddress таb]е RvА.
Trпrpьo тoнI{с,стях,Tа6:rица aдpссoв мoяtет сo]lер)кaть<рaзpьlвьт'jтo естъ эЛe-
]\eпTьI'обpauleijIlътеB ]iyЛь Il укaзьтвaюЦиe в IIliI{удa'к счaстЬIo|их JIсr.кooтсс.
'.l.ь, хуже, чTo jlаJ]скo не всякий элеNlенl.та6Лицьr адPесoв пPедставляeт сo6or:i
дcjiсTвитсЛьнrnii аДрCс эксlloртиPусlloй фyнкцlrи: ведь динaмичесrсие 6и6лlтo.
|сltи ]loддеpживаюT фoP9aPдlrltг (iolwаIdiпg), тo есть сttвoзtloс пePerraпРавrrе.
rrиеэкr:llopтaв lrpуr.уroDLL_ и тoца сooтgетствующий элсltснт та6лицьr адpc.
сoв сoдеP,сиT RvA.адpес АSCI1Z.стpoкt тIrпа NтDLL'Rt]Dе]etесrjtiса]seсtioл'
oпrlсывarоlrteii пepeпа.зIlaчeпиe'кaк oTЛ,IilиTьfonvard.стрoки oт действитсль-
100 rлава 5. фоpматPЕ.фаЙЛов
pаэбортa6лицьэкспopта
лиdинг 5'4. пpoсгеЙшиЙ
/ / п n л y . а е]п' я а з а r с л|Ьr аP L
p . * ( D ю i D * ) ( р в d 5 € д d d .+с s0sх 3 с/ * e . l f а n e *
! /) + p8asсAddrеssl
/ / п O r r ! ч ayeк а 3 a r ' a л[ dь э к с i с p r
pЕxрo.t- p0Ат^l]IRЕстORY(0l + pвasеAddгess
хЕtрo.t - рDA],д-DIRЕст0RY[1]: // оcpсмDа3м'.D,
но не nроoeряei
/ / и з u л с l а eсмв е n e н иояо 0 с н о в s xс т р y к т y p а x
nаnелVА - (pExроrtr 0хс) + рваsеAddгessi
"(DшORD*)
OrdiialRАsЕ . * ( D L I O R (Dр*Е)x р о г+t 0 х 1 0 ) ;
a d d . е s s T a b l c Е n ! г r e s . * ( D I O R D(*p)Е x р о г+t 0 х l 4 )
nцпbегliNal'ePоinters - *(0l,]0RD*) (рЕхрOгi+ 0хi8)
exрo.tАddrеssтаblcRvА- (Dli0RD*) (*(DL']OiD*) (pЕхpOrt+ 0xlс) + рBа5еАddгсss)l
naпoPo]DtrГRVд = (lll'loRD*) (*(Dll080*) (pЕxpoгr+ 0х20)+ pBаsеAddгеs5)
о.drnalTib]OltvA ( р Е r p o .+
t 0 х 2 4 )+ р в a s с A d d г e s s )
/ / р d с п e ч а т ь в а3.сПe и i е н d / о р д и н a Л ь / a д p е с а
рг]Пtf( O г d ] n а l / h i nVt1 г t u a l А d d г eFsosг t l а l . i \\n
-------.-- - - - \ n) i
f о г ( d = 0 i а < Ц A x ( а d d . е s s т а b l e Е n tn
г ]uеms ,b e г O f N а m e P o ] лat+e +
. s))
I
// л0а 3иlа 0ораб0тки по иiенdв и пO Oрди[aЛа[
]f (а < numbсг0l.NamePointeгs)
t
v /,nd d q' , v| ,op
ФJa%|' |a Цб|||
паmе= 'rdnrePornl€ . RvАlа] f ]ndeх- oгdinаlтаbloRVА|а:]i
+ рваseАdd.еss:
l
/? выЛ!ленЙе tlфдекса фyн(ЦиЙ' зкспopтиpу€ ьХ 1Oль(O по OpдияdЛаl1
I d". - o:
опиGниe oснoвнЬlхпoлeй PЕ'фaйлa 101
адрeсафyHкции
// Oпределение
f аddГess- (]]']0RD)(еrpo.tАddгessтаbl..8VA[i.]ndeХ]
+ рBаsеАddгess)
;
// oпPeдeле| иD0prrпинала
o г d r r r a-l г i n d с х +O г d j n а ] B A s Е |
(ссли.aсrь)
пoискфорsaрдOв
рЕХрlrrt)&&(f-ddd.е55< (0!0RD)(рЕxport+ хЕхрoгt)))
i f ((i add|сss> (DL,iOR0)
d ( B Y т Е * )afd d . o s s e l 5 € р г о N а г d _ 0 :
p f o г a а г=
/ / 9 ы 3 o Лр e з y л ь т а l 0 3 l а 1 с p l 1 i в а л
p Г ] п t f ( ' tз 0 s I l 0 3 d / l 0 ! d 1
] 0 8 х lъr s \ i
i a i r o ,O г d r n d ]а. ' f d d d г e s s(, р F O г l d . . ) ? р | . o г ' a r d : . ' )
==========..*'==-"-""'----==\n
)
имnoPт
l](IIl с экспортoNl в(c 60,]lсс|{JIпlllонсc пo]{яTl,to, Тo |{мпoр1'_ этo кцкoii'To т(опr.
!аР' э1о цсnых Tри Рi]ЗJll]чIlЬlхмlэхаllllзмal o/lиll стрaшнсc дPyгoГо, yпрaвЛ'lе-
\ ' L , r ' t L| , | , | Л Ь tiIl -яl | | ' ' , Я \ | | l|D A т A - D 1 R t ( т 0 c \ ,
сTlЦlарTilr'il Nl0хiIJlllз]\{ имlloрTa p^6oTaeTпPи6xизиr.сJlI'lo,].al(:сI]сц!t?rJ|Ьl|аЯ
Iir6Лпцil (|laзЬ|Daемnя пабluu]еi) u'цnоPna) лсpcчllсJlяе1 иrtIeпa/opди,laЛЬlRссх
r'мllop,!.llРyoмьIхфуЛкLulii' укаl]Ь|вir'l']] кaкoс мссTo с'1РaпичlIoIоимиДltа 3lrгрУз-
llltt{ltoJ],кc||iJ.]I1'lс'lтЬ )(р(pсюиl]Ilrni'iaдрес каIцоji lI3lrпх, Э'гo пPoсTo, uo ]lо у)кa'
са тopпюзлo. Грyбо гoвopЯ' lla шDкдyIо импортl'lPyсrtyi() ()упкпtrю JlPихоltЛтся
один вЬlзoB GetPгoсAddress|фaк,|иЧесl{ll'спoдящIIilс'l к поэJIепreипloмy ]ItjРе6o.
pу всcii тa6xlц|,l 'кспoрта,
Болee прoизводиТсЛеIIм eхaНлзм au a1aзoн||o/aLL|,'op,лi?(Ьouпd jпrрolt)' свoдя.
lциiiся к тPl{виaЛЬlo]\lУ пPoeциPoваниlо lrе()6хоДимьш6п6Iи()т ( пa aдPcсll()е
nрoсTрa]lствo llPoцсссa с '(eс,гкoii лрoшивкой экспopтиpуc]lIых aдресoв сще lla
(l].а/tи и ]rоN{пriJIяц] шrIlРr'rлохeния' Этo 6lrстpo' llo не у}lивсpс lЬIlo' ПePскоNr1}!-
.IIяЦl{яDLL т|]с6уcr o6'i].rlеЛъrioй пePскoмlI]'lляциtrприлoжc11]'lя'пtlскoльlty llo
сTaРьIпlадрссам TепеРь lllгlero хoPorxсfo у)кe ]rет'
Ме)кДу Двумя эTrlмrl кPaй]loстями oкоxа]lся мeхaнИзхLorulaэn:еннo2o u.мnoРma
(dсlay ilnport), pеaлизоваll11ыйс 6олЬiпliNl коiичесTвo]vlоЛш6oк' noдДеР'o{вас.
l!l'пi даIс1to пе всеп'и кoмпoновщикaм!'| llo все таки Pa6oTaloпl1пi.B 06щихчеp
Tах оснoвнaя идся закЛIorlaетсяв пePонаrlpaвЛепllиэлrмeнтoв TабЛ!пlы l{мlloр-
та нa спецlтапьпьlй o6рa6oтuшк' дrптaминески заrРу,каloпIий соoтве'|ствуюUrис
фунIrц]1!lllо мeре rrозникrroвсния в lIих lreо6хoдuмoсTи Л подстaвляlolllий rix
а]1P{:са в Ta6.]Iипуип{пoрта,
ПpIroPитсT рaзЛичпьlх мехaнизI1oв иlllпopтa нс olrредeлeп' и загPузtIlпсnпPaвс
испoльзo!ать nю6oй ДoстyпнЬlй' пeреxoдя к дpуIorlJу тoльlto в случac r'е)Цачи,
эrrс]lсpjlУeптпоIiазьIвaст'чro Windоws 9хдT снaч:Lnа1IсполЬзуюTbоrrndiпPoтt'
102 rлава 5. фopl4атPЕ.файлoв
D П 0 R 0 с l r а г а с t e Г i s t ] с s i / / 0 f o Г L e г m ] n а L ] n ! . u]l m] p о |dt r s с г r р t o г
D L , i 0 R 00 r r g ] n а ] г 1 г s t т h 0 n k / / R V АL o о . 1 g ] n i l! n b o u n ldA т
):
0ш0RD т]meDаtеstаmр // 0 rf n(]i ЬUu|!,
/ / t i f b o u n da' n d. e a l d a t о \ t r msei а m p
// ]n ]IIАGЕ-D]RЕСI0RY ENтяY-8oUN! ]l,1P0Rт (iew)
, а t е / L ] mseI a m рo i D L Lb O u пLdo ( O l i )
/ / 0 , l , ]d
D l . ] 0 8 D Е o г a а г d е r с h а r л :/ / - 1 r f n Of o . ' d l 0 e ъ
Dш0R0 Namе |
DL'i0RO г].stlhunk: // RvАto ]Ат
] I!]AGЕ-Il,1P0Rт-DЕsсRIР]0R
имя зaгрyжaемой DLL сo]lеpжится в lloлc NameсTрyктyРЪI IrrAGЕ_I
|4Р0RтDЕSсRIPтOR'
прeдставляIoщем с(16oйRVА'указaтеЛь нa Asсi]Z-стpol(у,
oст;vtьньrе пo'lя не таrси]ITсPесtlЪт'
ЕсJII.IвРеl{е]Il]a' oтlleткaтilneDаtestаmpPaвнa
llу!'1ю(кaк чaЩе всeгo и 6ывает), To систеп{llьlйзагpvз.rик о6pа6атътвaетта6лп
цу иt'1поpтaIlo всel' пpaвилaм' Ес.lrи же oпa pавнa мirпус единпцe (FггЕFFЕth)'
зaryyзчик игlloPиPyеTукaзатеnlr 0гiginа]FiгstТhunkи Fiгstтhunk,пoлaгaя' rlToдаIi
flaя 6и6J.iиoTека ilмпopтиPyeтся чсреэ 8OUND-IмP0RТ'и тoЛЬт{o Ли]l1Ь кoгllа
в0LND-IмPORт ItрoваЛиTся(наприluеP, из зa Ilесoвпа'1епltЯтjпеDаtestапlp),возврa.
Iцaется к IAт,
1{aэтoNIoснoвarl одпн xю6oпьIтньlй rlPиIIеp пPoтивoстояtiия oтлaдqикам и дrtз.
aссеlldл€ P aNl: с6pасьIвасl1ТimeDatestamp r FFFFFFi-Fh'д06авляеl! в вOUNDIмPORтипl.
порт 6lr6-1иoTеlfi'yказaнlloй в Ndll]e, сTавIrмтi meDatestаmp в нoль, чтoбьl гаРанти.
l)овaнIroзаl.рyзrrгъсс (кolIeчнo]знaчеI{ияэI(спoPтиpУeмЪiхадpесoв в РaзJI,1ч]rЬIx
версиях DLLмoryт п нс сoBI]аДaть- нy Il хвoстс н1rмиl ГJ]авнoе'чTo 6и6Ли0.
Iс].;1спPorцирoвal]a нa aдpеспoe пPoстpal{сTвo пpoцссса' a paзrPrсти экспоPт
}]o,rirlоп Pyкaмl1), Tеперь l1(t€ ) каем уI{aзаTeЛпori9inа]гiгstТhunk и Еirst'lhunk'
п]rидавilя им зaвсjlollo IIекopРсктньIeз]lачeния, сIrсTeNIньIiiзaIрyзчик, 06наpу'
'ijlвl чТo TimeDаtеstаlrrр : -1' пpoстo rlрoигfiоPиPуеT Irх и о6ра60таеT,IAкой файЛ
впolнс lloрNiaльнo' Дlt:rассем6ЛсpЬ1/oтЛaдчики_ ипoе дerro,o вOIJNDlllPoRт пo-
taЕJUllo]цее6оЛЬrnиttствoиз них ltliчeп] не знаеТ' и' чeстнo Pltllyвulись в lAT'
-
о!iи ts Лучlпеl1 сЛучас сoo6щaт' чTo та6лиЦа иМllop'Гa r{см}I{снa'a в хyД1nсll
пoеrrуrкРъп сйи аraРпliнo завepшaт свoю pa6oTу. стaPьIeвepсЛ't идъ] и нlЕW
o так. rIoI,ьIe_ нс1.'l]oэтoi{y данн],tйтрIoк у]l{су,rya'Гил
сllо Jo 6ьIЛylо актya.rrънoстЬ'
'iIiо6ое дрv1.ocaпaчrIrItс'ГiпeDаtestаmpo6oз]la.lаeт дl.iiсTвиTeльнyю вpсNIеlпlyIо
ilcTкуl ll сс.]ll'lollil сoBпaдасT с вРеilJевноiIi!lеT'{.)iiимпopтиpуeмoй DLL, загРуз-
Ч|lк пl)oстo llрoсltI{pyrт сс tlа ilлРeсrloс l!рoстрalIствo llрoцссса' Ilе пaстpаllвaя
lil6irr'rшyа/]Рссов,11Рслполагас,гсяlч'ГoЭффсt(Tl'lвIlЬlе адPrсaзадaIlы elц€ вo врe"
ь|}lк()N|||lЛяIlrlrt'lla эToiu oсllовall ](PyГoй хrlTрr'Iii ТРюк (rrсe cщс актуальllьlii)'
o,'1иllиЛlr lleско]lЬкonJlcмcIl,].oв
ll()]LNlotпrl} аrtРeсoвадрeсoм дРyгой фy к.
тa6JI}l,л,I
п Ь|DI]с/lcillllи3irссспr6лcрв r:rryбсrкoе
l1I11I' зa6лу)кltсlЛ'e(Bеilь olI игlюPиРyст таб-
x1il,lуluЦ)ссoв],tтlРOLI|оIlTaeт Pa36ID:tтЬвeсЬ !lмпoРт сaмoс1.oя1.с]!Ьllo).
Foгv/drdeгсhаin ()l|cIlЬстlrlllIIoс |loЛe' вpoдс 6ьI lrме]olr{ссoтlloшсllllе к фoрвaP.
l l Il)lltlиllдeкo в цсllочI(eфoрRapДа'Ilo/lРyIltll _ RVA.
'lltIt|У 4JуIпцtlii,II() o,,lпп]!1llаI
vказaтeль Цa \1ассtlвl!iАGЕ-1мP0Rт-вY_NАЛЕ. o6ьIчlIo рaRнo IlуЛю (Ilет3деcЬнlкa]сo.
rI)(lx)l)IrаPДа)'1,:rк ч1orIавPядЛl{э1o укaзaтcЛь,сlroPeeyк aдpeс'хoTя спeцпфикaция
jl у].перЛцаcTlч1o зA oTсy]сl.виeм фoрRаPдa зaI(PeпЛеIrо зIrачсIlj{eгFFtttFFh' ЛиIl.
ксРЬl|похoI(cl llPllllеРкиваIo'Iся с0веp]llеt]нoинolo NiIleния'чтo){сДo систсмj{oгo
зaIPyзЧ}t]€ ' тo этo IIоJlсоп п{lпPостуиг]IoрI.lpyет, и здeсь мo'{ет 6ьlтЬ все чTo угод-
нo, Тo }кeсlN!оeoТнoсится I,l!( оTJадчика]!1/дизасссм6Лeрaп''
ПРllпlср прa]rтIrчсскоi'iра6отьI с та6xицеr:i'IмпоPTа пРllBедeв в л1rс]-rиllге
5,6.
{
лЙd rн. 5'6 (|1poДaмeни е)
// извлeкаeф 0чopeдные зЛеieнтыи3 ]оoсkU'и аdiГеss laблиц
1f ( r m р o г t l o o к L ] p т а b l1e o) o К u=p *impoгtLoоkuртаb]e++
i
ii ( r m р о г t A d d . e s s ъ b l e )а d d r е s s*iпpOгtАddгessтаbl
= e++ |
]f ( a d d г e s sb) Г r a k i/ / э т о к O E e u ?
if (]mроr|LookuPтdblе)
if (lOоkup& 0x80000000)
// функцliя
экслоpтиpуеrся
пOоpдиtrаЛy
{ '#вd',]ооkuр
spriпtf(b!f & .0х80000000)]nаme=buf
ilriпt.0:
i
// Фyнкция з(сп0ртируется по иllени
{
iаnrе.(] oOkup+рBаseАdd.еss+2) ;
h i n t " * ( L i O R D * ) ( l O o k u p + p B a s е]А d d г е 5 s ) )
l
] pгrпtf('Il04d3
] . з 0 st 0 8 Х t r \ л ' , h i nnr .а m ed, d t l г € s s ) |
Ip.i rf ( !=-=-*===-*------=--===-------=-=-r=-------===.\n\n )
)
n р 0 r } л L i в a € мпсоят а 0 л и t иe п o p т а в, Ь в O дея€ в с ю
n2k_Wd]k-]d.6х(вYтЕ* рImpоrt вYIЕ*pBаseАddгеss)
t
*inpoгtLоokup,lab]€ |
0tl0RD
*iлрo.tАddгessTаb]€
0l.10RD ;
// пeчатaе[и[пoртирyеl'eфункЦии
n2k-р.]nt lАТ{imрlrrtLoоkuртab]€ '
imPo.tАddгessTаb]е'
pваsеAddгеss)
itiAcЕ DIREсТORYЕNтRY-в0IJNDIl,1Р0Rт_ в0UNDIl.lP0RтДo у)кaсa lleзaмrnсЛon?!Г rr прoст,
с rrпм связaп всero oдиl{ ]!laссивстpУкТуp II1AGЦ0UNDIliPORтDЕSсRIPтOR'сoстoя-
п1liitиз тpеx пoлеri:зpeNlerrнoйoтilе,rки; сlrеrцeния и}lеrrи DLLI oтсчиTьтвael{oгo
от нaчаrl^Ta6лицьl в0IJNDII']РORт;кoЛичества фopваpДoв,тoч}lос нaзnачениe ]to.
{
/ / и 3 в л . к а еsцс e з я а ч e н и Я
trmr-х = *(D1iоR0*) pвOrrnd: n гef = *((!0a0*)(рв0uпd+6))]
n а m е . O f f s-е t* ( ( ! ' ] O R D( P*в) o u n d + 4i)f) ( ] n а mоеf f s € t ) b г e а k I
// gывoдиних нa тep[инdЛ .
pпntf("t104хl 1.!05 id\n' trпe х nаflе-Offsеt + PBaseАddless n-.еf):
злeBeнт
// слeдуфL]]иЙ
Jргiitf('\п');
l
]l,tAGЕDIRЕст0RY-ЕNTRY-DЕLАY-II1P0RТ _ вoт lьI и Дo6p:!'l,lсь дo oтлo)кснl]olo IrNIпoP.
та,', Рaссl'o'гPrrм егo ЛиrrrЬвкPaтце'посколЪкy ничеruхоpопIero oжи/1аTЬвсe pав.
]]o пe прихoдl1тся (лис'Гиlrl5,9)' ДЛя экспеPимеll,гов ]]al{пo1lадo6r'l,Lся пo мrliь.
шеli NIереoдиli фaйл с oтлoжeн]]ЬrмимпoРтоlf. Если хс такoгo в вашeпr paспo.
ряrкeнии rrетl сoздaliTe сrо са;rroстоятe"цънo' ПoЛьзoвaтели Мiсгosoft Linkeг мo.
ryт пoстyт]ить тalr: ] ink d] ] 'test. imp]'obj /DЕLAYLoADid] l.d]] dl l , ] ib DЕLАYIl4P.LIв,
а пoJ.IъзoвателилиttкеPa tllink oт юриЯ хаpoяа (кoToPЬIм Я сам
дaвJrо поЛЬзv.
ю с ь x к o T o P ы йB с e мн a с т o я T e л ъ I r o р е к o N , e ] ] l l у юT)a I r ] u ] j n k . d d ] ] ' t e s t . i m р ] . o Ь j
d lt . I i b .
даltп€ P та6лицьoтлoreннoгoимпopта
ли6.rн1 5.10. прoсгeйший
// npoгуливaeся пo тaблицеdеlаy.иifiоpта
nzk-!аlk deldу(вYTЕ*pDеlау,вYТt *рвdseAddГess)
ш O R Da = 0 ' h i i t l
BYTЕ *nапe'*f-nапе;
D!']oRDаitГ' OгdinalI
сhаГ DufIPIАХ.BUF-sIzЕ]]
D|iORD *]Nт, *1Aт *i-аdсг]
//аttг =*(D!10RD*)pDelаy]
п h , ]€ (l l )
{
// извлeка€ мукaзат€ л и Ha 1Aт и lN]
1 A т. ( D ! O R D * ) * ( ( D П 0 R 0 * ) (+р00te0]са)y) l
I N T* ( D ш o R D * ) * ( ( 0 | J 0 R D * )+( 0р хDle0])a) |y
/ / и з B л е к а ye кнa з а т е л[Ьa [ м i l l o д y л i
n а m е- ( B Y т Е **)( ( D | { O п D ( p*D) € ] a y+ 0 х 0 4 ) ) i
/ / з в p [ с т [ ч e с кp0аес п 0 з н a в€ а aн д р e с а
' ' , D i 0 0 n , a ] е < \ D " 0 0 Dp)B а s е d d d r е s s ) , а+-
€ (Dl'iORD)
рваseAddГrssi
if ((DtlORD) tАT < (D!!0RD) pBаseАddгеss)
, ,
I д - . D ь 0 0 D, ,., 0 ю 0 D I A , I. , D , l o c D )
w l rIie ( 1 )
{
,., .|\ н ,асo. / D l l r ] P D чl г |
- lвl
-lаlр
r f ( f - n a m е] L ] f - d d d г )b г е а k ]
name< (D[0R0)pваsеAddгess)
if ((Dш0RD)f
f rame (DliORD)
+= pваseAddгessj
лисrинr 5.10
i f ((Dll0RD)f
ad.г < t DliO8D
)рвdseАdd
Гess)
f аddг = (DП!RD*){(D!O]]D]l-id.iГ+(DюRO)
рBasеfuJ0гess):
i f ((Dl'lоR!)
f nаme8 0180000000)
{
s р г ] n t f ( b u f.,' + i d ' ' ( ( 0 i l 0 8 ГD п
)
а m е8) 0 r | . Е Е Е ) ]
f.nаme= buf lrint - 0
)
{
lrjnt. *(I']ORD
l *m) m е ; f - n а m =
o &l.namеt2]|
)
P п n t f ( " t x 0 4 di] З 0 s l 0 8 x t ] \ n. t r | п t . f - n а n fe..a d d Г )
] рГ]пtf('ъ==.==-..===*
0D",'J . 0'.0 )дJо,/i or0,l.
l
l
пЕPEМEщAЕМЬ|EэлЕ14EнтЬ|
'l.a6JI!]Цl
|rcPоп'clIlаc]vьIх элe]!jeIlтo3 l|с яl]л'с1.ся o6'lзnтсJь]Ioii
Il lтс]|()J]Ь3vс1.с,t
тoЛLкo кoгдil 3aгРузкa lIo ддРeсу' IDоllиoalllIol1y R ilтlа8c
Ьltsc' ot{азЬlI|t|сT;я llс.
lloз]vк>кjloii' тory]0 сrlс1.с^]ный заl.pузЧ'tк о6Раlцaст(я к]гa6ЛlЛ1с
lIrРсм0пla.м;Iх
D,lс11ellТoвl пРсдстaвJl'ltolJ{сii сoбoii J\laссив
укili]?lToJleii tlа RVA.al(P0сa с'гРaлlтЧ.
lюго I]мl.l/l)I(a'кoToрЬl c 'гie6yют кoPрeктlllll' !I
),всJlrlllПвaе,r lrх tl:l Pilзllllцy IlpciL.
lloла].а0моlю и фa(гlrчссl(oГо аjlрc(loв зalPy:JI{||.
допусlttNl' ll ||Рoгрalv ruuoill кo]lc ll]\lе'Ц^с
ь l n lсТрукl1l UI ти IIа mov eаХ, [40l000h],lдс
401000h - a6со,,lloтIrьlii aдрес ЯчсI]iкlI Лам'].ll стр^Ix{ЧIl()l1r
ип|lЦжa' ЕсJIx (l)aiiл
6удстзarpулсett пс пo a/LPссv400000h' lJа кo11Ц)Ьll'loIl li
рассчI1Tьl|]аJ]|аj сIta,I(cNllIlo
aдp.сv 10000000h'ячеiilra401000h в о6,|зiтeЛьllo]!l пoPЯлlфдoЛIota
6ь]]r| с]Lоррсl(.
Tирова|lа) Irнaчe в РегисTР eaх lloпа/lcT сorrеPшсlIllо непрсllсl(а]уcllое j]нaчеlIllo'
вЬlчшсЛlltsдeль,Iу загрузки (10000000h. 400000ь: гсооo6оl; л вшyдпв
rrз та6Lrll-
цьl lIеремсrr{aеМr'хэЛепlcнтoв RVA-aдрес коpР."i(тup},емoi1 ячсfп(rl' с]llс'гell1ЬIiI
загрузч!x( ск"llirдывaетсго с дс,]ьToji зaгрузкIr Л lloлучас-г'л]oveах,
[10001000h],
пPи внсдрelrл]l в фаj.iЛпyTеIl замeщсIrЛя сoкциl'1(Iraпрlll!ер, сrкаr.t
lи и/иJl]1с6pa-
сшваxIIи часТri еe сoдер)киilогo в овеPxсiI) nTu .n"дu"т .,"дyк,щu"
пpu6,"мu,,
LlсPвaя и шаRпaя: eслIl хo'Гя 6Ьt oдпtl пеpеIlcщаeпrьпiuлсr,rellтпoпaдст
впугpь
в н . Д p Р I | ' I o |- o | i l м ик п Д ] и ф . i i , 6 ) , L ' " д . j i , , г в , , - ' , , I l н
r .oр . v . д ' 1 ,1 - 1 , ' 1 1 . 1' n
lto]lоlt:l'котсяnoJJtIостъюиJrll частичнo шспoPчelIи сго IIовeIе|1rIс сTaIrстfleпPсд
сказyемIljtf (всс зависит от ]oгo, кyда пp11дется(parlенпe'), вo-вTоPьIх,
да'(e
сслIl o]l и вЪl)ltиветjтo вoсстaнoвJlе]iная сl]кция oкажется нсРa6oТoспосo6ноir'
t]сдьсооTветс1.вyющиeадРeса нr 6ъUIпскoрpсктиpoвrllr,l,
Ntrloгие Pyltoводства сoвотyloт':rи6оlrpи6пвать Тa6Лицу JreРемещаel,flnх
элeмс]r
| о в ,o l j | | I . | я яг o Л р l 1 A с ЕD I R L с г 0 ч Lv N т P Y8 A s Е R r L 0вс D А i A . D l P t с т o q \ ' Г o l ' , ' J P I
,J':иJп',\|oo|lЛLн|,ч),Л,oo)|, t I l о
ЬовlLнn''чlшвJlь''.
| ' . , i ]| 1 \ | | | , . o д " г ^ J | . | | x , i 6 .
пoлейPЕ.фаЙлa
oсновrjых
описаниe
109
зaItPe'Гить
lr]пv lLеDeмс iaеllьlх эЛементов (нo этo не пo-хакeрсi{и), NIожнo Лп
.n.'"'uЬn'u тpo6лтъ внедpенньtй яами коД' не Лtilllая файл своjiства
"u'py.''oу
oказъrвaется' lк'жно - дoстатoчllo сoздiLть пус,|yю Тil6.п1lцy
n"p"'"urn*u"й
n o,"","u'oвl ]Iepеyсталoвивlla riес l}4AGE-DI RЕсТoRY-ENТRY-вASЕRЕL0с
"р"'"u.o"n,u,,
,. np,.'.иl'o,'o*'уIo'u6,,rrлwпеpel{еЦаeмьшэЛeмrнтoB о6Pа6at.ьrвaтЬ саNостoя,Ге.nь.
Iiо' дсЛая этo ужe пoслe тoгo' кaI{всесекцrlи 6уД)т прlrвeДсн],r ]r псхоill loе сoстоя.
rllI€ o)aспalroвallЬIи/пЛп извЛeч€ н Ьl из oвсрЛея),
Iloчеvy 1toдлoжIlilЯта6Лllцa LlеРeмеЦаeNrЬ1хэЛer{ен'l.oв Дoлжна6ЪIтЬrlустoii? Пo.
тоlry.rтo системньrii зar.pузvик сoаepжит гpy6уIо 0ши6ку и nptl oтсуlствIIu Ln6-
псрeмeщасT (hаl'lЛ
roо6цс (а ueЛьIx] сп0цl1(l)1l-
, u,ri, n"p"lu""uro"мь'*,,сlllеllтoв llе
кацni{ дo]lжеtl,,,), Pазуl'!еeтся' BнeдРяeмьIй кo]1 нсoбхo/:rrlмo спРoсктrrPовaтъ
бaзoвoгr l зaгpузки.
:r.rrрссa тo eсть l Iслoл ьэoэаl ь a6сoлкlт.
. u."'n"i ,"n*'o,''".uo
nyn, nдp".oц,''o u",o", ,' пеo6хoдимо rrи6o or.Раппчrl1.ься oдA()ii отr1осllтслЬrюЙ'
]tl16оаgrrli\raтичсскrrottРедсЛятьп!ссTосвoеii ,,IIIсл()I(aциII l] )IaмЯтrlи B дiulьllсlг
||lеrl ]l'сать У)кеoт нсгo,
]{сoжnnеIlrl1(], NlпкPo п PoцсoсоPы (eмeiiс,гвaI386 с пеPсмcrцаемЬI$tкoДoм IlcB Jlа.
па яrr.
дах, Tirк ка( oриe]шrQовaны lra a6сrш roтнуlo :црсс1|lиIo ll ]liшnгato1'3aпрс-L
I{aIlIl.lll.
llос исll()льзoвaltис реl.IlстPaЕIP (yl{азaтcЛьслollуloпlсi]lв])|пoJl!'elIоl.l
' Мьl Л е llio)кeм скAзaть п llюv € а x. leiф66h] (зllilос,ul
IIoii r|l|сl'Pукцlrl]) рoцессopуi
o t'".,n"r.t,Ьu*д,i,ii''o" л€ ) кaurсс lia 666h6aйт llиlrrс с]|с/lуIоUrcii сl]оЛl1,lе'
"JtоRo'
ivoii кoNlitIvЦn)'ll llрIIхoд1!тсяlrDи6cга'Гь1(ol]сc|Jo3Nlo)оlЬl]!l ух|lIцрc|||{яIl,l|Рo,li].]l-
, . u o n uр " . . , " ' 1 , ] ] I P с т с к , Л 0 6 l ]
Раясь д o I l o г o ' Г а l { : с а ]@] ] a Ь e ] / @ , l а b e ] : pe oа р x,
"up"3 - yl{ai]ir'Г0лъ ljсl)lIIllIlIn
чl'o )квl'lвitlrcл,t]ю:nov lesp] ' eip/пlov eаx' гesp], u(с esp
o сTeкc' Dтo хРa]IиЛl'lfileдапllЬIх' uс 1'Pе6укЛlleс к'l.()Itу'{с
uгсl(n,ItсTn'гш уд.)6lIoс
заl(alпrЯа6сoЛю1.IlЬlхa^ресoв'
хРдlllllсЯ
]lo сoо6nмiснrlяN{ edxDектиl]Iloст1тaбЛицапереllсЛla.мьlх o'llcNlсI'тoв
в упакoвaпнoм d,oPмalе вмсстo массивa 32faзPя/LlIых RvA'адРссoв' укa3ъllrаю-
vI'.l|\1lN "
, l L | | |х| :\' l о l y q ' l l l L | | р v ' , N | яv |' IoE i t { у| ' ' l ] \ lгяи U l I v l р l l с T п ' ' | . y ' | | | o|.|o! ' ' u . n '
, d . ] 1 , ] l я , l I I | , L. хЛ о ь ,i с г э р ш r t х6 r r , г rк o " o Г o | х ' 1 ' r аU I т ' ' , | , l e | , n I ' ' , ' I I\'l' ' и
!'lссl|в
с'Грil]lrlцll
ячcilкп' а 12 lr''raдпlих 6rrтoв - смсцепlIс| oтсчитывaeмoc oт нaчilrlа
(рage). Пo!( <сTрall!lтrс!i}3дссь llопимaeтся o11пoдь IIe стPaн цr rlамятп' a IlеIlPе.
pЬltsllь]li]r pсlиoн пa]!,яTи,RVA.aдрrс котoPoгo зaдaется вllутPrl спецxaлъпои
o/]]loгo
стpvктyрьr. Tаким o6рaзoм' тa6,/lицaпсPeмещaемьтхэ.;rемeнтoвсосToитIlз
6jlокoв. B llaчаJlс 6nом t{дуT
пJ'IиlleскoJlЬких lloслeдoиTeльllo paспoЛo'r{rнlrьIх
. ' o п v ' . . . 1 . . , ' ц , * . p , l з i н | | м I t| 6 . 6 и 1 F Ы й м r . . и | { у п ' к o в t | | | | , | х . ^ шl 'е l | ||ij,
(нe
Зaпlяпvв в фаli-! WINNтH' мьI o6пaPy)кliм стPyк'Гyру -I AGЕ-вASЕ.RЕL0сAтI0N
отпoсЯцейсЯ tt o6ъeкTивr1ым фаlixaм)' onреДс-
пvтailт; ее с.lшAGЕ-RЕLOсAтIoN'
Леннyютaк (Листинг5.11),
RЕLoсAтION
сrpy|qpыltчAGЕ-вAsЕ
лисrинг 5.11.пpотoтип
tуреdеistГuсt.]мAGЕBАsЕRЕL0сAтI0N
l
DII]RD v |tuаlАdd.еssi
0!0RD SrzеOfвloсk;
перr!ецаeвыхзЛемeПт0в
I,]ORD тtpеOffsett1]: // ltdссив!пак1r3аEных
j IrLAGЕ'вlsЕ tЕL0сAт10N]
истинньrй pазмеР мaссj{вa т}рeоffset 6yдет тaкиiIi
т у р е 0 f f s e t l ( s r z e 0 f 8 l O сski z e o f ( V i г t u а ] А d d г € s 5 ) . 5 j z € о f ( s ] z e O f 8 l O с k ) ) / s r : e о f ( ! 0 i D ) ]
1386 зaгpyзчlrr пoILдеPжпваотдвeнaдцaтъ 1иlloв пepо}Ieщае]\lьlх
элеrrll]1lтoв|
]lo
Itа.пPaIспrке o6ьIЦIo испoJIьзyeTсЯлllшъ oди]i из нп] ]нAGЕ-RЕL
8АsЕD нIGнLol,l
(0Зh)' уtt23ooo..-' ',n пlЛадIlиii 6айT 32,азpядпoгo зпачеlll1,l,к t(oтoР;My с.]re.
дуеT дooавиIЬ дejrь1y зaгPузчика' B пеpeвoде нa мсжсrrстeпrrtьIrlпрorpaпllrrrст.
скиr' э1.o<звYч]lт>так:
i f ( ( т y р e 0 f l s € t t ] ]> ! 1 2 ) = =3 ] * ( 0 l ' l 0 л D(*( т) у p e 0 f f s с | t i&] ( ( 1 < < 1 2 ) +
1)) +
(DП0R0) рваsoAdd.еss) +. ((DПI]RD) pваsеAddгеsi . (D1"10R0)рр.€ i ..гдdd.еss)р а q o R V д
l(orда 6yДеTо этo дrлaтЬ' не за6yльTс пpeДваРll1.сЛьпoy6eДfiтъся|
чтo (looтвст-
стпyloщая стрaпиla пal{ЯтI,lипtee-татPи6ут WгitаЬ]e' и есnи
егO нет. вPeмеlrнo
]tзмснитe атРrl{]утьIс,l.Paнltц'Il oбpат'lsшисЬ к API-фyl|кциI.l
v1гtuа]PioteсtЕx,
a лoсле IIсправЛенIIявсех гlсpсп{erцaеliь]хэ.aeмсптoввepните
ar.prl6утьrrrазад.
oс1аЛыIьlс типЬt пеPel4сIllaсмь]хi)J]с]!lеIlтosonl{сallЬI s
сlI€ п ифrIlraц'tJ Ilа PЕ
фaiiJ],o6сща]0' чтo вы yз}lаcтс liп0Iо rлl1.сРесllo.".B
,;l:,|х]]l ] n A G Еo. E L .B A S Е 0 - H I с - A OхJP : | | | ч ,, l ' ' "^..,,,""',',.,'
, l . h ' ' ' i ] л Р , \""!";.',i';;;
' t! '' днJ \
l ) , | ц ' U I l s;e"t"а]х' ' , I l ( l u Ь | i i y , t : l : | | , | в . . . , . j . , я ' | . i i | . ' , . U l г l , ) . l J \ 0 IL114: l | ' l L с с l ( г l { l ; |
|,lс
мoe сЛoao,a втoРoii _ lla сoдeP,{alцуto]!fл:lдr;lеc' [Ia lЗ86-rrрoцеiсс'paхтiкaя кoм.
oиIlацllЯ I]е llмеrТ н какoго сNlЬlсJra(pa3вe чт() сtlеJlиальIIo
сo всTpооllIlьINIас.
ссмoлсpoм Лol!з]rРащaеl.ccъ)|Ilo нa llpyтих IIJаT(юPмах
]tlo)кст6;]ть tl|иpoк0
РаслрoсTрaIlella.
ДаЛee lIривel(eI{исхoдliI'ii Tекст lIрoсTсitлJei.oДaN{l]сpa'Гa6'll!lllI,! псpсNlсIцaeмI'х
эЛcмel1]oв (Лиcтluп. 5, 12).
/ / 3 ы ч и с Л ядеo| лl Ь т зуa r P у з к и
,'\ndelй
рГ]ntf{ : =1 0 8 х h \ n ' \
======.====='.====\п\n'рBdsеАddгe5s pPrсfeГАddгrss)
i
// пeрeбираeи sсe fixuр oЛOки oдиHза дpyги!
W hlrе (1 )
{
// шЦисЛяем адрeсEaЧалaстpаниЦы ираз$ербЛока
p a g e R V=A( в Y r t + ) ( * ( D | . 1 0
рRRD
е ]*о)с )b l O с k s ] z=
e * ( D l l O R D(*р)R е l о с 1 4 )
r i ( ] b l O с [ s i z еb) г e а k i / / э т Oк O H e ц J
р а g е R v AD
, l о с k s i z е )|
f O . ( а . 8 ] d < b l o с k s ] z е i а + =2 )
t pаleRVA
// извЛекaе[тliп fixup'd и с € щ eвие отнOсительно
typex ' (*(l']0RD*)(рRе]rrса)) + >> 12|
o f f s € t х = ( * ( ю R D * ) ( p R е ] o+с а ) ) & ( ( 1 < < l 2 )} ) ]
// обpdбoткара3ныХтипO3fiхuр ов
{
]|
BАsLD-дв50L!Tt\n
саsс0: ргiitf( \tlt1AGЕ-RЕL
a l08Хh..> x08Хh\n''
сdse3: pr,]ntf(.'\t1IIАGЕ-RЕL.вА5ЕD-N]G!L0W
offsetх+ pBаseAn.гess):
Offsеtx+ рPГefeгAddГess'
- nots!]pрOгted\n''
pnintг('\ttx tyрeХ)|
)
)рrjntf('\n.):
// беpеП 0n0к
сЛeдуюlциЙ
pRe]oс}. b]осksize:
К ЧeMyпpивoдитвнeдPeниe
Пеpсхвaт упpaв".теrtrrя
o6ьr.rllоoсyrцсствляс r ся сJе]]Yю]iпll{и пv]ями|
. пeреусТaнoпкo]i тoчки вхoдil l]а ТсrroХ-rrода;
. ьl\|рр||||l'rl Bсl({.l,оlТj',| , I|'.|| |' .рr\',Jil'
Х код (rсTсстве]п]()'IlсpеЛ lrсpсдaчeii упpaвЛсIlпя X.ltо,,1дoлпerryдaлитl,
кo.
l'аllдуl вoсс'],анoвIlIl Лсхoлi|()с сoдepжl{lloе ЕР);
. liePеустnllовкol.I пl)('lз!оnьl|() взят()ii xol1аr|,цri Jl.lPlсALL llil Tс,1о
х-I{ода. (: rlo.
с л e l l у r o I ] ! е i i| | с P e д а ч с i i) ' Л P а l ] ' ц с н I I Jяr | )о P ] l г | l r l а J п ] J п ) l l aY' t ( P с с у( ) , 1 ) r ' I I P ] l c N l
l]с
raPа|t,urPyеT,чтoхкrlд1вrю6ruс
удrс rcязall<lirvuи
r.,vrryав,lснпе'
llсlзатоо6сс.
I i е ' I r ! r а е т e . \ l у ( b е I J ( ) N l с я l l . T ь l l !{]]ol Ч ) Ь l J } l o с ] lтtr l,l a к с l 1 l l a , l ] n l у ю i l i l | ц Л r J l с i I r l ( ) с т ь
от а|l,|l!вIrРусoIr)i
. J\loлl.l(рlrкaIlli01lо,llll()|о IIjIli Ii0(кoJп]liIlх i].lсil1(]lt'l.oп 1n6JIl{ill' ll11rюР'|il с цеJl|)|o
l I o / l ] \ { с t l 'R
l Ь | l l Ь t ] ] a c i \ l Ь(lJх) y I J к r L I lсi il l ( ) l I l l j i с o б ( l . в с l i I l ь l i l i л ( э , | o i l т с х l l о Л o Г l 1 0 i i
D oсll()Пl]olli п()"'IЬзу0|rj,|(lтсnс'lи])vсЬll y[lсjк) (lкpьiRal()]]lrleсв()с lD||сv|стDис
. o I l р с , L c Л e I t п е 6Nal з о в o г о a д р с с а з а l . D у r l r к Е R N E L 3 2 . D L Lч с p с 3 I ) Е в :
m o v e a x ' f s l t 3 0 h ] / m o v e а х ' I e а Х + 0 с h ] / m o ve s i ' I e a х + 1 с h ] / ] o d s d /
mov еbx' Leах + 08h] 6llз0 в |,lii кo,'lRозвPaщa.Tс,l в Pс г'l(:тPеЕBx ( э'Гooч 0uь
пpост.rii' хoT,l и llella.I]enlнъliillPиoм) r.ак l.aк стР),кTурa PЕв в nt()6oйпlоNсн-r
i!lo)](eтизl{сни'r'ьс,Il}t ]lа nсе RPc:"tясуrr(есIlJоB:utl,Iя Wilrdоuъ оjrn уn.e NIeня
jliLсь пo пleньшоl:ltlсpе ,цnr Рaзa' к тoмy ){с PЕв eсть'Го,1ъrLoD NT);
. uс]lOJlЬiloЛaпl]е]\{ с ]{oTo.
паLivс АРI оlleрarIIloнноii с]lllIсNlЬl't]iиI Nloдl]i]с-l.в11с
pьlll oсу IlleстIrjiяетсяJru6Oче])езпрсрЪlва]rисINт 2Гh(Wnldows 3,х' Windows
9х) ' j!и6o чеPеэ l Nт 2Еh (Wiпd о\t s NT' Win(l0ц.s 2 000), "'т116о чoPсз м allllrпнyю
кoмalI.I{уsуsса]] (Windoч,s ХP), Краткиii nсРсчеllь осrlоrrньп фyнкЦиii мon.
нo xaiiTrt в InterruPt LisL Pаль4)а Бpavна, 6cсll]Iaт]]оРeспрoстраняемoм че.
pс, ],Iлтеpпeт:httрi//WWW.pobox,сom/-rаlf/fi]es.him], этo паи6олес TpуДoeNir.ий
и rlaиiuепеепадежньIii сlloсo6I з всeх. N{a.lo-t.Ol.o' чTonativeAPI функции tle
/]oкyl{еrrтиРoвaпьIп пo/.iвеР}(сltЬl ]loсToяпlIъiil изNlеЕeни'lIl,Taк o]т11 еlцe Ir дo
6eзo6разияпримrrтивrttl (всмыс.ne Pсaxшytотпрoстейшиенизкoуpoвпe.
вьIe (l)упкЦIrI']'нспPиroдllьlе к нeпoсрсдсTвсltlloпo,I'rспо.nьзoвaнию),
тPЕБoвAния,пPEдъяBляЕМЬ|E
к x.кoдy
Х.коlt с.ltоДус,r.п роeк'I.llрol]aтl| ( y'lc1.oпl вссi.i жс(.'l.l(oстll ,ГPс6oBaUIlii,лрo/l,ЬяI]Jя.
с]\1ЬIхllcизl]сс|l|оli и lto/tЧас Oч(|lЬ al.pессI,lRlкJi] сре/{oji чул{cРoдIlогoкoдaj
3 ко-
roРv'O оII буд( г за6рoIIlсl| (в сlпnслc - впc/(Рol'),
IJо lIервЬlх' Х.l{l)ддoJDкeIr 6ьrть полrlостьrrl rrсpсмсr]l с11jT() oсТь сoхрillr'ть
с I]olo
p;r6отoсlrосo6нotr,r,
незaxисrrмoоT 6iвовoГoадPесaЗаrpуlкrl, Это ;кtстlтгаerr:я
llсII('Л,зolJа]]rlсll оTЛoсrIтeJlЬll0й адрoсацп : olIpсдe.llrlв сIl()е тсl{ylцее
Pасl1оЛo.
'(еIlие вьIзo!оl1 ко]vlаltды сALL J+5/P0P ЕвP' х.кoд сN'oжст прсо6разonar'ь смeп1e.
lIrUI вlrvЦ)I'l свoeг() Тcла в :j4)фсктпBtlllс а/{Ресa IlPoсTьIiv сЛо)кc]r]1см Ilх с ЕBp,
Pn.
зyr]сстсяl зТo не едllнсTle]lllilЯ схellа, сyIцeсTвуют п
l]рvгие' оДrакo пtьr llс 6yдeм
Ila l1llx oс].анaвЛll8lr'!ся' пoскoлькy lt PЕ-4lаii-lаl' oll1{ riе llNlсют
llil ]tllUlс]illIего
тЕxникA вHЕдPEния
|,''.',l|,''.l' , . l ' ! B q ' , i i . | | , ' ' r ' } , | | | \ l r : " , . ' 'ь ' a в r o r r , ч r o o r ' ' | ' , r в | | ' , I l ' ] L | l i ' . ]
ПeIх)п{'пe содср'{llт ltс(Til |rral)TIiьlх та6лпЦ u DАтA DIRЕстORY дo(ТуUcIl ](Ля пro'
Лl|(ЛIкапJlIIП , | r l l ( у l ( ] ' Г r r | |oсU с Р n e e l l к P а i n l с н с } { с J l n т сl l ь l l о ' l l 6 с i t ( ) ф 6 о j ] r ] е i r 6 х 0 .
Л|lмoсrlI в o в с р r r с i i l l L l j 1( i ) a i i , 1J Y ч I I I c l l I I Ч с l . оl l с в | | с ] L р я T |^' ' с с Л l . |l J в r l е д Р Я т ь l т o
l l P l , l / ] t с р } l ! l l в i L t ' сl rяа l l 6 о Л е l r6 с э 6 o j l с 3 1 l с l L l l о jсi , r y n ] c r r I I t j l е / I Р е i I l i я. с п o с o 6 a 1 '
Е I I r ж с l ] с с J ' l I l , l . р 0 б о l r l l l r ш pr l з о 6 р а l r ь r r l o l р o 6 t t с с :
. ссJll' (1)а]Iр j li l с l l ( r . r ] ( D l ( l,iI^ | | o с l l ' l с ' l l сз]а n l | п l l c l I l t o N 0l 1 . з i l l I l 1 ( l l Il l , J | |у{ | | а сl | е д o .
с T i l l . о ч ] l o I I р а l ]] Ц ' 0 | . oз r l l | | | с l l / . | 1 . с l т l l(,lIl а | ] р l | м с Р ' ( ) l l i i J з а б n o к и P о | ] ; t J I . l ( P y .
г ' I \ J l ] р о l l с ( с o [ 1 ) 'о ' | к l l l I n в l l с N | с ,(l) Tl l I l с / ' l р с l | | l ' | i
. сс]lII ()lii-l] |I]\|0с'l. "ци6о сlulNlilсм i),гoт
it,ГPlt6у1,,i]а|lРclllлloIlllIii Nloди4Л]кilILt1I(),
llТl)ll6y,|, Jlllfю oткllзЬ|вllo]!lс' (rl. ]]lllj,(рelIl'яi
с(|'ll]lsuЬsуstеn > 2h ll'(jr subsУstem< 3h' oTк1lзЬIвaсnlс,от вrlс,1РсlIlUi;
l'J'l LA' 2001 'l,|,'sд < 1000 |^ П.1lU'.l'1 вl1 | ',.rг:''|lсl ||]t||U,ilЛvrI|]P
l1llчol.O ||с lll|с/llI)я'lьi
. cсJlrl фtlinl ЛI1поРтпрyс]. onlly lulll uoскorlь(О (l)уllкциii l'Iз hа 'dl| lr/uлп
nФsкrn|'еXe' or'кilзЬlвilсl\{ся оT впe/'1pеlIlJя
. ссJrп фаiIJI mдсPжr|r.секцrпо INlТ,оп' IroзNio'(но ' ,1вJtяс-|ся дРаи всpoм yстроЙ-
ст]lа' :l l]озпlo)tшo' l'] l lс,t.,lr(]6e] o.о6oii пуn(льI лyч шс сIoда ]rичol.o flс вl lсдрятьi
. сс'lIll DАТА D]RЕстoRY сoдcP,кllT ссln]lки lJa Ta6лпцьI' ]lспоЛьзylощ'lo qЛaзичс.
(]{уro :Lлpесaцllю ' .rilt6o oTкаэЬlвасI|ся 01.l]lIe/lрerпIя, ЛIi6о пPllншмасr] llа сс6я
о6яinте".lьстrra кoPРск,l.}rO <pilсll(),Гi)оrIlrгь> псe irерaрIlrю стPvкrvp дallllЬrх
l1 сl.oррeктLlровaть фllзичс((rlс аjrРесаi
. UP(LS-гoff + Ls.г_sz'A) > sj ze0fFi] e'ф:tйЛ'
ссn||AL]GN скopеевссго,сoдер.
жttт ()верJreii'l1 внсдPяться в нсl.о Ilo)llllo Toлько лo lleтодv 1,
. ссrtx фlBnчeскrrii Рaзп{еРoднсlii xj1l] нссli.Jx!].]lх сeкЦItй пPeвьппaет виPту
aльньпi на вслrrurrtty,60Лъ]lЦ4.)rl.nпРавI'yю FA' Л ItPlI этorl виPтyа.цЬxьlйPа.з'
lloдоrп'тIiЬrii фaii-rlсoдер'{ит оверЛсlil дoпyсмя-reNi сa-
\Iер rrе рав€ н ну.J1lo)
}Iьпr испо"!ЪзoвaнllсвllсЦplrшtii тojtьт.оTппa l.
Cледует пolltlлть о нс(16х()ДиN1осT'l вoсстаповлепIrя атPи6yтoв фа]inа и вРеr!le-
flи егo сoзданIrя' пloдuфrlrraцrl,l).t]l(х]ilеiЦlеroДoступа (6о.flьIxиtlствoразPa6oT-
118 глава 6.'е',rd в l е д p е Р и a/ ' д d J е | i q \ O д a / J D г . q а / l o в
ЕсJtl lloЛе коIlтроЛl,}iоiI су]\ill],l не ра]]]Io ну,rro' с-цедy€ т Jlи6o oставjtIЬ такoji
r!аi1л в поltсlе ' ;llr6o paссчrl1'аl.Ь l]oвyx ) xol]трo.r|Ьl tуrO сv\Jму сaп!oстоя 1.с.]]
ьriоj rla-
tlpxl'ер пу1еIr вьIзoIra AРI.фvнrrrItj}J сheсksuп аррedFj ]e' o6нY-.lятъ кoнтpo,]ьllую
сY\l\{vj кirк эTo де.na]о1 tlскoтоРьLAj каTсгоРпчес]{II нсдоllустr]r]оj 1аx I{ак прЛ ак.
Tивнъl)i (ерТифIIкaтaх бсзoпасJl{х:Тrl oпе!aцl1oннaя сl]ст€ N la пРoсто от].а)fсT
фaй"1у в зilгPvзILel
Епle lie(r{o.!ько соо6Pа'ксflIliI о6|rсl.o тIJпа. в llос:lеДirсс вpепlя ясс чallle и Чащc
xPп\оЛlf|сЯ сTаrrкпBатl'с}' с IIсп1lJlIlясItьrl'Il ,l)lliji..]аlлrLrуДorrпlIпio1.o116ъeNа' l1с.
l]tjlol'по llРll6.1nтL:Lrolll('foсЯ x оTnIelJiс в IJ€ ( ]l{оjlЬxo гriJl6tlilт' o6рil6aтьIBaTl, |n.
]{llх ilо]lс1.]n)в IIсl кvсJ(rNj -. IlvдJJо ll сцо'(IJ(). Заr.pY'{атЬ зссь (|аiin цеrrr|rcr\l.
с.rll1шIioп|\]сд1]снrlo' /lа 11lloз]ror1l|Т\viпdo\\ls в|nдс]iliтЬ 1.аxoe к().ll]lчсстllo ]|il]!Ur.
'lll I ПoэтoN]у
llr!!сст сп1ьl(-цвосп.]Л|iюваться (I)niiJlIllпl. IlPoсц1Ipусi\ll,lillll в llам'Tь
(Мспогy N'llРле.l Гi1с), улрlвLrясrlъrьtrr
rllyrrкцrrlпrrr
с г е at e Еi l € |lаpp i ng
]i Hаpviel,lОfFil e/Unmаpvje*ofti,le. Это Ilе Tоnьrto YпсJ]lli]llва0T l|Р()llJвод]rГcjlь]lость]
у п P . ) l J ( а c ' r l P о г P а N 1 1 | l Р o в а J l l l е|j| ( )| l . T I i J i 1 1 | | ' 1 l l р vI el фт о ] . р а п | | ч ( ' ] l ] lI, IJal r П l ] l с . I ь l к )
доIlvсTlIrI ii o6n0l|' кo,|оPI)lii TсllсрЬ l\(,кс1' jLoсTJtr.in'L']8 )ксx6iIiiт, чTo {tr)отвст.
с т r r v ( " l 1 1 5 2 9 2 1 5 0 , 1 ( j 0 6 8 ' 1 6 9 7 t j 6 а i i D ' l { : r r L ; r r р l l l l r r rм. о ж r l r l o ц l а п l l I I l l T L
PnзмeР
o 6 J ) а 6 | r l r i в l l 0 п | | ,(|,ха i i ] l ( ) | l]| l : с к ( ) . r | r i ] l I lrNl сl l||i l ( ) i l l rl r п l | | ' . ! с ] . ] (])( ) r I l 1 P v с i l f Ь l \ rвl Io l J с -
] ) l | ] r ' в | l ь l i i 6 \ 1 l ) с IPl с | l ( ) ' ( я L r r r l ьlrкrlrl r r ч с с r . r з r<l r 1 6 r } I i ] o ч r | ( ) Lк r( ) 'д i lк 1 1 l l l 1 л } I y N |( ук l t )
P i l n ' Г l ] . ! с 4 ) l L i i ' l i l r \ l ol Iт , 1 l i l l i i T | | | ] ь r r l I ol '! r I ] ( ) i i [ | o ' Г ) .
пPЕдoтвPAщEниЕпoBтoPнoгo внEдPE[|ия
ll,|Ol]р|п|Л]tак(l|)сj(l|сr]0к)1Лnt,iU|хIINlll](lli]n1'аJll'сЬ(!)з]lilтl,
a-llI)Nlillцr.уIlJ1llсрсilnlnr]jIiIl)aс,|lr()Pl|ГoJIЬlр1lс'|П(Ц,lIO]ц|(ii
в.я ll всс..llхol] |()|ll]|lTЬl'з|]lfГсJ|l,l|()i|lllloча'r]l]:]tilд:{l{аii
T(lсЬjn trспl вьl сft) 6yд.к' хplrrrIrтьll.1хoтя r,rьмaгсст тaк
ll !Iс 6ьl'l1 llJ(J6PеTtll' сro It'lся |lс vilеPJlll ll дo сltх ]|()Р буЛo.
Paжii1.lIr1r'l в t l р у с o I l l l саTс"lrсllj нLnI:'пl|]]rlrощIIхl|дсlo лPllп.
цxпIlа,lin Io rlсllе,Гeк1rЦryоlIoГo
нrlp!'сil'мОжoT.nп (yrrrсс]тво-
nlтl' тxк()ii вllpvс х('I,l 6ьI п nрllIlц1lпс? ll сс'lп дx' |O l{iк (xI сIlo'{eт (r|nlчaтъ
vжlr пl |'l)lIцl lрou] l )|r,lc (hаii.пьl oT сшlс пе ]аpll'(.r lr пn rr? B пр( ),|jlвrtоII случllс зара.
}icrпl,r о?illloгo ]l т()Гo,кo фаiinir]удут пl)()uсхoдпть ]\JItoгol{РlLПIо] n пanР'Iд,IlI1l]tl.!
1.oчllсЛсII11ьI.(.rпllll вIIрусо]r (Iloгyт r,иPl]о сосc'lс|вoвit,Гь дPуг с
дрyгoN.
х'rroд' сoxрilll'lloUlпi ])а6oTоспoф6нoсть дn'io IЦIl ]vlnoIoкpaTlloN в]ieдpс]rиrlj
||,dзЬIBАк||ре]unа|jеr|ъньl', Рer]Til60"1ь1]о(:1Ь ]lрсдъЯ]]]l'сr.'(eс1'l{lrс трe6()вilн11я как
fi alrгоРи.Г\lalj ull(Aдlr(rx]я u jleJlorf' тllli lI l{ стратеl.|lll ]loве/1еlllЯ х юILn, oчепrl,l.
нo'.lт() х.l{оr'l. вllедPЯю рJifu' в NIs DOS.зaгц.lrку' pепта6сJ]ь]lьli\ llсЯвЛяется:
к кдa' ]loс"!едYloщая lioп]rl зaTrryaсT (116ой пPсдьI;lyrllvro, ЛрoтcкTсlРьт' v('lo.
Ilо'lIl]зlIPvю]цl]с (]]степlпЬl('pсс}'рсЬl с ЦL..nьb ]|ротшвос'|('lнпя o,Гnaдч]пLall (lla-
прЛ\rсР, дrlIlаll}Iчсски рaсlu].rфPoвьlвaloщпе/заruI]фPonъlваюпUrе зnrдпщаeМvю
прoгра]urjv пy1.сi!1rrcревоЛа сTPariиrl tlа-llятIr в сToPoIевo]i pежп[I с пoсJeДуro.
щIт\' xсpcxва]t)l{ ]iрерьпtаltttti), 6vдут нонф-'lrrктовaть ;lpyl с лруГoill вьIЗьll]аЯ
.l]J.ro зiвrlсaнпе. Л]16о с6оii xPoIра\Iмl,l, It,]асс]lчссlLLIrl пpипlеpoill pс}iтa6eЛьllo.
иyдалениякoдаИзРЕ файлов
тeхникавнeдpениЯ 119
клAссиФикAция мExAHи3мoввнEдPEHия
NIсханt13п1ш класспфпц!Ipoвaть пo.pазнoму: no l1eстy (IIaчa
внеjlРеIlIrяN1о)кrrо
Лo' Itoнсцl ссPсдuнa)l no <iгеoпoЛI.lт]Iке'
(зaтIrраrrlrcисхoд]llrlx дaнньlхl вneДрe-
нllе в сво6однoе пPoстрaнсTgo| пеРeсelеIIliе псхoдriЪIxДarrньIхна irовoс месTo
о6птаЕия), ]rо наДсяtностt10lpедФ ьп() l.oрpектlIoе'впoлнe коРрскт1loс и кpaiiне
12o rлава6. техrrикa и yдалeниЯ
внедpeвиЯ кoдaиз PЕ.файЛов
riеI({)]rPснтнoевrlеДРeпис),xо PентaбeЛЬнoсти(рептa6e.'rьное
или шеpента6оль
пое) lt т, д. N{ьtхe 6yдспloттшкпваt.ьсяoт.тaj]акm?pавaЗaеnсnвuяна фШuче-
сttuй u вup1n!а]ънь|iioфаз nоОоnыmlюй ыl рaзДеливgсс сyщес'гвуIoщие
npozpа:tLм
lIeхапI'l3l!]]' j]rсдPеI{пя 1ja чсTЬrPlr патeropиIt, o6oзliaчe]l]IЬlе латIrнск11мrl6ушa.
пflt A' в, С rl Z.
. к кaтегop'rи A ()t.нoсЯтся мeхаlIllэмЬIj I{евЬl3ыrrа1()щ11е IJзl e]]ellия aдp€ с aцIi1{
нu ф]Iзпческоl.o, н11 виртvалъЛ()го o6Paзов. Пос']c вне,1репия в файx ни егo
д"lIlнaj пи кoJll1чсствo вьlлеjIetlнoll пPIJзaЦJузl(с tЕlIятп lle изt1снЯются и всe
6aзoвьre
rlrpуrrгypьr
oстa]о'Гся
пасвonхпpеnс]ихадPссах,ЭтоrrlуусЛoвиюудоu-
ЛствopяIотi B]lедpс1111сB пустоe !ссTo фail,]а (I,Е.3агorioвoк' хвoстЬl ссI{цпiI,
PuYJlяPr{ъ]е лoсЛсдoватcлъIrосTl]), внсдPеllие пy,|еI1 с'ra'Гия часLIr (сI{ци1.l
l.l фзданIlе lIorrоГo NТгs-пoтокa BI]утpи (baiiJlа]'
. К кaтсгoPnи B ()тIк)с,Tся пtехаlIlllll\1l'll вьIзьl]]:lIопlltс пзмrнe]lltя аllpссацni{
lonr'ко фвlI'Ieскoto o6Paза, пос.Цe внсдprrпIя lr il)aйJl сгo,.1лиllа увс.!ичивa.
с1'ся' oлпaк( ) кo]l llч{сTвo в ь']e.,rcIlr]oii IЦ] зaг!yзI(с tlilI{ятп l ir иlМсl I,]с1.сяи llсе
6аз0выe сl.PукTурl'l пpoсlllrРуI(),|с)l llo тс\] Л{с са^1ь]маЛPсс^^|'oДIIакo rlх (ЛJ
Jrl.]ескl.|с см('ЦlL'нxя ]Iз]uelI'lJ()T(]'tlЧто тРс6усT lкr'Цноii
".iIl час'гичIrоii rlе
PсстPоiiш|(j1.]).VктYp' прllI]Яl]ь||]аl()l]lихсЯJt свonNl (l)rlзtтчt'сI(I,IN{ allр0саNl,ll ссЛi]
х o 1 . яб Ь I o л l l a ] | з l t | | х o с ' | . l l l l с T с яI | с( к o p р с к т t Ц n ) в n l I l l o i i ( и Л l | 6 у / l с - l ' ( r Ф р p с f f x '
г',|,,'l,ll|с|.':'|l],1|,||,'),'l''|li,'.|,.|||1J],'Jj,|.',('l]l,,|',|l,|.l'",
кll)!lс1'в Pll6o ro, I{а,|сГoPl'll в соo Пn]|с|||},l0|.:Ра:rдB!i)r кil 3аl,oJ|ol]кa' с6P0(| Чa-
с1|' (1]) Ги|lllnI'Ill)гo {i)Ilii''IilI oвсPJ|с'ii Il с()l,'lil1lllс (8oегo со6()1.llсlllIoгo овсl)"ц.я.
. ]{ кaтегoр'lи c oTl()(]яTся мсхnIlll]lItLl. вLIJЬl]lilкЛIlllе l|:l]\{0||c||,l'l а'!{рсса|lllll ttаIL
( | ' | : ] | t ч c с к о г o1' a J { | l B l l | ) Т Y a n Ь | l о г оо 6 Р i l з o в . / . I . цl I i l ( ] ) i l i i Л аl l в l ' l д e Л , l o м а я I I р I t
lla].pyзке llaмltTЬ yвorlIlllпвitI('|t:rJ, Базoлыe с|pyl{1'уPЬl ]\loгу1..!ибо oсt.ilвalься
llil своl1х ilj(x'1.ilх('l1r ссть ]JзNlсl|яlo,Гся llпlЬ сNiorцoxl{Я,oтсчЛTЬll]аoljl,|с oT коl|.
"l
ц1orrрtlltl/4)aii,nа)' ЛlI6о 00р(]мсlL(aTЬся пo (],фlllIичjIомy l.lN{l|'L'(ylIpo]Iзво'nь.
11ЬIlIo6pit]к)м ' rРс6yя o6язатt'l ь1i()ii кoPРeкl L]JJ1,Э r()i,lILaтегo]'J n сoоТвсTствy-
ют] !aсljll l ])сlll1c l I(lсJleЛlIеi'iсrкцlt] 1tDаiiла' (joз]LаIl I]о сIrоeii со6ст]rсn l toii ссr.пиl I
r l р a с l ] l I ] р с l Л { oс c p с д r l I l ] п l l хс е к ] l п l l ,
. к <зlсcкI)с.Jсurtоli> катerоРии Z OT]rосятся i\rехarrизмьr, вoo6rrр нс дoтpar.п.
вaюn{rlесяnофillшlr-нoсrrГеля ll вI]сllPяl0rjпieся J] cго;lдрeспoe]lPoсTPaнство
| , o . п r | | | | ь || \| |\ | \ | ' l | ' ' г ' l | \ . | . I ' | | | ' р | ' : ' ' I l l | . . ' I l U l : . I r . . I l l J , , г Р ( | с l в l ч н о Г n
за автo]\laTичссI.ую загpузкy lLl1liамrtческlrх 6}l6nиoтек. этоil технoлoгllеii
IJIIтеРесуюTсяв псРвylo оlleреr]ll сo'rlrвЬIечерв 1tи l]lIlUorIьI, Bllpyсl,l к tlсLiРаR-
кnк !nр!ая]. х JLо].lllоxсr !нLдрIIься в х'Oсr кJасTcрn O(кt ]пl)]rяoд|пl плп noск.trЬlo !cзаяя
тьlx (|ЕIoрo! (ссJи.пl Dм соD'o!нalо]']r{'d,JIoTваPЛalтпeрaФ]IlаIрIвxeтся] тatхакя!какorc
.т]lоtr'с!п'к PЕ фaii]aN o! !с !мeeт,
и yдалeвиЯкодaиз PЕ.файлoв
техникавнeдрeния 721
пeДoкуilrевтr'lpован)и It тoмy жe I}a3лич]Iыeкonrпиrrятoръlиспo"r1ьзукJт paзлич
nше фopмaтьi oтладочнoii пrlфoрN{аЦrlи'tloэтoп1ускoрpеi.Tировaть ссL{"ткIrнa
tloвl'е aдрсса 11сPеальlro'ПoNпrмo oTЛаДoqнoii пнфoplraцrl]t е]]rс сyществуют
сеpтификатьI 6озoпaснoстI{ и пpoч]re стPyl{тyPьr даrilrЬIх' nу)кдaiощи€ с я в }rе
лp!lкoснoвенlioсти свoиx смеrцеппй, к сo]ка.1снию]IfехаIlи3мьl внеДPeния кa
теl'opи11A нaлаIаютдoвoJrЪrionreспiие orраIrичeI{ияна пpeдeЛьнo дoпустпмЬlii
o6ъeм х-кoдa, oпРcделя€ N lьII:Il(oлllчестlJoм свo6oднoгo пР(rсrpанства| lrм€ I o
щeIoся в xрoгPaп'мei и дol]ольlloчасТo здссь не lraxoлllтс'I niссl.а/Ia'(e Для ltpo'
inlнoIoJа.р\J'|'iк.,пn:lInмvIlгихUд'|.сяnЛ,lи||JP,|IlJAдtлпt,il',,.(,lllIj'l,IJ.
кAтEroPия A!
BнЕдPEниE в пyстoЕ ]'lЕстo ФAйлA
Лрoп1евсеtu вяcдрrIтьсяв пyстоемeстoфaiilа, На сeтoд.
ня IlI]i иii ЛсI l ь TalФtх llicст I,lзв€ с тr lo тР иi PD.зal.oЛ 01]on'хвo'
стoвыe чaс,ги с0кциЙ ll рcIyлярlЬI€ ll(х'l0l{oвa'гe'1ьlloс'1.и'
Paс(мoTрим I,lх пoдp06lIee'
BHЕдPEHиЕ
в PE.зAгoЛoBoк
'Ги]тич]Iьlji
Pг.зaroЛoвol( в]\leстsс Dos.3агoЛoBкo]\l и:]аt'.itylцкol'iзalmмае1.]l0.
Dя](ка 300Ь 6аiiт, a мIrпимaлъllа' ]tРаТлoс]Ь I]ь]PaвппI]Axltя0скцпit сос,I.aвляо1.
200h 6aйr,.l.акиN{ o6Pазoм' l!lея{/lукol|цoм загoJIoвка пад llачa,цo]!ltlсpRoй сeli-
цlltl праI$liveски вссt)la имссlтсЯ .100h 6eсхoзrrых 6айтoп' tсrlкцrr,rсмoжнo ис-
lIoJIьзoвaтьдля <IDoи3DодствснtIь!хцелeй'' Размсщая здесЬЛIlбo всto вlroДpЯe.
ily]o пpoгрallIмy ЦcЛиl{оlr,rrrr6o тorпл<oзlrpyзчик x'кoI{A' счиTЬlваюЛlпli свoe
проlloлл(еlIие r.в Дискoвoго файЛa и.]ll'lPсссTPa (Prlс. 6't),
Pис.6.1' внедpeниё
х кoдавсвo6oдноeпpoсгрaнпвox6ofrаРЕ.зaг6лoвкa
Pxс.6.2.тaк вь|глядит
типичный
PЕ-загoлoвoк
нeзаpaxeннoгo
файла
вoсстarroв,tеIrие пoражeяньпr o6ъектoв. i.Ie все дизaссeм6лepы пoзвoляют ди.
зaссeм6лиpoвaтьPЕ.заr.oлoвoк'IDА PRo oтнoситсяlс числy Тex' ктo пoзвоЛя.
ет' tto дeлaeT этo тoJIъкo в сщrчаe кPaйrrй fieo6хoДимoсти' кoтдa тouтсaвхoдa
yкаэьrвает вr]yтp! зaгoлoвт{а.застaвитъ ,re ee oтo6paзить заIoловoк вPyчIтyю'
сyдя лo всеNfy'11евозмo'оro.t{IЕw в этoм oTrroшerши60лее пoклaДlrст.пo RVA-
и yдaлениЯ
rлaва 6. теxNикавнeдрения кoдаиз P
в ХBoстсEкцИИ
BнЕДPЕHИE
oпсрациolпlaя систсNlа Windоrrъ 9х тpе6ует'.rт06ъI физичсскЛe а.цРесaсскци]i
6ЬlJlи вьryoвrrеньlllо мeпьшеIi llсpе nа 200h 6аIYlт(Wi]dows NT нa 002h)' rlo-
эTоllly п{еясдyсскц]tя]!iппPактl1чсски rlсегдa ссть lrскoToроe колич€ с твo с106oд-
вoгo ]lpoстpаrlс'гвa'в котoPoi1J1сrкo затеpятьсЯ (pllс' 6.4)'
. eсЛп v-sz l: 0 и v sz < г-sz| yволIlЧrlluсм v'sz lla sjzeоf(Х-сode) иJtu 1loд'l.я.
гIlBаеп1lс v-а сЛeДyк)lцепсeкцrm.
идe}Iтификация пopaя{elmых o6ъeктoв. Paспoзllilть внeлРe]]ияэToгo тl1ла/lrt
tlоЛьllo лPo6,.|сма||г|||о, осo6сnIIiJ L(,|и х.ко,,t л'' llln.|ьlo поN|(шас,lс' в леI1|lо;
кoдoвoй сcкциIl фaйЛа' (oтoрolil как Ilpaвllлo' являстся сelсцllя .tеХt'
Bllедрeflиc в сcкцию ДaппЬ]хрaзo6JIачао1. се6я lIaлrгiиeп{oсмь]слcllltогo дп3;rс-
сем6лeрнoгo кo/iа в eе хвостe, нo cсJ]и х.ко]L IlеРrхвaтывnст y!]Pilвllcllиe хЛ'ГPЬlм
дизас(смбJIltpоl]ilTl')'l1!I IсoЛи Ilам
o6paзoм' Дизасссiu.)леРivo'(ст l{ llс/L()l.Ф]LaTься
пPllдeтcя сllcЛaть )то вPytl]lуlц с?rN'oс'|.oятeльtlooTЬIсI{aвToчку lJхоДa.IтDaRдa,
eсли х.зarrrи4)PoвalI]'!рacIЦUфpoвшlикt|2lхoлlI1.ся l]!lс кoJLoвoйсскlLr|и|)1o,r.]rl)rt.
eм yj*(сltc сPaбo,гaeт'
BHЕдPEHИE
B PEГУЛЯPHУю
пoслЕдloBAтЕЛЬl-ioсTЬ
БAЙтoB
Цoпoчкll llу''rеii llс 06'за-|с,]Iь]]o IIскaтЬ в xгlостaх сelrций, дался IIa\I этоNI хвl)с1.,
кoгдa остlnьпЬlе чilс-1.ll(rliiJа flпчvть IIe ху)Iе' а зaчaсTyю дaniе лу'Illle коllllаl
с(:l'(сll 6о",rьlllе: llе ()6'заТсЛьно I,Iска'ГЪиNielllJo llv.Jlll для вI{е/.lPеlIll' пoдхо.
дrrГ Jrо6:Lч Pеl.yЛяpная lloследoвilтелъпостЬ ()taxpurиоP' цепoчira FГ tГ гF,,, ll,I1l1
| ' ( " L | 0 0 г г 0 0 , , , )| o - о р \ tll|,\n/, L,, в, . l' p.Д
пepeдiчеii уnpавЛсния, Если u]]еДряeМьlх цсnочск 6олЬпIe oдпo]i, х-кoдv пPtI-
дется как 6ьI <paзмaзaться' пo 1c,ry фalira (а скоpee всеi.o, Tак x 6yдrт)' соoт
всTствонrro' стaртoвtilе iцрссa и д]rПIlь] Этlrx Цeлoче]t xpllдrтся lr]e тo храlllf|Ьj
lllrачс ItаIt потoм пPllкiD{сГс их вoсстaн:lвливаTь (Рис' 6 6)?
1з0 rлaва 6. техникавнeдpeния
и Yдалeния
кoдаиз PЕ фaйлoв
+
Pис' 6.6. Bнeдрениex кодa в pеryляpныeцeпocки
0 1 0 0 A 7 5 Е/ .в 0 Е jmрs ,00100A767
,0100A767:8Bс5
'0]00А769'ЕB2с .]пlps 00100А797-. (])
0 l 0 0 А i 9 l ]Ё в 5 Е Jnrрs 00]00AlF7 п)
, 0 1 0 0 A l Г ;E, в
: 5Е jmps '00i00А857
' 0 1 0 0 д 8 5Е7 B
: 3Е jmPs 0 0 1 0 0 д 8 9 7. - . (11
0]00A897:
Евзг) Jmрs ,00100А8D6 (1)
0100А8D6:
Ев0D jпрs '00100А8Е5 (11
-эявикавнедpения
и удaЛени'кодaиз PЕ.Файлoв 1з3
. 0 0 A 8 t 5 :2 D 0 0 ? i 0 0 0 0 5 u b е а х ' 0 0 0 0 0 2 0 0:0
. r 0 A в Е A8:9 1 5 7 Е 0 7 0 0 0п0c v tеbp]|00000077t]'eах
] ' r l д 3 Е 0 :5 0 рush еai
] 0 i l A 8 г 1 : 0 5 0 0 1 1 0 0 n 0а d d е a r ' 0 0 D 0 0 1 0 0i 0 ;
0 0 A 6 . 6 :в 9 8 5 7 Е 0 7 0 0 0m0 0v tеbp:]t0000007/Ё]eaх
.]00Aвгс:
50 Dush еaх
- L 0 0 A в Е D : 0 5 0 0 1 0 0 0 0 0а d d е d х ' 0 0 0 0 0 1 0 0i 0 >
- . 0 0 А ! 0 2 :t B 3 1 jщrs 00100A935 -. .-. \]r
*NN-"***
Рис' 6.a' внeдpениex'кoда п}тeм сxaтия сeкции
o6paтиrе вllrrмаrlrеrraPаскnaдкyстpaнлчногoипtиД}ta,
Ес.flпвиргуa ьЛыepaз.
п'epЬl 6()"1bl|]].lJкjT}lа сеt{циil l1но1.o 60ЛЬшс физичrскпх' фаl:I".т'по nсeii вплп\'{).
' l \ | и r ' , ', , " l n Ь L j " U ч t s ' | ' | , o
теplI.) njтя lIpоIекToров' вl,lРусьl жe llрat|]1чесlt]1 rrпIiог;ia пе vпl1]пьпiaют
фllз]i.k]сIl()t.о рi]]rмсPа сскцllй' r.ак xакдnЯ этoгo иNf пpпnlлось 6ьl пеРeс1РaивaTЬ
вdo сrpукTvPу заPа)кaспIoго фaiiла цctrrикoll' что lle BхоiцfГ в l1х llЛаflll'
Boсстапов,Iсппс пopalкспныx o6ъектoв. Tипп.пI.|я orlrrt6кa 6oflьlrxlнс1вa PaзРn-
6отчlпtов отсттствце прoвeркЛ па lц'ltlaд]rс)к11осTj,(}кj'lNlаеllоii секЦ!ai сЛРке6
нъlJ\'стрYктyРам (rlЛll пrкоPpeкт|l{) IrЬl||oЛl]{]llltаяIЦюtsсPка), B 6оJЬUЛIirстuе сЛу
'|',3,,,| ],Ijlя'l'l':r l l ' ' J j | | ' 1 | г Г | , ь , 1 , | , |' 'D, |A - A0 I R Е с т 0 р Y' ' , J ) , ' ] l I l '
.DаinI в Лl lJассеN6rе Р' Рeк(lllс гp\'lrР(lвaтl iUll.0])ll'|]vpnс]lаl{oвЛlпJrаIt Ilап1IсатЪсвoii
со6ствсliIJr,lii' Рeaп]'IЗoваllllьli,Iпa]побoN с|lNЛ|аTllч}loN вапI ЯзьIIrс (напpIi\fсp' иЛa
сIi''Гог;lа Л'ця вoсстa]ioвлerUlя фаr1,палаже IIе llI)|Ulс'|ся вr'Iходптъ IIз I4д!I),
liсJl1 )Ф ()riiJl заl|ускас1ся вllo]]rlс нoРпf lьlIo' .j'о д,rя Iд:LЛсlIll,l х-кoдa !oста.
| ( ) t ] l l l |) l с l \ l ] ю l 0 l l 0 ' | p i l с с l I p o в а 1 ьс г о в o ' г Л a д ч t ' к r 'д o ) l { ] l а в l 1 t I l с]Ь\ 1 o м . ] l l тIаJ с P с / l а ч J l
уltI)nU.Ц{)ll1)loprlпI]la.]Jьtlo)riп!огР:l\jI|е' lt IIel\jсДJ|с|]Jl() с6Pосlll.Ь дnNUJ,
MЕт (i/]аstёr
F lo Tab|e)
Г-j
Г.____-l
l._L
Г]L] Гl
сиФсмaNтFs пoддepxивает
Pис.6.9. Файлoвая пoтокoвв pallкахOдноrофайЛa
нескоЛько
. .с.п]isizeof(х.сode)
<= Fs. r_off' переходlri\rrr pазllс"ly <внсдрeIl]lс в PЕ за.
{r
{}
. eсл]]DAтАDIRЕсoRY
сoдеР)киT
ссъlЛкyнa стPyrrтyPv,пpr1вязьrвающуtoсЯ
к фи.
зическIlNl сNtсщеЛltяN!] то Лx6o гo1oвIrliс,] сr.оррсктripoвaть
ес нaдJtс)кап{им
o6pазoпI, r1и6o oTкa]ьIвaе]!{ся oт вlIедpe! ияi
. ссjiп Ls.г.off + Ls.г sz > sizeofFi]e'
фai]i.ц'скopес всer.o,сoДeр,flllтoвсpлеii'
и .riyчrrrсoтlGзaться 0т внедРенUя;
. сс.п]IфизrПескrп:IРазмеp l(аt(oriлlt6o сeкц]l1rпрсвьппаст впР1уaль
lIЬlii 1raве-
л'lчJ'tнy' 6o'{Ь!Ivlo иnlr Равнyю Fj]e А]ignment'(!ariл' скopeе всогo'
сoдерхrrт
сеpсдЛIпILlri oвeРЛо}:i'п laстoяTсльпo pс]tоlle]]д\'e.Гся откa3аться oт вIleдpо.
1Ilи;
. ссrrциr0lпo,'lхoдяIllyloдля вllсдl)еtlиЯ (]l']AGЕsсN-|,IЕll-sнАRЕ0,
::l!']Pl:",
IPAсt-sс\ ЧЕ DlSсАRDA8LЕ сr]rUшс'|], iPA6Е)L\ .1tl'IRFAD',. 'i lи[сг sсш
l4FиЕ(Ес-гt}сl]||l'lrл.|
|,lчA6ЕsсN-tl.пС0DЕ,.,IIl,tAG| sй сшi lшIт'дrтzго oд-д
, ,с | ' ' | | U в , | р ' I - ' ) , | , ' , , U , |, '. i ' |п. p : ' Ч | | J , o n . ' . l'"po'.'."','r*'.]'''''.
"u
. (nlзrlчсскoe сiliсlцеllxс начl]lа с€ к цlrЛ в
4)nйлe Равno ес rаN o|fsct'v (этo lla.
дс'tl{oc ]loл€ ' I'tсмy мо)кtlo вcPить)i
. (l)]1зпчсскoe сnlсц€ ] llIlэ кoJtrlа секllJlI]
в ()irilлс ll,tчt,tс.цltстся 6олсе слoяrпшlI
06ра110r\1:
min(сs.гаW
offset + ALIGN-DOI,{N(сS'г-sz'
FA)' Ns,гаW-off);
. I]ах1']llIl!IчaсTЬ секцl,II1llle oo/lсР)кащyJ() |IoдсTРуктyР с.rry'rе6Itl'х
Та6Jrиц РЕ-
ФаlUlaj такпх, ItaпP]r]Vlср'к;lк TaбJ|ullьJ IlNlllopтa/3ксгJ{)Р,гаi
. ll вЬl6Рa||uolYl час1.п (часT,х) сск|lЛx ljaхo/ll,|l{ o/llJIl I'lll l|ссl(oлькo pег|'olloB'
(ll]оoоiLl|Ьlх оT IlсрсIJeцaо[]ьIх )JIс]!!е|lTов|
a o(JIIl O1,olJеRозi!Iо)кIiо1<']Ь|кус]ы.
|]аcМ,llTllэ'ЦcмсlIТЬl и3llхuр taЬlслляtroс-чe.1ylrrл1с ii o6pа6oткlrХ'кortoм ripy.r.
лyro;
. лри x{сЛаlllrl,l вaхoдп]t{Il€ Р вЬlii IIPoЛoГи rlосJ|сдлrtii эuuЛoгвl{yTРиrrь16раII
rlьlхчacтеiiсoкl{п, что6ьrlrппllя<оrрсза* lrс paзo;lвa"laqlylrrоцr,iю rrапilrro.
Jlni!'(эТo fle Ilaруll|пТра6от0спос{J6н.)с1ll
фaii.!!' no ..д",лeiil,,'.' в',"дPerrr,''
6oлeс замe,].IlьIII);
. ссJ.IIINlЬlхol,llNl сo3дaть oвсpЛei'iвl{yTри
фaйJlа, гo|
o y в o x I l ч и в а с ] \ 'г a w o t l s с ] L ' ъвl с o х п o с J l с д у J o щ r l х ( с l i l L u i i н a
веЛUчпlly
А L I G NU P ( s j z e o f ( Х . с о d e' ) F A ) i
o 4)llзи'leск!l с/lвигireiивсс пoс.]]сдvIощиcсeкцlIп rr (l]аif.nеllа этy r1ссвелrlч]I
Ilу;
}цтEгoPияс: сoздAниЕ
сBoEЙсoБствЕннoйсЕкции
AпьтeplIа1]1вoI.i рaсrllrlPенlIю пoс.neд.
нсri сеlilllfl 1 фаirЛa сTilllo сoздaIlпe св0'
еil сo6с-rвrlrноii ссlсц]]]lj чтo ]Jc TоJ]ъ
кo <tvloднo'' пo lr тсхнпческu 6oлое
гparu()l!o- Тeперь, ]lо llpаIiпeii мсpс'
нIr oвер]lcи' rrи тaбJ1]lЦЬi пеРeN1сщаc-
ijъIх э'']емснтoв rlе 6yдyт поt|аllрасlly
6oлтaться в паNlятlr (pис- 6.1з)
|lия и yдалelиЯ кодa из PЕ.фaйЛов
o ?]r!'.'l]
нr ]lllсст зlIаЧсllпя;
o . r?;Ls'v-а+ AL]GN.UP(Ls.v sz)? Ls.v_sz: Ls.г-sz). seсtiоn Alignment)i
c l ф'!€.:sizeOfГjle;
o z ,!":sizeоf(х'соde) иxи 0х0i
o,, . . l :s: i z e o f ( х . с o d e ) i
o сia'..i IмAGE'SсN_сNТ.с0DЕ
] IliAGЕ-sсNПЕl4_ЕхЕсUтЕ;
o oсп.u|ьн--'
aх0:
. псРeсчиTъInaеNl]mаgesize,
llдelrт!фIrкaцпя пoРa}кeнRьD. 06ъект0в. Bнедleuitя это1]oтIrпa Леrтo
Рaс]roз.
]iilются l1oналllчllю кo/.iоtsойсeкциив конце
фai]rrа(стarцаPтпo пoдoваясепцпя
fr..гда 1lдсТneрвorl),
и yдалeниякoдаиз PE.файлов
теrникавнeдрerrия 149
счlTЬtвiLc]\I PЕ за1.o.rlовoкi
есJrl ] mage ва s€ < 1 , 00 . 00h Ir пе рсrlсщn']Il ьlх элеllентoв tlеT' ('l казЬiваоllся оT
150 .Ejj! 1!a"] едpe'.9 / yдалe],яroда ,з PЕ.фJi..oв
. eсЛи ImаgеBаse <- 40'00.00hи irеpeпlещаеl'ьIх эЛемепToвl{eтjЛучr]с oткa.
3aтьсяoт вrrедPe]r]rя' Taккак фaйn нr смо'(rт запускатьсяв \Yindоws 9х;
. B}iеДpяем1,00.00h6айт в загoЛoвоliпo lleтоliy' oпЛсaпIloпty в Рaз]]еJrr
<.Pаз/IвI,I)лка заГoЛ0вl{а), офopмляявсе 1' 00,00h6aйтa как oвсpлей!тo есть
oстaвЛяЯsizе0fHeаdеrsfie,iJмсtlньIr\0' a ос.nиэтo нсвoз]\loжнo]
oтт.азьtва€ м
ся (]1'внсдPеrrпя;
. \ \ l р | | | , шч,с| s' . v а , |г s , . o f . j | аl , 0 0 , 0 0 h '
. уве,]Irчr'rаспI Fs.г sz lrа1.00.00hi
. есxliFs,v sz нс pauеп0, уBсЛIrчивaспl его]lir1'00,00h;
. yвоЛrrч ивaell lrтРтyaЛlllыс aдРeсавсeх сеIций' кPoNtепeplrой't{а1.00.0ohi
. aналпЗIlрусмвсесJ]yжс6ныeсTруктYРьr ' rtсPочисЛeнньIе
в DAГADIRЕстoRY(тa6
.rтицьi ]ll{спoPтаj jtrullортаj пеРс]ilсщaeмшх эЛeljе|n.oв и'Г' д,)' yвелlrЧивая uсe
RVA (сЬlJ]]rll Il:l 1. 00.0Ohi
в t 1 о д P Я е lх1 - к o д R l l a ч а ] I o( o , . l o в 0 iсi с к ц Л l ro т F s , г o f f / ] o F s ' r o f f + 1 . 0 0 ' 0 0 ;
llсрссчl{ть|васм I m а 9 еs i z e ,
Tппoвoii nnroРlп.м,J]tcдpellия llуl.сIJ rlеРеtloса 3а|lа,llloii ГpаllllцьI lIсрroii сек
цr|r' llьl ГJl,t]1].rг
Taк:
. сIllITьIвaсN] PЕ-з;rfoJ]oвoк;
. cсЛ I'l0A < 2000h,ЛуЧ x Iс oTl(a3ат Ься oт в |lсдроI l Ilя l 'гaк кlll( qrаi'iJt6удо1. Ilсpil6oто'
сnосoб0II пa wiD(lows gх] Ilo 0сJlи мьl l]сc.,].aки хol.ttlll BIlс/lрl'тЬся) To:
o у с ' г а l l а n Л l ' I r а с мЕ A l , l 0 A Р l в f l Ь I м I 1 2 0 h ;
o д x ' l к а } к ' ( ( ) i i . l c l ( l l r i l l : o с r | | t N s*' сv s- а' v _ а . с s , v s z > 2 0 h п' o д T , l l . и n а ссмs ' v 5 z
т N s ,v - а - . q , v - а ,
o rl,rя lф){дoii сскцlJ |l:oс"цrI v sz > r-szj упeJ|ич]{вnепIiLJIпl lv сеJ(цl,t]тпа v_sz -
г_sz 6aiiт, 1|oPс:"!спlаЯ всo oсT lЬ||Ьlсв 4;llrl чсскоlr o6paзе и странлirl.lпr
PазryлпoдUNlХ
вирyсHый
язЬlк PAзPAБoтки
нrc1.o'rЦI'1ехаксРьI flprLзlrают}Iаl{сиI]yп!двa язьlка . си !I Ассем6ЛоP' пpичсм
пoсЛсД1rиllиJ Irиx стрспIl]тeльlIoyтРачltваст сь.]] Ilозriции| yстуI]ая lfестo Бerj
с]lкy' DеlPhi п пРoчeiIдpяпIJj ]lа кoтоРoii элегarlTньlIiвиPyс Iiевoзl{ФкrIoсoздaть
сPEдстBA A}lAли3&
oтЛAдlки и плAгиAтA
Hу какoй виpyсoписатсЛь мoжeT yдep){aтъсЯoт сoбЛаLзпaпoпoлнить свoй за]1-
'leчныri мешoк зa чy,.oй сЧeт' вътДиpаяидeи и aлIopи].Mьl и3 тeл пoliавrrlих к tlе-
\fу в1lpусoв? Чaще всeгo виPусaI!Il oбмeпI.lваютсятст.а.теT, кoлЛeкЦпи, найдrн.
ныe в сети' llля oпьIтl{ьtх хaкеРoв нe пРrдставЛяIoт пlllсaкoгo и]]теPеса, lloскoльlсy
нa6иPаюTся и3 отI{PытъIхистoчпикol]| Ilo для 11ач наloщllх исcлeдовaтелсIl этo
стPyкTyPA ЕLF.ФAилoB
(1P!N|yРlr ЕLГ(])aji'lloв GxхlrаLщxlllс o|..'1?.l|,i|,] t|l ]-in|nbl? I:onJ]аt) n сo\
\IнoГo o6Jjll|\ чoP'| с PЕ (P|,||аL,h!h?|1lIiоl]) o.I'OL'']Ь'IlIi.ltоJ'Il'сllы'' 4)оl)['lt
l.{,l1п"1атфr,p11ьI
Windo\,9\ rl NT, а lIol.oilv IlоIпLспllI1t.r (]хо.
llt l,rРа'i.l],lя ll('iJr]\|:l
:lilj xотя Il PеаЛr]Зy1.]тся l),lзJIllLllьIм ot)p.l3оlI.
(. в],|с('lьJ Лтl'чЬeIo ]|o"1eГrF;I-l.4)x]tJr x]',lt1l'lс'll1)с1\\я||||\1||'Il:I'Jца.0to|}м (Е]']:.
ieа(tеГ),oпrrсыв:lI()liIeГоoсЛonlIlnеofu6е]lllостlill.Лrcдеlll1я4)аii..\,з{lxl,|o|ка11lю-
||n'u,|люl1 lпаа1l1l,||n(p|QgГiL|п hеedп. titЬlе) r' о,rl|{'о ])J]l.1IlссL{onl(tl\ .l]lлc]/,,O(J
(sсgInсn t). сoдеP,каЛl! lх l!o/L'rn l !l l LlIt!l ||зllро tsi1]
||Iь]t]/lIеll Ilr lЦl lanllзиРовaннЬll] даl l
llьlе u ]lрoчllс с']Рyl{ГуРьL ("'1и(lrlillг 7,1), Кn'{дьLii сcгll0r1 llPl]Дt]та!,jl'ст сo.nrii нс.
lЦrеpЬlвIlуt(J o6ЛaсTL' xаrlятrt со свOxмrl aТpn;у|li!ш дoсгуjlа (кoдовьlii сorмсIlт
06r'l.шrj jroстl]Iсн To.'lЬк тIr]д:lIlнЬIх nостyпrjъl каli \IlIi]]I
\!vllдЛ'I чтetnlя' a пР]l }leо6toдIlIlостlr rщ{r п для зап11сп). ПустЬс'цов() <ссl.]vll]lf|'
Hе ввol{i,т вас в за6лyл{денIlе' ничего oбrl]ei'o с се].N1еrlгIrоii r!|()дenьt) rlaмЯlrl TуT
lJет' Бо-rтьппnlс.Гвo 32 6liтllъlх реаJи:!rц li 1]N Iх,а п o]'leпt:LI0'l. tsсс сeгIit1L1.rnЕLlr.
l)xiiЛа в оцfllI4-гигабaiiтllЬJil <iпРоцeсс.]рп'Ii.i' ссl.NlсIr1, ts IlаNl'lTll всс ЕLF-ссr
\teIП.ьl '1oJl'кIIьi въjpxnllпвxться nо ]]еJIпtliп]t](j,L.рnlUrriы(lIir rr86 pавнoii.1 ]t6lliЛ.),
глава 7. вирyсьв миреUNlх
Pгo9.аnlrЕid0гLdb]']
sеgmerrt ]
segmсnt2
s e с l i о nh е а d 0t' га b l о ( O р l , l о n a ] )
oспoвIlьlс с'lpyктvpьI liI,F.()trii)ll зa]raются в ()nй'iс /Usr/iпс|lde/elihи вьlluядят
сЛeдyющl]NIобраЗoм G'||,1c1l11 Lt| 7,2-7 '4,'
t
u n sgr n e dс h а . е - i . е n t [ Г i N
. I!ЕNT:]
tlfз2 Halr e-tуp."
t l T 3 2H a l f е m а с h i n е
Гli32 lioГd . veгsi.n
ЕliЗZ.Addг с eпLГy:
ПiЗ2 Oli е.,рhоffi
Еlfз20lf '"'shofii
t] г32 шо.d е-flа!s
Е l l 3 2 H а] f е-еlr5]Zei
Е ] f з 2 - н а l f e р h е n |]sZ a
Еlf32 Hаlf e-llrnumi
ЕlIз2Hаlf е 5hentзi7e;
Е l f ] 2 t ] d l] e slrпum:
ЕlfЗ?'r]dlf r slrst.пdt:
] Еl f З 2 [ l r d г :
159
листинг 7.3. стpyКrypар.оglаrnsеgmenthеаder
ЕlfЗ2 шoгd
Пfз2 Off
ЕlfЗ2 Аddr
Е l f З 2А d d г
Е l I 3 2l i o r d
ЕlT32.!Oгd
Еl г32.ЦOгd
Еl |32 l,iогd
]tl'32-Plrdг:
листинr7.4.стpуl.|ypа
sесtiоп
headеr
{
[]fз2 liогd
Еlf32.!]Oг(
Е]r32-дdd.
Еli32-0iI
Еlf32-lOгd
Е]fзz-liord
Еl |32-Lioгd
I l f32-L'lо
rd
L]f32-|]огd
)[]fЗZ-slrdr]
3a 6o"rссrrrl,цPo6rкlй o6Pащ.liiГ0ськ oр|1Ги|ljlЬl()ii сIle]ir'rlnlкaцrпt
иrlrlroрNlацLIeit
ЕLГ{l)аiiJIа<ЕхeсutaЬlеаlrd LiпkаЬlс гoЛЛal]_ I)(лlaЬie]iЛ]]]аtsPесiliса|iол''
сoс'ГaBлeIlItoit' ссTссTвснl1o' nа аIJJrllliiско]!1 язЬпLе.
мEтoдЬl 3APA}I(EHия
ПPirсTсйшljй и llаибо",rerунп вcPсаJ ЬflЬlii r\1с-l.oд зapa)JсеIll'lя свoдllTся к пог"l]oшtс
н r r юo р l ' r r l а , ь r ,' г ' ' ' | ' r r , 1 iп ' I p I . o \ |B I n I . l . o l | , , , , , l , l ' | , | B : , r' ' |и г | | | | . l , | ч , ' Ь | i ]
фаil"'lк свoeмyTe.nу кaкo!еPЛcй, a д,пяnсPсдач Уl1рав"цеllпя)керTвепpoдrJtьrва
ст o6ратпьrй rrpсlueсс пpoпyскает псрвьlс vj гus-size 6айт своeго Teлa (что о6ъIч
нo oсyщссTtsЛЯетс, фyrlт{rIиeIiseek)' считьIваст oсTавIrllijся хвосr. '1 3аписьIпae'Г
егo вo вpсI1с}lный .l)аjiJ. ПPисвanваcт атPи6уT l1с]loJtllясмoгоп ileЛaeт eijy еxeс'
пpоДnaPиTеJ]r,]]o рaсцeп в Nlaтер!rrски!.iпPoцссс фУ11кциейf oгk. lIoс,re заReр
nJerrияpa6oтьI файia.'керTвьI виPус },даnяетвpeмrнньIй файл с дискa-
o п и . J I l . " i ' 1 o р . 1ч э . | ' r l , н , 4 , l Р . г р a r l t l ^ , , t . я r t l л r o 6 " r , q , ' ь , , . п D о - D l v l | | | P о в i
пия вплотЪДо БrliсIrка Ll nPиr.одсllкак ДЛяllсIтоЛIlяемьжфaiiлon'татtи Д'iя скpип
Тoв, oДflа].o elrу пpliсущIi слеДyющис нсдoсl.атки:oн ]lIедnитeЛell!l l!е'лeгaнтeн,
Tpс6уст воэI1oж]]oсTI.l записи тrадIrсI(и пpaв устaнoв]rиаTри6ута <.исllо'1l lяеiuЪril>;
160 rлава 7. виpусь|
в миpeUNтх
. вlrpус oткPЬlваст файl rI' счптыn;rя еt'о 3iL[o.Цoвo(l y6е'{/lae1ol ч,l.о этo дсil-
ствlrтeльпo ЕLF;
.IiРосмaTРUBlяРгogгilJ ЪсaсlсrtаЬlс'впP},с()'Гl,l(кивilстпослrлlllliiсeЛ]\1еllTсаT.
pи6уToNlPL-LOAD;
. lI:lйlle||ilr'lii (cfllсnт <.PасlIахI.IRnется>
l1о коlI]lil ()ilii'Ца ,i увелll.I!lRаe'l,ся ttit вс.
ЛиЧиllyl pnвнУlo pa3]!lсРv тсJJa l]иpv(а' Чтo o(ynlссTRnяе,Г(:я пy'|сi\l сllнхpolJ.
Iюii кoРl)екцUи l|()]]сй р_fi]ez lr p-memzi
. вllPy( ]L()llllсI,lBaст сс6Я B l(oпeil заРaжarмort) ()iLii",lаi
. /Ul' llсрсхв1\1.ilуIlpaB'ltсll|{Я IJllp\,( ((DрскTljрус r 1)чl{у 'хoдд в.DаiiЛ (e-entгy)
Лrlбo ,{c вlrс,Q'Icт п ,,(l]]|ilIYI() Tol|ку вхоn:t jlnp пir сI]oс 1.сJю (ПlIl)()чol']|мсТо.
'l'0i}]ll()1)(с'!Il||ofобOJIЬl]l(Л,o
д]lкa псР0хвil,l'il у]|Pа|J,rlol]l1,I I)азrorropa)'
TeoрeтllчссJol лltPу( iuoxr.l. lJl ll]Лрl|,].l,0'в сеРс/lllIIly (l)aiij|а,дoIlисаl} ]oс TeJ|o в кo.
llсLl кодoвol'o ссгNlсllтil ll сilIllIllyll ]rсe |l()сl.Ilс.]l\llоlц|lс
ссГN|с|lГьl ]]lll|з' o/llJ.l]{о iTи
}Toм eNlу Ло'l'Po6у0Tс'l сrroPрс|{1]1Poв1lTьRсe УкillJil].tl'rItJllil дчсiiк|l ссгNlcllта Дall.
}Iьtхl llo(llollьI(у ](ослс з^рlл(ollIIл ()lll1 6у]Lш рa()|o,l]ill.ilТl]0яЛo соRсPпle]lIlo /Фy.
].uм а/.lPeсаNl' l!l1к llllрlIillITl ||cptl'l |](lPсдачL'lI YIIPа}rJсlll,lя |lpoГрiшI]\l{].||o(It'Гonю
Ilирус ]\llDкеT <|lo/11}t] lу'Гrt>ollvщс|lllln. ссгl\]еll1]n вlleрх| Hсpllyв их lla свoC зalLolr'
нoс мсс1.o' Oдllдко eс"Цlr4).li.ijl содcр}{u,l. ]к]Pollоlllас1N{]nс:ljlе]!lе1f|ЬIЛЛи llpoчno
слу'(е6ньrе с1.РуктУрl,|lLnlrr|Ьlх, ]rllрyсу llх ЛPидстся сr(оррe кT Ill)()п|lTl)'к),кс! в llPo-
TивtloN| О|учаo сuс'l.сNlнl,lil зaГPvзчl]к Ueо6Pа1rlNlo l|скаlr11 зtlPа'rснl1ьrй файnj
и ГоT oТI{a)l{oTв Pa6oтс. Bс{r э,Г.] сЛI.пlIкt]NlсЛ()'кljo дЛя riaчrtнаlolllllхj a llоToi!1у
тlиРусьl п0д()6l]о1.o ,l.иll a llс IloJIvчn]III 6onьlI]оГo 1)aспрoсl.pа|lс]ш1'l'
Тeopеr.иvескrr вoзlroясно внсдрrrться в о6лaсть' ()6pa:Joвaннуlo вьIраuн вaпIiev
ссгl!1сI{тoв в пa]\{ятIl' Пoскоrr]ъ].y ].РаxиЦri ссгj!]сяToв всeIда вl|IРавltивilloTс'l I]а
вrJпrчlнv '1 к6ali.г' пie'i/iу l.оllцol1 ti0l1oв0гo сcгIlcнтa lI ]lачаЛо]\l ссl.Iiсl]r.а даl1'
пьlх 06ь]чIю ]!1ожl1oнaсl{PссгI1 ]lскoтoрoе ].оJ.I]lчес1.вo11сзaнЯтoro прoс'Гlraп.твnj
oдtlакo нlп(акllх l.аРaпl llll llа э'|oT сrсT y Ilaс нет' п пo'Гоl\1уlLJlя ,.lрllжcнля пoдхо
дяr даnскo нс кс фаiiлъI' этоделаeтся таI.:
. вирyс оTкpывaеT q)aiiЛ tl, счптl,Jвiя e.o зlГirловoк' !6сждаcтся| чтo это /]eIi-
ствrlтeJьrtoЕLг{lrai:iЛi
. пPoсNlатp]]ва'IPгo8тап ]rеаdеrtaЬlе, в'lрус llaходnT сегnltrrrтсатри6yтом
P l . O A D l |, P A G |s | / ' ' р |,]esl' / i " J s - s i z 6 : Р ' , | | ' , | a е , l , | , ' t , l ' с , | ] \ , l н | аГн
вr'pyс oTкaзываeTся or. ]aPа,лсil11я;
о6цаясPyкrypа И сrpатепlявиpyсa 161
.p1tr08000458 . p . r n t r р г 0 сn с а .
,р]t:08000A58
рlt:08000А58 Jmp ds оff s00628с
.р]t]08000А58
qоl 0800628с оff-800628сdd Oгfsеt рГiпtf
F|.00 6с 6 9 . 6 26 З 2 Е 7 з - 6 F2 L 3 5 0 0 - 7 З7 4 7 0 6 з
0000065в]
0000066870 79 00 7 3 7 4 7 2 6 3 1 a : ] 90 0 6 9 6 Е . 6 37 4 6с 00
7A 72 69 6 Е 7 4 6 6 a a 1 З . 1 47 2 6 5 7 2 - 7 26 | 7? AA
0000067вl
B кaкoe мeс'гo 3Toi,itlепочItи lloясе,I.lir€ д pиTЬся вируc? ЕIy' пpс,{'цевсeгo оfl Nto'
жeт сoздать пoдJto'(tlуIo та6',rицyстРoк, псpохвa,jl,Iвaявьlзoвы Bсех l,llтlrPссуlo'
щих eтo фyнкцЙii' Чaцс всcГо 3aРa)кeниIoподвсргaIoTсЯфyн!щlr'l ргintf/fpгintf/
spгintf (пoскoлъкy 6с3 эToй функцtlи llе oбходI,tтсяIlPalffltleск],l ни оДna ]ц)o.
граммa) и фyнкцпи фaliJloвol.oI}вoдa/вь1вoдa' Ч,гоaвТoмaт]'lчсс]tltoбeспечrвa01
прoзpaчньrir lrсхaIIизlll пo'tскa нoвrrlх'{eрTв jlЛя зaPфкепllя'
BиРусЬ1.спут}Iикпсоздatoтспeпи:urънуrо6и6лrtoтeку{IеPсхвa1чик в.J всeх зaPа.
я(асмых фaliлaх. пoскoЛьку IDA РRo lЦlи дизaсссlr6.'rrrровaп:пrЕLг.фай,loв
lte oтo6pажаeт лмя ипlпoPтllруеNloii 6li6лиoTскl1l 3апol1oзРrr'гьчтo.тo ]leЛаднoс
в этoй сrtryации }Ieлeп(о.Itсчaс,rЬlo'нЕх-редaктoРьI ещe lI1пrToне oтNlеllяЛ'r'цPу
гие.ке вирусъ] сlсЛolrнъINiallllllyЛирoвать ItоЛя]!лттЛo6anЬrrоijтa6ЛиЦьl сllещс.
ниii' пeрeусТaнaвЛrlвaяих на свoс 1е.J]o'
ссЬIлки пo тЕltE
вoсhs
Пк с иIlтeгpиpoванньli!1
кaчeствеrrньlйэму''Iя'ГоP внутPrl,хорo
oтЛадчикоNI
ш o п o д х о д ! i - д , ' ' к с п е г , , I ' e н | о в ' в и p ) с 3 r ' | н р , o . P ' L ( 1 d c I l l l oj | в а U . , l а .
6ovel.t lrarшrrнe 6eз pискa у]rичтoя€ I ]1lя 1lнфоРrlаЦllи. БесплаTе1r' Pасl'lрocтрa-
ttяется с исxoдllьlми тексTaми'
http://boсhs'sourсeforge,nei
164 главa 7. виpyсЬrвииреlJNlx
глAс нAPoдA
'.Iteкomopьlе аОмuпuсtnpапloРьl |loilа.aюп'ц]na oi UNIх |uР!JIxх|
lIm' Bu.
pу с1j|жr n| udеР Э1с
uво|I}
]nся u1lo2aЛx е1l,uя;
, ,1l( к|l]|lUРьц
6nпtl'o]n ц о|]",v| nа ur'*'h юal Bur'ц' bl .'ьrя',, l't'tк,ttлol'-l", 'l'л' ,t' ;
.,'маnoцualе1l1юсnъвuP!]|bв в r|uРc UNIх комnе]lсup!епI:я оt|ю!]nс]nвuе-i||
ap.rraп ь1|ьLf d н mu|ruР цсо.];
.''oсaлu ]l|С - вoЙ1ос1юo|1ьlе uс]|loц|lulilli,ш nano]]]|aшявtlшcЙ кonnеxцuu
зHAкoмствo
циPyющимся кoдot"t
с сAмo}4oдиФи
oкyтанпьIй мPакoм Taйrrш,oкрy)кeнньlй пев0ir6РaзимъIм кoличeствoм мЙq)oв,
зaгадoк ]l Легeнд' сaмo!!oдифпцUрyюциiiся кoд lleoтвpaтимo yхoдит в пPо.
шЛoe, ]шr-'ДЛeппo PазJlагаясь на свaЛIсеIlсториI'' PaсцвrTэпoх1l саlloмoДификa.
-||пa deьug.сom
U | | l lу ) { р ' I o : ' J J и ' B o в D r м c t | ан U и l | , l е р J к Г l l B I l ь lol | , 1 a д ч и | . ( ' n
l1 пакeTrrьIх дизасссм6Лeрoв тjlпa sourссг сaмомoдифllкaция деr1ствиTельнo
сepъезнo затpудllяла arraЛиз,oднalФ с пoявлellиeif lDA PRo и Trr.Ьo.DeЬuggсr
С а v o l r о д y ф и к а u и q Ь e п P ( l | я 1 с Г в у с 1т р э с с r i p o ь к . .и л л я o r л a ! ч и к а o н а | l o Л н о .
стьlo <пpoзpавнa>'Co статистическnм allaпизoм дсла 06ст0ят нeскoлькo слФк.
неe' .{изaссiм6лep oтo6paжаrТ Jipolpaмму в тolll виде,в кoтopопr oнa 6ьrла loлy.
чeнa нa мoп!eнT сttятия дампа иЛи загPуэкll rtсхoДrroгo файлa, нelЛасlio
paссчитьrвaJl lla To1чтo 1lи oДнa иа мa['инньrх кol{aвl{ но преTepпи'г измепelrиt{
166 rлава 8. oснoвЬ|
самoмoдификации
/4 хХ jz t]ss.a'ay п e р е х о ] lс,с л [ ф л а гн у Л яв э 3 e д е н
t8 58 '' сd,l] pГо|есtpгo. в ь з о 3с с ( p е т н о йф y н n ц и и
L e х t0 0 4 0 1 0 1 з
iext:00401015 jz shогlloс 4010]с п е р € { р 0 с т t Lсr.rьЙл t r иr e r l
ieхt:004010i/
сГeпеPиpoвaпtrая пrрeIФестная ссьшкa вeдет в lЛу6Iiнv 6и6Л!lотeчноii фyнкЩlri
кoд I]Л.
рrintf, сrтyчайIrooказaвпIейсяlIа 3тoм : есTе'саru )кe Nloдt1ф]lцltрусNiь]il
нeм нe вьrдeляется фoпe нa oст:UlьIlьш мaшиппьlх кoмаlrД' и взлoмп{иrt 6УДет a6.
сoлютнo увePсrl' чтo зДссь пaxoдится ril1енн0 Jz, a нс JNZl Естсствеr]нo, в дапнoNl
| 1, ' ' L п и Jв, . д | , | , lI l | | 1| A п - l . | | e д n) l ( p . o i e с t D r о с )
' . | у ч a с, т о н е с | | Л ь н oy . , U ) к | | | а
-
тoPчит y хакеРa пo/l сaмьlм пoсon1lи eсли он нe Даун obязaтеJьllо пoJrюLroпьI,г-
ствvет. oДпaкo eсrrи пoдвсpгпуть саNloмoдификaцrnralгoрl]тl{ пPoвeРп]{серпrl
ЛЬlх нoмеpoв' заltеllяя RoRнa ROL'взnoмцtrк 6удет ДоЛfo ма1.ерIrт!ся'поч{rl1уerо
хакеpскrriircнeрaтop tlе сpа6атывaет,А когдазarlустlrтoтлaдЧиI( зapуIaетсяепIe
гpoN!че,поскo.цьтryо6нарРкirт) Чтo ero по мелrr,незаl{ет]loзаi!1ell'lвoдну Nia rин.
ную кoмaнду ДрУroй, БoЛьrllriнсTвохак€ P oв' кс'Гатис(aзa,гЪ'llNlе]]Лoтакn пoсту.
паюT' зa]lDягaя oTЛадчик и llизассеNlблеp в оjllly упPяjl(кy,
168 rлaва 8. oснoвЬсамoмoдификации
пPинципЬlпoстPoЕния
сAмoMoдиФициPyЮщЕгoся
кoдA
Pанниe мoдсJ1и х86.l1Рoцсссopor нс пo&1epжuвall л lto].ероljтпoстll i\lаlill,lпIloгo ltoда
и нe oтслOlt]lв:LllиlloпьIтoк п{oдификaцl]лl{oltаi]д'y'{е }rахo/.iящихсяrIа кr}iвcl:ie
pr, C oдlroй стоpollЬl, это yопolкня.торазpa6откv саilloмoдI,Iфlrц]]Pyolliе].oсЯ кoда'
с дpyгoЙ . пoзвojlялoдypa.rпть oт".ra,1,tик'
ра6oтаIоIци1iв тpас(иРyюп{еIIРс,rlЬJе'
ПРoДемoнстPируerЧ этo нa припrсре"ltrстияга 8,5'
-];1нципЬ кoда
самoмодифициpyloщeгося
пoстPoениЯ 169
lибин.8.5. мaL!инной
Ploдификация l2(е наХoдЯцeйся
кoмaндЬ|l на кoнвeйеpe
r'tl]i.
aL 90h
sг0sB
пPимЕчAниЕ
WindоWsсoвMeщaют
oieDациoнliыeсисreмьсeмействa кoдoвЬЙсeгlieнтс сеfrентом
данныхв eдинoмаApесном а
лpос|ранстве. атриб!тЬ
пoтOt1y Чтeвияи испoлнеrrияAля
а d . е а х ,t e s p + 8 + 4 ] с ( л а д ы 3 0 e i / g ы ч и r аиeэ Пп e p в 0 г od р г y l 1 е l l тват o p o Й
в e с Х а Л р e сн а ч a Л аи l с r p y ( и и a d . е а х . , '
хог byte рt. [еdx]' 28lr !€няен aod1а sub и taoоoрот
в0звра[Laeiся3'1аlcршlскyDфr|кцию
l
еnd(){/* коПeЦсaмoвоЛифицирyюц€ Йфyflции
с' */
]
r n t ( с n e с l * s е li . m o dс о d e ) ( ] nаt , r n t b )
// кOпируeIсaвo!одифициpуюцийсл
кOд в стек/(!cy
memсpу(selimоd-соdе х 5e]f_mod.соde sЕLF-sIZЕ)'
o ,оо
"д р l0 рo'
f O г ( а = 1 а < 1 0 а + + )р г ] n t f ( . ' ъ 0 2 X ' s е l f - ] i o dс O i e ( 4 , 2 ) ) i p Г i n t f ( ' \ i ) |
фм
посrрoeния
эЙнципь| t7L
jh|я | | с о б х o l l L t \ 1 (( )) | l 1 ) { r д с r l l П0r1' . l l P 1 o .
у с п с п п | o i i Р . \ с I u t t 4 ) I ю | r ] (I ll l| ю l к ) \ \ , | ) l n, l i l N l
в |l l ^ I U l 1 1 1:,, T о J l o П ( ) ( i Л r p o м 0 | l | | Ь l (':: l Ь I I { l l3 ь l ( : с ) к ( ) l ] )
в l ' I i i i U L Р е сс 0 P ? l r l N | с I l { с l l l U
y р o l ] } l я | l ( ) Д I с P ж I l i r а ю тo l l с р : l l l п п с l у | i i l з i L ] с . l l ' л l |l|j r 4 Ц ' l l l ( l L l 1 к )]'l i l с I I / С + + ] I ( )
*рi ('Jо'{'|сс l|l]i'0РЯTЬ
в ь t г ; r я ! ( r r , r . п p r : 6 : r и з t . r т с " 'Tl ьаIкx])v о j d р = (void*) funс:,
. i Т ( ' r I l ' Ц l ' l п ,сIРсC ' l .
д Л I r п у ( l ) у 1 I к I l l t Лэ,, | о в a N l | | с Y Л а D Il | | | o l I у r i l I I 1 . Y I 1 сI I o , l l х o д я |
-ril ()|jpе
с'].ваяlьп(а rtс лРедос11l в]|яroT l{оii возIlo)]{||()(1|ll,I1 JlРихo,rlrtTс,Iхll,Ц'I1'Ь'
(|)УlIIL
дc'llяя /]Лrtнy кlLl( Paз!lL)сTЬДпyх у кillxтсJlсii: у lixзaтCJlя lr.rlаllIlI()Р()Пaппvю
зa i]е коllIl()]i1'
цrlю rI yI(aзa'rсnя rla фуIIкIlltIо' pilсll()"!о'(сllll)lо tIolI0сI)ецс,гвсtlIrо
PазуNlеетс'l, ссJ]и кo}tll']'lIятopу захочстся nIlР\rIlrlГrl ц'|\{|,|IlснIlЬrii поря]rolt сЛе ,tatt
доваlIия фуrrrtцur:r' этoт ЛРIteм нс сработаoT ll рtrсIпrr4lшlltrlа пoiiдсr цахo;rr,
чтo ]rсp)сJтс свoii хаксPсlolii хвoсT в 6oerrоl1 сoсToя п IrIl I
и пoсJlсдlleе. llll o/1].'llrIз tsссх llзвсс'IxЬlх i\I]lс кONlllпЛя'ГоPots tle пoзвo.'1яет гсrio'
вPyч.
DпDoватЬ зaпIЛфPOва1lньIй l{o]l,rl эTу r)пeРaцIl]o Iц)liхо,]пTс,] oсуп1ссTвЛяTь
нyЬ с пoмoпрю 1lIЕW,a l lи сRоIrх (L)6стnсннь]х yтиЛ'lТ, l1{) как \1Ьl llaйд0Nl
шифрyемую фУпIщию в Двoич11Oм lhaiiJс? Х:lкерЬI rк:по-tъзуlоТ llескo"'lъrtо коrr
кypирyloшrtх спoсo6овl в завltс]1IJосTll oт сllTyaциx o|/IаваЯ xреllпочтсrille тo
oдtloмy' тo дPуIоrvIу из IllJх,
в пPOс1eйrпем с,rУчаe ll]rllфIlуеr'Iая ф\пкцпя ot{а11тoBЬ|ts^gГся ll|1p]tеРа]lu у1IЙ-
rсалъными 6аirтoяьrI'пr rroсЛeДoватсJtЬlIостяlllI r'al)аrrтllpoв.L]|пo rrс всr'речaющи.
i{исЯ в oстаJlьяЬIх частях проIрalll1ш, o6ы.rllrl ltaрксpьt задa]oтся с поllоЩЬю
DB, 11aпрпмсР'
l1иPективы emit. прeДсТaвxя]оIilеii сo6oii ilнаxoгассем6]lсРlLоIо
j лсPeьJrщен]t
oтaнl]l,rс]oсat'оп
172 rлавa a. осHoвьЙмoмoдифиrации
. л е z i У ю L l x ях o п с | n у к J n с с o з * а f l | e к с , о в y l oс ' p o { у ( P N с : а s n 'к'
,P' 'N' еnlt аsm
еIтi! ' с ' ,
_аsm enit _dsт en.t Г o л Ь | , on . n ь r " и ' * n p u . n o , , ъ *
мapw.PЫ внampu ЦLIфPyeп'.]йфyJrкцrl[ ПpоЦессop lle пoймет юмopa 1rвып.lю.
нeт исключeниe' нак:l"IьIвaiiтс yаp].еpьI Irа вeршипy и дпo
функции, нo ]ie тPо.
raЙте ee TeЛo|
Bьr6op ыrr.opитruarлифрoвания пe lipиrЦипи:Uie]l ' кто тo испoльзyет х0R,ктo.тo
тягoтeeт It DЕsиЛи RsA'Естeственtlo, х0RЛoпlаетсянампоtю пpoщe' oсo6eлиo eслlr
длина ключa невeлиIсa. oдllакo в демoнстPациorIIIoМ пpимсPе, пpивrде}lllojll
Ilш1(е|п!ьIoстаIloвtlмся имellнo rrаIoR' лоскoЛЬкyDЕs/Rsqкрaiilie гPoмoilдки п сo.
вepпIеIrflo не нaгляднъr (лисTинг 8'7)'
'K .P'
m a Г k . b e g i n ( ) { - а-5em
л]t _asir €mit i 5 л t ] ] t ' N . ' а s m - 1 r лj | с . ]
/ / з а ш и Ф p 0 в а вФнуаl rяi ц и я
i O г с г у р t ( i n tа 1 n Lb )
{
)с.ypt-end(){]
с | у р t - r t ( L r n s ] 9 nс h
eаd. * p i . t с )
{
int a fо. (а = 0, а <с d*) *p++ ^- 0x66
l
{
// pасшпФровьaаем
защитнyюфункцию
с.уpt.rt((0nsignеd
сha.*)foг сГурt сRYPт.[Ll,
// в63ь3аем зaцптяу]0 функЦию
pг]ntf(,u02хh\n'''O
с гry p t ( 0 х 6 90 x 6 6 ) ) i
/ / з а ш и ф p o в [ вOaпeямт ь
с г y р t - j t ( ( u n s r g nсehdа г * )f o г - с Г l p t 'с R Y P тL Е N ) :
]
oтк-oп!пиnIrрoвавэтy nPoгpaпiмy o6ьruньIпro6paзом (}rапPrIп!еp, с] 'eхe /
с Fj]eNаne.с)'мьI пoлучим o6ъeкт1rьI!1
фaiiл Fi]eшаme'oц,
Tепeрънali нeo6хoди-
мо cкoмпotloватъ llспoЛняeмьIii фаiiл' rlPедyсNloтритeЛьllo oткJlючll]] зaцитv
кoдoвoй секцl.Iиoт зallиси' в ЛиirкeрeMiсгosoll Liпk за этo o'u""o", n,.u
/sЕсТloN,зa кoтoPъIмrrдyт l{llя ссlщlrи и }rазнaчасN!ьте
еi:iаTpи6yтьI'IIaприn,еP
] jnk.eхeFi]еNаme.obj
/гIXЕ0/sЕстI0N:'teхt'ЕRш.
кoда
rри|ц/пы |oсгоое|и9ЙцоyoдlфицирyюJreтсq 17з
Pис.a.1. u,]ифpoвка
защитной в illEw
npоцeдypы
1 lIpи !ппrcвкe исфляяeмъIх файлoв Мs ]ink aвтoмaтnчeски лoдстаыяm э1ol Мюs по }мoлча.
!!ю, тaк что eсли l1ъl за6удeм eгo yлотP06!ть! п!чeтo yxасioгo пе случптся'
Boттепep6 }raшJфайJl готoB IсвЬIпо.llпeнию'Зaпvстип{ eгo и'.' кoнсч]io )кe' oн oТ-
к&.кетn Pa6оте, чTo ж| гIервьй 6JrIrпвсеrдa IioмопI]0со6еIr]10если тeстo зап{eIra-
no на саl{oмoдифI'IциPyюUlеllся кoде! пpизвaв Irа пoNroщь oT.laдчик, зllpaвьIй
спrьIслriдlзaссeм6neр' I1oпьITайтeсЬ onpсдeлиТьl чтo иI1еннo Bъl сделалlt нсIlPа-
вилъно' Как гoвopIrтся:
ЕI]еrybad!
fаIs thеfi|st ti1пe
'
(с)тheмаtrix
.ц06ившись yсILеха'зaIрузим пслoJrняeNIьIiiфаiiл ts IDA PRo и пoсiloтРl,lм' как
вЬi.ляlil,IТ зalпlфрoвa1rпaя фyнкllия, БPед сI,Iвoй к06ьr'rы, .цaI,l.roлькo (ЛистиIг B'8).
листинr8.9. испoлЬзoваниe
viltuа|Prctесt
длякpаткoвpемeннoго
oт|(люЧениЯ
зaцитъ|
отзаписи
наЛoкaльноМ yчасгкe
сhаг*р' int с)
сгурt-lt(|'isignеd
{
' , / в 0 с с т а я а в л и в азеal ц и l y
v i r t ! а l P n r t e с t ( р . с , P А 0 Е . R ! A D O N L( Y
D / j с п D *&)i )
МAтPицA
] I{)J I|оlIeriнiя pабo,lа с с:LNiоIloдt]фrlш1Pv Io|цi irJсЯ rioдoi\1rtсвoll]voж па 6сз знiL]l] l,l
. l l к ( ) д o в и l l с т P y к ц l t i i n I l P l I ] i Ц ] J п o вt l х к ( ) д l I l ) o | l : l Л l t я , l l o l l y с 1 r l l lI' I Ь l х о т l I l J з а i к }
] I l I 1 . ЬI l : l l I l } I l l п y I o I i о м r I l / l у х r l a Y ( / t ' ' 1 ' O ] l Р е j l e l с l l ] 1 o с r l l l | у с r ь ] т o 6 у д с , |
p . D DЕ A х ' Е в Х l l s U B Е А X ' Е в х с o о т l r с ] с T Л с | l l( ) )
^1 \2 х5
| ,юD I
./n,116 l 116, t /n I a L , i m 8 A х ' i m 1 6
Dх i3х sт |Dт
, PoPд
I . вOUND дPPL
ш sE6 Fs]ш 5Еc Gslцoрsjze шаddгsi2l
Pяс.8'2. Фpaгментта6лицЬ
опкoдoвиз сnpавOчнoгo
pyкoводсгвa
тEсH HELP
s|в
,l
-____,4
L
65 65 з2 0
мацrиHrroЙ
Pис' a.з. oбoбценнаястpуlс'урa к0Мандь
r8(/г) оL DL вL cн Dн вн
r16(.) DX вХ sl DI
|з2|h) ЕAx Есx Ё D Х Евх ЕвP ЕsI ЕD]
MTI/O lvlм1 M М 2 MMз MМ5 MM6
0 2 з 5 7
000 010 011 100 101 11о 111
зqaчeниeModFlМ.бaйта
lЕAх] 000 о0 03 la 2a о8 з0 з3
[ЕоХ] 001 0l 11 19 21 09 з] з9
tЕoХ] 010 02 12 22 э2
IЕвx] 011 0з 1з 1в 23 ов 3з
Ht-.t, 100 0с lc 24 з4 зc
101 05 OD l5 1D 25 OD з5 зo
110 06 0Е l6 26 0Е t6 зЕ
IЕD|] 111 27 зT
01 0о0 5о 5A 68 7A
dsр3lЕоХ] оо1 51 59 61 T1 79
dsр3IЕoХ] 010 42 52 62 T2
disр8tEвх] 0t1 5з 5в 6з 6в 7з ?в
disр6!.]I-.] 100 4C 54 6C 7C
disр8[ЕвPl 101 4D 55 65 6D 75 7D
disр8[Еs|] 110 56 66 6Е 76 7Е
disр8IЕD|] 57 67
dьрз2lЕАx] 1о 000 30 33 90 98 в0 в8
dьрз2IЕсх] оо1 31 89 91 99 в9
disрз2[ЕDХ] 01о a2 92 в2 вА
dcрз2[ЕвхI 011 вз 8в 9з 8в вз вв
dьpз2[..]t..] '100 вс 94 9C в4 вc
dispз2[ЕвPI .101 85 8D 95 90 вD в5 вD
d]spз2[ЕsIl 110 86 8Е 96 9Е 8Е в6 вЕ
dsрз2[ЕDll 87 в7
0о0 с0 сa DO D8 Е0 Е3
ЕФ0c}(сUMN!1 001 с,1 с9 D1 D9 Е9
Е0'D)0DUMM2 0't0 c2 D2 OA е2
ЕФ0вювUмМз 0ll сз ов Dв Ез Ев
]оо cо Dс Еc
101 сD D5 DD
ЕsvsvD|.]/Mм6 ll0 сЕ D6 DЕ Е6 ЕЕ
ADi/0l/в|.]/мM7 lll c7 D7 Е7
пPoБлЕМЬl
oБHoBлЕниякoдA
чЕPEз иHтЕPHEт
Tеxника сaмojшoдифпкац11и 'Iсс1loсвязaпa с зaдач€ r i aвтo}1атическoгo
o6]Ioвnc.
ния кoДа lrеP€ з иrlтеpltет, этo oчепь сЛo){наЯзaдaчa'Tpс6Yюiцая o6шиpньrхзнa
rtиit и IrIDкelIeрнoroмьlпJ'{еliия'вoтнопo.riнЬlй11ерrчсньпol1вoll]1шхкallllеiJ,с кo-
тopьI]t1Il наNIпрlJ]lется сToJ]к]]vться:кa](всTрorlть Лвo],rr]]lъпi
irо]1вrlсltoJI]]яепfъrй
r!ай.л;кaк oпoвeсt.ить все экзeilxtJ1яPь]yдалепIlllii rtpoгPaммъl o фашe o6rioвЛe.
ния;l€ I ( защrIтиться oт l1olЦсilьньIх o6lloвЛсний ? По хоPoшсnjv этa 'ГеN! a тPс6v.
ет oтдeJьrroli rrниги' зДссь:x€ llьI ]!Io)кеN1л}Ir]lь
оvеpтпть прo6лемy'
Haчнеlr с тoго' чтo кoнЦспциIr lf()liуЛЬнoro !I пpoцедypI{oгoпрol.раI1пIиPoваIrия
(6сз кoтopьIх ссtYIчасtlикyдa) лyждаются в опрс]1с.J]сiJIlь]x Nlсхаtlltзп{aхIе)кIIр0-
цедyPtloгo взaип{oдеiiствпя. 1Io пIенЬпIeiiд'сРс oдна пPоцсдуpа дoл'(Ilа vrllrтЬ
вьIзывaтЪ/lРуt}ю, Boт, llaпPиl\lсp| кЛaссLlllескlrii rvсToд вЬlroва фylllrц}lii. кoTo.
pьIЛлеЛаc1.l(o]l неII€ P eNleщlс[lr't]il:
{
р г r n | l ( ' k ] s sa ' а y m уd о n [ с y \ n]' )
l
что здeсЬпcпрaЛиJlьIloA ? в o г ч 1 , ( )Ф
l у l l к ! и я р r j n t f l l a х о д n T с яx I l o ( l ) у ! l к Ц r l и
my-funс'и ec a/lрcс IlallсPеll ]lсl'lзвcс,l.сl|.B ()6ьIЧlюii'(IiЗпп )Ty 3A.,tilчуРсll|аel,,Д,'tl{.
кeрl otillакo мьI вeдь II€ собиpасivс' вс].Pа!t8aI' cгo Л 06I]ов.llяс]vlv!о lЧ)о].PаNlму'
вepIIo? Поэтоi{y llео6ходlr]!юPaзра6oTаTЬсо6с-гвсllIlьliiiltсхaIlltзмrI]!Iпoртa/экс
IloРTавссх Ileo6хolluNI',Iх(l)Уl |к|l}|ii ' ]lс п угай'lcс ЬI эTo паrvIioг0 J|сгчo заll рогрaiv.
мl,lpoватъ|чeм ].lрoи3lIсс-,rl'
в прoстейшсli слyЧаe 6у/(стlLостaToчIIl) лepсдirТЬнlп]еii (l]упlrцI,lиy]ФзaTсЛu нa
всr нсo6хoДимЬIссй фvпкllи't каItаPIумerlTьI'Tol)]lаoIrапe 6vдoт lIP]tвязarla]( свo.
еil1у]tlссгol1oлoхe]llI]oв памятlJ и с].aнстllojlпoстЬIollсремelllасмl (xlIстингB,10)'
Глo6aльньlе lт с'га,r.ичсскl'lс
перe]!lеllllшси коflстаlIT1]riсстрoки lIсlloJIьзoватьзa.
пpeщается (lсомпи-!]я,l'opPаз]!Iel]lас'r]rх в дl]vl.oii (скцl!ll), Tаклtо trсo6хoдr,rпlо
у6еД!TЬс'I в том, ч,t.oкoi]rlпJlятоР в ltoPядI.{rпрoяIl'(erllя со6ствellnoii xнrtr(lla-
тивьI ]IевпсIiдюриJIв кoдникaкой oтсе6ятиI{ъlнaпoд()6rlсвьrзовa4)yllкциii ' кон.
тролиpуIoщIrх пеPепoлlIенио гpаtlиIlс,|скa,Bпpotlе]!{lв 6оJIьrtrппсTвeсJlучacв тa
l,lяи|lи|lиаг||в]JPгкпо ol||,,o\lJ||]цol'гpo,rи,l'|.l|.,i.l||||,|(
в nрилаIаемoji к кoмпплятol]у lloкvl{.нтациrt '
f-](0х666):
)
nDоблемы кoдачepезинтepнeт
o6нoвлeния 779
глAс нAPoдA
..'CаltoioОuфttцupgloщzlliся кaё ooзлoэюенmoлъкoна lсo.цnьюпеp.|х
4)oн-
Itе|й'цaнoвсКo,йapm|neкпуpьl (o1нu u me жe яllеЙtсunамяmu в pазлiuнoe
вpеj||']lvoцm nryа1onoваmьсяu кalc кoО,u lcaк Оaнные):
'.npеОcrnавumеluпpсlцеcсopoвn'\е]|е|1uPеntium o aeйсmвumельнaсm1lno-
сmpoенъLno zаpваpdс1co.i аpхumекnцpe(кoa u aанныеo6pа6атnьLвaюmсяpаз-
dеJtь'1ol,а фotl-J1еiLцанo|]с^uю
oнu пo]lbкоэ'ч1upglоn' noJmoмg LаJao.мo-
ouфuцup! ющu' ся кod pвкo снu'( аPm L1(npolnвoaumеnь]1o. n ь:
.''фанаmы А сrlэм6леpа у вepяюm,umoАc cем6лep noaaеpэ|с
uваеm c0,чoJroau -
фuцup!'oшuil.яцod,эпо ]lPвPpl|o! У АrсеЛ6лopoнеп нuкакuхrpеoгrnаo в
pdbamыс са'rrouo,Juфuцupующttмcя кaDoл'кpaмedl|pPкпuвь|DB' х(1I Iа
1{ая,с naзвaчнuя c1.а3аmъ,<noaaеpэlo|a'еcmь u в Cu|
.ЛABA
9
H^v|тv|и yHи чтo)l(итЬ,
или пoсoБиEпo БoPЬБE
с BиPyсAMи и тPoянAlt4и
'l.]).]дllllUоllrlo'дJIяllol|ск.lILОMпЬl('l.cр|ll)ii]tilрll:!ь|lк.||()'l|Ьi]\'x'IсяalITIlвlrРусIn'оn-
HoBЬlЕпPoцEссЬl
Tpoянсttие пpol.pамIvrьl' oq)oPllrtеtпlьIев вIrдeaвтонorIногo испoлпяепroгo фafi-пa
Il пll]tа]t IJе скpьIваюrlllle свoсгo flрr'сyтствIiя в систспIе (а 6o.riьI]lпllсТвo!iз II,п
Irrreпнo таI( п ус'ГРoено).;tеr.коо6паружпвaютс' д]1спeтчеPoмзаДaч илIr лIо60й
,IPуr.ойyтиЛnToii aпаЛогичноГo пaз]lаче]lия' с]]oсo6поii oтo6рa'(aTl сппсoк ак.
1'ивньтхпpoцeссoв (напPtllteр, !.АR'оrц' xPllчеl' FAIi даrкe 6сl'rсе пpeдnоvтпте'
лен, пoскolьi.y ItoЯвляетсявсс 6о,.rьшeтpoянцeв, yда-.lяtoшrrхсс6я из дпспет.re.
Pа заl(ач).
ЗЛoвреД}iьтйпPoцесс ]rЛешнс нIfie}1 l1с oтлr ]aется oт вссх oстаЛь]I!IхпPоliес.
сoв, и нтo6ъl pаэo6лavить еr.o'тpe6yется знaть всс пPоцeссL.lсвоеl:iс uстоNIьln .l l1.
цo. B чaспroсTи,све'tеyстаIroвлeнIlаяWiпdows 2000/ХIl сoздае'ГсЛeдyющLlепрo.
18з
:isteл(8)
(Зlб)
:l1ss'ЕxЕ
(з44)
сsRss'ЕхЕ
(364) Netl]DЕ
l,l1NL0G0N,ЕхЕ А!rеit
(з92)
sЕRV]сЕs'ЁхЕ
s v с h 0 s t , e х(с5 4 8 )
s v с h o s t , e i e( 5 8 0 )
5 р o o l s v , е х(e6 2 4 )
s m с€ x е ( 6 7 2 )s y q a t eP € г s о n a lF ] Г e ! а l l
uрs € x е (696)
vпlaгe-аuthdeх (i12)
V п r n а t , e (х7e4 8 )
Vmnetdhсp схe ( 760)
Ехt(404)
LsАss
:iр]oГeг,ехe(972) P.оg.amшanаgeГ
пoтoкии пAМятЬ
в noслeднee вpeмя виPyсoIIисaTeли всe 6o?tьlЦеTягoтeю'г к фyнкциям сreаte.
Rerтoteтhreаdи llrl teP.oсessl.{anoгуlпoзвoляющим внeдpятьс,I в aДpесньre пpoстрaп-
стIla у)кe заflyщен1rых npoцeссoв' этo знaчитeлl,нo yслo,Iо{яет вьlявЛeппe 3apa3ьI'
и пpихoдится пpи6eгатъ к стaРьIм дeдoвскиItI средстlам' активtlo испoльзoвав.
шимся eщe Bo вpeмеIla Мs.Dos, кolДa систeмншe oпepaтoрьr следиlIи за
l(oличсствoм св06oдfloй oперaтивнoй пa[яти' сi(pyпулeзнoзаписывaя ]Io(aзaния
}"I.иJIиTьImem ru 6yмaжку' и xoтя пpoсryЦtry леm 6ьIл0 лerlФ 06ман}ть' нa этo
бьIли сtloсoбtьI лltпrь I'eмнoгиe извиpyсoв'
с тeх вpeMeн мнoгoe измeнилoсь. oпepaциol{l{ыe системьl ста,tи слФкtlee, IIo
Bмeстес тем и yм]{ee'ItoнтPoлЬ зa cистeмllыми PесyPсaми з}.tачитeЛьпo у)кeстo.
чился, и прямoй o6мaн стaл пPактичeски !lевo3мo)кilым. floждaв!ltlсь oкollча.
t{ияззтрyзl(Il сис лl'мЬl'зaпyстите диспeтчеn задaч (для этoгo дoстaтoчнo Il;lхаtЬ
ALт+стRL+DЕL)и зaпoмнитe (aщЛ{шeзапишитe) Iсoличествoдeскpип'гopoв'про.
цессoв' lloтol(oв и o6ъeм выдeлеIlнoй пaмяти. при aпсдPellии всякoЙ aвтo['aтп.
чеcки зaгрy)кающсйся пPoгpаммы aти пol€ з aния lleпз6e'сIсl измeпятсяl
задaч_ пpaвнyчатый
Pис'9.2.диспетчep yгилитьmеmвpeмен
nЛeмянник l4s.Dos
(oнтрoльцe]oонoс.ифайлoв 185
l]зме]]е}tllc rtoличeствa fioтoков в прoЦессe рa6oтъl с систeмoй . этo впo-1нс
iJop]\1а.1ьнoе явлe]Iие ]1сa}lo пo сeбe еще нri o чeм нс loвopит, Boт пpостoй экс
, р , ' r ' ' ' 1 , 3 i л J , с т l | | . Б r ] n . l l o т , Д и ' п e - ' | P р J а Д a Ч . o o 6 | l | i 1 . , l Ч v, о, \q'l" e | . q
вссIo J]lJluъoдин пoтоlt' тaк? А т€ п еръ oткporiтe диaлoг сoхpанить как.''' ],iкo-
,lllчeстBo lloтoкоIl тут Яtс lloпo.]iзeтввepх' oдиII пз нriх прlJIIaдJlсжпт лРaйв еpт
.rnу](oвo11 каPты, озвучl.lвающему систсмньIе со6ьlт]ш, oДIrп _ нспoсРедствсннo
.а Ill]Ily д]rа.!oгJt.oстa'llь}iьIе (eсJrи oIrи eсть) прoч11мсисTlrNlньINl ]1t]аiiвсPамl
!Ьlllo'llняюu{lr l свoй кoд a itоIlтекстe данIloгo Ilpoцессa (prlс, 9,2)'
КoHтPoлЬцEлoстHoстиФAЙлoB
OlIсPallпollrtЬlс систeмьl Windows 2000/ХP oснaЛlепЬl сп€ l IIlа-чь]lьIпrI.Iсpе/lс,г!а.
\1ll tlPoв€ р кll llеJloсl.нoсти испo'ltllясп{ьIх фаjiJloв' aвтoNlаТич€ с кl] ]]ьl]loЛtlяIo
]llilNlll(я llPll RсякоN' оr]Pащснии к пиill l,IпPи rlеo6хoд]1rloс'ГIt goсстаIlaвJlurаIo.
] l l J ' N l l lL i с к i D к с n п ъ I i i ф а i i Л в } l o p i t a л ь I l ы й ! j ] д , П o у ] \ ' с l " l ] Ч а l l и I o
РсзсPвIlьIе к()I|иl]
\l)rl|я1.ся Il I.a.г&1ol.aх WINNт\systemЗ2\D]|сасhe и WINNт\sеrViсеРасkЕi]es'
\' ]]]jPусaoс'|Ьшr.t пу,ти:JlIt6ooткЛIoч|{TЬsЕс (зa эrc оIясчaсT сJlсr:(уlolцrIiiкjIк)Ч
:tt!. I Pil: Hк ЕY_LoсAL-|v]AсHINЕ\s0 FТWARЕ\мiсrosoft\WindоWs NТ\сu rrentversion\
..]inIogоn\sFсDisаb|e) ' .JIиб0 сlшl !oвP€ i {el пlo пopaзитЬи сaм зapa)(aсNll''i rbaiiJl'l l Ilсс
l) Рс.}ср3llьlскo||IJlilTаItч'].оllaдc)сlioс,гьaвтомaтиЧсскOii пpoвepl{л t]ссЬмitсо.
'IllIi'Гс,lьIia!l Jlучlllс вссгo запускtlть sl.с вPYчllylo с
кЛюtloм /PlJRGEсAсHЕ,т()Ulа
llIr (Ilпсr.lп 4)аiiЛoвый кэцl !t 3аЦ)c6yст l(!'сTр!,16ЬютивllьliiltомlIaкт /lЛсIr/UUl
ro p.Ito}lс,фvltlu{шjIloсJlс ч0l.o llьIIloЛliит сI(аrlI'ЦоваIlиссl]стeмIiых
фaiiЛo|l Itll
])сд\]с'Г lIoисItil tlосоoTвстств й, ЕсJIи сo l]реNrсIl llсРuоii иllста-ЦJяЦlи lJ сllСrс'
' ]\' noбая.lЯJlllсь 'l.е иJ!' иflыe IIaксTьI 06floв'ler|иii, y'гиЛиl.l
sFC лl16() в()116lllс
llii'хc]с,l llсPссTpaпIlа1Ь (])aiiЛoвI,lii кэш, Лnбo ]rыl(aсT 6.)лI'пloc кoJIlIчeсTB()
'1],l(l|ЬlхсPaбaтъlI]аuиi.i,
вoсстaltав'lttlв:ш o6lloв',lеllIiьiс ф;li'iЛы D их перBоз'rаllньrii
!ll,1, !r|O ']jllo Ilс вхoд'l'].в нaши плaill'. Пoэтoму вссrда прпo6pстаiiтe Windols
r1'lT.грltРoнаllllьIм Sе.viсe Pасk'o^{ саl'oм noслс ДЕeii I]еpс|l|I (|1мeллo u]Lnrcцu-
.ваl|]ь1-\ a Hс |IPoc.Гaз''l]lисанньIlli в olцcльнyюllиpск'гopиlo, чем сЛaвиTсЯ.хUIЬ.
]|UlсTtlo пlrpатов) тaм этrrх пpo6лeм пет,
] it|l,}tc ]\{o)lt]lо(\ul.аil: нy)кпo) испoЛьзoвaть и 6(r,rсе пр{lдвиllyтьIе aIlr!1вnP},с
ijс сРедсГва (такшe' ItаIlpll]!lеp, кaк ADInf (рис, 9,З) или AVP Disk Irlsрcс-
: jГ)] l в lrr( отсyl,ствие уTиЛrt1у пoсимвoлЬнoro сpaвItcнtlя фaiiЛов Fс'ЕхЕ
]l1(, 9.4)' вхоДяlцую в'ulтaTlllnй кoмIiЛeкт tloс,гаrrки nю6oй вepсrlx Windo$'s,
l)']rькOнe запyскallтс всe эти прoгPаl{l{ьт пе]ioсpeдс'Гве]lно Irз сaNioli зaпyскаe'
lriJ спсTе,uы ! steaith.вl1pyсoв пoд Wiпdows с rса.lкдЬшдrrе]!{сTaнoвIrтся всe 60-!ь
j. Ir 6.)Льшс, a llе'ГoДикa их мaскиpoвкtl все rшoщPс]iнеe и изощрe1l]]еe,
]ollрскll РасхOжcмy м1rепию' Wiпdоlvs мoжет заryyя{aтъся и с сD, Пре)кде всe.
:r lI:Lvrll прихoдит Windol.s РЕ - сJIсIкa усеченнaя веpсl,l Windo\L's хP, офlt
jliulЬI]о
рaспРoсTpaняeмая тo'llькo сPeДи пapтнеРrв МiсгoSoft п цerlтpoв серI]пс.
:.]гo 06сЛyжIiвa1]Jrя, B oткрьIтyю lrРoДаJlсy oI]а дo сих пoР 11еiтост\rпа.цa' п eслIl
::i\! претIlT ltорlfитъ IтиРатoв (мнoгиe ш кoтoрьIх к тому,(е и xaмьт)' вoслo'rь-
.'i]Tесъ6eсплат11ым
Bаrt,s PЕ вuildeг'oNl(http://WWW'dаni]premgi'сom/nu2/
186 rлaва9. найB и yничтoхитЬ,
илипoсфиепо6opьбе
с виpyсами
итpoянаl4и
pebui|dеlз0з2'zip),
aвтoмaтическифoPмиPyющиntзaгpyзочиыйдиск нa oснoве
лю6oй веpсииoтWindows 2000 sР1 и стaDшe.
Ptс.9.4. yтилита
SFс.EXЕпepeсгpаивaeт кэш,oбpащаясь
файлoвый нeпoсрёдсгвeннo
к дисгpи6}.rивнoмy
диску
кстaти гoвоpя, пpи '(eirаяии мoxпo и вoвсе изъять )кeст{ltй д,tск из кoмпъIоте.
pa'Рaзместllвсистсмyи всeпеo6хoдимыeдля рa6oтыпPилoясelrия Ea сD.RoМ.
Д"1я зaпI4си врeмеrrных файлoв сгoдиTся виpтyальнъIй дr,iск. BпoлIre yдачнoe
реrnеrrиeдЛя игрoвoй плaтфopмъl' не пpавдалI.? Тeпеpь ни виpусьl, ни o6pутre.
'.нopмальнaясетевaЯапивнoФь 187
:;tя oпеpацLIoпIId{с!стсIrЬI ваIf не стPашньrL AнaлоIIiчIIым п}тeм мoжпo мo1
-ернIrзrФoвaTь ].loфuс11ь1е rroп!пЬютeрш,o6Pа6aiьIвaеN!ьrсфaй.flьIв эToм слyчaе
DIIдетсяЛибo ЦснтРa"]]изoвalI]Io хрaнить на сервeрe 0raи6oлеe пepспективнъIй
:. rкoltol1liчньпi п},ть)' либo заllt{сшвaтЪнa ДпскeTу' ziP, CD'RW (Чистo хaкep-
. : ; i t i iп у т ь l ) .
:1ffi(a
сoкPЬlтиЕ ФAилoB,пPoцЕссoB
и сEтEBЬlx сoEдиHE}|ии B LINUX
l { Р ( ) r l l l к | l у T Ь l l а r I l к v с ] \ 1 . у | (])\ j а | L I l l | | v J 1 o с n t с Л c в с с I I I с o 6 х O / l l l м o с | | р я ' Г l | Ь
с I r o l Iq r а i j л ь l , l l P o l l с с с Ь l l l с с T l r r r ь J С с о с / L l l l i с | l l | ' |l 'L l r l l ч ( |] | Р r I j L с Га д r I l Л | l 1 | ] Ь I 6 Р o с T
l L i l ( :l I i ]( j l с T ( j ^ 1 l ,Эl , l l t ] ! li l r l U | ] t I i | к , l ' .а, id o r с , k D а r k i I д P Y г J l с ] 1 х ) L k i L ' I ,Ir(' r П ) p | ' l с' Ц с Г .
к0 |lliil.ll B ссTIl, l ] J ) i I l ] ' l l li 1l jс l J с c | | з | | | l \ ! 1 1 6 0 T ; l к ' ГI' t T o ! v ) { с l p o , I ' J ' Ij]| ( ) 6 ( ) ] . 0
J I I I , Р o к oP : l с r I l ) ( х | 1 Р t l I l с r r J l ( l)1Rх)) L k i l I n ,l ( l l к l l I l 6 l ' 1 х | l l . l ю y N | J l L I IoII I r I r rб ь r ' ' r 'р a з р a
6 o ] a I l l , l с I I с | п | а . ' r i , l l i ,Il I{c] T ( , д Ь бI ( , l ) ] , 6 l ,0|n l с ' 9 , ( j ) '
t0д{люча€! зdг0л0B0cньЙ
< ] ] n U Х / m c d u ] еh >
".nсl!dс
i а м l O г O L l ]l н ь Х i а ш и [ a х п0дключае[
еLr]е
и smрl0ск
-.ldеl *s]']P
, n с l U d c< ]r n u х / s m p - ] о с k , l r >
0 l l к ц и я ' 3 ! i r o л f e i а я п p и3 a I p у з к e о д y л я
"r in]t.пОdUl".(void)
/ / y . п е ! g а яи i и ц и а Л и з а Ц и я
nyякЦия, 6ып0лняюll]аяся
npи 8ыrрyзкеiодуЛя
].i сleаiup-module(vO]d)
/ j t я y к н е мч т 0 . н и 0 t д ь
p г r i t k ( \ n 0 ! r гn ю d u l el r а s b е е пu n , l O а d е d \ n , ' ) ;
190 rлава 9' HэЙтии уничтOхитЬlили пOсобиепo 6орЬбeсвиpyсами итpоянами
либинr9.з. скелeтnpoФейшегo
мoдулядля ядеpсвеpсиeй2,6
#i|def L]N!х26
s t а t ] с ] n L' i n r | цy iпrt()
lnt rn L-frr.dПleo
#iidef LlNux26
s | a t r с v O ] d' с l i t iryсleаnrip()
i i | с l e а n u pm o d t r ] e ( )
#iidei LlNUr26
modul с- ]. ] t (mУ.inrt)
mоdu]е..exi t (my.с]еirnup
)
списoкliодyлей,выдaнный
кoмандoй
|smod'HашмoдyЛЬ
назывaeтся
s ] z е U s e db y т d ] n t е d P:
240 0 (unus€d)
251?8 1 (аu.Oсleаn)
7460 0
9008 0 [.hеrпаl]
'.дyлЬ paз' мoдульдва', 191
1600 0 iuлusеd)
2700 0 (unusеd)
/004 0 (аutoсl€ a 'r)
8З6]2 2 (aUtrrсl."аn]
::з 64з88 1 (al]tlrсlеап)
]Iсoя{t]дaн oe пoяr.lreнис нoвьlx N1одуJlсйвсeгда нaстораживaет адмиI1oв'пoэ'Гo.
.l]'пРe)кдe чсм пPистулaть к 6lrсвь]м
деIiствия]цj}1ьIДll-DкIlьIкаlt сЛедyетзat1ас.
:rlpoваться,Автoру известIlьIтpll с посo6a ltaскиpoвI.]ii
:, ИсклIoчeluс мoд}..1яrв сllис(a Nloдyлeri(мeloдJ,в,' см. фaй'Цmodhide1.с)_
кpaЙЛe IIеIlaдс)к€ н ' пPеЛяТсTвyст нoPl!aJrьIloii pa6oте Рs' toР и дpугих п.)дo6.
llь]х утилит| частo Рol1''lстсистеl{у.
] ПеР€ x вaт о6PацeнI{ii к /pгос/rnodLrl
es ( метoД lluпаr.JсDsеп'а' onУ6Jrикoваlll u,rji
Ilа вu8tгaq lI Pеaлизylоrцliiс'I так 'r(е' как l'l псPrхвaт осTа-ljьньIхo6pащений
к фairловoii сl'tстсruс) довоjlьяо l.PoмoздкIll,i11llснaде)кпьlйNlстoдl6ессlIJlЬ.
||ЬlиlIpo]llв i.оУ]]Lltr.lЬ]
dd if=/рroс/nodules bs=l'
] ЗaтиPапи€ стpук|yPьl moduleinfo (l1стoд sо |a1.Dсsj8nсг'а' оIlисаttньIi]iв ста-l.],с
<Wеal< спiпg thе I-inпх Kспсl'' oпy6nиковalrяoй в 52 м lloNIеPrРГlRAсK'а).
)Jl0lъltLньпi I.l/'toaoЛЬI]о
яадс,{Iпni,i'Plсскaже]\ro IIем подpo6ilec'
!].я ЛldюPмaцllя o illoдуЛс хр Iится I]с,|,РyкТyPо пodu]e i nfo,сo.(сPжaЦсйся вIlyт-
:!l (lIстемIIoIoвЬlзol]аsys-injt.пOdu]е()' Пo.Ilго'ГoвttB ]!loдуJll,к заI.])yзксл зaпоJIllив
. O d u l e i n f o I l а l l Л с я { a I ц ио] \6fp а з o ] ! 1o'I l n e Р с д a с Tу l т Р а B Л . I l l r cl l a l l l € i i
фytlкции
]nit-rтodule(сlt' maninit-module)' ЛIoбoflЬI laя осo6сl{ttoстЬяlQа] 6езЬlмяIillь]cllo-
lYJIl l 6cз рефсрeIlсоl]Ilс оТо6рiuкaI0'гся l чтo6ы v]l:l-l] |{1.l]
]\{о/{уЛ Ь 11зспискll, дoсТатoLг
]o о6,Iу'1ll'r.Ь rloЛя nаmen гefs. эTо Лcl.к(),olIPсДс'nI]Tь:uQсс сa!{oii nоdl]]einfo lla.
\lIlогосJloloIсо,,IдPo нс 3arlln.еpссoваI]o соо6lIvll.ьсIo Лсрвol!1у ]lстрeчlroмухаксРу'
jl lцnlходиl,ся дсйствоя;r'lЬисxoдпrllп{а,иссЛсдуя liyсop| oс'r.авцIиiiсяв pсгистрaх
]l:ll10i\tсnTпePсдaчл улpaвnсниЯ injt_пюdule'solaг d siglrсгo6нaру)кил'чтo в oДIlоrv
]l3 nlц сol(eржится уItаздте.]]t' Itа,,,пodLr]еjnfo! B сго версиll ядPа этo 6ыЛ PсгIrстр
:Eх' в иl1ьIхвеpсirях оl I Nlо)I(от 6Ь]TъсовссNlдPyгrtlr rш ll ДD{rcвовсe яикaким' к,rомy
.riс сущссTв},eт сгlещr:uьI{ая зaп.]]a,ГI{а для сTaрьrх ядсp| зaтьIftaющая этy "rтазeйIryl
rрaвдa'Д;!lеко пcy всех ollitус-|анoвлсна.вl1Poчс]\1,эффeкTl,lвЛьпi црес modu] e info
ii:гкo Yс'ганоI]IIть /ll1зaсс]сI!бJr]lpoваltl.rcll; тoчIJ."e'llе адPсс modu,]e info (пiiiятЬ пoд
]t.гo вьIделяе1.Оlдxнa]\'lгlесlrjl)|а адPlrсNlaltlrlllнoiiпIrсTРукцllt' ссьIЛaloщсiiсяпa
]irdu,lej nfo, правдa' в каJ+iдoiiверспи ядPа oн 6vдет своим..'
П Р o с т e i ' i ш l r i i п р r l i l t e р N ] a . l i 1 1 р о в к lвl Ь l l . л я д п т T a к ( ] l и с т и l I г 9 , 5 ) ' I { с т A T u '
з PнRAсK,е onсчаткa| гef]rместo гefs'
// заrираеф
рeФеpoHсы
l
непрaвиЛъноеoпpeДе,'ieнIrr адресаmodu]eiпfо, сItoреевсeгo'yрolrитядPo сис-
TeмьIили эa6лoкиpуeтпPoсмoтPспиcка мoдyлrЙ'чтo сpазy)кellастoPo,(итад-
миlrиcTpaтoРa(pис, 9.7),llo у rис естьtsзaпасeeцe оДиtlвaРиант,
ПPoсмaтривaемсписo( усTaнoвлe!п'Ьrх мoдyJleй,яaхoдипfсамый нr1rylgьIй и3
'гoq}lo ипlel{сМ'
ll}lх' вшIpу)tGeм eгo tlз памяти и зац)y'(аeм свoЙ _ с 1.аl{Ilм )ке
Если яaм troBeзeт, адмиI'йстpaтop tlичeгo не зaметI'tт''.
искЛючEниE пPoцEссA
из спискA 3AдAч
llePсчсrtь всeх прoцессoPoвхpaнится вtlyтpt{ядpa в видeДвyнarlPaвлeянoloспис-
r(atаsk-stгuсt,oпpeдeлelrиекотoРoгoilo)кIloпайтив файлelinuх/sсhed'h.l,lext
tаsk
yrrазывaетtIаслeдyющийпPoцeссв списке,pгev tаsk нa пPeДшдyщий'Фи3и.
!rсмЮЧeниeпрoцeссаиз списtа задаЧ
Г PlD ]
Prcфsч]
ш
ГsЫl ГsБl Гst"ln
l'noxt;г] гйt-t"sп t*-ФЦ
L!T"-1":-]
Гъ*.-;]
| ^o1Ьtг l .p'сptг
l 'pJsр(r |
'i,-vjpv
| I
/ / и Ц е l п р O] е с с с н а И б о л ь ! и ! 0 0 с 0 I в c ч е r e д и и с п о л н я ю ц и х с lяр O Ц e с с о в
! h r l с( р ] =& rl ] t t а s k ]
{
/ / о п р 0 Д O л я e вl е с ' п р O Ц o с сва. Л i з а х r J а ш ] р o e l и к i r
rгo нy3дЬ|3 прrrцесс0pt0{вpеiени)
weight = goоdness(ргev p)
{
,.9ючeние пpoцeссaиз списка задач 195
с = ! с i q h t : n е х t= р ]
. iс)
l ] о u b 1 c с ] ] oаl ns.j ш O l 0п ] n с ! | o h r r o k e I
! D а г k . ^ n ! е<]0 a * 0 Ф а п 9rег ]r fс о л r >
...nnё,,,-iiЕRllЕL_
. i] е IIO!L]L[
i]nr L l]!L.]х
. " : ] u d е< ]] n u х / i r O d u l с , h >
' :irnr с0DЕJUМ 7P
. : : i i n e Е ] ! s I А D D R Г S0 Sх с 0 1 0 1 2/з/5' A d . г 0 sOsf t h е f L ] n с t j r tr on o v е г ! . i t e
: !пeо oпq-mrlю.}
: l с e i o b i t е ( v O r d{)
р г r n i k ( ' t u п с i i О]nO O k еsd\ r с с e 5 s f u l l y \ n ' ) l
a s n V O l а t ] l е ( ' m ol evb р t e s p ] р O pl еl 5 р ; j m bpасkuрonе)
: . s m с о d ei s f o Г s t а с kг е s t o r i n q т' h € f i г s t b у t е sо f a t u n с t i o n
npФoлхeние 9
196 глава !. Fа;ти i y' / |тoч/-o' илi гoсooie rO 6opoое с в^p'/сdу|v ]poa|0!/
r n t r п j t m о d ! r l с ( V O{i d )
* ( u n s r g n el оdn q* ) E J ш фс о d e l 1 ] = ( u i s i q l]r оe n
d g) с е n о b r t е
m . n o г t = ( u n s r glпоeпdg* ) | . l Ц 5Aт0 D R E S S
пепсDуlhdсkuD.onе.пeпогу с00EвAсK)
nепсрt(mсmnгу JLrщ.сodе,с0DЕJL]иp) ;
i
v 0 d с e а П u p - п o d t ] l с ( V O{j d )
mспсp]](irеi0гу.hiсkuр-оnс BАсKUP)
:
)
] kx]к()rILкy N1irlпnllIк)с IЦс/IсTд|]ЛeIlис lI.llаll,]ро|]]](икa3аl]llcЛ1' l]. To.цЬкO оT I]c|г
( ! | l | я д ] ) i l .I l o l l 0 1 . I t J ] ( ) ! l c й
l . o i i л l l l I я | l l j I l , a Т a к o в a т l , I I P o ! ! з ] r o ' п Ь l l v |с(r)l ( т с i \ l у l р а к .
TnЧсс|Lfl 1iсрс:lЛьIlo llpoд!ilPDTсЛьIlо lloo6хoдItNlo скo]lи Pо IlaI) лдPо IIlrсвоlo }Jд,
l]IlllIy 1Jдu3nсссп{бnliр(Лlать сгo' ilпoсno Paзрn6oTaI, пoдхо'1я||Lуl() сr.Рlт0гrlк)
гlEPЕXBAтсистEМнЬlx BЬlзoBoB
Пor\{IlптeМS Dos.l Tам стс.]iсировaниеoсyщeсTвЛяloсЬ пyTe]\Illoдмellъl прс.
г l | Ь | Р l | |Ii r l r з . / i r t 2 l г B | | N l х | - ' { r i ] , r L' еc . l , . п n ] , \ n ' . q п ё l х Ь а |'
темlrЫх вЬ]3oвoв( sуstem саl l ' !l.]iи,сoкpаще]rно' sуsсa].l). для сoкPьIтия процесt
сов n фаrlлов дoсTaтoчпо пеPехвaTить всеIо oДпп lтз н11х getdents; ]ia пeгo
oЛ|,р,.l . ч',\| -вр.-||J.еаddi.' кoГoio'l' в |o1|,^l\{.o| |il.и] l,U.во|j\| \|l!
rэpеYват сисгeмнЬ|Y вь|зовoв 197
ie\l' чи'Гaе'ГсoЛeР)J(tтlJoе
диPсItтoрIrIi.и дjIPсктoРиIr /pгoс в тoм чис.!сI дрyгоr.)
lегалънoro спoсo6а пPoс11oTPaс1luскaItроцeссоr floд LINUХ, ! o6щеlгTо, rl lleт.
ФуlIкЦIlЯ'пepехBaтчик сaли'Гся llosеpх getdеnts Il пРoсматривает вoзPaIIlенньlй
.ю Pсзyxьтaт| вьlкyсьlвая и:]llеГo tsсe<J]ишtlее>lтo есTь pаrirает l.ак (l)t'tJ]ьтр'
.,',вL,''l,Ul,,,l||,||иЯ'-l',|l,l|il}hlГссз||aп.'|| |||Ь'Уn6-l:r,.\|\t,IjIl4|ПI'P)'|.''!
п o l l q i е [ y r d з i т е л ь н а . р и г Йl а л ь[ Й . и с r c | ш Й в Ь з o 35 Y 5 9 c r d 0 t s
r и с.rхire,Лсl сгo в .еpеleнЁ0i 0 qеtdеnt5
. r]еtd.cnts j!s-.аl] ti5]etsY5 qrt.cnts]
']irRоси!
l ( r ] а т e л Ь н а ф ! н к Ц ип юe р е r в а n r и к
l ф l i с а ! c i 0 п е p е Х в а т ч ( (]аl л яз { о н o i и Йз n e с ьн e п o к а з а н )
, ,ob6 о6J6 d.nо,,,
o l и ]и н i r Л ь ноЬ!lp а о o т c и i O в
] ] d . l е а n U Dm о d ! l e ( v o i r ] )
: l с а l l - L d ! l е t s Y sE e i d e п L s=
] O !еtr]еiLs
пEPЕXвAтзA]tPoсoB
кФAйлoBoЙ систЕМE
ядрo экспoРТr'!руст перeмсiiliуlopгoс.гoot_ кoрпeвoiiузeЛ(Ioot jпoсle)sиpтy.
aijJнойфaйЛoвoйс]{сTeмы prос.гоot,тPaдициoнIioмoпTиpуeмoйнадиlreкTopию
/p-гoс,Пpи хe"rавиимьrмo,{eмyс,r.анos,lть l]оверхпс" сo6стoeппь,iiqилiтp.
06ра60тqик'скрьlваюпtийхaкеPсIсис пpoцeссьlот 'lужuх "uoй
глaз.B oтлиvuсoт сиЬ-
тeп{itьIх вьlзoвoвlпеРcхвaтпrpсмепlloйproс-гootнe чувствитеЛеяк веРсиияд.
IJa'а этo у)tteпрeимyщeсTвoI
П P o с | . й . I l и й | | с p c х в a I ч y т v o , к ' Г в Ь . г л я Д n l Ь - . | 9' l ., 9r иl j' сцг 6иor rлr. eп o д p o 6 .
нoй ипфopмaЦиейo6paщайтeсьrсстатьe<SrrЬproс гoot
Quaпdo Sumus>'oпy6-
лI{кoвaннойв нoмepeзAЬ PнRAск'а.
i f ( ] 5 l ] d d е п( l r а l r r r )г)е t u Г n 0
г e t u г n г е a l f i l l d ] Г ( b u f ' n а m . ' n а m ] е no, f f s e t r n O ) i
)
н 0 в а яФ y н ц ц игяе а с o r г
n е v г e а d d i r - г o о t( s t г L ] с tf j l e * e v o i d * b ' f i l l d i . - t с)
/ / и н и Ц и d л и з и р }y ei d з а т e л ьн а о р и l ! 1 l l а Л Ь Hf ]уlю
lnrr.фyнкцl'o
/ / в o о 0 ц е . r oз r O H е o о я з d r e л Ь ндOe л a т Ьк a я д l Йр а з п p 0 с 1 0
г е а ]f j l l d i r ' с |
.еtuгn о]d.rсаdd .-ГоОt (а b now-fi],ld]г-Гоot) |
l
/ / y с т а н а в Л и в a с [3 o й с O о с т s - c t ] [фЬийл Ь т р
ргOс.гоot'ЕItЕ-oPs >reаddi. . new-.'.аddiг-гOоt
l
/7 ]aписьдaнв!хs /nе'/kmetrr
s t a t ] с n l r n e i n t ! k n ( i п i f d . r п t O f f s e t ' v O j d* b u f ' r п t s r z e )
t
] f ( ] s е e k ( f d o f f s е L 0 ) | =о f f s 0 t ) Г е t u г nL ] '
r f ( ! г ] t l r { f d .b u f , s ] z с ) L . 5 ] z e ) . с t L ] г n
0
l
oстae1.ся то-'IЪкollаirти всl всel1этoм пIyсopс та6nицу сисTеIlxrьlх
вьIзовoв'.].Iа
каI{,кс lIЬl {]снaiДсм' eсJlи нl]каIroй симвonьнoii ]тIrq)opмаци]r
у Ilас liсT?j Бсз
ilaнlrкIlI HaNl пoмoгyт lleвтP:Uiьньr1.{пPoцeссoР и мaпIrtнньii,il{oл ()6Pa6orчItк^
IIреPl,lванпяINт 80h' toтoPoс этип{и с'1стс]\пtьIмивьrзoвalлr,.:.,6ственiro
г.вoря,
! n 9 ] g п osdу s' с i ] ] l o | f
* tрl
. l r i ] "5 с a s п ( с A L - ] 0 F
/ / 1 r i ] ь в . L еi ro д о б р i о O l { и GI N I 8 0 h[ ] / d о v / kе i
г . а i ] [ п r !(л& i n t . L r b а 5 е } 8 * 0 х 8 0 ' s i (z]edOt )f)
s у 5 . с а l ] - o f l= ( i i i o f f 2 < <1 6 ) ] d t , о f f ] i
х еl=1о
l . ] n t f ( ' r . t 8 0 : i ] а g s = }5 l li=lХ\n.
( u п 5 i q i е d ) ] di lta g s , ( u n 5 i ] ] n е d )sL€ ]d t5 у sс a l l o f f ) :
r / и L l e мr c с 3 e н в ьсiА' jL Lс я е п o с р e д с т в 0 |03пыelр а н д о и
1 1 { o дс a | О Йф у н к Ц иdиi s p a t с h3 д e с Ь[ e п 0 к d з а н
. r s p i r t с l (r r | L d i . е с.iа l l ) * /
. e а d [ п e (ms с a 5 n . s r sс a l l 0 { l , с A L L 0 Ё I j )
] = (.lraг+)lrелmеm (5с a5mсALL0Ег'\хff\x14\!85' з)
i.t = * ( u n s ] s n е i * ) ( рi+ з )
rf ( ! )
пPoчиE МEтoдЬlБoPЬБЬl
Кoлсoльпьrс''всPспи yтиЛIrт типа Ps иЛи toP ЛеIкo 06мануTЬ с ЛомolllЫо длlлг
IIой цспoчки пPo6cлoв иJlи симвoЛoв Boзврa'гaс'Iрoкtl| зат!lрilIoU(ихoрI!гIrtlаЛЬ-
пoe имя' I(oпeч]Io,olrьIтItoгoадмппaтaк ]le пpoвсдcurь,да л прoтия KDЕ-мolrи.
т o р о в т а к o 1 1 п Р и с l l t с o в e р ц I е l I } I о6 с с с ' ' л e п , o д н : l к o м o я r ш o l I o п р o 6 o в a т ь
зaмаскиpовaтьс,I ]тoд кaкoii.нибyi'lь невипльlii пpoцeсс llапoдo6uс vj и.]!llbаsh'
Пpaвда' и зДeсьiсe не таI(t1рoстollly ктo R ltarxс врeп'я
ра6oтaeт в vi? И oткyдa
взяЛась злllшнЯЯ' oбoлoqкa? нa6JIюдатeЛь!ЬIli аl1]\'иl{ это сразyзaметит' ^ мo.
)I(ет'и lleт-.' y мtlolих из riaс сpазy зaпуЩснo tleскoJько кollий .)60'1очск_ кTo
иx считaстI Еrrlе мо)кнo внeдpитъся в IсаI{oйни6yдь гIoльзoватeЛьскl'li!прoцесс
llPи пoмoщи рtrасe _ хРeн тaм нaс пaiiДеrnь.
Hа xудoй кoнeц, мoжнo вoo6щe o,rкairатъсяoT NlаскиPoвкft.Прoцессoв в сисTcмe
м]iolo. завсeмrt и rreyследиrnь, глaвнoе пеpиoдичeскj{ paclrlenЛЯтЬсIroй пpo
цесс ]{аДва и при6ивать oригинаn' э1им NrыoсЛоIIЛяeмyтилитy LoP, сс)()6щ;ю
щylo aдМи]iy' скoлькo врeмени oтрa6oтaл,Гoт или ин.]й xpoцeсс,
глAс нAPoдA
.''Аclotеu мнozuе Оpуzuеюothit,ьlнеpa1omаюmt|асuс|neма:t,з.|zpуэ|саloщlL1с-
cя с нoсuпелейmoлыloОлячme|!11я (вчaсmнaсmu,с LiтtСD), пpuвodяx <on
laзц в a6спуясuванuu>;
-'.аdorcu j|]|ozuеФry?uе |.oorhit,ьlне pа6amаюm 1n мlo?o|1poцесcaplIьNсuс.
я|1l\яюmся 11Pа0nuчес1{uвсе сеplзеpa), noскoль1|у J|ез|JII
т|е,IIа:t (а mок|!"||1u
g 1LгLа1tuРoвщu\вмесnю ma.o ч1nо6ы nrpеIваm|,в.1]nь сuсma|н|,Iе aы1oвы |u1u
praс-|1эot;
чтo читAтЬ
Linuх kemel iпtеrnаils
3aмечатсЛЬн.Iя кпI.Iгa. сoздаlшaя коЛЛскTивoп' 6а11110в11Tьlхllellецких lIAР.
Ilей' тoлкoвL) ll 6eз вoдЬl ojlисьIвaIoц'Iх !|lутреннoстll Jtипyxoвoгo яlrPа (lJa
аrrrЛrrискo\'l яэьII{е)'
сomplеteLiпtrхLoаdаЬlеKеrпcl Моdulеs(nearly)
хal(оpскoe Pукoвoд(ТBо Ilо llnпljсаl1Il]оlJoдyjlсl.i ]lо;1LiDIх и частичno пo/1
FlесBSD' rlс стесняroliL'cся тoвoРI1l.Ьo Bj'p]Iсах и roоtkil'ilх ola аflrлlli.iскoll
httр://pасkеtstormsесUriry'org/doсs/hасk/Lкl4-HAсKING'htmI
Direсtк€ m el oьjесt Мапiр latioIl
пPcз0lITall||я с кoн(хjPеIllllln вLiI(k ll.rL' pасскi\3l''lla|oIIlаяlкaк пlilскиPуютс'l
( l a й Л ы ,l , P ( ) | l c с с Ьl rI с с T с | l ь l с о c , l Л , l 0 | | l |п,о| / LW i п ( l o w s I l L i | r ! | х ,
httpi//WWW.bIaсkhаt.сom/presentаtions/bh.euroре.04/bh.eu.04.bt]t|erpdf
АЬllseоfthе Liвuх когnеlfor Fun дndProfit // P}IRAск.s0
ПосpсдсTвeltttaя стa'гьr|о сoз/lанllи l-t(]v-NroдуЛсii I1lloР0х1raTссllсТсNlпьlх
вЬlэовoв Iloд сTaрьl]vtLinllх,
lvrakспiпg tlle Linuх Кегnel// РHRАCK-52
Замсчатс]lьlt:rястaтья o сO3дaппll LKi\{.rv oДyлсii дjlЯ соltрьrтпя фaйxoв' rlDо.
пeссoв и сс1e]]ьтхсoсдIlrlеlllli'i пoд стаpЬlri{|-lпtlх,
SuЬpтос_rоotФando sцmus// PнR^ск-58
кРаткo o \lаfloЦrовIio llуTelll Устitновлll свoегo фrl''rьтpа lкlверх VГS,
Linux oп-the{y kстnеl patсhingwithоut Lкм // P}IRAсK-58
ПcPехвaTспстсм]iь]хвьtзовoв6ез LKl4 и сшrlвoЛьпoiillпфoPllацl1Л,
Iпfесtin8loadaЬle kсmсt Iпodules// PнRAcK.61
зaраЛ(енисLKМ'N!одyJой,
кеrпel RoоtkitЕхperienсes// P[IRAск.6t
Cта'гьЯsteаlth,а(aвТ()pа
пе6езъIзвrсTl сгlrollьl,Гсоз
loтoAdoгс)' oбo6щaюrIIaя
дания L1(M.Roоtkit'oв,
чAстЬ III
BoиHЬlюPскoгoпEPиotAII.
чЕPBиBo3BPAЩAЮтся
o ЧЕPвяX,
пЕPЕпoЛHЯЮщИХсЯ
БУФEPAХ,
сHИФФЕPAХИ БPAHДМAУэPАX
главa11
6yфepoвкак сpeдствo60рЬ6Ь1
пepeпoлl]ениe
с Мeгакopпopaциями
глaвa 12
кoдe
advеnturе,или пoискдЬ|pв двoиЧнoМ
L]|timate
глава 13
пoдаpестoM,илидеpниprintfзa хвoст
сneцификатopь|
глaва 14
sЕHнa слyж6eкoгtтppeвoлюции
rлавa15
snе||.кoAа
тeХHиканаписанияпеpeнoсимoгo
'глaвa 16
чeрвив Inteгnеt
или как pазмHoжа|oтся
сeкс с 1FRАlv]Е,
ЕхpIorerе
.лaвa 17
снapyжии изнrгри
06х0дбpандMаyэрoв
глава 18
лЮ6ятмед
илихакеpь|
honeypot,Ь|,
главa 19
сети_ sniffering
рЬlбнaялoвляв лoкалЬнoй
rлавa 20
дaзабаннЬlxпoд nриЦeлoм
ГЛABA10
BHyтPи п ищEBAPитEлЬHoгo
тPAктA чEPBя
ч с г n и o т п . t с я т с як ! l e и 6 0 л о c н e J э a и с | l м ь I0м6 и т а t с . ] ' N l
к и 6 с D п e T и ч е с к o г^ ( Jl j l l J !
и.с]oPия их сo:i].аriияyхoЛ|lт свoими кoгJ||Яvи , ',ус*у;Ь;;;;;;;,,;;;;;;;
пасв-veзoзoliскylo эРJ, кor.дaземЛeil прaвиЛи
lLnuo",,рo, * o.po"uu," ,*uooo.
ртлившe laмпoвьtc ЭвМ' издaвaвпlиc при Pа6oтс ужаclплй трсск и скрerкет.
IIxoнeРш кoмпI,IoтсPlioй ипдyстpии, rтьlнeдолrкнoстльIс
лицa Pесцсктaбсльllшх
кoPlloрaциii' a в пРorrтЛом_ trс6ритьle стyдeItтьr
с хaяцoй дсятелънoстп в rлa'
] j i x ( к , lо U и- i L п9 x F ) l | и I . и , 1 a 6 o p а , l o t | | i ] ' ' .гоп o й М е г )