Вы находитесь на странице: 1из 527

Kpис KаспеpсKИ

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',

l]ииквя чафЬ даннoй книm нo и6reт 6л в0спр0gзв6д€на 6 вкoй 6ы тo ни быno


рa!рэф€ниi вл.д.льцовaвrcpскцлpав.
в данюri шиe' пфгreна ш иФочниkоl' p6сфEтривa6мыx иsд6твльФsом *a3
сoдEP}I(AHиE

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 .. ' '..

сЛойсolтpФкeниясo сPедoй . ' '. '. 40


42
44
скемписaть..''. 48

гл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ание

глAвA 14. sЕH HAслyжБEКoHтPPЕBoлЮцИИ 262


кpaткo о стPyrffyPIlьIх l 263

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

глAвA 20. дAзA БAHHЬ|Хпод пPИцЕлoN1 З28


12
1 1 а в я з ь I в a l l lзl аc п p o с a ,l l r l и s Q l - . i n j с с t n r 8 ,,,,., '., 331
o п р e l ] r Л и тпь: | . l l и Ч sиQ eL . . , ,, ,-, ' ' ' ' ' . . ..., ..''. . '.''.,,З36
пpoТl1вoдеl]с1в . rтиооP ж f l l r x . ,J , . ' . , ' , , , , . . ' . , -.'.. ,' ..'.. '.., , ' 337
с е к p с т ь rп o r i ; L l l д l { o гl oJ l l T e Р n р е т a т o Р a .'''. , '., ,., 337
к o м a н д н ь l iиi l t T c p п p e т a ] oн Pа с л Р к 6 с] ,х a к е р a , , . , ' . ' . ' , , ' , , , , ' . , . ' , , . , , 3 3 9
з а U i l l l аo т B т o Р ) к с н и я '' ''.,'. . ' '.,,,,,, З41
к o \ , ] а ] l дх Ьa rк е р с 1 { o6г ао г ; l ) к а, , . , ' . , . , , , , ' , ' . . - . - - -'. .. '''.,'.,,,'З12

чAсть Iv. зиккyPAт зAщитHЬlx сooPyжEниЙ,


или кAк пPoтивoстoятЬ виРyсAl.lt,
XAкЕPAм идРyгим пoPoяtдЕниям тЬtt,tЬI
. ' . , , , , , ' . . ' . , 346

З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

глAвA 26. эlЧyлИPУЮЩиЕ 414


miпimаlsysteп requcst 416
417
411
418
oтlсP],lтoс'Гь исхoдпь]х
418
l:аче(TвoJr\lу,'lяции
419
встрoc]]яьIй o'ГJlадчi,lIr
4\9

гл ^B^ 27' oБзoPэlЧУЛЯтoPoв 421


Dos.Boх 42L
Bосhs 422
МiсIosoitviгtual Pс 424
425
o.]к)l]IIЬ1c хаpaктcPj]0'l.иI(и t r . . и 6 " . r с с t t o п ) . r , t l r и ь l х : , \ l \ J l я | ' ' Р U l l , , , ' ,427
,.,,
427

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


гл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.

. RvA: It(liltivc Viltlr;ll А(ldгсss_ oT]lo()f|сJlЬпь|il


пиP'гyдЛьIпnй
4(Pсс;
. гsl гiГst scс]:ioD_ llсрlrаяс0кlLlt,(l)аiiJId'
. LsI Li'jt sl.l ' .| | | U . , 1 L| , | , | ч' 1 . l I . я ' l . , l l Л : ' :
. сs: сurrспt seсti()п ,гсl(уllleясcl{ц]lя
4)дйЛa;
. Ns: NехL soсLioll сnе/Lvl()щaясскц]lя d)аiiЛa;
. v-a: viгпllL] ,\dd|еss -. IJ|rpTvaj]ьll Ьlii адPoс;
. v s z : V i ш L l a |s i l o .
п l l P т y а J l ь l l Ь l jPi a з п { c P ;
. r.ofт: га\! оf|sct 4'||tr чcсIrиii aЛРeс nача!a сeк|{иll;
. l sz: rll\\,si7е - 4)l|:]llЧссr(lliiраз}1сPсскIlшl]
. DDIR| DAТA DIRЕс'I.ORY пет :ljLсltваTнoгоперсвoДa;
. ЕP: Гntl.y T,oinL Toчliа вхо]lа'
: 1l/;r/й(rs' cс-lill ToЛl,l{онe о].oвоPсно o6pаTliос] зllссЪ пoдpaзумсваrтся Bся
:::: jilii 32.PaзPяЛlrьlх сl]сTontэтoто ссl]сiiстваj a ttпiеяно Wildows 95/98/Ме/
]'- ]000/хI,/2003, ПoД ly;л./ol.]sN7 пonРaзупlcвастся .illшrllка спсTeм на 6азе
).] ' rIrrсннo:самa Wirrdоl,s NT, WЬdows 2000/хР/2003, Пoд UNIХ пoдpазy
, .: . тся rllL,6аЯl]NIХ.]10д06]lая oпеpацио}irrая
сItсTсNIalFreе/Nсt/opelt BsD'
.] .,lI Т,l1,
:.-:ц]nе-1пlь|мз.)Qцз?/,,.o'i'пo]t]1I1аотсякo}lIlo}lснтoпеpaцпoннoйсистelrш'
:::. :iвсIJlrъ'rl за заrрyзity исlloЛ]]ясllьrx {]аii.loв l.Iлllllамrlчeскиx 6и6"1lrlrтек.
-..:.:1явьtt1tе'!l.]вее'з(]л.rа,rc?сoо1всTствvIo'Г]\lе11ъ1xипtадресaм)чтoсoвпaДaст
:. ].. зс'lIю]i схсмoй отo6Pа,ко]rxя/.lам11a
па ятп ollaДчикoм и'l1rrдизассei!16.
19

сTрoка' вЬrдeЛеппаЯи]lrrepсllьll|цвrтoll, спп{вoJ1изиРует


текУщую ]1oэициюкyp.

в I.I]иIeиспoльзyrотся гPафичrские o6oз]raченrlя:

эаюл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

нa чeм nисaтЬ,как писaть,с кe[4писaть

гл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

с'1)ll,.-l1I n()о6шЦ (-ryсNtJf|rrся liдснЬГа]u? ljl(tь ПовлrчепнЬIl1 в 6сэ,кajlостtlьIli


rrpугоrlrцllт lonlo6;rorrl1}{ jl вьiде"!спluI, зllРll6а1.Inвать п llaкапJ ваTЬ, l1:lI(а1lЛll.
в,rТЬ |l TI)rтt!Tь' TPa'Гr1'ГrJj1 lЦ)ll6"!Ii)riатъся lt llJlJllo:]орIIo]i кaрTIrнe кoJl'llс(TrlвIIoj]
га'ЦJrIOцr1liirllIllr,ЛазъIBaсIюii <(!lастьепl>. Cr{ашlTс чссT]lO: oпо ваII надo? llJlя
-ro,lЬ](()]1Устоту
сtlaсTЬя lIc ну]]ol0 tloчего' ILpoпIc сo3llаllllя] il Дe]lьгrl пpпrroсяТ
lr с'фiljlirllIlе. нo()6ьtчrlo эTo ll оl пJNlаеnlь J lIrrlЬ Tоцa, кoгДa llх (Д{r}r€ I ) сTalrolrиTся
с,rltll]rкоIl ]!alolо п у,{с rlo3/1JIollTо "lri6o l]снятЬ, ;lкиi]xЬ пРonofla' a вЛo'{сннoе
в ДсlrЬгlr вpеIrя lIе вернуTь' чL''цоtsск пoTре6JяюUurfi ts консчrlol] счeтe)rс.Iвет Ir рa.
6отаeт нavнптаз, Nlorкет' пастaпa llrlра oстаlloвtlться и пoдyllаrЬ о чcм.To 6сlлее

ПосilоTPllТе <.Бо i,llloвскпij к.!}6' (<PigЬt сlUЬ')' нaйдIiTс r1лpочитайтe <Пo-


кo"!снI1с l]> tsиктoрa ПеlовIlнa I1 <99 4]раlIкoв> Фpеlерrпra БеМeдepa встав
Jяст вссpьеir 'l п:!lо.nгo' за6сil1е jIa кnРьeрy' дсIJьгir' шlloткrr u зaiiNlrпесъ' на
кoнсц, сallиrц сo6оi], Telf' что !l' ijы с уllollоJ.iьствrrем д€ Л а.1rr rr 6есllлaтIlo, Tenf,

чтo напoлltяет ]lоlз11ьсN!ьlсJIоMlуllеpI{ивAеT y мol]!тoPа дo сaмolo уTpa, Teм,
ч l o в a м п o . n а ( , l o яц . м J | | n I е l с . h o 'a я , I o h d ^ J . . а , {0 6 Р a | и | - , l U I n | | T ( p е ( ,
в донъги- никакo1.o пPoтЙвopсqия эllссЬ ilе't.,Гfuoхo, кolдa ДсI1ьl.ис1анoвя,tся
с n \ | o e л L ю , х o г o ш U . Р i ] I и U | | и - l , l е J L T в U ( ( } , . x е . , l в U d а н | l я' |) , I и и ] | , , , l P у м е | i г
(pеа.лизациисroих иlieй), BoT o6 инсTpуilенTаЛЬнЬlх сpсllсTвахмln сeйчaс и гI.J.

}leсoгiaсн],lМ Лу'rшe сpазy сilс1lиTь IФoфсссию ll занЯтЬся чсм.тo дPyrим (тoP.


гoвлей 6аtraпaiши,нaпp,ftteP). ПРoгРaммиРоRаUие Iie лгlxrий спoсo6ДЛя 6Ьlст.
pогo o6oIаDIelIия (а прoц)амilJиPoваllие влpусoв 0сo6еннo). чTo eщe хyжe _
этo спoсo6' Тpe6ylouIий I.oЛoсс;ЙьlIьIхllaч;!ltЬllЬIхв.JloжсниjiL]амot.oценнor.oи lс
тoму жe нeвoспoЛl{имoгo рcсypса''. Bpel1еrtll. llр]1llсt.ся мнor.o.^1нoloучиTься|
а llаучившисъ _ pасстaваTься с l]акollЛсItн],lllll зна}tиями Й навьп€ ^ {ll Il внonь
l1cрeучиga1.ься'BeДЬ nрoгpесс c клкдьI]!tгol1oMвсc 6!lстрcо и 6r'rстрсе.

кУдA пoдAтЬся
- <УбuInb БuJulс1' вuоan?
- I'еii||1|x1,
ц|nolu?
Hаpoднoв

Hашим пpсдкaм 6ьtлo хopoшo' oпl сuДc'Ill в пeЦсрlхl укрьп]aлиcъ llп(yрa]!'l,I


и нaхoдllJlи(! Ila пoЛlloм 06сспсчоли1l у гoсyдapсTвa' Peпlaю]I]eгoЛсe l(адрoвь]e
вollPосЬI 3a rс6я. с I|Pихol(oм свl)6о/:lЬl,
а зuaчll1.,ll вo3Nlo'(tto(ти !ЬIбoра, пoз],I-
ци'l сal\lilх сrшьпьlх lrроЧ)aммj'!с1oвв пlllPс зllа.rrrтurьllсl rtoшaтнyлись. ЕIиктo
y,Ф IIeсoбrIparтс, ol1jlaЧrlвa't,ь
и3 свocгo каP]t1анaпo]]ск ]leдoкyмеIlтlЦ)oвaппьlх
вoзмФкrioстсi{ a }rедPaх oпeрациoнlioit cистемьl или пDoгPаnпiиРo]]allиев Ч]1с.
тoм N'аЦrиIiпoмlФдс' Пpеeмствeпl tосTЬпPoIpaNiNlисTскoiil]rкoЛЬrнару,.Irсна, стaP.
]пиe не yчaт MлаДlllllх|Iipeпo/laBaтeлиtsyзoв6oскol]ечIlодa'цскttо л пР116лcмпPак-
тичeскolo пpогpaм]\{иPoвAtlияи 6€ з на110}к]rоoтсTаюT oг пpoгPсссa..'
стoит Ли IIскать пoс,гoян'iую paбо-
ту илиЛyчше oставаться iiа вoльtlьiх
хло6ах? всe зaвиспт oт псllхoтllтIa
Личiioсти' кто.тo пpeдпoчllTaeт кo.
чёвvю жизilъ' a ктo.тo oсeДлуlo,
Hе 6удeм делить прoгpaмtlисToв ]la
<]IтРaвь!х'rl <винoвaTых'! а Лyч]Irr
Расснажcм o кa)кtой из с'Гopotl пo'
пoдpo6нeе, пoгlу'гrlo oтNlеrlaя ]те-
ttотopыe не впoлlre очевrrдIтъIeпpo-
блeNIьr,с котоРътliи ваNI Iiридeтся
денеглoпатой
глава 1' профаммирoваниe

iiак 06РесТI' liастrрствo? oчсtlь llр0стo ilстРotrтъся lla постояl]нyio Pil6oTу


в фIlpму' 1l1еещe сильtlьI lтРоrpа}{rl1r(тсxllс 1paдllцпи I'IllMеIoTсяпРoф€ с с]1oнa.
lЬl сп{rс06ньlс наyчllтъ ]\lo.nOДел(ъ' пеpeдaв сiI часть свoсr.о olЬrта (тonьlto гIоп'.
]lпте,llтo PeNIесЛy1{с yчатс'. реlIес.rо воРyroT), Tpyдoвoii догoвOp (o}rжe <.r{оrl.
-
rpilкT') 6ьtrraeтдвvх тI1пов оr.paнJtLlснllь]ii l.lлrr6ессpoчllЪiii, B Рoссиrl Чаlце
!ссIo nрnк,|rrкyстся втoрoii (устPoи]IUсЬ tlr pa6oту' ll пaс потoll rпJIrа( нс увo-
lllт':в axop]t!:[nьIlьlх)фиРNjэх'Цсгчс1.ерlе1,ь .re3ДеЛьe llr.rчeгo IrедсЛаlощсгo чс.
loЕскll' чсll JaтeIJатьrjo.IoкЛтyс сгo уБoЛЬltсllllеNJ' lюln)tlе' пonнaя ,!aфa' вa)l{.
Jlе с'|.oJtЬI{o
Ilo энir1.|) пl]oгрaNl]\lilpoваllUс. O()Jr)lФ зal{oпЬi),Зарv6сrj{нI]IсфllPмьl
в сrrоеii Niaс.€ I{а1lt1i!Iаюl. lIa кoP0ткIIfi сpoк (наxРxм('Р' l'l Гo/l)'
сltсl(ltil,il]|с,Ll)L]
lк]сJIе чего Nlo)к]ro Ли6о воll()6|l.Лrll1ь l(olп'Ра]ff с Pl6oTIt]Iliоil' jl1l6o l]осЛдТь оllo

| ' 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

6ольпrе пе тPс6уются' T nсячll сп{rцllarIIстoвl Р:lзpа6nтЬlваlrшli! <.Lj{rЛl l г' ' 6ъlлll


вr,r6ропlеrrьr послс тorol rtак ll1.]l']ка ]iiLllajlit j|е'ГатЬ, l{оl)oчс гoвoР!, чсIl [x)JIЬiItе
вtlа'.tьrнaeпlъ, тсlr 6ьюr.pшr Tсбx !r|l)IJЬlt,rrt'г' ]I() lr:t '1Iо6уIo х]rтросTь нniinсr()! (]ll()ii

'loNl. У\IyлРеп1lЬlс o l Л ' 1 . ( r I l с l ] ! ц l l i L r I I l ( 1 1 . ]l nl l l ' l Г l l i r i l I ( ) l с д а ч l " r l i ю с к т n l r с 0 i \ | Лс ' l j I i l


}ll|' кiшrЛЬ|ii Рnз {It;lхoдл' lIoв '|ji]((Jtкr' 1Pе6yк)rIllIii .iijPn6oТ|lIl. ilIll|(а вl)('(.
6l,I rl r|еTilсТ, lкl l] тo лс Lrр(]i!lя li Ilсr. I)n6()-к)'LtlTс.Ilь llсрь|lпчil.т' Рvl'астФ| Ilа|()]\J'
] l n З Ь | | J a с 1в с t j х l I д ] ' o | ) ] \ l l l , l l ( ) ' , ' | | Ь r r l y Л { . l ( , I l J ю
] | P o д . l l с ! i ] L ' ' гl Ф l l ' l P i l I L ' l ' '

ссii'Iaс ' J с l o д у Ц n l б у l ( I | . 3 t а l l j l , l I l Р l I l l j | ] o с l r у к ) 1 . ( )( ; I l . l к l x { 1 ь Г l r , '! ( ] " !l l в ь l ( ] г о 1 | с .


l l i l I i l 1 д l , l 1 с' ( к ' | ( ) i . i l ] | r I i l в l 1 с ' ] Ь I ( ' ? и ] | l 1 ' Ч l t ) c l I ( l х \ l ) L d ' ' ж l | | | с T ( l r ! Г . . r . v б { ) к ) i iI l р о l ] l l l l .
I l I l l | , | 7 { c в o ( I ] o ] J t ! ( ) I ]i ] i t I l l | ] \ 1 i l | i ) 1 I ]) |l o j L j L o Р к l ) l l 1 1j ] l l ( ' n J r I l l l t 0 \ l . l r I P ' ) r P а N l N l l l ] n ) .
| ] i l r ] I l сз i i , l в l l I I v l o в г . l I Y б o l { | l i i l l 0 д l ] l l Л ( ] l ) ( ) б к l I N ' I I1l l l ) l ] Ь ' ' l , l t i l I t llI] i l | ) | . | ( ] ( ) | ] i |l 'l l' ,l lЬl . 1 . l )
l l1
l r l rD с ф l l i r r в п а p l r ' п ,r r с р а з 6 о р u и r r o : iкr'y. l r r с r t , r 1 l :| l|i(l ) J l l l . I ] ь ] ? . I . p a Г i ] д ^1r яl | ( ] Г ( )
, | . 1 ) I lt' l 1 . о
rIoк)'llolllul ll l { l ] i l Л ] l 4 ] | l l t r ц х ) B i t l l I l Ь J с( l | | ( ) | l | | а . ] l l l ( : , о
г II ,l li l l ] Ь l L l i | | ( ' | ( . яl I o | ] о { l .
l ' \ l ' | | | ' , , | | , , , , | , ' | |' , | ' , ' \ | l' ' , | , l '
;'jnь:'rr'r,r,rr, J l ' , | } ]J | | ] i| ' ' l | . , . | | ; | , |I | | ' ]
l I 0 д o у Ч i { u с ( ) i J д i | | о| l | | ) o l р а l 1 \ 1 1 1 l r l oк o I l l l . I l ск ( l ] l | ,l ) i l 6 o , | n I Ц rl i l е к 0 с l L x I l ' 1 P с 6 у I ( ) ] l L ' l с
lIcrIЬlс.lt1\1Ьlх ilnIlilР;L1rlЬlх Pl]с},l)сoв rr llll]]lt||{)lIUrс().. N аrlсihI кlгo rrс'IсР|llL' зa6удЬ.
тс о6 oпТим|]l]lllllll'. llап!,iIJосTII' уд()6с1.вс уlll)lпn(Jlllя п прoчI'lх а6с'I.pак'ГllЬlx
tlсulах, l.jlаBl|оc - a , r l , l I l o B 3 т Ь l i i ' l | с р с Г ] ) у ) к с l ! r l ь ] i i q r е I ] с ч I L ^ I I I lI l l I T c P ( ] с ] i ( l | . J l l ( x :
I L с i ) с , l ( ( ) R l n ё , ] ' e х l l o . I (n] lp.oI lг1p' а ! r м J r Р o r r а l I l l я. O I - Е / ^ с t i Y с х / D с o ] v l / х N ' I l "
] | ! | Р o ч l | сT o Р l о n ъ r см а Р l t ] t )з а с o p ' l I ( ' ц | l eo к р y n i a r о ] r l у юс P е д y и ( ] 1 Р а в x я J о l ц I I е
,'рJlI '.н| ,\||| l:l ' ,'l
N | x | | ' , 1 1l , у t ' | , i]''г |il., ,, \ |,ll L' |,, l| |j'',| l \,' , \l L, lI l.

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.

Tc]]eрь o llсдoсTirТriaх' L{r'о6r'rvдер;taться нa плаIjу,


св06щпЬlii xoпе]j]щll! дoЛ
,tiе]l oЬlтI, Iloдв}l,кнъI]\ll xaк
рTу1.Ь, Закa]юв IЛloro - тo'1Ьrо i'olсваii. }lo на 6",]lо.
д , | | . ' . n ' | ' 6 о | i | з , , I l U ч ' n i | | \ | | | | '|o ] ' ' ,
l',l',tl ll'Uп,ll,,:|,,,,|'i|.п'nвl/х
п ',l.\),J,,,||ll, н'',Ь|'' '. 'r ' ' , o , , , l | ,l l , ! | |
l'
llая
1oтlJикpоl(oxTPо"l1'lcPовl1oте,!ефoj{иll:r."...,.,'...iu'',''.'.'''"t.',''u''i''.,.
1Yгo. 11.тoпlу )Rе в пoс-lj!дIreе ЕPеnlя нiri lt'.I] lnx с| l Ie
lii] II}L. lаj] l .tlдеlIl (l;,] i ''1] i iri]1
заl.:L]oв ir кoрпорilцj] и и l{PyIlньIe пpoгРа l1tlll сТс]{Inj
фирrl ьi. у l.oтo|t,rt сi.r;i \ !.:'r!!'
ilлeкТoваllнъiЙ шTа,1' Buес'Гo
Pаi](|liur: .ir].!] lluс !стрёiiltoT ]i,]ln'e дж'rrr]-it, jrii,-
ву]]1ис]1o прлIrцi1xy <в().!iLalL!Пr lОрi\;'],, Оiil''un
..o;r''' nor.яno"u. - .n
"n..",u,
денeглопaтoЙ
rлава 1. прoграммирoвание

в11116ще нЛxакoii хаJттуръt}1ст'a 10 ка-а aк сыrтаrrетIllaхватaешЬ еe пa PaДoс.


т,lх (noс.nе lreсяцa нI.lче[olIe/цeЛанъя Лю6ая Pа6oта встpevаeтся с тpyлнo скpl,г
ваеп!ъIllэ]rтузl1а3I'оNl)'a пoтoм чс!rс!]! Репy п дyl1аепIьjitoгдa жс 'l все это де
Jаl.ь 6yду? какoii тaм сorl! хоpoпIo есJl]t цздPeмнешь нa rtлaвlатуPe
часoк пo.tтoрa, какая eдal )кyeшь 6уTсP6PoД вlleсте с пpoп{aсjrсннoii рaспе.
чaткoil' tlolly'ГItоo6дyп{ьIваяаPхиTекTуpy бyдyrцelo пpol]ктaи t'ot{яяl\lьпIiЪсвo.
6oлнoil pукoil] эTо xа пoстoяtIнoii pа6oтс ilo,оIo прliI:iтп' JrеrrIrвoпoч итаТь жyp-
Iranьчllк, l п1 "lrЛртoвaть с ссIiPсrаP[lеii. а пoтоNl'зaкpьIвruись у се6я в кa6ипeтe,
пoDooN{aть иJx1 llочaTlI'Гъсядo кoнцa тpу]lовоГo ЛrIя.
y сво6одньIхкопсiiщnкo8 paск.llaдсовсpшснno иlloij' вpемeflи на.]iiIчнyюжЙзl1t'
llpaктtlче(x{ипи у ltoгo нс хtsil1.аeT']lTo чaстo llPЛводит к ,Itсстoкt'lмp;tзNoлвкаnf
в ссlrьс, tsьr ltро6овa;rл пРoгPаIrllllporraтЬ liРIl жеIlе? я пРо6оваЛ, Bьtнсси тo.
floЛ:lii :]тo.Сделаii всс lrаo6орот. Tьr ltеня сoвссм tlс Лю6lIшЬ ll T' д. B о6щсм,
PазвoлсЯ. l.Iс мoгУ yдсpnLaться.чT.J6ы llс llривеши епlе o,1lly ц1lтату:

'',Motю1tlnuн,lttлtер 1lхodu:tltара6oпу к восьмu уrnpn,pа6omаlL6eзnepе.


Рьtоа lш о6сt)' цtaОuit L:завolа ,юсов в сa"ltь,|1puезfiаn lо]|oй, nonцасa
uzР.lJL|:pе6u ll|оjll, !:nсu]|аJlс 1lсс1lai, lnl1|uJLся o noстnе"Iь,6 ьLс|пpo\анu"м(u|
ся с 1lсi1!ю6оuью, за||k!'l |lс|11а6а11 u, otn auо е||llInе}Ixo] e| !1odш| tla
)uj.n?I цас|1э.l aaоli ,nolL'uпюбu лopа6omаnь tLаd||.lРоLi0еu|еti'kon|a-
pl,lе взяLtt:со6oii. ol lat'уr я с лвoёtL, заt'lяпуlпь o w(lвon whad u вьl.
ш1nbIua|l, , Bчnlцвtllu|:ьioмоtiв ёuнtnь,коldа pе6e1юnу)1l'е цсt|!/],!/ut'ull
,тоuittьtЙ, а эlсtllLtl tltцеlanol||еa, a1lnum,Цcя об|,я|J1|lnъeli цпo-пц а в
ZoJl|)|jец lt|,lo веp]|]|llll.ь|xх]с|}Л аpц.uс м1,||.]lu: I,SI' VLS|' аlы|rrпulкltl,
о
n])'nl e с е1u)(. 1LuI:' л аpа э11ln u ц? с|сuecu 21l|lJIbl.',
тим Дкeксоt' INтEL_ взглядизнtтpи

эTy кl]Ill у п:lДo llрoчи'IатЬ o6яilnтeЛl'llol )Кc-'Iaнис свяJЬlвa,rЬся с )кеIlщlltlaNl]]


ll xрyllllьll!'ll корпoРaЦпям1,lсPiLзy x(e rlрoпaдcт' а I1ьIс'nЬус,rPo]]'гЬсяк нllпl нa
pe6oту uокажrтся ltрoстo 6рсrlоtloii, OIJIЬl|сc ясeх стPa/laю'ГPyсскис llPolрaпг
\1Ilс'ГЬI' нс I]ntoюцие ]]ика](оIо]lllмyflItтсra lЦ]o'Гl1tlчу^'ьlзапallнoгo N{uPа,Ес",lll
1 1 ) в о р п ткьI r a т к o( н o l r I t } l ) | t кBуь l в с c г а к Ц п P o ч и r a й ] с l ) ' r a м 6 e р y т с п е ц и a Л и с .
,||l,,t,1,|',|.a.IPрдJ.o,'вL|ж||\l.,1|.v]'ll'|6pi..',в,o|нi|.в:1|,у,|,.l|.I|.'lу)чPьii
\:taм, jj.Jшl )кс оп о,]уNlaстся l llo1l!lТllс1.ся свaлIflь пз ]Lol'паниrl в сL)6ствеп.
1ьIii 611зl|сс-. сIo разоря]o]',aIто )к('касaеТс, 'кelпцlrrr,тo тyтлунпrс o6paтить.
i! к ПrЛеrl]ltlуl

,,'Lhу tryoсnu|n!nxа omJxцоеп|:'lo1l ||pLLnlч11oЙ э!сенщu]Lьl?Пpoспu1nц|n-


rn ];оч|,11(:'l|!1ltЦuньI с1nо6акс oв за lпa ' цmо сОелаеm еt|g |1p11яп1La,
а npu-
Jlс?llщutLахoце|||в.е ul) 6а6n113а по, чmo вь!сосemuз не|o |}с1o
']l1lц|)ая
}'уlh'

в, пeЛeвин

]]!рlюе' lIoiJTоi\lvillllо Гl'lс хаксpы нaвссlда ()с1аIoltя одtJпoк!тNlи. A может,дслo


. ]Ill1c я )кerjпiпIrarr' n вTol!' чтo в-'lю6111.ьсяв l{o[JпьtlTеР \fо,кеT тojiьltочс,ro.
. '.;пa.r:rпьнo o6ре.Ieнr'шй t]а oдnl1ol](.сTвo' _ natu|а] Ьoгlt lonеly..'
27

чЕм з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Д,rll-Двa i{rlЛо6акса до'{Jrapoв в n1cсЯц. ] Ieтустo. ITрrпL,raдпъlс пporpаlг


rlllстьl ссiiчa(] Лo]lучаIoт пo $800i L 000 в ln]сяц, pil6oТм rrсего пtr пятЪ lпссть чa.
.fo
сoв в ]lсньl rl ]tnIеloТ ]1Ilа вьrriодньIх в llсдсJ1lо, есТЬ rr пеpесчe1е пir часьr пPп.
r.jiадноii пPoгpаIlIlt,lсT 3апrетпo o6тoняст хаксpa' кJ1сlle10Цс|o дlrliiПерьll

Дlц)ЯвостЪ сeтcвогo о6ссllсqellпя ]1-дго lIe"v]uеr1ocиспо'{ьэoва1]ис llРl.1,].яГлnaeт


как хnкcрoB' тaк Ir тсх, riTo с lll Irми rю])e'|ся' B въrсlпIх yvс6яьrх эавсдr:rlиях y;ttе
I]оявJтJlaсЪ такaя сIlсцl1аJLьlloс,|ь, кaк <liol\iпЬ]oтrPнаЯ 6сзопaснoс1r'>, L{еУv таl'l
- l]е|I()rlя'гнo. Хaпсp - эТo ваi\l ]lс l]])ьllц;rnьlli подPостоrLI эTo вrnсoк]кtrа
учirT
J l l l q ) l l r L L r р o в a l l i l ь I iсi п с ц r l а x l 1 с 1 . с o Ц r ( ) ] \ 1 l l Ь Lоnпtь I т о l l , p а з в r l т o i ] ! l l t т \ ' r I ц j l с i i . I L с
TР|lBпaльIrьlпt lfьIш'Цсltl.lсNt. tJРос.lIt'Jr'rrlкЛцriii поrrcдс]rl1е ]\lаll]xl1r'l l]n lr(tкОJъ
кo пraгoп впсtlсд, Рсl6сp,| fr,l(Dl)ис 0jЗrrсстпъIi,I сsоlllI чсpвсм) ]ro Ilnlljlса]I1Jя чeРвя
3alI NiаJrL]яТсnrl чТо rlсPеllr сьrвa''I сlrс'геlп,I 6сзoпасrrоr:тrr д,'rя tjo.l;ьшltх tirlllпьrо
теPо8'lIсдъlpаIlllбьlJli,Прсilотвp:1тIl'ГЬl]il]iuLol]||с.еP
вя п|oI тоЛькo дру|оii MoрР]iс' :l lle пo 6сзoпасlroс1tl), llP()с'(у]Ila|]
"экспсpт
U r п i i к y 1 ) с J е r { I U l i i ' l I o l l l l к o l . д i l ] l с з а г , I | я ] l ь l в а r r l J l l l jl i п с х о Л i | ь l i i к о д s с п r l п l а i l ' а '
L 1 , l \ ) 6 I 'l lr l I L l | т l l т Ь с Я о ' Г х n к с p о в j l 1 ( l { ] 6 х о Л Л N lIоt l 1 e т ь B ь l ' ( а l o | ц Y l o ( , l э р I д ] J I l l l l l )
l l ] D o ( ' l l I T ] ) | J l i t 1 lЬl с с I l n д с ( , t l . ь - , ц в i l д l l il l ) | l l а Г 1 Лll] l | е Р с , ] ,в с с ' I | т o n l o ж с l . f д с . r l а l ' l '
<эксllсрг'' э 1 1 )в ь i , r s l l т ь r р у 6 l , l o о l | ] I L 6 к | lк o l ( ) | l Г ) ' P a l l l l I Iс l i с T с N l ] ' ( ] L Ь Ц r , в r ' l j i
с 0 p l l с p ' t t с ] | l ) а | i l j ' ( Ь l |соl r o l I d Л l r у р n P o l r а r l ] )l l ] i 6 l ) l L l ] д ! n у ) P ) . : ] ; l l l l r I ] a T r , с ,кJо ! с n n -
l l . l l l г о I l | | p | | 6 ь i n ъ l r o 'r | о р l l с к o в i l l l l 1 o , и l l o i i I ( J l I o l r Г п l o ) l L c Г| l i I o I l o P д с n n 1 ] ' ' l ] o
r ] . с i i ( l ) | | 3 | | . | с с к o Jj iJ ] ) ' м о т с ] I П ) l 1 )с r | ( ) ] } ;Il',l у . I ( L tCI l I c г o l } j , n I I n с l I l , г l | ' i l . ] . | r c i 'i l ( l .
l n ) ' Г o Р ( х ,| ] р с N l яl l T а ] Ф в n ' l l I l l l j l ) ; l 1 . Ьi ) l l , r l а 1 yЗ а к ( ) i l I i р c T 1 к )( ) б l 1 l l ] ) ) , n L с | | l I L , ] с , ' l ь ] ] ) Ь I
l r i l N l ] ю г о] I Р о l I l с ,O с o 6 | i х l i о 3 | l i u l | | i ]| l ] l l l l J Ь l l { o ]З]/ ( к | Ь l l c 1 . l ) с 6 v с r с l ' N , l o ж l t t t 't t а -
l r | ) l I r v с ! /, ( l l i ] а с с с м 6 . ц 1 1 P 0 u i l 1| |r l,) l ] . l l о ) | { с | l lI,l |x' ] | | ) с , t L \ l cI T | о l i с I r ао l | ] I 1 6 ( ) lкl 0 l ) с L J o , r l .
l l с ] | j ] ' | 'l l l ) о ( . i \ l i 1 1 . ] ) | | l }LilL('х|(Ь) l l l I l ) l с , l . с l ( ( ' | Ьl l lI') ( ) | l t ) I ) , lс1lЬl ] ] l l | '|tЬ I l | ' l l l с l ] 0 L i l 1 i t , ] ] L | : l I l .
'гсT,/]P.ItРoToкoJIllх:
роЛ1l|Ься ||ll r L o д ' L r : . ' l t r Ll 6: l l i r г t l п r l L Л P с с o l ] ' l l o I ) с х l ] l l | с
, г ,
r . P a ( л l к а 'о 6 х o д с 6 Р a t t l r N i у o Р о l l l l / L ,э 1 ( ) у | ] J | ( ] к i l 1 ' с J Ь I lJ' 1x)ь ] с о I Ф o l | ' ц i l ч l j н l l с | .
с J I ( D с l ) с д | l е r y п o $ 5 0 0 з a , r L Q y ' | l o ( ' j l | || l l ) с , l l Л o , ( x ,l Гl с l I ь ш с l I o с l , | n | l i i 1 с ) .| l a
l l o l к l l { l !o д l ] o i l д ь I р I t I J y х o l 1 j l Т о 1 I l с ( ' ] { ( ) J I l l | {N1 l1l lхI ] v ,i|( o п a р ь I l l с с , l ц 0 в ' i l ' | l )| l n c T ,
в сPсдllсru 7{e ()коJlo пятll чilсoв| ']t) с(r1, i] Iaк:t nрlllloсllт сотIJlo бll{с()D Л LIaс,
с о в с с l t . ( I ) к : e I l п е п . l о х o I з а x u { , r l r t ) ч с | l | | с (r 'vl I I o г o п L ' 6 o " . l Ь l l 1 o г o llа-
"l1o':сс.'lI
j l I l с l l l n r е . l ( р l l i i п e Р о вп o J I I l о с T l I o к o I l T р ( ' l | | Р v е T с a \ l ч с л о в с l ( . T o I r о I t u {д Ь J р - ] , г . )
]l'jlсTкll' B loгolrоil' l{Poruс L]вoxх (rrj|, Il])1lх./'1 тся vповilть lra вoэсx11с ll у'(rllу,
\ dюIrгу||ll 6iL6:l пoд,rа,]l У гРllмo.|lloГо адl\o]IrпстPатOра дьlP ll'ЛЦx)сl.! Nlо.
,:iCT llс 6]l|Пr l(] ]] оп \to'(сT нo зilll'цд.|jгш' скil]l;IR' чтo это пI]какrl1r нC дr'IprJ, il <.

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

Tакчтo pа6oтусе6eнc наiiдсттoЛькoryPмаlrIrЛи


Iipvroвoрoтpа6oты! rtpltрOдe,

Еще дoхoдlтее jioмаll]1с llPoграllilll и"'т1''uЪJРа'{а-чсь 6oJее пoJrиткoрpект]]ьlN'


язЬltфi\!. <аI(аптaцI.Iяllpoграlrмноr.o о6есttе.telпtя под нyхДьi а6oРtlгснoв', Беiro.
пaснelr вссго рa6oтать с rtо]lкPстнъll! заказчr1коll Iтo кolпpaкТy в этol1с.r1yчaсl
ес"1Ilде..1oдoйдст дo су,,te6flьIх Рaз6oPoк' rlPиg"1скi|r], 6уltут llапJегo нaнипIате"ця'
а IIе вас как исI]onпIтeJrя (xотя ссЛu здoрoвo pазоЗлятся, вaс тoя{r пPи!Jlс(уT),
стоlrп{oстъ вз'roмa в?Ll)ьllpyется в oчснь ]]rпpol{rlх npeДелaх и 6oJrьI1Iе1iчaс1ьlо
3аBисru ttо oт сЛo,к]кх:'Гll зallil]тЬl] а oт ваrxих nlaРкеTt1rlГoRЬrх таjIангов, АflaJlo-
гrlчнo дсJjo 06с'гоIlт п с сoPxliнЬlм взЛo}rоNj, пo нn потofi. Уilellиe
сниl!1aТt' 3аlLlи1.ьI и тaлaнт в1'l1.oдl1oIlРo]Iавать PезvjlЬтатЬI свocljo Tруца :jтo
pазнЬк] ].аЧес,Гва' чaсто llсltltloЧаЛ)ц11е /]{Рyl.Лpyга' Нсп.похаЯ идся _ ]JаUять пе
11сд)ксра (l1.пrl'eс.nп llнaчс pilсс1aвnl ь aii,lеIl1'Ьl, за6Рaться под кpьrllо к мr:Itс/lrкe-
гr,,L, 1||n||,|.'|,Г,||'лl'''j\|l,l.',|:'',',,||c.',lnnIn'л.',),llnIo,,.l'|,',,l(JJ,,,t'
6отаюtultiiла ltего хatiсp 6vдс,l. tlрlIllo(]|1.J,(lЛrPмЕдo пятIr-дссяТll тЬlс'Ч ]1oЛJlаРoв
л rrссяrr (сс;rrr оrr леiiсlпriтсЛЬxo хilксР). З.L Bl,iч€ T ом Рaсхoдoв нa сoдсрn{lпис
(o1p)lдllиlot в сlrt)е ]чilссс пoJIуча0Г свЬ|ll|с двyх-
Pазв'lTllс ()'lP\lьJ' всд\'Ijl|lс
Tрсх (а rrcpcдкo и ltятlI) лrl.jrо6аrtr.rlLrtr шrcсrrrt,a втoРостслrнныc nl'ца - |l пРсд€ -
'llilх 11ЯтllсoT.ti()(j|']\l|.|со].
Tаx 8сс.,aкl| Il('l(lx) зapn6ir,t.ьlва,r,ьLriLх;rксрсr.lre ЛJIrl I]ст? llil кill( BаN| с|i:lЗaть,,,
l ] r l , l у 6 l I l l к с \ ' 1 о Л о л o i i с r l с j 1 l ! l U l l | сl']l 'o ' ц у ч а l o I I l r tIi il o P ' r r к l $ 5 0 0 B ^ l с с я | lr t ] l с o 6 Р c .
i\]сI]cJJl|ЬliIl|o/lх:l.llllI1il)кor] il('|)с/l l]с'lIiо ltr]L{)l]ojlЬltl]|мljil(lilJ]l,с'Г|l()iil) l]Ь]ilЬI|lilсl у ()l(.
l)у)t{ll|()l]ll|х сllссь ilaBllс'Г|| с RoсхlllцеllllсNl. l'Itl ttp:t6отаrr' сьt1 I]рl'хо/L]l1.ся оii'
( ) i i - о i i I 1 ] с r c Л } t J ( e l l l | р o I l ь l ] I | , r I o | | l r ыlхr c I l T 1 ) a \ с ' | P i l l l Ь l э ' Г a I L и 4 ) р a n Ь I i l l ' l в а с T
сrllrсхoдrrrслt,ttуto ульl(lNу с ()jLo6рякЛ|LIlNllloхЛolIЬIвaлЛсl\l I!о ll.'IoЧу; <',,]\4o)кe'l'
r('оо.ru.,,,l,,r':'1'Уl',( |'',',,||},|(,|||||,||i,,
П р o ф о с с l l я r l р о l , l ) а п | r v | | с тvа' Ф v r | ) l r l l l , r l tсl B o j i м r l с 1 r l l l е с к l l i i o P с о ' Ц 'с o I ю ] l у J l я Р .
tloстЬ-l.il.T llpяп'(l r]a гnаз x' сJIучlliilJ )lх Jllo/lсii зд0сь L:,Ган0rllll.ся Bсe МсIll,пIс
'\lо''U',Bl||lг\|\'\''i'оь''|,'',l'|\ll|l.,'l|\|,I' lr,.'||опl'о
сlLl.liДrватl) с1 Pу ll'|.урьl/l l(lГl)епal l1lУIодокyмснTaцrlю, ltolrы ря1'ъся
в от.llадчlll{с,,, ч.ANi качlrствсtltlсс tt0,]t'тl]ltl llrt]'I(еL'ro дохoдl1oсTь1 OlLIlа кo поIопЯ зa
ямv. Что.
"'rпчЁьllr o6oгaлtеrпlсll oпусI{ас,l.IJЬlЧllr]"lIптerlЬIIуloтсхrшtкув r.-'Iу6оxуtо
оь] lfнoго'цeГl|иe от''Iох1]н]l' l.Лl()lirвого коЛil нe рухнуJllI oко]lttаТеJlЬllo' lIу){GIo
, ' o ' , L ' ' J l , I l | ' l , , \ | |, r ' \ | ч | | | l , ч | ' | \ . , | | ч '-,lj нir.|р',д|||l||o|||',ll|,|.^l.^йl,р
llicн0Pl1oii liУЛътYроi] и tiсoPдrlllilр|1ЬINal лrоЛь]tlli,
вот интсpсс]rыi1 (JlРr'lпolL llз }l}1тоРвь1()с ЛеolllJ]]oM l{amBo]rьIlt (пPавдa, оIl fo.
rrорll"1пе o хaкеpствс] a O "!llТeра'Гyре' нo кaI{ая }tаIl paiJll]'tц.l)|

Boпpoс: хopauю л )t1pа6a|lьl|заannuсanо|tl? IIe начаlnь лu,мLe nuсаlпь

oпве|n: са'Jna пaсlnоно|lка во|qj()са 1!е в|1ojl1|l]l,\Ра|зtLl|ьнаx''l]umepamlpoii,


кoнькa6еэnп'ы сnopnоt,Lrпu pазвеdа tuеlt акваpu!'l|нъl:tpьL6oксrеa!е1rl1rc'
чш Iаmъ за]|ujnmы:я , |nо]ькo еслu эn о dля mе6я ю66u - есiш шl aценъ лю'
6uшь pьL6oк, кoнькll uпl соцu1t||nелъC]nво, I4 eсnu пa пpoaесmвuu м}I.JZuInе]n
пъL doсnuzнeшь gспеtа в эпolL хo66u, eслu lпвoupbL6кu 6!Ф|п не aoflц|пь'
кoммepчeскaя
приpода
нeкoммeрчeскoго
oреnsourсe 31
о пa Ка]{oй]nо 11е11011я7|1н pазrЙоэt.аmь||яn!axx!, че.\1
ой |1Рu1|111Lе !| все1ioкt\ц-
э|{ающuI' ес!1u1nьIпo(meпa!r|.Jзабpoс|lulь все oс|naJ]ьtLoе 1 цЙ aе ulь сo unх'i
Рa6onы u с|naне1llьзанuЛаmься пoltькo pbL6nам11 пoiо o6mР!1n|uШ:я'
\mo pы6ru вnaLне r1Оl!|п пе6я лpок\л|ul|lь. А oniеrьнъlе ак|зC|рuц,1luс||nl
|1.1u|l:]Й
сmpоl1ьlза?аijan oч,u| 6a!ьuluе ddbzu, .з'
Ояппa pазttьt'моnраtlаllс вьrcmaai|Lll]l11вьЦ:n|цnа1oil лo't.B Itаl|u че']|п1uо
}|ъl.кoнькoб,.э|сць!' Ho nокцпап|ь с|юp|п11вп1,Lе
l|о}tькu tt завorЙnп,Й'уа аltва
pu!м с Расцеma]t clеlоttlь зоpошuii 6lзнеr: - rcлеnо '|Iцчшt:aпцltltrn,
пpoОукпaвуla паlanкц- Ес]ль, nо]lсцнo'ваРuаxnLl,lяопьullxo?o а|JDn|nIL!-Й
)lсцp|l{]!luс]l1|1!сrnpu|nьсa lnсnc|nоll11кrыв а tюttuмпl ю ко,уа ltdц юt u:lltлl,tх
ulLuсu,еltаplпirrавлтlрoв-Hо эпo щпе iцасn nс|nвon 6lзltcс. пtьt у6оoi,i
пa утоdу зa акоарuц.ttсLllullа бojlьI11oil
rЙяiсtФ|l |,ь6офсрм,!,

к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 п

в открьtтьlх исхоД1rъ]х тeкстaх 6o.Лr,rtrcriдеoлогиtr rl пРoпaгап,tьr' чеlr сo6ствеп


нo сaмoй тсхlioлoгиIr. Мo}кlloJш rrа э1oru зaрa6oтaTь? Tрaдlrl(lloннaя
форlfy.i,1-
рoвка aдеlIТoв oPсп soLlгсel <.llрoгpапlrIное o6есrrсvcние лo"r;кlкJ 6ьrть 6ссп-,тaт-
rлава 1. прогрaМмировавие
денeглoлaтoЙ

пo, ]1еньrlr 6еPyтся тоjlьl{o зi пoддcР,fll{у, - jlе вЬll1ерхr1!;еТ rlикакоii liРиTui{li.


ПриспioTРптесь к N,Iiс|oso|t дpуrllll кopllоpаТxвtlыll rlPоlзgoд]1Tс-цям' ПJ.]al.
rlьпi сoфт и 6есп.iатнaЯ поддср,к]iа' эТo нllи6о'!ссy(rоiiчивaя 6изнсс.схсма, ll!O'
веРеЛ пaя npеl{ei lеп{./]а | на по,]дсРяiкс мo'nнo заPа6oTать' нo.,, тоrrькo оТt{юдЬ tlс
саi1r1м ]rазPaбo гч,lI(aN' oткрьITоl.o прoЛyi{та. Лoпvстlll ' пш вь]пустrIЛп llo]llinт.nя
тoP] стaвшlii noxyxяpllьlм' Ilос,I.сxсllllo вo].p!f llem tlaчlttlilсl. фoРмиPoваTЬся
цеЛoс с11116щссТв(r' riТo.1o tlrl]]]е1.
|iIJl.]tll'к1tг11) кollсу]|rlтllPуc1 xoJЬзова'Гe"1eй'
xтo тo пPптoPговьlgtlст 6x6Лиor!'камl1 l1 т. д. B0з]1l1liа!1. дсцснтpа'Цuзoвa]lяа,]
rJlltl)p:tстvктvpа' aРoвopaчlIвaIoщаЯ NrtI]l.:Irlo]Jьlilon'llаpoвlнo Irс жсЛaюrцaЯ дс'Цxть.

Бсз щс/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здав

i)rlliI]lвlIую фlЦ)r1у IIа Tl])i()oiеlllсl.llt oсTPOвi]х (шуTк:'' (онечно' нo дo".lя LIстrl


]lr'l ts ]lсi'i всс.,].ilкl' ес,|ь), Еще ваNl ltоTРс6усТс]я хo1я 6ъI мIЛ1lIlIa.flъпo pa6отtllo
irllii xpo/rу(T, A rдс сГо вз'T'? СоздаватЬ в oдxночку пpo6леY2тI]чпо. Pll6о.
:.гiь с кrllаllдoi] .- Рll(lковaJtIt()' гдс rаpаllTl1я' чтo oд!1]] Irз ч.riеIloB iLомаrЦьI пе
]!lpe| lrсхoдIlЬJе 1.екс1.ЪllJ пe с()ЛЬe,|llх lla сТopolly? и'1lI' кolда пPoIраIlrIa вor
. ]l lep:i6оTaeт, "11тnерЦl}.ппьr lrс пoUr'IеT llссх сl|сцоg к чоpтовoii r]атePп, нe най
]l.Г ]eсятoк Дpyrоii 6eстoлI{овъlх сТ}ЦеlIToJ] ]l jlе jюручllT ]N фuпaпъ]rый (кoс
roчveplесrая гplpoдa rеroмvepL eс.огo oрen sollсе зз

lfeTliческиit pеNtoПт>?и стем' и с дPугиlll aвтopy пpихoДиЛoсь стa]lк}Iватьсянe.

Лад]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

r1яхи кPlr'|r'iЧнъrх yчасткaхкoда'BиPyс N{oPPисaи pяд ]1py'


к бьtсTрoДeйствию
гl1х сeTeRых вr1рyсoвпoлilос]ью jlJlll практlгIeскll полI1oстЬlollаписаньl ]]a сп-
нa сlr i1о'(нo сделать пpакт!!чески всe To жe' liтo и Irа Aссеlt6лePei пусть и с
rlс}rьшсr1эффективпoсTьro. из дeсяткoв тьIсЯч стpo( вирyс]1огo/aн1.ивиpyсllo.
1.oкoда.rlиUlьсoпrя дpугая рсaльнo нyJt{Дaетсяв aссeмб]lеPe,
УPодoватъ пpoгрaмrиy ассel{блерIJьl\1]{ !ставitаNlи дyPЕой тoн (дажс нсrI tlРo.
с-гoпpес'гуIlлениe!)!весь асссм6lrpнЬrii кolt дoJDкeпбь]ть вьпIeсeп в oТдеJЪrrьпi
oбъектньпi rvoдyль, ts пPoтивl1o]!tсЛучae пpoгрaMп'a рrтсI(уeтol{a3aтьсЯнепеPе.
нoсипroi1lrtlpt'lвяrаIlIi()iiк свoемyкo]vlпI'лятopy,BпPoчeм ' ,rизнcнl]ъпllц{к.]16o']lЬ.
шI'lItсTвaвиpусoв oчrнь н€ в елrlк' сво6oдa мигpaции им rrс тpс6ус,|ся'.гаl( чтo
llсlloльзoвaнlte асссм6Iсpнlrlх gсTавoIс!t спeцифичньlх лля Лarпloгo кoi1пиЛятo.
'Гe:!l6олеe чтo этo суrцоствeнно сoкращaеT
Ра paсrпlrPоний вIlo'Цt1сoпpавдatlo,
cPок р Ра6оп(rr (тo '{e сaпIoоoтносl'tтсЯи к а||'lr{в]rРyсаrvl) ' Kстa ГI{' y llекoтoPьIx
кoмпилятoPoв| в частlloсTll' у Intеl с++, eстЬтaк назьIlaеNIьIl] ]]llстPll(с],l _ вo3-
IlPямoгo I]ЬlзoвassЁ.t(oмalrд. кРасoTAI
Ito)]{ttoс,Гь
Cyпtествуeт lrнo)кесTвo 6cсluraтlrьlх трапслятоpов с aссепi6лсPa'иo pciU]ьl]o|'lo-
In]ЛЬrуIо'ГсятoльIro двa l'I3]lI]х (рcчЬ' ра3уl{сe'ГсяlIlлeт.o плaтфоpпre х86' пrьt
yмьlrllлеп|lo i,IcзaтPа].l,lвaс]\1
0()еРy ]lс'ГРаliвaсмЬlхс]тстe]!l'пoс]toльку этo o'IдсЛь'
]{:rя6oJlьIuа,ll.cма)| rvoРаЛьlloустapсвшиlt МAs]\4 (Мiсюsolt AssсmЬler), Dхo/rя-
]rlиij в сoсTilв сво6oдIlo pасIlpoс'ГРаllяcмoлoDDK' l.lстPe ЙтеЛь!IoРaзтJивaIoIциi:l.
ся FАsМ (г]аt Assсlnl)lсг)' сoЗдalпrl,lijiв PaмкAх l]poск'Га oрсп Sol1гсr (htip,/
flаiаssеmb
er'net/)'
I.lo ссгoдl|Я aсс8м6aеPoм мoltоto тoльксl ttсl6шto|]aтЬся (Dис, 2'1),l]Ля 6oJIьrдllп-
сTBa |l3 IIAс осlloвIloii '3l,lк Рa3рa6o].кll _ этo Cи' в <(опсTlfГуциц> l('гoрoгo
Ja/lекЛaрирoвallа tlPи6.]lll'(eIt!loсть I( аlIIlар?t1,уРс (а зuачи,г' !t l]ьlс()Iсaя )ффeк-
'Г1'Iв|{oс,|Ь)'(Daктичсскll э1.o rvol.;l.асфм6JIер' прeдoставЛя]oщrlt.i ]I|)ol.Paммtlс.
r
l у пo rrv.о . , в . , 6 u l v rr t . ( , | ' ||,l ||'lгv 1N|е(-е. дl .
г l ) е л v л р . ) ( Л r н | ' ' U I l . D ' J | | | J : l |' Ц
1 ! Р o / ' l l 1 ь l м o р I а } ! o l ! l 1д i l } к с с с , r r l l l Р o г D a l J м l l с T с o B с e м f l с э т o и i l l с Л в в l l l l у ,
изllaчаЛьпo оpиенT]'lPoвalllllIlii lIir чrIсTo <хaкeрскпr> цcЛи' сr,I зaDосваJl lIРl.|.
зllанI'Iс runЛJx{or ioв пРо].рaмI l,lсToв ' lIс пoЛ ьзyIoщl'iх сt'o дJr'l решcl l ll я сnIl ьтх рaз.
лич нЬlх заjlач1 кaIс.тo: ] l пlrкоуPо впевоr и в ЬlсoкoуPoвнoвос сисTе}1l toe Ii рoгi)aill "
l,lllPoвa]tllc' встрaliBael1ьIс сllс'гсмьll фrxra}lсoвь]е и пavчпътe РacчетьI' о6щcс
nPи(Jlаlllloe прoгрaмм рованllc и T, д, l'IРll Irсeх пpисуlllиx еNIy нeдoстаrках
(схoДптс нa SU.с.сPP' пor|итaiiTе хaPoна) этo jlyчrnсс сpсдствoд'llя вЬфaжerrпя
пPoгPaмпл1сTсlroi'i NlьIслl'l в наI'I6оJrсс сстсствсннoii Дnя lt€ с фoРм""' копсTрутt
ц!tl'l в стиJe х == (f]аg?sin:с0s)(у) irДесь вполпe заI.он]lъI Il яв.nяютсЯ l1oрIюn,
B этоN{ сI{ьIслс С П oчеrrЬ ]lох( Dк пa сIiеI(TрyмoвскI'ri{ Бeйс'lк' nсзjlс' где э1.oтoлъ'
кo возмort{I ]оt /цoпyсl(arо щий !оДсТaнoв кУ вЬIpa]{(епий, oтсyтствпе встPoснlrьrх
сpсl/lсTв дJ.Iя ра6{rтьI с Nlaссutsаl4и вl{Уl1е с дo]lolп pуloпlеii l,e6pe)кнoстью xPo.
екTиpоsaнrrя пPивoдя'Г ]t lпloгoчис.lleпtlЪIм oIIIи6каlI пeреполнения (Ьrrtfетs
ovеrI]ow), a <lrсмoкpaтrтчпость' ра6(rты с укaзатeЛяNlи к yтсчка]l la]!{ят]{, Пи.
сaть ссTевьIe прIrЛo'(eния на Crr кa-rсIoРически ]Ie г]eкo}feпдуется' нo ведЪ
пиl]lуT жeI oTсю]Iа 6epyтся чсPвиl атaки на уjl:Lцеll]lьtе систelfът и прoчIJe кo
1rаPсTва виPтуaЛьfl ol.o мирa.
з6

Pи.' 2,1' VslalАssembу P.o oизуалЬвыйассe!l6лeрлOд W]ndows


. кylcЙ мастерOви yдoбHЬм ре^апоpoм диалoгов(io тAsN1ED
oт so|al Desgner всe рaвно крyЧe)

]]Ь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с-

i1.r всдЬ C+- Jlor]Лrp'JlneеT l|е oдj]\ll а цeлъIt трп пaрадllt.]!]]r]прoгрaмlll]]Лвl.


: r ' я i с т p у l i т \ ! ) l r о с l I P о l l i l i l N Л I P o в a I l I l ев д v х e у ' 1 у ч ш с н н o г о C ! t ' а 6 с l р a к Т l l l n с т ] 1 I l Ь I
..l;1IlIr]х'позal]]vlс'ГвоIlаllllые у А!il) 11,]lакorrец' о6ъекT]to.oD]rснтxроваr l Jrъlii яз Ьlк
.1rlrle s]inula, B.]т чтo loвoPllт пo э'l.{)Ilylloвoдy Бьeрп C,.pаусгpyш (рIlс.2,2)'
::rозвaннЬ]ii l1.)хrьi\I сTраусor1:
37
Пpu сoзОанuunpozpсt.lLмъtвсеzОа'есmь некoпopoе lсotuцeсmвoвapuаl|mo|\
lo в 6aльutuнсmвеязыкaв вьL6оpсОaтLпзавасnpoеnnlqовщuкязьn|а,B с!щ-
чaе С ++ эmo не mак - въL6opзa вaмu,Tаlсаazu6кoс'mь ]rcnе-
' есmесmвеIl|la'
p с Ц o l J \ t L J L я п P \ I \ n юl ц u n . l . n l ,ц m o . u щ P ,n u " п t u ш ь a d u " n р а в ш l o н ь , n
сnoсo6 аeiсmвuil oIа 'ltIlэkеm пnкэlxе olnnцzнg|nъ начu1l|1ющlLxnoльэоваJnе-
rеn u npепооl1.]а1nелей' |laJ!апющ1L\'чmo язъLкIo|Jош' eыu e.o Jrоэmю вьr
aц|lmь эа нeaеL1о' с+ + ]с mакIlJ'|яЗыI|аtr|||еomнoсu|nся. o 6b1.Iс1Lpoекmupo-
вап ]|аr на6ap |t1сm plj'енmoo AляпpaфeссIloн0'1loв,11эlса']loваЙ|cя 1Iаmo' ч|no
в 1еJn с]uulком tr|lюza вo:it|o'x|нoсmеi' ' з aцum уnoaо6nяmься d1лепа0n!,
no]nоpьLй,заая|Lуa a це.r|oаa шк.о6oiщu1{а, вoсюtuцаеm,чmo с|nonькop|13-
T1ъl:с,j||oлo na1l1сов нul|oм ц 1|a пo1!аdoaumс я,

1IР,lllЛloсrryтьIltсlr этo цeльlil Ntиp'БoгaтьIri ассoрTимcIlт язьlкoвых воiJмo)rt.


ll()стeijrпlс нс o6язывaет пМЛ пoJ]ьзoBirться.o6ъeктнЬlй Il()l1хoд6eспoЛeзeIl в BЙ.
(
г \ ' 1 , х | l Л I ' : r I i в с | ' J х l ( о l Ь ' i o n p o г l а м м и с 1 Ь l l j , l л D l ] , a ' ' | и ( ь| l : l . , l , l Г J м с N l у п P ' l r l с .
ясlшe 'тatt ll I]с пoJlyчплосЬ, а вoт llapддигму <y'lуч]Лenllотo с ' (oб1'явлепЛс
,г'
пеРемe]lнъtх Ilo МесTу lrспoJlЬзoва'l'Iяi a нe в начi].пe пpoЦ)aммъt ll.) IiсполЬ-
зyют мfioгltc' ПpаBдal в вrtpу(ах п ЛPail8eplrx (PaBIlo кaк ]i в мollуЛ,lх сотlрФt(c-
llllя сo сpедoii) )кeстI(ая тиllизal1ия пP't lloсllуTоIо сп пopo)кдaеT /txкfili кa0-
_ 'гипoтr)' исхoдIlЬ]i]i I(oд
Tl]пг (oт aнlЛ. cdsti,g явI1oс Лpеo6рaзoвaнис уPollyя
и сtтltимitя j!1aссy вPс']\'cri'l' ArrTомir,г'ltleс(oй с6opки Nlyсoрa в с++ liсT1a з1lачl't-t.l
оT y1.оtlок ЛаNl,ггl{ oII ]lо сllасaсl' (/lажe eсЛи l'IсlloЛьзyloтся <ylltlIьlс' уlса3aтoJlи
ll ||l)oчис изliPацelIи,|). МохаltlIзмы Дrrя Рa6oтЬl сo сTРoкамл пePспlclt]юii дJlп-
ЛьI как 6у](т0 6Ьt lLoяtjиnrlсь| Ilo псPсIloJJIlt]llия 6yфсрoв с 3авl]дпoii pol.уЛяPtюс.
TЬIo всt.l)eilаloтс,l и дo сих пор' тaк чTo с++ _ IIe тlilttilцо'Ilil всегoлIllllЬ рlliJ/lyтa,I
рФ{,'|arйllil' ка i!1пдн!!'I.,/:IохЛЬIй сTPаyс oцelIивал пoтpс6uoсTЬ rr с++ в 5000 прo.
гpai!1мllстот] пo вссNlу |!1l'tРу'Bpя]l J]и oII оIIIи6aлся. Фспоlreпальнaя tкlпуляр'
||oi:,Гъс++ ]rызвa||а сl(орсе r]ЬlсolФii сeбестoulloс'ГЬю е|! кol!tп!IлятoР{)Il ll вьIтс.
кaющсlli o,rсI()дa PaскруTкоj,i (Ila/lo '(е rсакJгo вo3Rрaпiaть в.'iox(€ l шoe)' чсll
техtll1чcсl{lll\1и /]oс.гollllсТвa]\'п'
tlпсTьlx кorvnrtjlя'Гoрoв языкa Crt Улe/{авнo }rссуществyет' сeiiчaс ollи пocTalrЛ'l.
l()'lся ]]]!'естсс llJ1toса]\{ll'llа однoii Лишъ пЛaтфoрмe x86 ]{х пaсчитЬlвa€ , iся 6oлеc
l1ссяTкA' срсДи них cс,гь каlс 6сспJlaTнlIеl тaк и l.oммсрчcс]dIе| пp'тчelt 6сспЛ'lт'
lIых знаЧtIтельпo 6ojrълrс. По кaчeству кoдoтеllePallиrl лидиPуIoт N{iсro.
so]iVisualс++ (вxoltящиiiв сoстaRхaflявнЬх Plаtlotm SDK и Visrral C Too]kitl
пpaвдa,IDЕ ,rапlпeт) ш lпtсl с++ (RеpсIrяпоДWiпdows - yсловHo-6eспла'ГнIU]'
a пoД Li ш 6еспЛатпaя для нrкoмп{еРческoгo I1сlIoЛЬ:]otJап'Iя,oднако llиlоo tll]
ullг/|l|.с| н а v | . U м I l и , 1 | l p о в , 1 U ' , ' h ' , ' ( ( \ | |' '|рoJ а в у . и N { ь R | ' v с | . и к o д J в ' ' 6 ь Р | . l P Ь П
(DaiiльI пoд Liпuх и ,.il.lliltoватъ их с Windоws при.[oжеllЙяItи)' WATсoМ с++,
кoгДa-тo oпт]lмl,tзllpoвaRпIl{й кpуче всех' iтPeкPaтиJl свoе сyrцeствotsаlllte и'Ге-
]rсPь р,r.rвпваетсЯв PaNiI(aхпрoсктa oреп WATCoМ' коtoрьIii, пo свltдеTeЛь-
сTвам 0чeвидriев. 6oxЬше liЛючIr'г'чeNI pа6оТneт, Boгland с++ тaЮi(е6есплaтеn,
ollttакo с кaчеством коllогelleрaции y нс1.oкpallтьl' Это хyдлrиil oпTимIrзxрyю.
ппrri rroм1l]1ЛяToриз вссх] B мrQe UNIХ 6oЛЬuroй попУляpнoстью пoЛьзye'ГсЯ
GсС. noDт]1Doваrlrь]й в тoм чис.JIеи lla Wiпdowsl oдltакo пo/1<oкнаNllt' o]l чyB
ствvет сс6я неyIoTUo Ir oсo6oro резo]laв нем rrет,
_ сOздатель
Pи..2.2' БЬeрнстpаyсгpул Яtькас++

l I a с t t а Л | , 'I l o . l п . I I J I r ш u i i I l т ( ) l х l ] P o ' { Л c J i l 1 с l l ( р e д с l ) c l р h ] ' l l i l I l i r ч а . ' J ь l J (з)i l Д I N l ы R a Л -


i l , l к i l к < ] с l . v ' 1 c J l ' | ( l с l . j l | |Я
' i I l l | ] i l , r l с \ ' ( ) ] | ( 1 P ] I P \ l J (l)|l| i i о ( I ю ] | l l , | с l Ф l J l L с | l ц l l l r Ф P у к .
TyрJJ{)П) llрoгрaNNllp0l]а|| я' oОЛ П l r с l , о П T i I l I L l i , r l ]vl ' { с | | ( ' | o } l j Л l l l I T о ] ( Р | l l n ) '
I l o ' t t у . r л ' r r r vl стьo - т о r r 1 l r l д^( 1 ( ) ] х , ] (с)i iri| | | | к |l|..Ir l ( 'с r ] l l I I | l |l|r'r r сl r о р с к r l i i 'з r u r l о т
o д 1 j O г ol I a] l ] i l I l l l ,сlд о х ] l l Т l ,r и l ) ) { | |]( l)(,] д х ( ) Л| |' с l ] o | ] ( ' l у o N l l]' li ;i l ( ) ( l n с N | |, i l х о n 1 г Г с л
r ] ( ) к n ! ] j C i i с L ! ю r I I l С l 1 ' l | ( ) ) | o \ l у I l | | ( ) П l сr ! | | Г Р Y | l l c r | l | l l | i ! '1з}Ь I | Ф м
I I l ) o Г р : 1 ^ l м l . | | х ) в i l l lIl l],ol , l | м с l | | | ( )l i r l ( о i i , l i ! Ь l ] l(l l I у ' { с l L p t l l р i l 6 0 T ч ] ! ] ( i l rIl l r П Ч n l ) с i i .
с ( ) B !t l 0 ] l 1 ] ' i ] o | ] a п ( l l ) ( ' l . a I ] о R I u llll l l I l с N ( ] П o i i8 r , r 6 o р D с l р l l ] r r a l r r I о г o
i,до6нсc по.
я | ] ц в l I R l г o ( j ' l L l с J ' I c / ( з а t l l l I | с Еr B L ] ] l d c Г ( I o T , l 1 у | r l ( ' | i l I O I l l r ( ) с l l o Р I r г Ь )l)l о l к i l к б Ь l
T . l l t I I l l 6 Ь r , r l ( ] l . r тl (о) I t I t o P ' l с с ] ( l 1 il iJ l n ) n r Ш ' l 1 o ] l х l ) Ч с l . l t o l l с ' { l { у ], l P л n о х с l l l l Я , p а i }
р а 6 o т i l l l I l ь I c н l ) с ' J p h i ' с п с к r l . г r l p ь l l r r !( ) r . l ) i l l l I l l | с l r l l , I r м1 l(I) , к l l 0 о T ю i \ i I I l U l l р о l l i l T Ь
6сспЛn]'l|ыi' трal(..1l'торor1 l.rcl. Pаsсtl], ()дltакоjl.'rl
рaзpа6rгr'rtlIс rrу.llI 1.гсс Раsсаl
I l с п р | l Г o д o I l jп о ( r t O ' ц Ь к уy I l с l , oI r с т ( r l ' Г 1 r с т с T | ] у l о l ц 0 j]i ] ) l ] , T о e с | Ь l l Р l l г о ] 1 с | |r,r о
I|счIll)' lю ]'o.nьl(()xc lJPIl l1J1ir\'аЛЬlоNl llo;'(хо/l(..

мнEниE чЕлoвЕк]цс ФoPyмA


,'пoHятнoе дeлo,Чтoв коHe ике ИЛи нЕт илии-нЕт свеси,
nаpoдlа вь|в кyрсеiчтo yжe дaвноemЬ oбъесвьLйассeм6лeр? Аси _ этo сoвсем!e
макроaссeм6леp' далeкoвато сишвoMy ехeдo ассемблерноrо и nо oбъeму,и io скopос.
ти, вoт паскaлЬ. этOда' Это_ кр}тo,это _ oфигeтЬ, си хоDoштeм,Чтo имеет7 8
o ] е O dо o o в д e с q l о o r е O а . r и ; _J в с F , l ' о v | / | o . г r e в O еД е л оo д r d ( oo " - e д л q
тpyсoв,си.это свoбoдaплюсoтветGвевнoсгь' пoчcмVмнoгиeтак и o-аrотсЯ|lавсю
хизнЬна гlaск.ле?ЛотомyчтогoтOвЬпoxеpтвоватЬ свoбoдой, лиurЬбы отвeтстsевнос.
т И . o ! e н Ь ш e ' A y п а с к a л я н a Ф o я щ и й т o т a л и т a р и з м l r r r а г врсатсoсрroDHeуЛ . с И _ э т o
rdФoсt.ёЯдёvo\oа./q, .v" .р -рo(оДq,,
oднэ,о длч лФ
дeи, скaхем так, с совесЬ|о- пoлнaЯсвобoда,с++ етЬ вЬсшaяфopмaдемокpатии
(лфа Чтo)'Асфмблep этoкоммyнИзМ' тудадoрогаeщeяевьureму колиЧeсгвy наpoда/
чеMв си' Vв гниjoйкапитализм. вoт поЧему; мeнЬшеиoхить oмьшe зарао<Jтать,
парутЬ]кoвмь|шоЙ. а у вaс офигенное rrрилоxениe/ медqенное - значит/сoлиднoe;
иeще для eгo пpилoжений надoЙмeтькp}тy!этачкy,а крtтаятачка этo прeФИхно,
язatr/ пOо-odYуиDовёr/a в(qдd были roвoДoY шя войts i pаJдoров

эв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шов

гибeлЬ DoссийскoйкoмпЬ|oтерtroй лpомЬ|ц]лeннooи и NашествиeIвNl Pс (смьлоD цenoе


пoкол€ в ие таЛаHтЛивьхразработЧикoвl]poграммloгoобeспечения,юдевавших' отe.
Чeс|веннЬe PDP.сoвмeсгиl{Ьeмашины.БoлЬшинствоиз них так и !e сMoглoсаMopeaли.
зoваться в (|]oвой хизни>. этo 6ыло рхе втоpoе (пoтep
прогpaммисrскoм сooбщесгве_ пepвоeoбразoвал0сЬ нескоЛькимигодaмиранЬшeв связи
с у.reрейагryальнoсти(6oлЬшихмашин'' Bмeсrесэтим
сrеieiи yшлаи ryльryрапpогpаl4миpoванияl миrPиpoваввмaрги!альнЬLймиPlNIХ си.
сreм.3асильetвN]Pс' комnЬютерoв спpeдeлЬнoYпpоцeннoЙ и <атoЧе!.
арxитекrypoЙ
oвaтeля> иiтерфeЙсoм пpи
лeвия pазPa6отЧиков _ MаЛoгрaиотньх иам6ициoзнь|х' 6ьLтЬ.-Aвтоp
Мo.,*ет здeсЬ
nDoявляет сно6изм,!o, пo eго мнe|rию, и,'rтepaсив
челoвeкlс детсгваизbаЛоваHвь|и
ньм oтладчиком, нe всoсгоянииtaYчитьсякакслeдyетпрoгрaммирoвать,
AFопqнцAiдрей хoрe|roвич

к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с'ГЯх.

сЛoй сoпPяжЕниясo сPEдoй


с.'ioii сo tРяnrе|||lя сo сlrеl(()ii а6стpагtlPуeт пРol.рallп'у oт oсo6cllностеii коr1]rр.т
Il' )Гt)o|iI)\')лсIIIiя' с(ЛtPаrп:lя ТPудоeмкoс.гь rrерснoсa rlaдpуfl|с о]lсpaцli(nlrrь]с
сil
с |сrIIl' r' яrti]кlI пpol PaNпl l |рoванrJя' Есlrr жc заPанeе l|звсстllol ч l.o этoго
3авoдо
rl() llс тP€бусrся' (.noii с0]lP,)r€lIп' со сРeДoli часTllчllo Il'llи tlо'l|||()сlЬll.)
< П 7 к l l в j l я с 1 . с ' ]B' I ] ь l Ч | l с J x l l . с л Ь l ] у ю
чaсIЬ' qтo уllрoщаeт еo лPoск l llpol]а|Il(]llIIPo
гprl|\llЦn)нillJпе'

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

6и6лиoтеsкулля всех свoих прoeкToB,пoэToпly DI"I- B 6oЛь'],пlстве сщ"raев все


Я.е пPедпoчтIrтeльнee(нo не за6ьrвайтс' чтo 6o.]ltшoекoличeсTвo явпo пpliлJiп
кoBalrttыx DLL oщyтимo замeдлЯст 3aгPyзl{у ltpило]rreния). исгtoЛьзoвaть си
с IIлIoсами зIIeсь s o6щeм'тo нeжелaтaтьнo. Bo{lсPвьIхl исхoдньrii 1.ексTпoJIу.
чается 6оЛeeи3бытoчtlьIм'а вo'втopъГt' <(мaнrле]ir'пPиaJIюсrryтI'хиМсн flе сl.atl'
даPTи3ир0вaп.,Ципамическую6и6лпoтекy' скoпt1PoваннyюBorlaпd с++'
к Vjsual с++.пPoeIсIампoдi{Лючитьсoвсrм нrltpoстo (вIlPoчсм' как tl нао6opoт)'
Ilaскальздесь катеIopически непpиroдe}1_ oтсyтс,1rиeнoPмii",1ьнoloutlT€ р феiiсa
0 oпeрациоIIпoй системoй вьlнyя(дaoтходить кpу)flньIм пyтсi1,

сисгемщикдoЛжeнoчeнЬмнoгoчитатЬ(и всr _ нa aнглиЙскoмязЬкe),спeциалис|Ьl_


этo люди,nоxopoнившиe
сe6язахивoв oдинoчeсгвe чeтыpeхсreн

Иногдa вoзrrикаст нсo6х0/{им0с1ъo6PaтиTься lс зaцищснньIм PcсypсаNt,lLoстyll.


ньll{ тoлЬI(o из pежимa ядрa (наnримсp' ыnзвать пpивилегиPoваннYю кoi]анllу
пpoцессoPa)' ПpoгpамltистьI стaРIIIeгoпoкoления в этoм сл}чаe пиtn)т llсевдo.
д P а й B " P ,С т o ч к и J p P I , y я o п c p а ц y о н н o йс и с 1 с м \ |п . P в д o д P а i i в . Pв , | г . | я J | |к1, ! к
oбыкнoврчньtйдpайвcР у'lpавляe- ика (yv||y' mol'.гва.
NII,I'
а пPостo выпoлIrяеТпPивtrпспrPoванный ttoд'o6щаясъ с пpикладньшrпPплo'
жениeм черeз интеРфeйс IOсTL' Псевдoдpайвеpы пиIIIуTсяна СЛ с нe6oльпIoй
пршreсью aссшr6лера, ЧистъIй асссм6лсp 6oлcс эл
вьIгoдеIr.ПрипЛюсн}.тьIй Cи сoдepжlrт пoдвoд]rьlе ltа,l{ни.нe испoльзyй'Гe еro, еслIr
1ючIIollе yвеpeпьI' ltтo имetlнo въ] дeлaeтe. lцля o6леIчeIIия р;LзpабoтIсидpaйвeрoв
флpNfa NuМega BьIпустила пaкeт D{iveг studio. хoтя }{llolиe oт пeгo .}eЗумa, 06.
Iцее в IечатjIсн1rео.ГP'tцатLrlьнoe' Л]л lшe кylIите <неr.1оIivпlснт1lро8аrll|ь1сЕoзlojri
'гшl
]]oстII wjn(]оlvs 2000} Cвеflа шраii6сpа' (<Пиlсp'. 2002) вj,I IlаIiдете гоr'.l
вЬlЙ скеlсT пссвдoдpaiiвсpа] I{oтoРыii reгкo aдаптIrpoва,ГI под св(]1l пyж/1r'rlнс от
i]'ilеl{iтlсЬнa l]з]лlеIп Lc lloс]тoPонlrrпi д!Iсци] lJlJri, нnчlЛ1аю1llllе :}lогv,г11(nojlьзoRа.Гь
IоТоnьle бlr6Jrloтеlolj лaюцrlс с пplrкnaдIlol.o llroвJlя дo(тvп I{ Ilор,Га]\!]l rlрoчппf
сrlстеlIl lЪJп коi\l]loнeнтaп' (1|сх().1llЬ]iiтеIiс.Гonl l0ii ТаIiol:i6116.llиотск!IпрIr8еЛeJ1в ilo-
ей кliIiГе (.l.схнr]ка зalJl lJ1.ш"цазсрIrЬrxлl|(:кog oт Iоппl).,lJаt]xЯ') Естe(1.}rснно, тa
коii пoЛхоx нс6сз0пасе]J II с()всс]\1нc э.!era]|Lсll'
в o з | | | | к l r i ] 1 . д I l j I е м N a : л i l 6xoь I х Т с т ь I l а , .D i I ) K ( т ь I с Я ч I Iс т p a I r I ] ц . l l в с e r l а i J l х ) | Р а ] ! 1 .
lxстс]{oll i\|e'ilуIliрoдrtorl oll,lФrIll.'1xi,tсrLriii)."'l16oпoPvЧIlTьэ.]'Pа6olус с
тсм]lоNv llPoгpаl'Ilпстv' PalJуi\tсс].ся, fle 6€ с unilтrlo. llо саI(х: l oЯтсJ ЬЛое lt:lyчс.
Iп{е P.жl]ilа ядPа o6oiiilc,Г('l сlЦс дoPoЛrc. Этa нс тa o6L;rrсть' ltсlтоl)уi() Ilo,l{uo
I l ( х : I x ч ь з а i I е с я l l I l " l l лд в а . B л P o г P а l | r \ I и P o ! а н ] I l Л r l ) r i i в с p o в с с ' Г Ь \ l r | о ' к с с т ] r ol l e
o ч с в ] J д l l ь J х ' Г ( ) i l к 0 ( т с . l l ' З r r е с , Г J l Ь |тхо " ц ь I t оf l l ) о ( ) yNlсIlllс сoвп|ciIlа1,I,
в с о б е п р r l с к , r . л p o в а п r r с6 a з Д а r r r l ь I хс Р l t l Ц l а 6 о т r { o i Ii J l I з | ( o v p o в l l с в Ь l хк o \ , l ] o I l с п .
'](-)B .lъNl,
iLаPовaIlo J]с кirжДопly, сoсPедoточьтссь Ila .lсr\tlo одJк)Il. чTо У Jraс |l1Е
: t у . l а с т с a л у u t t t е в с о г о ' 1 3r Ц r ( r I l i I l J l o iсl jl | y Ч а с в Ь l l ] ] | v ( ' т y | (| )l o T P l l ] l I ] ! в | ! ' ] \ I ' lI' l o l к J .
" ц \ l Ч l I в| | ' ' д е | l o Г ' l l l ] у / l l o в o . п ь с т I l | ] я '

вь|ЧислитЕльн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е),

Pис. 2.з. FAR_ самoеnDавиЛЬнoе


IDEсточкизрrниясис|eмщика
и прoдвин!тоГo прикладника
,гaкoгo
ПpФцe Чeiv oпyскaтъ Jlаlll,l IIa кЛaвy' llyчитсЛЬll0 сoo6РaхaЯ' что 6ьl
ссiiчaс ]Iaппсaть, o6язaTсЛьпо o6lUаPЬTcвсe уIoЛки сeт,Illа прсДмeT llaхo){де'
ния y)кe гoтoвolo кoдa. ЛроrрaммиPoваниc вoзIlIlI(лo llе ссгoдня ]tе !чeрa.
Bсe' чтo только 6ьпtсllro)(пo нaпIIса'1.ьl у'(e lIапlIсанoI Допyс1'им' вnruпотрс6{].
вaлaсь свoя BсDсия к.J/.]eка G,729 Дlя сoз.IlaнrrямrrнгА.l.с иЛи opганIlзации
TeЛeкoнфcpсrrцил, П1IсaTь всс с ltуЛя? МьI чтo, Рoхнулt1сЬ?|oтIrPьIвaсм гугЛь'
вьlяснЯсм' чтo стaндаpтизaциe]l дaнного nPо'].oкoЛa за]lиl{arтся l(oilllIте'Г
lп|emаtiоnal Тсlссoпlllr un iсation Uпion, прeЛстaвленньпliсайTorvWWW.itu.int, 1де
(прaвда' нс 6ссll,1aтr]o)Ifo)r(нoзaкa3aTь пe тoлЪкo опuсанrlе сaмoгo aлIoPитмa
с ж a | и я Г а l , ь i ] и q ,н о l ' | | с х o |Дj ь l eI c ] , |. ь |к o ! . к " в . , t , o м м e нr l P r ' я ч r r , 3 r t rкяo н
lсpeпlo' чтo имснt1o мьI ,.llцeм,фaйJrш Лeгко Дo6ывaть в oсЛе _ lс'тиен'гeфari.
лоо6пrсннoй сeти eDonkсy, кoтopыN{l'o)кirlr Разяrи.t.ЬсяlIa WWW.elvlU Ie'rU, пpaв'
дa, rrх там 600 мeтpoв с 1.atом| IIo oсел x{ивo][loс TеDпeливoe' lr tte ]акиe
o6ъeп'ьIпePeTаскивful кa]. вapllант l{o)кнo скaч aтъ 6и6лиотеку Iпtеl 1PP, в сo
44
стаn коТOPori вxо]1ит нссIroJЬкo всрс1rr1кодеliа, oптIrlll1зllРова]lпь]х r]oД N{\iХ
r l s s Е , I ] o x l п ' о э , I ( Л . oв п р о ц е ( | с сп о I r с к о P0 6 ] ] a р y л i и в а с т с я , ] o 6 P l j xдi c с я T ( ) r {
<стуЛеllчссI{!lх> Реn"!11заЦиIi llпоJlrrс пPlleN1-llеilоro кaчсства' ]]о{:'|II]lloстЬ I,I}
хоДпьlх Тсl{стoЕ 6oJrьши]rстDa UNIх.пPlI"!о}iснПi; пpс!рaцает пpOIPa]I\пllnj'
ва]ille llз TвоРчeскox зariaчll в азаPтIlЬl]i tloxск l.оT()вьIх liусl()tt liодаj l('t.opьlс'
поРoю o6нaPvжl1ваются в са]\tьIхlJеоtкj1даняInх i\lсс|aх, I{()rlсчнo' пl)Л )loll всr
r x i l с y щ с с т в у е l . P l I с к I I n l ) в а T ь с ян a ч Ь Ю - т o o п п l 6 к Y ( п T l ц а T c n ь о . l а r l t i r с N J P o
ванliyrо зa('llад]ty B тoll Ч]lсrre)' lio,,. xсliyпJеllr1с вссr,la lк)бСлnrаeт с!)6.!lзн,
PnЗР:160TчrIIrдвижюв.хopoпIlJiiаjIгoPIrт]vисrxoтчас,|nдажсr1:l'Гс]\lil1rlг,3lJ:L.
нис aс.c]\l6.!сРa ]l vс'].I)oiiства oперацllorr1lоii (:llстсмьr lJpl lllс] стll]leTс' j I]o в о6
ЦсrI то l|(. ()6язате'liьllo' зато сuоii Ilсrloсре/lс'Г|(,uuЬ]ii яlr]'lfi lIPoгРаllil|ц]oв.lнlUl
Pазpа6oT\1lк доЛ}ксп 3iil'l.l, оT ]l дoL Il(||Jo.llьJ]'я|{1' rl pсдо(l'авJt'сlл'е ri\l l]озrlоn|
I l o с Т I II l а l I o r | ] l у l оI { a т v I l ] к у( р и с , 2 з ) '

п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

цессоpс и r1oДл1060й oпеPaциolrнoii систеlloii, д.rтяiioторoii этa виPTYапьlraяrra'


Iа сyпl€ с Твуe]., что за ерyпДa! Crlиvите .riaпurус yllleliI Ес.Д!teсJъ llpяilыe вы-
]l]l1]
зoЕы AI,I фy}rкцlri:l .nпуxpaвnенио о6oрyJ1oванисI{, o пeрeнo(llrjоспr l1o}кlloза.
6!rп,. Ес,rи }iс l.lхl leт' тo llсхot(пЬrйкoд, ttaппсаlirtьliiв ANSI сTlUlе'тpaflсIllц)уeтс'l
.nю6ьrNf ANsl.сogмeст]lмшпr кoмпиЛятopoNI6€ з всЯt.oйвlDryfurr'xoi'iifalI]ltнЬl'ксTа-
тr1rcвoРя' съcllа('Itеii львrrrrуIoдoJrюxPoизводитсЛЬLloсT!l,под 'NЕT сyцсс,rвует
нсt]к()-!ьIro дoсl'oihlых 6116./lиотекд]tя со3лаIrlшвс6-lшrлo,{снxi.i. вЗаIlмoдсiiствl.lя
с ссРвePal!и 6аll /]aI lньtх и т. д. и т, n,,I]0 до из06ll"ция гoтовъIхllОI{поIlсtl'Lо1l' lioтo.

pьillЛ сJавrlтс,t DЕLPнl, o IIa явнo нс дoтягивaс'r, BoзNlo'o{o' сO lrpемснс}] с}l,гya.


цlol ll пеpсllеll тсЯ (а учlrтъIвaЯ pЬяIlylo оза6otкJIIlостъ Miсr.оsofl' мo,{||() 6ьIтЬ
пъlrlг.
уIrePеlr]]ьlll. Чтo опa псpсIlеllllТся), xо в ]laстoЯщиij Nollонт вРesle]rlt ,r\"Е.f
.-
сoРlrсllr'lЦюв:LrlI.Il 1! eс'Гь в сс'|е]lЬ]х
Pr'tваl]т лиrrlЬ ttа тех зaДaчах, пa кoтоPьк] ee
flpl-1ожеll1lях, tlo вePп€ м сJl к пеРенoс ]\lоспl. Пiа l.4rоpN'а.NЕ.]. l юi' l цl Ioн Iц]у-.T
с}l l{il,( сpeдa oткРЬi'Гьlх стаядаРт0в, ЯзЬll( l] pтy:Ulьlloji NlаппtньI оll fl,IlrаО.ся /lо
Е CМA-3:]5 (6ссllJlitтl lая Pd l.вср(x'lя кoTоlrоr() rvlоn{eT6r'n'l' (x{aчаflэ ( htip i/
l.N|с||l..,N{
/wwwесnlа.internа|oпа|'org/pub]iсаtions/stаndards/Есmазз5'htm)'llСs,]окy]\Iс]lI(
Ес]\4A.3ij/t(http://WWW'eсmа.intelnа|iona|'oгg/pubIiса|ions/stаndаlds/Есma"З34-
(lх)])]!1ьl
'llx)60ji lIpol.li]Bо'(|tтc,rЬ ]!l('кeT сoздaвil'Гъ со6ствсl1|lуl() l)сilлl|зrrLllr() |llа |
'NнT, Ilс сllPаrlulIlая у i\,1iсгоsolt PaзPсrllс|lllя lr ll0lI-Цa1я |lllкакl|х 1'|чll('1сlL],1]!.
l,IЗilcстlк) lк) I{сilЬrIсii ltlсрe /lBa llрoск |rl псpcll0сa 'NЕ.t. в (pcду []NIх. l]q)ltl,lii'
( ] l о J l с l l р I с 1 1 Ь i i i l r г { c s o [ t w а г о l i n 1 п ( l а t i o l r ( j I x ( х ) к р l l l l с l l I i ( )' l i s ] . ) ' l r О ( l I l l I l . t -
зпaiIliс DotGN.U (h|tp://www'dot9nu'org) ll PазвLlваc'гс,] тt PаIlкaх oдlк'1I{{]l|||oj.o
ll|юсктill llilс1.Ьlo ко'гoрol.o яыlяe,lся кoмпиЛ'lToP Gсс, tsToРoi;llPi){](1 |laзI,JЛltсl.
с:,t Мolr() (http|//Www.go-monо.сom) ll сIlо]кxlPустсlя кo]\1llalIJ]сii Хiлtiaп' рltсttрtl.
сTрirIlя}r(Ьп.)/1]l'rЦеIti}lIсi,iGPL/LGРLllNfl.l.1-iсс1rsс'ч1()lrРя,'lcсrlу.IilсLluа]uJj().
(I)L'lloрri (llс{|ош C()ro,
l o lIPсдlIoЧт]11.(!lr'Ilс0, lIal:t'Гtt сr.o о)]olo в Дrlс'гl'16уTlllro
II;l.Jlqrllи|ln Rсd l Illt), зпllкoNlсгRо с oбопr\1и IrРoск,1.iLI||.| |lЬ|xЬl]Jаc].'ц||пiь ]]:]зl)LIil.
l{Ля РсаnЬпol:i ра6оr.ы orrlr lrсrцlrrгoднln, и3 J|().nlI! IL llсr(\,с(TIl!' к)|lt'l.
P0lrа||l|e,
Irol NlоILно n ||(х:'ГРадaть|llo пl]ol.PilNlIlllс'l.с llopIl:L!ьI]оii oPисlr|.lцrlсii l|с :]a]1\'
I1Ьlя.!ясь вЬ16сР:T Delplri/tlree Рasса] ltли VisuaL с++ с NIгс' 6к1lJllгlll,lс Iк)l' n
l{o-toрoil пoд UNIХ yr}iо имеloтся.
] l l roT дJЯ J аva пРorPа]\lllllстов oтxр l]lтnlii с# i] o насr.oЯlJlая нa\одtia (чт()j с06
, ,l'lD||l
Ulo l, | i| |o!,l|| , ' Lг
, ' ' ' l ". ,ч "'
| . b . . ] , f ' | , | , | '-,' ' x ы l i , \
'',,''.''| \'l' \' l'!
",Хrr,',,; ',o,, ' 'l''''l ,i
, 'l', 1|]), iР | ,,\,l'.;,'' ' Il,' .,i |,l:'",'
воil Il}lтI{ll r..1anЬIlioрп('pацпtt SUNl впР.]чсrI' в llpогlJаllппlрollanJ1и
lпIтcцbеii
соB вoз\1о'lIJоt.'Г]lIJv]rо6(jlвo я.lьrла г'цv6rlко вт()PlIчilЬ]
]l в.(] o,,"ru.,]o,.'.
I||nр:rетсll rr гl)toвьJc .rIl6'nltrl1.сlill ll xоl1 rоrlLIJll', B э1.о l сNlьIсjlс.Java
]llст1lяntl
\1с'(Лy |0.ЦьJ\l l\'iпз2 АРI Ll п{lс тo ссГj, зап]югрalпIrrр<lвать rпr,lсрr|lt'iiс нi rrr'ii
I1o'illI) нO l].nr] эт() rlадi, /1pо?Р.LD!xРов(lmц 1o сстЬ lioдIl ,Ьj
a llе rrьJIiIr lIo IФl]J]]г

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 \ ,

r;r,. rr !i{ r,r n6

Paзработка
иятeрфейсoв
с пoмoщЬю
lq сrosoftVisUа]stldo 6,O
47

УчитесЬ ]IроrPaмпoIpовaтьшpanI]лЪно'yчriтесь xporPaпlNIrlp0вaтьI{Рaсивo.o6.


кo1)lаir,годciiс.Iвr ejiьнo п106.
PащaI:iтесьx <daстеpal{>0йс.2'4) тo.riъкoT(,гдa'
хoдrL]!Io,oтоPвитe NIы!1у хвостl 3аIlyстиTс TеrLстовЬlii РедаlrТoP' встPoеЛпЪп..t
в FAR' rr пPиучайтесъ кодирoвaть' pукa lL (]ri'кп э'|o Tакиc штукrI' кoloPЪiе
под гo,'lotsoii'пPa!цa, у нCtroтoрьiхонt1 naхoдЯтr:яРядом с нorаlп0, To,rькo'гак
<i]иoнсPr,i>пPeвpаllaroтс,I в llастоя!r!lх l1РoфсссЛolla,roв!

PAзl'lЬlшлEниE o зAщитAх и AссE}'!БлЕPЕ


мФ(eтдоpoгoобoй.
не на aссeмблерe
считaeтся.чтo сoздaниeзащитноroмeханизМa
тись'этo невepнo, защитHьймeхaнизM,
дopoжeвсeгooбхoдится pеализованныЙ
на ас.
семблeрe'вo-пеpвьх'егo oЧeвьпрOстo (oбъeм
лoMатЬ кoдa
исФедyемoгo оченьнeве.
лИк,oднa Фpoка ассем6лepногo вoднy MaшиHнyю
кoдатранслиpyeтсЯ кoмaiду,втo
вDevgка/ -а rJo le вь,сoro o урoв ,q чo^ 'o y Yn1-иoч vdlиr' ы' loYа-д в од.oй с-pol,
кe наваятЬ)'во.втopых,защиry от <iионеров' мoжнo сoоряпатЬ на любоM язьlкепро.
гoaммиDoваниЯ(хoтЬ Бeйсикe,хoть сЙ). aот пpoфессиoналовлуЧшe вoобЩенe защи.
шатЬсЯ_всe OaвнoвзлoMают'в-тpетьих'правИлЬнь|еэащитlыe мeхаHизмырeализyютс'
на эмvлятоDaхмaшиnытЬюринга,стрелки г]иpф, сетeй петри и т' д.

я3Ь|ки, кoмпилятoPЬ| и сPEдЬ|P^зPAБoтки


а кoмпилятор - сo срeAойразрабoтки. нa саMol']
l4ногиeпyтаютязЬr(с кoMiилятopоMl
деnr этoтpи разнЬхсyщноGи' Язьк _ зrо прoстo на60р декЛаPациЙ, oпИсЬ вaeмыx тeм
или и|lымсrандаpтoм(!rапримep, АNsD' кoмnиЛЯтор - L]rryка,к0тoраяперeвaриваeт
исхoд|rыйтeксr,!rаписанный в сooтв.$.с|вии сдеMaрациЯми языкa,и пеpевoдит eговлеr.
кoyсваиваeмyю Прoме)q"roЧ|lую фOрмуилисразув маши||вый кoд,теopетиЧeски исхoA'
нЬLйтекп 6eз всЯкoйпeрeдeлки дoЛжeH пoслу'!вoтрансnироваться л|ooЬlМ коМпилятo.
xиз!и это нeта(l и пpoизвOдители компилятор0в внося1вязЬ1к
рoм,oднаxoв peалЬHой
свoисo6сгвеHнЬlе, зaчёсryюни счем не сOв|iебимые рaсшире|lия. свoй oтпеЧатoк на.
и rooleссooа (вq -op ь и о- nлv с <aл"aa" й)' voдero noмq /
кладьвdюl aрlи,екnоа
oпеpацИoннoй сипеMЬ (сeгмeнтирOванная в Мs.Dos и Wndowsз.1 и nлoскаЯв UNtх
и W ndоws9xlNт)и т' д. Hаконец/ lrкoторьLe nрoиз8oдитeли пьLтаlотся сobлaзнитЬ пPo.
.рaмМистoв <уЛyчшевиel4, я аiримep,г]росieциaлизирo.
ваннЬ]eкoмПилятoDЬ ' созданньeдля Heстaвдаpтнь|х пpoцессорoв и микрoкoнтpoлле.
Doв,вoобUre промоЛЧим, никaкoйfrандартизaцией тtт и не пахнет'
вы6иpaЯкoмПилЯтoр, вь|выбираетe судЬ6y'прoгPамl'lировать вАNsI/IsoстиЛe(6езис.
пoлЬзовавия !]eсгaндаpт|]Ь|xрасшиpeНий испeцифиЧеских oсобeннoсreЙ даlногoтранс.
лятоpа),во.первь|х'oченЬ мутoрHо и неэффекrивно, а вO.вторЬх_ 6ессмыслeнio. кoм.
пилЯтopьпридерхиваются сгавдаpтaлишь3 глобaлЬнь|х вoiфсаx, а в |lелoЧахpасх0дятФ'
забPoсьтесrанAаpт и рукoводовyйтесь сo6Фвetrным опЬтоми знаниeмqарапepa' ра}
Личнь|хкOмпилятopoв. Hа сайтеWWW'mоz |а'orgeоь l'lHоro-атeй Hаэry тeмy.создaние
пpoгpаMмЬ, тpанФируeмой 6олeеЧrм oднимкoмпилятoрOм, тре6уeтз!аЧитejЬHЬх уси
лий.кoтoрЬе oкупаютсЯ в тoм и тoлЬкO в тoм Фyчаe, кoгда вы iишeт."кpoсс.iлатфOpмeв'
ноe прилoжeниe/ портиpoваннoe на дeсЯтокoперациоHньх сисгФr,в пpoтивном Фyчaе
ЛуrшeзабытЬo гeonoлиrике] испoльзyя всe (вКyснoсги} и расширения конкретнo вьlo-
ранHOгo кoмпилятoра (AаpoмЧтoли paзрa6oпики их фздaвaЛи)' зaчeмстpoитьавтoМа.
_
шивv,лeгкoпpeвращaюцуloсЯ в пoдвoдllyloлoдкуи вeртoлeт,есливс€, что вам нlжнo/
pазв нeдeлюeдитЬссемьейвa дачy?

. AnтoP oбЬlЛlо гoвoрn' (lоnпть'


4A

с к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 ' , г г

дOл{etl ruy6окo lryolIl'lкlJJ\lться психo]lог11сii хatl0рOв' lIас,гoЛЬкo l.jlу6oкo' чTo6ьI


I(aк хaкel),,.
1\1ьlсJll,!ть|
тaкtllll oбpaJoN1, вrla/IcIlll€ тrхIтoлoг]Iсй зaщll,1Ь] ll]l4)oрпlацllrt tIрсlL||oJlaгae1 вЛa.
дсllис TcхlIoJn)l.иcji взJioNla. llr зп:lя тoгo' (aк JtоIln]o,|с' зilIlцLГL|l Лс:}liаJ{ rlх с"rlд-
6ьIх стoрoн, пс зttая аРсeIl:Llla хaкeРоз] rleвoзllo)I{xo сшлirт' с'roi1кyк]' /lсIIlсDук)
ll' гЛaв]loеl l1PooTую R PсaЛ заllllll зarll]rту, ПooтoМуl ollllсьIвa'l Tсх1lltку ilа|ц].l'гьl1
6ьIлo 6ьt tt<,lмспьшeii мсРс, llеIIcстIю за|!JаЛll1lвal.ьl.охll}п(y cc l]зJloN!а'
сyпleс'гвуeт MIteпис' ч1.o o-l.кpЬl,l'Ьlс|lубJlикilЦиll o ЛЬI])itх |]с,jс,|€ ] !l.tх 6eзollaсllo-
с,Г't l|ри]loсяT 6oльпJс врс']a| чcill lIo'0ЬзЬIl ll jlх с,лс,lусt.в o6язl,r.с:Iьrюпt пoPялкс
зnllpсти1.ь' дРугl{мЛ сJюl]^п1и'дoсToйItylо запllrту о'|.l(oп1IPoваl l,'l'l ]!lЬ|со.JlL;l'|.Ь Ile
N{o)т(eм|призпaвaть свои ol|lи6I(и l|с хо I|.l]\{' ll''lтoбы ]lивиЛпзallltю ltс Pазpуlll[rl
пeРвьIr:Iлсe залeтEьl'i Д,I-IсJIINl|)l]l()J|)tl|Ьlперес'ГрeЛяTь lзсех ]lя'Глoв ilo сдипo].o,
Bo]rce пe .]o6I,IрaясЬапсЛЛl,IPoваТЬ lс i]ilе3'{сIIlюii lloсЛoR'tlle iктo пpeдуIlрсждсIl _
10т вooру)Irell>, o6Paп{мсЛ за сoвс-rом к 4)арrм.llleBтиileскoii пuдусTр]tп' lъrr 6Ь]
, | | " , , l ' l Г , , | | Л | | | , у | ^ | | I , н | | , 1 ' \ l | | l' I I F
о | | i l о т I | е с , | J ( ь t { п o л Ь " l n н Г| l.l| . Л l ' N ] , | й,'с|(||ii
.
вll.е|||||,|ii'||'' U т п | | e q Р г o я - ' ' o J | ' d a к l l l ' ||' , |. l|, ' || I i i | | e У u . , l y ,
Nloc ltоЛиЧес1вo зa6oЛеBaппii rI пPи эroм о6Язllтсльlrьrй к пprrмcltепиto? Провo
дlIТь хllMllчeскпll aIl.Lliпз прспаP^тa вьl нс rlllcс-l.с llPава' P.lgllo (1]к lle п]vlеетс
праRa oткрьIтo пу6J1ик()ва-rь peз]/Ль1.а1.ьI свoих jтссЛeДовaIiпiit BьrявI{вrnuх] чтo
зaли.1и11oii 4 alIaцelI' скpьтвaется o6ьпснoвснньlii x дoвo"'1ьнo lllrзrr(JкaЧесTвеrr.
нЬliiасllиPи! с кyЧей пoсToРoнних пPимесеI:I !l цс"'lЬIll <6yкс1оi{' ]lо6(rчlIЬIх эф'
фeктoв. ЕпIе 6ьil Bсдъ пу6"'rикации lroдo6rtoю Рoда 3aN1еl.lIoохЛа'rдаrоT пoтрс-
6rrтcльский ltьl;t, t лрel{пoчтепl1е oтла€ T ся дPyГппl пPепаpатarl'
ктo ви]roват: фирмa' oбмaIIьIваlo]llаJl своиt пoкупaтелеI:l, !i,rп IrсслсдoваTсl 11,оT.
крьlвnllle по(yпaтелям гЛазa? ЕсJtи aн:Lrloгrl, Ntе)кдуфaрп'апeвтиltoli l1 прoгpaмм-
ным o6еспeчellиeM кo]!,у'тo пoка'(е'гся tlскoPPсlrTнoil, пyстъ oн oтветит ]lа вo-
'lГoс: rlки/ JillJ'|и rrtrrrr гl.6oваtlttllr nltи
| l P I l I i | , о |, l ] , | ( y | ' | Ь | 6
,Геxllojloгriя иlleет свo],l oгpаяичения и свolr ll()6(rч.
дoл}кньI oТвсчаТь? всякая
rrьIе эффектьt, PеtrJaмнrnc Лoзуllгj1' o6ъявЛякnцllе 3ап]IlттyстoIiкoIi и а6сoлютнo
пeпpoпrп6aeмor1, всeтда нсвсPнш, коЛь скoрo нoс,rTеnЬ Nl{J]кllo воспрoпзвeсти'
мo]кпo elo 11сI(опиpoвa'Гь. Beсь вoпPос в Tоlt как, Зaпрст на xaкерскyю Дeя.
тcjlъ]l0стЬ illlчсго l'е I!eIЦст, Teхl ]iтo заlllil'aеlся
rlеса]lriциониPовal]}iьrli кЛo
IПllxJваllllс}l дl{сl{oв в пРOIlьпJIj|сн]rъlх i\fасIrП.а6aх' Jloдo6ltьIс запретьI вl]'lд jlll
r]стаjювят' i] вoт "1сl.i!lЬllьlC иссJr(!oBатс.1]r 61'0'т стpадатъ; lIpoфeiс!loГl:LllЬllьiii
J}ll' вrlnllr c.!шj Лaеl. o се6с знать, Hy.lro поле.lrасrпъ' cсть rrа
Зeпriе таrlч категo
рltЯ .]IIoлеlll кo1.OРая IJе мo,{r1. yдеР)каTься o1 сo6:rirзна загляпуть пoд кpъппкv
чсJrlloгo '!liпtа ]Il дoт])аrIIIа-!сЬ дo вPnxlal)щuхся шестcperток'
rп,ттаerся palо6.
раться: кaк 'кс вс1]э l.о Pа6Olаст./ сllсЦпфllI(aзitrцllт}lьIхnIеxаtlllзмoa сoстol.l,Lв тoi\!'
ч'fu срJ"|lJа вп:jvir1ьrlo lIllче]\{llc o'ГtrlltЧаl]тсяo'Г t|JедсIJPa'
Bаll ос1.астся Jll{ПIь vl1o.
ва]ь lIа аllтoрl1,гст пос|аIlnlllкa Ллп жс nleToдпчllu lIplro6pстaLь
все лрс,,1yктьr с';цIлr
зa ]]I)уl IIIl, l|с 6vлуЧи уlreРсн]ilnм 9 To\1l чгo lIa
Рьlнlte воо6цс пpлсутствуlсlтдоir
тol'll1Ьlc i]ilщIJтIпnс lfe)iilIlllзltЬJ, l,I э'Го доl:iс1.вj'tтелr,uoтакl
ifu.l"ство кoпilIеpuсс.
lillх ]]iilJ(|l,l.IJасT0xьxо |tllзlto' Ч1.o o]llr окr:]ьJвaю'Гс,I нс
в сoсTo'Л1Ilи с]|pаl]llTЬс'I
с аl]1..)nIi] l lIl ес](иrl ll lioIlJ 1Роl]lцlJl{alIrl lIРoгJ)аlll] ' Jа Irу IIlс1lIl ьl Nlrl 06ыt.r
loBol] D rnr\пl
]'.lrrllloльI' ().Oll l '!и гоноpЛ.Г]il чт1] |Jсllol|иРусIfо(:тЬ an
T o l l i l T l l ч { ] . l { J l N | lrl i o r l l I l ) o l I i l l ] l l . а ] t l ] J paзумlroс rpс6оrиlllrс.
l|Рслъя|l'llЛol{()с rio ]lс'xoii i'lLLtlIlT(]?L] l|'l.а-1с )(с залllll.а
/lIoJl,кllа ]Iрo1r]ir()с1.OЯТЬ
' . | ' | | ' ' ll | | ' | | | ' ' | | , , ' ' | | ' | ! w U | ,l -\ ' r r ' ' , ' r , ' ' . . r r ' ' l i r l r ь r ' '
t" ',r.'
. , n J \ . , t r) . \ r \ . , , t L П . r , , . . i , . . . . r + . . t ( , , . "r * . , . , , . . . . . , r, ,rr. . . . r . , , r , r r .
N | ь lo ( т ь ' l l ( ) o | l J l l l ( ] i | р с , l ( . | i | л j I с I | | l I l I l l
in'lп{C IloчfJ\l.y? дn In)тoму чr1l o,lс\,тсi'вI|е
' ( ( х : ' l o l ] L . l ) r l о i i] l r ] ( | ) о 1 ) I 1 a J r l lrl lr r r . o i i к r х : ' п r , г с r l r , L r r ] 1 l l Ь l х i ] а J I l l l T l l } l х
l | ; l к 0 Г o D l | { ]l | о
i]1]()Jl,('T|llл.|rсt'lJ.с.'rlx)(l.!]llс(]'1rrjl'П)(.о:}llil1(]-1Ьl]ЬliiUь]б()]r,AРilJr.a](--3a.|сl|j])о.
] | з ' J o д l I l l ' n Я I | | | i l l J ] ' | |а ' | l ) с ' ?

^ , r l . r l 1 i l N ll l ] i П ) l ) ( . J n ] | 1))I J ) l l l i i LI l i D | ! | l ( l)l ( ) | | , f г Ь :\ c ] ! l | | | r | с ' ] с l 1 ] л 1 о 0


JoIIilll)Тс' JilIlll|1]lЬlс
Nк]Iil]||llll||)Т I !с l I .|n]\11iT()r||||c.1)|||l
с ( ) D o | ) l l | с l | . ' | I } ! к Л r ' яIj I o с t n ) ' l Ь к у y
р2i]рtl6оTчll
l<)|l|l(,|llЛ''',|с,|рсll,l|,|lJ'|ll(|']llr'l'.l]к(l()3а|lIil)Л(
' ( у l х J | | o . ] | o ( t ) 6 | l Ь r х з ! | ] l I I . l r | | , I хl I l l l L с , l . o | 1] ]l l r . r r r с м
r: мa.rrlrrl: пDа|]иJJо к|lp\гоi)iL
6;(1вoсlll)ir]nlЛ()'l,.I'П(('хкрlIlrToГ]);l(l)l!tIс(|(||хсlrстсll_г''rаrllп:спliiхrlстr,rrrrirt
()|l])1'll0.]l,I(''r.с'T()Jl')l()(]с
j l с г l I J l I ' l ц ) ( ) l l c ( x ' i lJ I r I n l ) l ) о l r l ' | п J ,IIl
д . l | | n q j I х ) | } а | l л , l .l l ) o [ l ( : ( l с к р с 1 I l о Г о | i J I j o ' I а ,О 1 ' J I r 1 .
l L I l T е ' ц Ь l l Ь | l Il I P l 1 з J l i l ( l l n t l ( 1 r . л с I l l k ) i i
з n l I l t l , Г r J_ l l o / u х ) 6 | l o с o x I l с a l l l l с с e i ! l l O р l l | . i l l i l '
l, .il\lоnI ?цс'lIсj l]lу||o сliPЬr1}i]TIl тoj ЧTo ILil,r'lЬIii
хil]LсP lllo'iс1 до6l,]l Ь с no!()|цьl()
'|,|''].|l,,,||.,,,:.'I',ll'',','|,,.Ij6,,'1'|,(,oi,,||h
l, l ', '|о |l,',.,||U,|', .|'
l 'tt . ' '' ' , \ ' i | ' | | , t м . l\ | о ) | , , j ' г o , , l l , . n j
]Il)]всТсTlroвlLTl, tj,ILоllllс l(Лlll()вl суIIl(lс1.l]}'('T тal()o поll'lтllеl кlll. пo.ll}l.l,Га lЦсд.
с1'ilIrJlL']lIr' свс,'ieIxIii o '|()rаpе] ll lIоIIrl|.гl.;l(1)ltPьIтI]я'll'{ьiI
.tов,ст1х'lo lioilсTpvxl.ивIrьlхjLс{bск-
rtlвr1llt, ttrюбщ. Ilс3акol]ua,Bсяrtoii ХорoIосй Bcrшrr;,.',..,'".'" ';';",..'
l а Pvкy' n rnЛ.l]noх||C веIllu 6о'тся сс кiui ol }|я,
;\lIlrjr)}rцЛяli <цrlll]p0воi]Jxoхе' il яко6ЬI пьlToltaкlLцaяотсrоДа
rroо6хoдrrпtoсть
iIсllес\]oтрi' заl(o]rол :.;тoс"'rоuo6лvдrrеп нпчегo 6o'neс-Бо'!ьU]оe
]ro,1п.lссTв.)
судсDнъlх ЛсI.otrlвчlrлен}tь]\ вЛonпе jlсг;LnЬllьIt'llсслeдona,ГсJ]я\'
,rv,|||Ь,|'r||',TI.,\,''|. 3j]щli]llеннЬiх
ro.|!'ll\||, !,,. |''Ioг.', ' Я ' Ц о а 6 . ' j , | ] ]I,
::,' ||..'lU'l|l\ -|\'|||
|L'\] v|6\] ''.|' ''|lr' ц с,||| |9Л| ' l'.
].'IЬI,o уrpолiаloпIеji' чcro до6])оr(). заптpа U
shift ]iаI <.хakepскуiо' к.n;lнJlIlJ\,зl-
lr.Tя1j Jrоскo"1ьILy o1lа ]Ioзв.Jtr:Iяe'Г
oтILjlк)чllть ilgтoзallусIi Jlaзrpil0ro Дl10{а ! os
l'i|ldo\Ys' x нс](отoPЬIо i]а]1{IlтЛь]с\tеханllз}ll! (aN '1ol
раз Jlа этoNt Л oс]]oвallьI,
oсj, фаllт.lс\]arор!rчсскLl\l бpедоil. sчеPrr вь]лилoсь в
:]ll ьuj сvкl6ньIii ис]l, Pс
неУлoвиMь|е
MФитeли вoзврaщaются

АмeРикaнскlrй зaкoп D|iC^ (DiвiIаI ^Iil]с||пiunсoplriEht Аn) Дeiaсitsn|елЬl'oЗa-


пpещaeтpaспPoстРaнятъ l.ехttoЛolп]llyстрoйс'Гваlпpoд}'l{тьIи yсЛуr.r!сoзllаtlliыe
с це"lrь1oо6хoДитЪ сvrцeствуюциr с!стеl!tьI зaUlиТьl, чтo IlьIгЛяДIlт впoJlне ЛoIич
| | о ,П p J в o J а . ! иl n ' ' | , и п ь | 1 J | о Г с)я6 . р р ч | ,v | | o o , o ч U в y д | | L ,lх| | j e . r y п n 4 , r o и
в ван.
ll.LЧoв' oднaко сл!эДirт pаздс.]tятЬ язЛo I l(ак тalювoи 1r иссЛедoвaтLuьскую дeятелЬ.
нoстЬ в 06лaсTи иЕфоPпtациotllloй 6ф0пасЛости' BзлoiI, пРсe.lсllуюций л]rчнyю
въrгoдуиЛи сoверпIaемьIiiIrзхулиmrlскl,tхпo6y'{дeпIlIi,l1oстoинrioпtенЬшеймерe
п1rPицaния,a 1lo6oJtъlIJеir I тPaфa Irлиr юРсм1roг()3aкЛюче]lия,ПPичсм тяжесть
пaказaт{иядoФ{нa 6ьrть сoпoставип{ас всЛllч]1нoйllPичиIIerlnoгo yщrP6а, Ilри.
PaPн||BJIl,ха{сpodк|l'РР',|'и.ГlrN{,llpавo^с,n''l1Uи||'l.еPP''t1||,'rl'р',0noк.
кеРс'гвo'демoIrстpирусTкаTnстРoфЛческyюнсспoс06ttостЬаi{epjtкalIскorо пPaви.
Teльствa o6eспо!tитьlloJDк]lЬliiуРoвеlIь 6eзoпaснoсти' t1oдчсркиваJrчpезiuep]ryю
иllтеPrсaх n пPo6Jlемаtх.
сoсrJclloточelllloстlr ]]лaсть1lмущих нa свoUх с06с1.вeIlпьIх
BсеI нrlкаItих llpуПlх Toчeк сoпpлrroснoвcнll'rу тсppоPtlсTor и хnкeРоu нeт!
кiI]тги' paссмаl.PtlBnюljllle вoпpoсы 6фonaснoсTи t'lскJl]oчllтeльпoсo стoPoнЬl
] i l l | , l . Г Ь | ,I l ) \ 6 l l I i 1т I. N | Y ( , , | , " j | | к о | | ' т | \ у | . I o I ] ь ll a п o м и d . l | o I L , , х у l , r n l ' i l . | п , p i 6 o I a .
кЛцих тonько lt]r заtlt,tсЬ! ll ].o| llп ilругoс 1lс I.l]!]ссLltllка].огo |ц)акт 1leскoro
llриNlelIelI'lя. llo э.].aкнIll.il ||с ljpeдnаlrпarlепа Дnя PазPа6o,1чикoв 3a||lи'гl я нe
хoTсJI ]Iс.]laTЬyпор ]lIl }lа oднy llз каl'(xnl'lй| пoтoпty чTo пPo6ЛcNlrn заl|tитьl l,tlг
(юрrvаl(ltи сrroDeс oрl.аulIзaцио|llIЬ|c' ЧcNlтехlI!тlleскпe, Paзрa601,чl]ки j1o Ile Irynс
]litюTс'l B тltкl,Iх l(пl,lгах ll в0о6|цс Рс/Lю l|Рис/lynlпвaются lс сoвcтаIll Лo рсaлlJзa.
U | | | tl i | | , l | | | | | | ' l J\ , , 1 ' l j и т r | o 8 ' r х . t l . ( г l i ' r . | l l 1 ,1 ' , t I l ' . i J . | l r l , . о 6 n Л д L I o тI t i V с P i L l | | , l l о
разЛa[аюTсяl TсРяя стllNlуJl lс Pаз]rи-Illlо.
Тсl]миIl (хa(ep' tlMeсT Nlllо)кeс1ll(),lРaк'гоI]oк' кoтoрЬIc 6ыJIo 6ы 6cссмЬtсJleппo
поpсrj!tсJ|'l1Ь зlloсъl а тell бo]lсс _ oсt,аttaвlltва1.ься lla какoii.To из Il!lх| ]tгIloPи-
Р y я o с т : l , ' ] l , . l L l с ' l I o в 1 ) ' l | ' l , . l i l | | ] l t l c l | | l I l х a , ( с p э l о l ' , | д | | l ] и l у l l l |с, \ | o т | 1 я | п l l l i вl { o .
pсllЬ п стiсм'пцПйсЯ Pilзo6Pаr,l'tlя во всeьr лo кollцa. 'цJI'I TакuхJlloдcй и пРеЛпaз-
llaЧcпA cт:l кнl1гil' Bca,Lс' гlLe эTo тoлько вoзNo)к}ю, я бу/ty с,lрeмпTьсЯ
к o6()6lце]lиIо и пoстаpirloсЬ Ilс aкllеIiTtlDoI]ать l]!!I,!манlrс на кollкDoт]lьIх Pеaли-
]:lция\, Эг. Ilе o]||il''J. | | L в с 1 | с - I . с я i f , I { о l ] ч с | . r ' u хс х с м , H n л P o .
тrrв, в Ilих ttc 6yдет нeдoстaтка. Ilо я llе ставJпo пeрeд сo6ori цсJЬ сl1а6'L'1ть хaкс.
pa гoToвrnм иliсTруN'еrlTаРиcnl'
Я rrс 6уlLу пьrтaться научr,1rь чи,ГirГеJlеij <ЛоBllть рьт6у>' a Pискну lloii|Л Ileмlloгo
/vrпъtlIe и пpиви,l.Ь ]1rкoTорьlе пaвьпоr самoo6уuснrlя, из Лio6oй са[rой несTaнДаPТ.
пoй с]lтуaцII'т li прl.I сaмo]!l сl.удIloil ttllструмe]lтaрпп всегlla мo)кнo l iaiiTи вьIхoд'
Tиlro!Ьrc схеNIьтчастo ortазьrвaroтся 6cссильпьlми r' 6ссполcзньIмlI. Лtо6ьIе павьI
-чш||\ ||сPA
] , и с Л и l U | . о \ || | p | | в ' J с | ' L ]| . | . o l ] l . I j P | | l n \ !оv, , р v ^ . | | | | o d, l а ш ' ' Ь L J ,\ i я i '
п{cн у,кс IllJздпо хвaтaться за тpадuциоlll] ьle схе['ы ()6учешIя. lla o6учеn nе пpостo
IJст вреIrеllи, БoльпIинству пPоIPаIlмllс1oв rIIrпхoд1Iтся oсвallвiть нoвьIе тeхнo
лoгIrlr (на :rоlly'' no за1oлгo Лo кoнцa o6yвсния or1l у)ке Ilo'!пoстью устаPrвaют.
ЧAстЬ II
лoкAЛЬнЬlE BиPyсЬl
fлaвa 4

теxникавьlживанияB мyгHoйвoде,или кaк o6xитpитЬ


aнтивиpyс
глава 5

фopМaтPЕ.файЛoB
главa 6

внeдpенияи yдалениякoдаиз PE.фaйлoв


те,\Hика

.л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ним

ТРудIlo прсдсr.авI1'|Ь сc6е6олeе пpoстуlо Il-tтуку' ч0^j к()Nlln,('Гqnlьiii впРyс, To1.-


Рис. и тoт noсJIо)к]к:0 6у,(eTl о,1llaкo пРoгPаrЧ;ul]Pова|lllс ljlIpус()Ir Uыlrьlвaст1 нa-
ч иHarоlrшх 60.]IьI,l]l lс Tpy]l ||()сTп кillr вnсдPl11.l сяо ii к( )Л B ()a ii"T' l(а кпe пoЛ' !lсoб.
хoдиlllo ltзпlcl]яТl)' a к:ll{liе JlyчnJс Ilс 1рofi]:l.ь' llсI1 o,гj|а)к]lвaтЬ RlIPусьl tl Il()ж]|0
ли llс11o./]ЬзoваTЬя]]Ь|кп DьIсoкoг!:)уРoвlt'l.
'Гскс,|y' (:JaпIIс.
п o о Л с в ь l х o / L a в с B r т п c Р в o t 1 к l l | | г | r < з а l I l l с o t { , ' , }( л а ' ' l с c l l o
киI').есJlппо]vliltTc,Tlur6ьrlrаглаrlаtl6Э.:rь(-'ахItL]NlхrrilРус1lх-lrt)мnсст3.
JIlt llpихrl/L]'l'гЬl]псьI1ll с IlPoсь6aпlи |iа|J]l('ilTЬ<To'Ilrо TilкY|o )ксl lк)-l'().lIь(0I,|o]l Псш.
l,lЬIii Wiпdows}, lleiiствl]TсJIЬIlol l]lI{]/lРеI|}lсll{)с,loРoIlll(гo lioдn Il i)]]{l)lliiJIьr _.
l
о ( I е l Ь l I с I ] с l l с l t ' l . l l | j l | 0иcI l e o р / l и I I i l P l l o сз a | | я I r е l l | | i , г е D с с l l о с l с , Г o r l ь , ( oв п P y с о f l r ' .
'Гo\l чl1с.]to,
сnTeJlяi!!' ]Io 1IсoздilTс,'lяIl Ililвеспъlх лP01.сItToP('r/у|lilк()llIIп0()п Il
tI1o )ке /lo э'ГIt.lсcкoii сl.opоllЬr пl)о6",rсl]ЬI'.'lloJlll г||к"l <llolr,1ф,I(аlпI,|' Ц удсPж;l.
ilия пeрс,{oBьIх 'гсхl loЛ()|J]ii пoд сукl{oNl Jlиr]rЬ увoJ|||ч Ir:Leli\lасlrl,гaбы I]r{PyсIll]|х
эпUДе]\Jlli'i' I(оцa ДсJI{)/Фхо'1пт дo сtвa1rtI]l nЛк'|.()rli] IIl]JII..lil/1IlЬlхllРol.Pillllllll.
стoR ('I aлIIllнllс'rPilTopoв сTpатeгll.lссt{rlх lll()oPмall1l(Лt]lЬlх сiiсTcNiI) к llсii оliir.
зьlваeтся нс го'гoB, ts стallе систrllrrьIх проl.Parlмr|(r1]B 'Lеlit оrrсто,1T сщс х}',ке
нe ситyaIЦrя' а lIoJlul,lii ]\1ясоl(оl'6Лнaт. ис]ходl lЬlх Tекс1 olr опeрalIПotlнoiiсj1(,Te.
мЬт lleт, РЕ.фoРмaT дol{УУептI.Ц]oван I{oс-кaкl lloвt]l1еllllc с11сTеl\пloгозa].РузЧl|ка
вoо6Лle ]]e лol1ч1п1яcтс,l ll кA](ой логике, aдoпРoс с ]tPl1сTPасГ e\l (.lt]таii :lIi.
зaссeм6ЛrtРoвапIre) ещс нс мPalllllpуе1| чтo ос'ГалЬнъlс зaгРузчиxu ll()вед\.т сс6я

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ус

Мoхст,1и вирусl{ая эксIlанс'lя пРoтиirостоятЬ aн'г]lвиpyспoIi агP€ с сии? Boпpoс


сoBсеNI tlс таlr прос'Г. i{аI{ I{:l,кс|ся' с oДIiori стоpонЬl, сoз,,laть пPинцlIIlиа-nЬпo
Il€ д cтсItтиРye]\!ьil|i вllpyс никo}lу пе yдалось (l1в o60зРliNoru 6yдyщсм }rавряlr л!l
yдас]ся), .цеi.lо тyт 11€ сr!'llЬкo в oтсyтствии свсжl]]i и]Iеii, скoлъкo в сJо)кlIoсТи
их pсаjlll3aции' РазPа6oтка <i]lеyJloвипloго' gиpvса тpeбyет кoлoссa1lЬнЬIх yсrr
лиir, пoNllю'(erII'ьrх нa в ысoту к нaЛIlфикaцu]1 ll ]lPо4)ессlioliarrIrзl{аl нI.lчеl!!'в ко.
ll€ ч нoм сЧсTe' пe noзнагPа,кдасr\lьrх. ну п (oпty xз сlleциirlшстов этo нРкнo?
C дPyroli стoРoньl' Лаl!ятyя о тorl' чТO сTiцo l!1Ьппеriвaлllт кoта,l1oжllo скaзaтьl
чТo сo'ГIIя .Г},пеIil]rlх (нo сtllе lI€ пзB€ с тнЬlх ]lауке) в1]pyсов iiапIнoгo oltaс]leе o,1
нoro лo.aиlloрфнoгo aPll(:loкРaта, ПPIl усЛoвltn' ЧTo вrjpyс rre ловIlтся эвPис,lи.
t{oпl (а ll€ P € x птpl!ть эврлс]]iIt очеllъ лсгкo)' ltoка olI пe пoпaдет в 6азy ДаIllII,iх
at1TивllРусa' olr 6удст )кx,l.Ь Jl Il]loлoтIrоPrro PазIrlto)катЬся. lly а пoтoп1',, <]пlaвp
сдсЛaJ сRое,1€ л o''. ]l эс1llc)сТу пеРехBaтnт ДPу|оii. Пpllч€ r v сoздaвать пoвый вП
pус <сrIуЛя} сoвсPшсrlJIo Ilео6ЯзaтсJlнo. 11Ри rкеJJаllип (Iпlтаii - oтсуTс1.вии идeй
I,I'ГвoPчсскoгo зуда) ]l(х)'Ix'Гoчнo сЛсгltа ll{vl]!]азать r{схоJ(IlьIстсltс,|],]y){(еUзпест-
rloЙ аятпв]1pvоу llР()Ц)ltilll\iьI (нnIlPиIlср' ()1rюпlпиaлpовaть /lPуfllм коlllп'IЛятo.
Polo, ЕсЛtl )к. l lсхoЛllьlх тс Itс]\)в llс'г, i!]оnnю пoпздurаT]]сЯ ll0I]oсPсl]lствellнo rlаll
саNrrlпl !|сlloJlIlясl l'r\f фаii,1oпl, tso,| oб )ToN' l\п' lr погoвоРимl
кс,].irтrl гoвoр,' lIс l ]Ь]T1li]1цъ Pасц.lltlBа lЬ ),гу t)lilBу кaк пР}i3l,lв IlI4сa'гЬlUIl|1Toгo
ILyЛle' рilсnPос'l.Рn||'П.l' RпPусЬI, lIа этo c(тl, Уl{ и блкlлyrrtrlс cгo oPralrы. Мoя lrис.
сl]'|ilPolц(.,lвссl!Лl,|||lьl|Ь|1.дx)сьпol.iLзirгЬ(|1/ioкrJaTЬ)'чтo'[Io6ofiЛа]\loР,сЛer.-
кa oilкPу1,l1в l'IlP!(' N|(,кст п()lIi!1cII)ll0 ()Л|ly с('Гl||o |.тоJlЬзoвir'п]Л0ii'сBяn) всl)я-
l I i l l х l ! ч y / l o / t с i с r r ] с l l | | у | oс t , t , п сy в с l с с o б l к l в л с I l l r ] , I xi l l f l l I l ] I l D у с o в ,
Кстaти o6 o6псlв'цсrrllях' }1 тlк пlьrс''rrtl'.rтo разра6сl,г'llt]('t пoсnс'j(ullх lLс зР' с!oi'i
хЛe6 сдят, [Io:jToi{y lk] |IaДo коllIlPоlrа'IЬ |jPIllx,lellIJъIe 3лссь ItPrtIloPЬI кaк eсTЬ _
сIlустя l(lкoo'|о rtрerrя ра6отaть оrrlr yrrсе lrс 6уitут' ЛpoЯв]lяii'Гс 1JIllllIп;rтпву|
РUSLI ххх rЧо,(ll(J зilмснnlr, ItlL NlOV ]]AХ' ххх/РUsll ЕAх clце тьIсячу дPy-
гlIх ILоI1аJlД,УчпTе I{aтчaсTЬ I1 IlРl)ГРаi\Ii!''Dоrlанп0] БссIlrla'|IlЬlii с6Q п yllивсP.
саЛьrl]nс кPlксРьl 6l'Il]alоттoльI(о rt мЬll1lе'ц()вках,

....л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Ь,

Дlя 'ц9!i.',].9"чз !rl,lsщ."сl.!oйскoрoс гIrсI€ п ирo ваl1ияaIпивl.lPусьrлpaктIIчeск tt


lIIlкi)rдa не aflалиilшpylот весь-ф]!щдg.1l!(oy' arPаничивaясЬ 6cIлоil пpoвеpкoii
о,lпсlй.двyх кЛloчeвr'Iхтoчeк 0иxpиillеp' окPсстностiii-ioнки вxoдa в r]lаii'l. тo
ссТьтехячееI{lс кoтoPых rl ]]aчrt]aeтсяеfo вьIпojrпeпие),Pоке ltспl)льз\'стсяпprt
вязка к сNlещснию сilг11а'lуРьIo'Г]тоси.lольrro начaЛa фariлa,
Полпl"i(Ц]фньIeвиpусьI пятoгo и шесToгo yPoвIleii lloлимopфrlзlla' нс сo]epжа-
Illие ]iи oднoil посToян]toй пoслeдoвaтельlioс,lи 6aйтoв' ситнатvpныrl пoпскorr
vке !с 06нару)киваются, и дЛя их детектIlрoвания lтpихoдится рaзpa6атьIвать
lесьлl.йзбniръiiпьrе метoдики, сaмoй известнoй из кoTоpьIх Являeтсяэ\NJяцЛя
п|oцеiсopir (rтaзъiЪaёмaятaI6кe Tехнoлorией в иртyалънoй lraш иньl), Aнтlшiрl;с
' i . ' , 1 , н , ; n |г o ^ , '' P в " . v Ь /
фiиЛ ч"PeJ"\lvля]op'дo,{и]аeт(я, Ioк" пo.1]irtopф.
r1ъI',' дви)lсoк Paспluфрyeт oсlтовI{oсTелo вирyса (если фаi]'1деilствIiтenьIlo за.
цlllфРolaн)' пoс]nеч9гo пpимeIIяет стaPыйД06рьIй сиrlraтyPн!п"l полск. Этo до.
60 rлaва 4. тexникавьхИвания в М},тнойводе. или как о6xитритЬaнтивирyс

вo'цьllo pесypсoеi\rl{аЯ oxePац'1я' п 6eз осо6oii нyлдЬr axтивxpусьl к ней стаpа-


юТся lIe apll6егaть,
ПoДЛпIIlIo поnlrпloP4rные в],lрусЬi' пonнoстью ]lсресl.раllrакЛцriе свoe lсni] ц()
ttoсЛer1пегo зaхудаЛolo бай,га' эпlу"!ятoPoII у)i{с l1с oбtlаIrу'кlrRaются' од]1аxo' tso"
llrРвьlx' т:tкIIе BrlPусьl суrLкalrrуrот тo']тько тсopсTllчсr:х]]. n Bо втoPъlх' дrlЯ r1х
дeTeк,Г1IрoвaIr]1яза6na1.(,нрeмL'rпlo Pазpa6oтaна l]]xlll]'(oг}lя Jоrlшескoii Pсхoll-
0TPyкцпп aлroPllТllа l]сОlеi(уerjоii прorрам]\]ЬI (Тr) ('сfЬ аx,|llвllPyс смoтPII'г' ч1()
дсnасr. даtlЛ lя п poгРall lla] r lгn 0рtlpуЯ [r)' l{ак Il lrell]lо о flа этo ]]сjlllс l),
ПoскоЛьку 3llPn,(eiЛlьr]] ф:riiJl l1oжст 6ll,|ь уrlа|(Лrlll (lI юrЛa вIlP'v-'сньlссl1 rlа'.y
ры ока'{уТи 6ei]|iaЛе)I(Ilо1lскan{сxЬl). аllTlll]ll])}'с noJnrеJJ 6ьrть гoтoв Рn(IIlкo
uaтъ сгo ' ll poс1 сii l lп e }'rlакoвIrill кx ра сllil к(rj]l'Lнr|(|l ся Rсe 1eпl 'iс эl v.Itя10 Pо Nl' l I()
N i o н с т P o l l l с н a 6 , к i ] I ] l l ь i х 6 о ' ' I Ь r l l l l l I к o ' Ц l l . ] ( х : , l в o Nаl ] l r l l о T J n д o ч I l I ] l х I I p ) l с ! | o I l
( ^ . s P а с k ' L Е l ( х : l {| |Л l ) ' т a l i н ( t J o з Ь N с x l l , /' L J r Я6 о р ь 6 ы с J t ] i \ l l iп р l l х o д l r к j Я ] ) с . r Л l l
з o в а т l ' с l l с l l l l i ] , ] l ь I i ь JPсi l с п а к о I J l l t l l i l | '( ) | ] о i l l j l к n I L J l<с с в o I l ' v I l а l i о в U 1 l l к| к ) е г о с l i I .
наTурс.,'
и T a к , к P у г з а м к l l Y J l с ' l ( ] с l l Г l l а T v P \ I ь l I r l ч а . r l rl 1 ] l ( ] l L П l r , | ! ] ) l ' r|]l с P l l y r l | с Ь r r к о j l | ( ]
( '
0 l е п J - T a т ь с т ! N l l ( ) l l I L l ) м '| | о L r l ) l l l ] i I с l j l l J оl { ( ) l 1 ) P l ' l s. |r | | ( ) 6 ( Iхr' l L I l a . п ( ) ] t с ] l а ч i l ' l | ( ) ,
al с п0i}l]o'Цсlili,] сltilзil1't)'!l:''Lс rIc п()JlrосЬ),

плoxиE |l|ДЕщу|лv|чЕгo нE HAдoдЕлAтЬ


Подп{снa в]1P}. l i)ii (xIГilа,ГуРьI заPa,ксllllo|0 (l)t]iillit Jl.о хyr.tlllая из lдcii' xoTt).
' ' | | | , у . o | l ' , , ' U Ь | , | '' | У ] i ' ] . | ' , , ' J i | | | , t / ' ' ,
l l , l , 1 o 1 L | , о\ | U ' г l | ' , l ] у,
, ! , | | ,: г L " o : о | Ь : ' , | | | .1 , . U 1 1 1г 11 ' ' . ' t r'оl ' u '
"llк''lI l', т о\|\ lГ',;/l "r
'Гaкое, что отличасТ ]?]p.DкelпIьii,I oн нсзaрaжеlllloro? cllгfiiтvpа, rlт(16r'l
фailJr
гrpon,ги сквoзь всс] аl1IIlUl1русrlыe засЛонъI' сrrcдyсT заl.Pyзи'l.Ь пацrтепта в nох-
pсДаlсTop' Ilаiiпl этIr 6aiiтипll и зaIlеlIlIть Jп чeIгто ДPyrlrN{' ПPaвиJlЬxo? IIeт]
H,чн.ч"Ioo'IU'||г,Ii]ry'Ьпlя\,|!.l.очll||,|',||'\г.||я,l',Я{-^,|р\'nн|",
arjтивиPvсншс 6азЬi xpe/]сTaв.nяiоT с1160й вcсьп{a наloPoчснllьIе струl{тyрьI дaн-
пьDi нaрeкoнсTPyltЦию фoрliaта кo.ГорЬrх"!егкo потрaTIlть всю oсTaвш1,loся'iIrзнь,
ПPli нaЛIrчиll rrсoгpaн]1чсlltl()гo свобoлнoгo вperIснll сигнaTуРу Ilorкllo rrаiiтli
l1 вp}чную' l1poс]o заТxp:tя РlплrJчIlьIе 6aiiтш11 в заPa,{сннoм фаiine и сIi:i|l!.riпвaq
-'фика вьD'{ивания
в мутlroйвoдe,иликакoбхитpитЬ
aнтивиpyс 6t
.гo aнтивиpyсyl пoс.дe тolo кa1t этo )киBoтI,IoепeРестaнeт pyгaтъся, Ton!]ro учтите,
чтo деТeктиpoваниевиРyса 06ьппo oсущeствлястся i1o]IeскoJ]ъкимнезав11симьlt'
t , t г н э D г а l l , Z к и в o l | и с н о p а з м : L й | | | | ь | мl . o в l e м у
фJй ly и' ч|oсJ\|ol нtпl'l|я1 |o',
ваРьируloщимся oт aнтивирyсa к ант вIrрyсy'
Пpи нarrинrпt нeкoтоpoгo ortыта o6ластъ пepe6oра ^{o)кнoсyцeствelllio сoкра.
т'Iть' пoскoлькy aliтиBиpусЬI ]1prдпoчuтaroTпривязшвaться к пeo6ъIчньtlr пoс.
'.lедоBателъiloстямlпe хаpаItтсPtrьIпI для пезaРa)кеянoгoфaйлa' lloвсякий yмею
щпй oпpeдeлятъ'vтoo6ьlЧн0' aчтo I'ет,сIФpе{.'tlallиI!ет свой сo6сTвснньIйвиРyс,
чем 6yдет пaчI€ться пJlаl.иатoпI, I( тol'y жe правrrа испoлIrяе]t{ьlх фa}.iлoв n hех'
рeдaктope ' зaнятшeIIeд.ltяслa6oнсpвпьrх'flля сoIсpытиясrrгпaтyрьtнсo6хoдlrпro
l|epеIllloaт])oДllll иr1иl]eскoЛькoФраIмеflтов вIlруса' 3aменяя сигIlаlуpнЬIr ячей-
к1laltалoгtlЧвъIмIlIi]\,коNlаtцаNlи/дalпIьlNtи'Ilo имсющип{ilлPyгoe Ilашиr]нoепрell
стаsJlL.нIrе,
Aесли виpyс nсuoльзyет самoмoдltфIlщlруIoliцriiся кoд или тeм пЛи
ЛllЬtм спoс060м коптрoJ]иpyстцсЛoстIIосTЬсвoого тeла? зашифPовaяньIe л(r вл-
РусЬl нrпoсрелствelшoй Iloд1tф]tlrаЦ]'il{ во06rЦс1Iсlloддa]oTс'tlа llJlя lJх расl]пl(l)-
Рoвlс]1oпять.татф ]Jeо6хoДимaквaли(DикацlIя. B o6цeп'' lФaк..' Ilo мы 6yд€ ] t! /leii.
сl.tsoвaтьпo плаlry (Дalу lIас eсTЬдвa мelul(а oТltltчllolo nлallа!)'

гЕн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с

тoРьIй NIногип'хaкеpaNiпrlo6лoма"rзу6ьr и с кoтopъ1мсn{еfle справЛяeTсянrt oДrt}1


aнтIrвирyс.
кaк однoрaзовЬIij nrпpиit,'.акoii llPxсlr gпoЛне пoдoйдe.Г'rlo вoт rra Дoлгoсрoq-
нvю пePспектпRy его пe ll:l'l.япеI]IЬ,Как тoлько вы6pанньпi vпaкoп]цик стallеT
пoпyляptlьIм' allтигlирyсьI тyTжe сlt0iю6,]Tсяс1.oPаспaкoвывaTьl чтo 6Ъrтaм п'r
гoвори.]il]IlекoтopьIe огoJIтелЬrехакepьlj :r].aво!]llная хптPoсть слIrшкol' tJепа

А лpyтие прпепп,r6оpь6ьl eсть?]fla' It lLс oдиtl, а,Irак мIJrrllмуru'цельlх триiэ/r q.


lno:Nеltuе.u|на|nцI) цnакoоul;tlко'внеdpеluе пodлoэtсltьtхcuzlnlrцP l iезаnnuвацuя
Э"|tlJuonopо ' Pю6еp..$1(}|со всс]!1Ir нuruи Ilо пopядI{y,
Еслtl вьl6рaпlIЫй lJnvи уllакoвllll1l( 1taсTo]tl]]{o l{pvт' 'rтo не ltоrrtет6ъlть pаспакo-
ъaIl xa виРTуаJlь]l()iJмa!]l1lIe i!]1'llвllPу(нoго э]!1уiЯтopa(vнипepсaЛьпоl1 Рaспa'
коulцl,кe)' aI]пlul|Pус IlЬr|аe1.сяо||озl1а1.Ь уllаl(orцxк в <Jrицo}'пePедаuая 6Paз.
дьl праuлe]llIясoотllстсTRylоп(еii11l)оцс/lypе l)l(]]|аl{oвкl J]116о pаспаl{oвъIвaroI]Iеlli
файЛ сaмoсToятеJIЬIIо' ,1rl6ol{ЛстPvJ{тlц]vllЛlrcii !lltyля-гоpна ttpсдпrстo6хolra aн.
l.t'loт.ЦaдoчнЬix liРшсм()lr,14сItазIIвсlJгп.iTvPy vпaкoв|цllкr' ]!l]n||РсдотBpnтunIсгo
0|юзнан'Iс' о6.цos1ав a!тЛBr.lP!с lIо lloЛIloii IIPoгPaп']!Iс, ПР '|ем' в o1)lичис оT (uг-
ltа].yрсilII11хвllрусoв' lLо кo'l0РЬlх сl|(еЛоriоI|атьсяIlа,.lo'сltглiL-IyрЬlttotlу.Itяpl]Ьlх
уlIal(oвnцlкoв хoРolllо lIзircсT1iЬl,
B час'г]юсTll' для AsPllсk,/AsРГolr'с| Л()сT?r,|ot|lI() irirlc|)сl.ЬllсРl]ьljt бaйт Toчкx
D х o , l r aз 'L l l l с l l J l 6 0 h( ) I | | ( ) Лк о У а i | / l | 'Pl L ] S н A |D|)i l 9 0 h( o I r к о / кr о M i l I u l l nl { o P )с' т р o г o
Г ( ) в ( Ц )э, 1 l( )i l с с ( ) | ] r c iк\ l( ) l ) l ) с к Т i r ьхt аi i к ' l l l l I ) y I l I l l ю l ц |6| i i " l l a l l с l | р o I ]ск,уI . e к ао'д l I д .
|() lll,lкiLкll0 сIta:]Ьlвilк)lIlпiiся rrlrрa6отoсlкlсo6lrrхl'г|l]loдaвJI,lIo|цсго 6()ЛьlIl!llIсTI]a

1{2кмIJ бyдoм дсiiс1]x)нl]TЬ?I]oill,NIcI!bo2k.eхe( ЛJl'l ,rll()6oii,lрyroй фAйJl) II'прe,r-


вapIl,rс'Iьrкl у6сlllвlrrlсЬt Ч 1 . ( )( ) l l v ( ! | с l I l | | o r l | | ( ) 3 l I I l о l . с lвl t l с I ' l l . l н т l l в I р у с a м и | пPO'
Iтус].ttмeг() чeрe:]As]);rсk, пoсJe l|сГо поR,l)l)llrl l|рoIleдyру ()
и AvI,' ll Dг'WЕв rlРо.I(oJ.]ILаlот
11t]з)кaTь. тoт qJaкT'ч1,oдаяrlшiiуna'
пo/l'пr{,р)к,]lil,r
кoвщllк I'l11х()]l()l]lo llJrrсс1'cl j,

заг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чь

КаIсaльтeрпaтивяЬIй вapиантмo)I.llo псзaтиPaтьсигltатyPyoDигиllа.lIЬI.lolю yпa.


кoв!цикala' IlallРoТtlв|IlaфapцtиРoзaTь фaiiл пoдлo)tlt.ыми сипlaтyPами пPoчllх
кpутьIхупaкosщикoв.oIIIи6oчвoсPaспoзпaпиеупакoвIrlикaпDeпятствyeтeгo
Paспaкoвкe'и аtlTивиpyстихo l(ollчaст|oтпyскaявиPyс вoсвoяси'oДнaкo этoт
xутЬ нe 06х0Дится6сз прo6лeм'пeРlor и глaвпoeiгДс 6рaтъсигIlaтyРьt?'Po.
zpсuФ,|d-npomекmopы (тaкиel tlaпpимер'I(aкЕPРrot http://down|oad'аhteam.oЦ/
fi|es/oursofvepproteсto]1zip)
пoдIшaдывaчт сиIнaTурЬI'lIllдоpгaппьIeи3 тJeскaнePoв! '
ЛpoтивкoтoPъIхo}tи!сoбствеtltlo,и tlaцсЛсны'AIттивирyсыMoryтиспoльзoвать
дpyrие сигпaтypъil,lolдa на2I(ивкa пe сpа6aтывaeт,
Boзьмеl'tbo2k.eхe(испoЛ!ЯeмъIйфaйл oт Baсk orifiсе), yпаrtyeмегo ASPaсk'orr
и внодpим oдпy (a лyчrЦe нескoльI(o) пoдлoжIiьIx оишaтурl усЛРKпивo пpедo'
ставлeпrlьIxЕPPrct'ом' Пycтъ дЛЯoIтPеlIeЛеппoсTи этo 6yДeтtЕ]oсk. в oкнe se|€сt
)rкaзЬIвaс'мпyть IспoдoпштIroмyфайЛу' в oкнe Insert signah.jrcoтмeчaeм вы6paл.
Irую сиrlraтyрy (пo oДнoй зa pаз) и давим Irа ProteсtЕP. 3овем aнтивирYс ri гoвo.
РyN{: _ АVР с пo6eдонoсllьlм хP|окol'lсвиrtьи,заr*ивo спvскaе,'ioйв 1тtt.
"Фiсl"
таз,paзpъIвaет пpoтивllикaв Iсцoчъя' DrWЕв хoтя и нe рaспoзнaетвасk orifiсe'
нo рyгаeтсяна <вoзмo)кпo' wiп,еxе nиРyс>'ч1оне естъхoрoшo(pllс-4.2)'
Пpичr,rtraпрoвала опePaции в тoм| чTo tlе мьI oдни тaкие yrt{IlьIe.над}pить AvP
с поп{oщьloЕPProt'a ха]rеpъIпьIтalись у)кeдaвпo,и AvР эry штyIсухopoшo зtrаeт.
PескaвeрампlaзьIваютпрoгрaммьlавфмaтиsес(огooпрсдo,ениятипа!спolьзyer'orc}пакoвUrП.
кalпрФeшopа/кoмпилятoPa'
глава 4' тeхнИкавьхивавияв м}тнoйвoд€ , иликакобхитpитЬ
aвтивиpyс

нo смo)лст Л].loн Paспoз,lать тe]l(eяйца' есци их развсрнrIтьв пpoфllJ]ь? llaваii


тe пPoвеPrIмI загРу)nаеlI о6Ра6oтаriIiЬIjiфalir в нIЕW' два}xдьI]ra''lrшЕсм ENтER
дJrя псPсхoдa в ассеNl6"lIер]lьlii рeхrill' давпlf Е5 дjrЯ lтсpохoдaна сl?,.и Poi,?r t1а-
6 " . т ю д a с l lrr p t r 6 л и з и т е л ь п oс J . l е д у l о щ y юк a P т п н ] , ( P и с , 4 , З ) , н a и м с н o в а l l и e
и pасaoлo,tеl1]lе NlaшIllll'ьiх кol!1аr']i}Ioгyтlrapдинa'.тьньт:rr o6paзoм oт;rиuаться
oтпPивсдсннь1хl !сдЬ ЕРPгoteсt пoJIrN'opфпьii,lпрoтектop, нo сY'ГЬoстанотся

Pис"4'2' вleдpeниeподлoжнЬх сиrнaryр


yпaкoвцикoв с пoMoщЬюEP Prot

]lахo]tипi l(еflL)'ll(villr чoтьlPcх r1'rlll6оJIсolurc-Lpvrtц]IiiN0Рll' llа)tаLrFЗ.l(tlllllNl llа


ЕNтЕR и r]B(),lnl1ч'Го-Го пpолс аdd еаx' rbx/sub еах' ebx (щс аdd еаx' ebХЛо6:LR'
.ll'ст x Рcl.liсlрy eах illIilчсI]IIеPсГl'сTра еbх a sub eax' еbx вllчI[|rсT сГ()()'t,tylla)
(p!{с,
a,4),
lIажиIlaеIl F9 д'i|n .:охРаIlеЛrtя IIэl'cнсIlrlii в (l)aiiJс I] rtPогoнясм сro чc]rз AVt,,
[Iу r1noчeNlу мьr rt.r кplrчlJll? 1t},да дсва.'Iось Itlll]rе сnlюдoвo-1Ьll()t] 1l()х])](]l(Uва.
}rllс? l]ссfo ]Lве liоl|irlIдьr зaтollTа,r!t' ll l{аxoii PсзуЛl'1.атIIl вtlрoчсIi' llашe по'!o-
)кснllc ltРilijl|е lleплe'illo' пoвoдoв 'цjIя пъя!lJ{lt нсT нtlr{arl]]х (зlЦвulll,Tс o,|кРЬl-
Toс на paдoсr,х пItxо о6рат]iо псlл стy''r)' ltarL толькo paзpа6oтникаlr ан-Lивlrpyса
'"6rr.r'lrrtr'tt:telrr,''''|,,'',,'.,,i,l,,"г,
( r . ' l у ) . , дn г \ \ ' Г B . o I p ъ | , \ l , ! , | ' I l ' l ' . , Ь'l n , \ , l, ' a ' , ,
чTo lln:r1о сl(aза,гь? нe вал{нo' 1lТo у)кIrflaст дсвушкy, Bажнo' ]jТо сс TajIцуc.LI
I,1l Ioка остl,.lьllЪIе 6ynyт Tуpы l llЬl удаt] uм ts (аiloе L.l)дцe
ан.l.11виpусa в егo llпртyltЬIJyю r{аnIl1rry.Прeодо"']ст! Эr]y''Iflоp l1oжllo Paз.цl{ч.
HьlIlи l lу,|я\1Ir' ЕсT:lвrrв:а) ]iorrстPYпцllю' кoтoPую аl1тl1вIrрvс пpоэI1уJrllPoв!Тn пс
з сoс1.оя]Irrll (самolloдlIфIщI1PyrощI1iiся 1r.цисаl{oТpllссnP]-ющиjiс' под' orrрa& ) Ё
тeхникавыrива|]иj в м!тнoй вoдe, или кaк oбxитритЬaнтивиpус 65

ri\, стрyктурrrЬж исr'Jrюцсний ! Т'д,); 6) кo 1андy!пРrIBязцзаIolIlу]oся t. свoеllУ


}!естoлoЛo)кэнrtюв памяTи; в) комaпдy' нeиз'reстпylo эмyлятоpу'

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вь|ми

Pис.4.4. кoмандь|'сo6сrвeнHoгoворя,мoг}т6ытЬлю6ымиlrлaвнoе,{106ыoни нё oсвМми


за сoбoй никакиxслeдoв п060чн0йдеятельносги

кol1' (lт!ечaющий oДloмyиЛи IieсIФльIсllltъьIшeIтрlIвeДelIпьI|!' пyнкта]l' ttьl6у


Дelll l !?вьlг'а гь aптl.отлцlоЧньI[{ кoдоll ' БyД}пlи в]le/'Ipеriньlм в упaкoваnныil фаiiл,
oll пoдЛo)]сl1тхopoшylo свиllъro виpтУaпьпoй l{ilшllнe и ylрoбит allтивирУс eще
дo тoro' кaк рaспaкoвщtrl{усttеeт llo.llyчитъ yflPавлсtlис. Tyпoо попоnнеяие с}f.
нaтyPlrorl 6азш l1oЛо)ltония не сrlaсст, Paзpa6oтчrпсa i пРидется всерьез засrстъ
глава4' .' ,aоEo /вo, ,"вv' оi во4" /-JIa, a6'/-pi-aё'1vвур\

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' ср'п"

4 ) r j j ' { .B r J ] ) \ 1 . Ьol 6 Ь г i l ю р а з , 1 8 i i г a I ( ]пт O ( ] . ] | e Л п l . Л ( )( 1 ' l i l l ] i J ( ) ]


] n 1 l l к ] | ' l l ] i ] я (]]]Ье e к Л I c ] I
]lj]l|.()i]]1al)|rОвrrl)'/]lс'l()j|()!\]()lr|l
P \ ' с Ь jr l i l г с Р n | ( ' | n l l j ч 1 0 \ ' r I l l в ' l r l \ ' г , l b я c . i l } r ( ) | 0 1 l l o с l ] l с я I l f i n T о р сrtrlI(J!r3а.

I ! l ь I ' i t ] п . ] с т ! I J l l i t \ ' r 1 п с с :в n с i r | r l J } l с яl l с , i j l v с C l i J t l я i l l l B с c р с л I l I l 1 ' i r a i i , п а Б с р с r l


( L ) а i i j l\,' I l l l к о в a I I Л Ь l iri \ s P i l с l i ' г | r \ : з l t }сIl o в 1 1 JГ W . l l i l , l i ll r 1 a r r |Е N т Е R i L r я I I с p с х o д a
B hс\'Pс'lllIl дllв]ju Е8 дllJr вх.]lrl r] P(,;'liJlrIзilгo'lI)]lJlll, 't\!l]II F6 ,1!Я |iрoс\It)лра
' r i l 6 J l l I Ц r ,сl . l l l l l l ] i . l l о : u о ] | ' I l | i \ ' р . О P I o в I ! i ю j j с . l l | ( l l I l
d ) l i i . I а I I с \ ] . J r с I l r о i \}l ' д l .
| ( ) Е N т E R ( l ) | | с .]5).
IDr.I|

Pис.4'5' та6лица сскциЙфаиЛа,yпакoваннoгоАsPасk, t4еждyперBoЙ


и втoрой сe(ци'ми rpапЙ!ески вс3гдaсоь нeмвoжeчкoсвoбoдNогoмeпа

T с r l с р Ь l l P ( ] l { Р \ , ч I l t ] l lIяi v P с O P в l ] с | ) r i I. ] Ь l в Ч с ' Р т o г . 1 \с ! ] l l l r t I I , t е x t '


в r i о T О P o i i о 6 I , г ] I l oI l ) i t з \ 1 ( п l l t . r с ' \ ! . r l r l I l I l J l Ь I i i r i о д l ] o P \ 1 l t " . l Ь J п , l х п р o г р а I I \ ! ' T a I L ч т t )
,l |'| l||| о|' l |:'' '|l| \,.:i

[ . j I l l з д l ' с Ь P а с l l o . . l { ] 7 i . l l rl]l l|' I l \ ] ' l t j l]]l ч l i ) J П ) д P ] L l ) с ,] l l l l ч l l Т ' с | l { J 6 o д н o г оI l P o с r p a н .


ы ' | | ,| П o l ' , ; l . ! | ' ,l'
"J'
спo6о1'1пос l\lесто г] др\IгlIri сcftцIiяri, О6J,l.ilIo .\\:IllDl'.W!]в этО во( гlрппl lNlxк)т
'. , ',. .'r,, r, .l t llt,'t ) t r. t, l
"r"
] 1 в l r l ] д р с J I l | с i ! l l I l 0 | . r l i l ' ] l ( ) L L . ] r ) L n ) . L at ne х t б ( ) . ! с сl п с д l I o ч T l l т с J I j , t l o( p r l с . { , 6 )
в UtlJPя Гr,свo] i lioц ll( ]'till.) в jll(,61). r lсс1r) il:lрt,с ri0Tоро Г|rЛ aч Ittlа.тся с тoчIlI] Gс'ш'
дtltJllt]я o6jI.1.TЬ 4)llii.rraI]с oT.rбра'{астся в вIlpтvаJьIlvю
l llм'TЬ -. ]аrPu]l 11,ll,аiir в РЕ.сl]i1оr' вl)ii;lllTc в Pllздс.'] seсtion ll ]Iр]lравняiiтс
viгtL]аl sjze сеl!цl]11 'text N ee rаli size), в rtа!rс]r (.!учас этo мо'Iiст 6ь]ть "!ю6ol:j
i L Ц a 1 |L 1 з) r r ] [ , l ) l l ; ra з 1 4 9 0 Е 0 h ' З 1 4 9 L Г 0 h| !, 1 с г ь з | . . ] ] . д с l з 1 4 9 l 0 0 hI i а I .н a ] ] 6 o n с сx P \ ' г -
J5Iit' (]ltlЛа тo п rrvЛе,Гl Jllп])аIlJIеI Iа Jr.rвxя |])''l{nвхоntl iFlя xзмснсlIия кoТoPоii ] lpo.
r4iиka вьживaниЯв Mу.rной
вoдe/иликакобхитpить
антивиpyс 67

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.

Pис.4.6. ooда мЬ пePeмeщаеMсяпo нажатиюENтЕRЪ, Ооящегo на сeкции .rdatа,


вь шe нeе тoлЬ(о хвoo.секции 'teх1,пyсгoe месго в кo|,]цe
кoтоpoгозаfloлнeнонулЯми

Есл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 жс лс

на'пleNJ с сaк,!llpoсToгo с са\]оп{oДифи цjtpyющсгoся кoДa, зa6poсиIl tlасTсli


иriстРvкlII.l к) tIеpехoда 11аoрrlгI,IIlLliьIIy]о ToЧку вхo/lа II немeдJ.lе]li|() сс n с l l(J.]l
l l It tl,
/]ля з,r.оr.o наlr IlРсдстопт ]lа6рAт! Lаl{Yю послeДoBаTе'rlьI]oстЬ ILo\t:l!l:li пoV
eaх.а6со]]о]nnьLii
r1l|,ес оrnpaй-пoц]|u aIodа/push0ЕOFF/jmp
esp'гiе ЕoFFhпрet.
стllB.liяетсo6оjiiltаl uIillьrj] лод n'.oilандыjlip eах,Эlipaн ЕIIЕW.aпoсЛез:illeР|llе'
rtrlя I]вo/]IaЛoЛ)кe]JвЬlг'llядс1.ьпPIr6Jriзи'ГeЛьIloка]rна Puс' 4.7,
ПpoгпаB 4]aй.rrчсрсз АvP' lfl,i у6Oкr]Iaе1ся!чтo oI{ Да'ке rl lIe lI()Рlj|нае]ся\pЮ'
кaтьl Dт'WЕts pьr.rrrт'нo этo яв"]rеIrlre
врeil€ н lloо: скoPo мьI eго r:16'ro\tаеttoт.
I{pьrвaeмrra рaлoстях свcжеo lltвo! МarтoсTь прoмoчиn Ioрlo Il ol]\тав раст\'.
щш;I j(lrвот, пРисТупаеIl lс 6o,1сc слoяiньlпl фoкyсаrl, A lt\Ie]rнo ri ieрe.]аче
yпpав.IrнIrя пoсРеjlствoN1сrpуIT],pнoro исitЛloчеlrля, 6o''rссlrзвесlпoго поr а6.
6pсвt1атyPоil sЕtl (I.oTоpylо Word yпopно пьrтае1ся заr1снllтЬ на sIlЕ), llllriа.
rлa5а 4. техникaвЬrживaния
в мyгнoйвoдe/или кaкoбхитрить
антивиpyс

IвI{PVсьIsЕн не эltулирую,Г,отJ1\дчик1tоT]1еl.oсllут кРьl.


шсr1,а н:rчп]rающпcхаксPьI тotlyтв дnсIlетчеpe' Yi!o|piltrзa тРассиpoЕкоii oт стз.
poсTrl }1истorцснJrЯ,

Pис. 4.7' пpoсгoЙсамoмoAифициpyюциЙсЯ


коA

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

11ч-ro)к!? oбaаflтпвпрvсa 11оЛчaT' а o,l,livlriиjtlljlP]l дoстЛ)кclпII.lстpor(li 3149111h


' ' i n , ' " r ь а r о -. " . | : J r | ^ п a l I l n , / L J , ( | . ' | | , , i : l ] l i , (,L \ , , , , . l ', , ' l ,с - '
solt-i(с oТo5pазIlть Irс1.IlIпrыiiадрес пepeхoда (]IPавиJiьпьIiio,Гrlс,Гl /Lаl.Ь|t)мill|ду
xfгапle).
I1агtoслeдoкrroдсYлсм вlIртvаJьнoiI \t:tпIrlнеI!еIJзвесT]lv]o сri I'tнстPуI(цrlю'чтo
L t 1 1 6 у д ь1 1 зн а б o р a I I у J I Ь т и \ I е Д ] l i i l l ь т кх o п { а t t ДР l I I + ' B o т х о т я 6 ь l т v ж с
рrefectсh [eаx],l{oтороIi соoтвeтстяуеT onкoll0Е 18 00 п кoтоРitя oсуlцсствJrясT
\треnrl{arоnlуIoпРeдвЬlбr;pttуlalrrrшх в кэlll. Нaвpяд ли анrllвrrpусьI стarтvт еe
.r!!''lrlРorrаl ь, ll(J Paзвlrонп не lloryт прoсTo пpo1lустl1Tьсе? B тo]\tтo Il дeio' чr ()
lс Nюrу1.II1с]1звсст]rаяjrнстpyкl{l'lя ll!1ееT llсrlзвсст}iуiо ]1лпну' ollРlAlrеnиTl сс
rl)аllr1цЬLэвprt(тuчсскпl]],r llетодaп{и liевo3llo]fl]]о,Эмvлятop пpoсто tte 6удcт
'!rlаTЬlo|l{уда сNlу пpoдol'(aтЬ разбop кoдa (Pис, 4,9),
llрnвсlrснrrЬlй рансe 1{oдраскаJIъ]ваe1оя |]сем11 сoвprмсirнъIrfп аIшrlnr]Рyсапlll]}ro
.Toшт '.lзi\1eltи r.ьllеPgъlс тPи 6аIiта на 0F 18 00.кnк эмуЛЯтoPьIскllнyтлaсTЬI, кс'Га.
.:lrика вьlxивaниЯ
в мутнoйвoдe.иЛикакобxитpпьaнтИвиPyс 69

;l гoвоpя'y HIЕw'а i{PьпшaсДt]Toжe (I'lс.l,10)' ПеPIrьlе.ГРи6а]iтaсpывaют


, i J I Е \ \ , p | , ' U r \ ,I n 6 i ) | , , , J n | о r . ' Р , o ' | , I L ' I U] ] lI , o , L | | l л в 1 тlЬI o ' , 1 e J )o Ц | | i . |t u . r .
r резулЬтатс чеr.orl1IстРУI{цirя mоvеаx' з 15Е001h (заltись в Рeгистp чпсла з15E001h)
:]pевPaщaстся! аdd teах][0з15Е001]' bh(дo6aвr'Тьrс'чсirrrс ]lамятil ' Р
llоii пo а/lресy eаx + з15E001h']Ilaче]п,lеРегистpа bh).чтo сoвсlrl1IIeoдllO t{тo жe,

Pис.4.9. тpивиаЛЬнЬйjump кслoрыЙЧерeз


на точкyвхoда/лoвяцийсяв.еMиёнтивиpyсамиl
rес"ольnосе{'iд 6удетд0ра6о,анв rеr'o -е1отpебroe

кoиандыprеf€ ф h
Ри.. 4.10. Bнeдрeниe

l]oдЬfГ('кlllJ пilIllll ]кlс1.ll)ксl ' l.l,l, мЬl |юJlу\и]\{сlc]lvloцyю 1.а6nичкy' Iсотoрoii по


Лрaву Nio'сeм l opдI{TЬс'l.

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,

AsPасk + ЕPPrоt+ рaсth _ вирyс


вoзмoхнo/Win.ехe
Упaкoвкав aрхивс пapoлel4
кoд
AsPасk+ самoмодифициpyюцийся

к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з

llo в, в пРoцeссс Pa6oTll tl4.i <запlrс]raм!t,,,' в таl('Iе коjтoдцъI пoпа]rа]rЛeoll lоЦlaтн.)


(;(ап с€ r :iчас Таluсrtдит)' Bсякoезнаниe пoдo6нo 6oльнoмv зv6}. _ eслttего нс тРo.
гaть' оrr lrе 6улет пьrтъ,oтДeirьtнe прo6ельr.нсяс]loсти п I]eпопятнoстr1rtсIfi6e'(
iпn' I{сrгдaпt1!rt] lь рa6o.пIезаметкll <.длясe6я>,пPoстo juахаe]ttьРyкoй ]l гoвo.
рlпlIь:Дa кirtсrяPa3flrlirа'ч'jo 'эТот6oлЪ1llolilipасtlъtii pУFЛrJЛ'lпlк]]eJасТ?lrnooTает
я(!1' _ и jlаJllro,,,кн]ш.il ,leлoдpyloс, T}Цхoчепrь не xoчeшЬ' а 6у]1Ьдо6I]Раз.по-
,JlTь все l1опdлочкaNI1A9,юр вьЦа)ка€ т глу6oкyx) lDизнатeль1IoсTьудl1rll,Гe]IЫlо
\l! че]loв€ к y, пtyдPоIly пРогPaпIN1llсTу зalrсuатtlltьвoгrlл;ппr..pаulilk
tt созj1ате.nrо
Iopпю хllpolly' пorJoгающсlllу так]rli тyпьIlI дyp!l'll' liilк я' rryeoдолсватьr\lи(l'I
.l0сr{vюрску сTItlс (ftpi//ftp'st'l(,сabе]'пеvptrb/UniLink/) lt,rtIrIIеJl{Bоoтв'rчl1вrut)|у
rllr lrrлr сrтr6yрньlс rr trечeтILосфоРN1уnиp.]шilllJlЬlс RопPосы ЕQrri 6l,l llс cгО rtоll.
сv'lь'Гall!x]lэТi|г.ЦаlJа lпl зан'ro 6ьr tte пoлy.rrlласьтaNоl:i'l{аltоваoIrl с.тьl

',,iiц.i

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в

CIrс'ГеNlньlйзаIPyзчик Tpс6yет oт o6разa непреPьiвtloстпt дoкументaция жо о6


xoдпт этoт вопpoс сropонoй' lla всом прот*дснии l'eждy iпa8e Ьasс и iпagе
Ьase + sizс ofi]пage l lе дoЛяrlroпPи(уTствoвaть lшl oднoii 6есхoзнй страницьr, пe
пPIrнаДJtс)каrЦeI.:i.rII.l
заt,oЛoвrry'lпl секциям тat{oIiфajiJ ]tPостo rrе 6удет загpу
жelr' (с э1!Ir IJесовсеNlсoг.пaсепIoриii хаРоlI, однal{o пJloднoго <прсрIlвистo-
го> q)aiinа вьl,!ouпть в ,{rllвoli пpпpoдс NIпelIe УдаJ.ioсь,a lloliьiтlLа с0здaть Такo-
вo],l саNloстoятелъllo всЯltиii рaз 3акalrчпвaЛась неусllсхоil.) Бесхозtтьlх rке
секToрoв в любoй Част'I фaflЛа l"1oжет6ьIтьскo'rьr(оуIoднo' кФкДЬIiI сектo]) Ilo-
жст oто6ражaться на лto6oс кorпr.rествoстрaпrlrl (лo oдlIor.iс.|pa]rrпlезa
раз)' r]о
никаItая сr.раница rlе ]vloжсr.отoбpа,{аTь6oлеe oд]lol.o сeктopа на oлlIll 'i тот )ке

l{nя pаботы с PЕ. фаii,1аi\I {.1]1спoльзуlo1.с'lтPlI l)aJ]l'1ч]]Ьlх схсNlЬIадP€ с ацnи: фlr


зuцссl|uе аdР.!са \нaзывil{-'}rЬ]с тaк)ке сr'lPьr]!lпyкi]LlrатсЛяУ||' ll'ЦIIс\1cIILt]I]l1яN{ii.
Гau,Рoiпt€ r s/llw offsсt,ll]lп lJpoстo ofiiеl)' oтсчllтьп|аcllьrс,о'Г |lачa.па
фtliiJIai.&2.
ln!аJtь rrc аа?ес.I(\1||\аl aс|dгеss'V^)' оTсч IгГt'lвае]!Jь](l оТ liaчаЛa дPсспoгo l|Рo-
стPаl|с1ва lrPоIlес(|i]L; 0/,]|осuInе!Ib|l1,|е вuР1n!aJlьll|'/?aф,?с/? (г0 .t(]!с viгtU:Ll ll(ld.
г с . s s 'R V A ) ' o т с ч l . г I Ь l в а о ] \ l ьо] 1е б а з o n о г o а ] l P с с n l ] a Г P y з J r l ' i.] с с T I l { а / L p { l с а
]lзnleРяloТсв я б a i i T i l хt r х P a п я т ( я I rз 2 . 6 l г Г l r Ь l ху к A з а т с ' 1 я х( u P F ] 6 4л с с r к a i l l l с -
J I п 6 4 - б n т | l ы e ' l l о t f l с r Ь l ' a l ) l с P Е 6 , , t ? ) .l { t l p а r P n ( l ) Jl l' ta n , ' n l ] Ь l ] , , ' ' t,'i' " i , 1 u д u , ,
a )кil.llЬ,,'Booбrцс.1.oсyiцсс1.rry0Tr| ]кr,Пrср1.iJij 'r||I]ll/lрссa|(||Lt-
.x,lР|'lео|n oсu-
|]ц|lulьk. ао|е.f1' RR4 (RirW ]lclltivс ^d(Ilcss)' |1j|1] on|h|)|nlеjlь]|oaпtlоl п.ilL-
] | l , l е4 t ) Р е с а( I \ c | i L i , J сR t l | а t i v сA d t | г с s s ) Т ' с p п r r I l l ( ) Л o Л lD. lIяl l ) н ьI l 0 я , l i 6 ( )( х l ) l | | l l l .
i l " ' I Ь l , l o г| о| а i ' 1 а I l l l ,уI, г n к ( ) г oс | ю с o 6 i lа i l P с с i l I l I r Jl I r T I l l l c ] | Р ( ! д B 1 1 , l t t т!сl rl r о' r ' / ( а
o г о l l A ] l Ь I ] J x |(())l'lrs с l ] ' ( ) ч \ lт' o l , с c ( ) | x | с rв\сl р l l ( )тj а к ] r l к o l ] [ s с t , цL l | | Л | , ] | o
P l J l I L , i с6 | ' | -
I l l l I t r га' ] t i t V A i l / Ц с с t lI } с o Г ] iоаT с l I l | ' г L I R 2 l к )(' Г) ,ссr' т a P т о l о г r lа д p с с ; r : н о l i i r : ' r р y к -
1 ! P Ь l ( в . l L l с | ] l ( J ( т lOl ,l l s с L М ( J d 0 l c N а | l lзсa д a Ф с N I o l I l ( x l I(l)c' Г| I ? l ч l l nr:аl 6 . ] I ] 1 lдl ЬI l i l .
I | Ц з o l l п . j l . (и) I l , I ( ) P T a ) ,
(]TР;uIl!Чньtii llIlIuрк сoсr\'ff I1зoдноii JlJll'I Jlсс lrо-lп'кl Iх .|l?/.4'?i,
с riаnц()i.i с{]|{ц|l.
сii сl']зaльI ilеIЬlPс a'ГPII6vт.ti (lЛrзl l.leс к |lii llдPсс llllчa,]la сешL]lr1 в (|ajiЛе/разм!р
сскцll|J п d)аii'lrсl IrItPтуiulЬlrыii ir/]рeс (oltц]tll R ll.Nlя'I||/рilit\1oР .l(](l{ rl в lIaмяTп
ll аTрlt6y1 хаPnrtтсpnс1]к сoI(цlIlIl olI]]сьIвalЛц'tii UPава '(()стvIlа, ofi)6сluloс'Гll .с
o6pа6oтк|{ (t]с-rепlllЬlпI :J!гPузtlllr()Nl Lt T, д' гl)у6о rоПоPяl сoкцxя 8rпавc саIlа
Рс-
rnа1],l o].ltудil It l.yдllсjl l.PvзIIтьс,lt oдIlaко J,l.irсвo5lrЛа вcсЬпlа yс'lloвua: Ira:lссop.
Tli]!lеlll вЬl6]rPаellll'lх знaчспrli,l ||iljlo)1(еIlоill}lo'(сство оГPаrпtllelIlli] l]aчilJrо I.a,lr
дolt сe(lLllll в паlliяTll/дисI(е всeulil сoaпaД^еT с Iraч оIl вxрт\xЛьlIЬ1х с'Граlrl]ll/
ссltтoроB соoтвстствеIlIю, ПoпЬП.кn создilть (скцrIIol llачlll]аIоnlyю(я с сеРедll-
llьIj '{eсTol{о rlPесекае'Гся с]iстe lltым загРv;lчl1кirll' отказlIяaю1цlI-\1сЯ o6рa6;l'l.lг
вaть тaкoii qJаIiл' с кoflцo\f сli"l]а]tl'ваeтся 6o.цcс лl-'l\к)l{pa,ГIlчIl^Я сllTvaцляl 11за
rpузчпк tlс тPсбyeтl ч,Гo6ЬIвr,DTvlU!ьIJЬпi(и чaсTI,Iчпо
d)llзпчeскll ii) paзr''eр ссl{цI Iй
6ьl"1 кРaтсн разNtсРy страппцЬI, вl!ест0 :]Toгo oп сa.voстoяl.с.!ьно llьЦ)авнrlвaeT
сскцxlJ. з^бrlваЯ rlх хвoсT нуJяllIJ, Taк чтo llllкaкая стрilнIiцa (сeктoP) ]rе ]\f.D}iсТ
ЛрrlнaДЛeIiать двyNl li 6oлce сeкцllяNI сРазу, Фa(TIIческ!l] этo сIIJюшнoе Ila]lуtsа.
ТсЛьство: llс BьrponrlеllllЬlli (B зaroJrовке]) разIlcP автoi\ аTllчесI(Lr вrnpaвнrirraеТсЛ
в стPапIlЧ]1ом пмидже, Iloэтоilty nPcдостaвnенньle lla! пoлlrоii0чrи Irа п(Jtsсркy
oкaзьпlаloтсЯ сплоl]lнoй фпкlU,|еii
э6щиe кoнцe.ции и трeбованиЯ/пpедъявляеMыeк PЕ.фaйлaM 75
всe секц]lи сoвсpr!сн]rо paвнoправпьt|1и]1кa,flдoli xз пl.lх 1.еснoсвязalr с cе aт
prr6vтarпr, иптepпрс,лrpvсп1ь]rlrrдoволЬIlо I1еoднoзнач]1Ъ]NI Il 11pоIивoРсч]rвьIlI
o6Pазoм. Pe:Lnьпo (чlt-l.аii. на ссIo'lliяilЛIllii дснь) IlI пNle."Nlnвa а]lxapaтньlx
l l .1ва]]рoгPап{}lньIх
aтpи6vTа],Aссes tеаb]е ll shагed/Lоаdаb]e (пoс,.]enппij_
sj bl e/ltrlгi
\'сЛoвпo) сooтвcтствrrrнo. вoт оluo,1a ]1слсдует пJlясать] Bсс остаj1ьIloе пз
o6'пaстrla6стрaктньlх коншспцlп1,
.секциrl кoда'' <с€ x цrrя ,-Iаll1J
ь]х>' <сскц11яn]!Iпoрта> пе 6o'rсс tсlr o6pазнъlе
"|,.,t.c,l,ri,.Ь..'o6pdlнLlij]),'lxрl|l(,,,Лll'l'| | l : | , , Jl ,,j o o o I t . ' .
! . , r| h o i | \ l о l " , ' | i ' i i , , b | | l , U | ' o| | ] \ ' ( , ' | | | '
' pa].l|ичlllnх сс[!1снтах. а пе бьl"'JIlснeдс]lЬt в оДlrr, кall эт() iIpol1схoдllт ссйчас,
Сjly}кс6нь]е стРуктYрIi даllllЬlх (Ta6JIlilьr ]lLспо]),l.il. lrп1lloРтаl пеPlзNlепlilеIlьlх
Э-'Iсп{снтoв) мoгyГ 6Ьггl, рtlсxo.lloя{сньI Jr jJо6oii сс|illlttl с lloдхоляnllllпI il-гPlt6у.
та 1 дot]Tу]lа' I(oгда-тo пРавlJn:l хl)ро[lсlo тoпa пРeЛпrtсr,jвiuljl lloм€ I llaть JLa'(
n t ' к ) T а б Л l l l l у в с ! o ю l r с P с o i l а л ь I i y i ( )ф к t l l l l о j l l o т c I I l ] P ьj т l \ 1 с | 1 ) / 1 l l к]i l р I l з I { a I l а
.Геl|сpl,
\'(l.аPсuпI€jj' I l i |с i l ( l ] \ , с i i n P J I I l l . ' J lа]i | а р х и Л l l с | а P ь l i l д о 6 ! ь r i i i L в ! r ! ) r | | i o -
Г l l с з ц о в o i i с п o с о б ' ] Ф l ) l a с r 1 ц 1 u к и м o c с л у л r с 6 l l r , r хт 1 1 6 ; r r r r 1 1 l а з l l a з ь r в а с rтсo:rяr r t r r п r
с J | o с r vr | ( )в . с ] \ { ус ] . P n l n l l l l l о l l у l l п I l | л , { v ч' T ( ) . у r l . ( , ]| ] 0 | l l l о y ' Г Я n r c . r l я с T a ' l l г ( Ц ) l|]|]|l\сr.
n р с l i l i ' l B l l с | | o " T I l я с I l Ь | (i il ) n j i r .l l о : ] т oY ) l { сT е N l а' U ) у Г ( ) I r |) ) i l ] l ' ( ) l r o ! аt ] i J ] х Л l с N |l {' ; l | (
с l I Р а в c Д n l l ! o з а N с ч n с 1 .I O l ) l l i i х l L l ) o l | 'r l c Л О1 ! 1 . ( o в ( | N I J ] с | l ; l l l a р х l l l 1 .а B ( ) l f | l l l I l , .
зацlll| пo Р.lз]\{ol)уL1(]коpo(l,ll l]ilгрvзl{li,
( ) | ] c P j l o i i 'l ] ( l ] o c l " lк i I l l { ) l l I l ч с ( I { о i(\)Ir | р u к , . ( сI l ! | j ( : П о ц , 1 j l u l i i ( )(| ( x I l ( ) с П Л n ) j i ' . I i t ( , l . l I
( l ) i t i i п t lI' l с l ] а Г P v n и C i ! | ( )Ii li l r l l r l я , I r 'в, I ) L j . 4 ) а j j n а х\ l r l l к с ' r6 r , r t ь p а с : l t о ; r t l ; к спr :r r r r f i о : i I
] \ 1 с ( l ' дI сI t с к n n Л 1 )o 6 Р l l 3 i l I l T ( ) ] \Ч{| | с - l ]lсl l | ( х t ] р С д l L l r o , / t ( . i i с П l | | 1 . с ' r l Ь l l ( ) , с с J | | | r ' c , { / ( у
/ L в у M Лс N I c ' о l l n i \ J lt!r J o l I ] я l \ l P a с | | o ' l | О r r { oIIllooс l r o n Ь l . o6 с с х l ) з | | Ь l хC o l L l l j P о | lI' l с l | Р | -
l ] l l ' Г l | з l | р o I r а l { I l ь|liхI l l . : L к ( )сi j| | ( | ( l к : i i T
' i l к | ' l сс o l i l 1 ) P l lo с T l l | . v , | ( ' 6 с : l l l р с д с т a в , l r с r r r l л
l l ] l а 1 1 , Г ги l | J l l l с I ( } ID с с ( ) с l l о л l t I l J tслt l I l T x T l , . с i ] я{ ) | n l ) Л . Я I ! J 1 вп ' P o ч c N l ' к j 1 1o l I l I $ | | | -
, r . а I oсTc 6 я - | l L ' в l l ) r l к ) t ] а ) { ] | ( ) , к с I l I l х с . r l l I l l o т ( ) I L P v n { а l 0 l I l l i t , l | 6 o N | | ( r l { l l 0 , l ( ! l . O | l o 0
l l ] l r t 1 l l)I с ] l а J / l с r 1 я e lГ, tP a l I n Ч I l Tс п J l t з 0 4 ) p с I i l I e iti l' ( : у I l а с l Iс д I I l I l i iо в o р r | с i 1 Э ' Г o ч r . o -
тolсо6стrlепlIoг(Л(Ц'r,l)8сlr.llcямjlIl\\1o'LlI(JIl:|.]|,taxтьт{)iЬl()в||сpсnOL]IlоjllCIlьIс
Jlс, сllсц|l(l)llttttцl]я Ila PЕ 4raй"tl,l этol.() ,|сl)Nl Illl в YjlL)p Ilс лpIiзIJаеTl ll lJлмк||хl
л:Dкес:lNllnх lЦ)11I!jI'гl|яIIL|х' \1c\aI]llзмoв пoД{eр't|(l с ()lrеpj|с'IiIи\vinз2 r\Pl ]Icо6сс
''oчuвасT 0lс счrIтая' IL()]leчlrоl l])]l]i1l]1.l|в]lor0ввОдI'/вЬIв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Ь

да осилит дopory идyщий!когда вы дoбeретeсЬдoковца. вЬ пойметe,л.!.Рj nе эa.э.


тaют нeкoтoрЬe фаЙлы,yпакoванныеAsрасk/AsPrрOteфи какэтo исп]аe;iт! l...з.ря
yже отоM, fo вь| сяoxетe сoздaватЬабсOлютНOлегаль|rыефайл5, <.-оэJс йi cди3
дизассем6лeрle дизассeMблируeт в приHципеl
76 глава 5' фopMатPЕ фaйлoв

Засппr все!Tспepь, пoс.'rс сoставJснIlя r{оl1TуpIroii кapты Р A.фаri.floв 11o'rнo сlle-


llo прlrстytlать к еe дстaли3alU{и. Irе рl'|с]tyя зa6]lvдlrться в нспрoх(ЦrlNlЬl)i тcp.
NlиtlолoтttЧесitl1х и тeхl{ичeсIolхД'l{унгnях, Nl}')каii|ссьI ЕLF.фаiiл eIце6о.1rе ||а.
вopo.тен' РЕ в сpaвпеrrrrjlс Irl.l]\1.' пPос1.() l1св,Iнrrсlстr,кaкая.тol

ст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

: l а к ( Л l I l i ) } 1 а 6 r I r l ц Ь lс с к Ц и i i р а с к l r , l y . l l а с i ,т o п к o o 6 о Л o , г о I l I | ч с i i I | ( ) i(i ) 6 ' n а ( T l . l I' c


J|рl1,lаlLnox(lluLсй]I заl.o]l()вкirм' lll1сскцt'l'N| Й о6разoвaвlLlсiiс,l 3 pсзуrlЬ1.аTc ]]ьt.
( с l { l Ц т йп o t ( Р i l ' Г|]ь l м , L l Ф e с a I l' I ] ] ] n в x с 1 | n j l J с r(l rl Г
P : t в | l l I l l а l L l |(, р
l l I 3 ! ' ч с с ] кх a Д P с с о в
l!il|.РliilJl;l' зil'
рялa о6сгоятеltl'с.rп' rro,lРО6lIo p r6IlptlсrvЬrх пo хo/'lу ||3Лo'{eIJп't
60!(,.lflшaя nal{,l,|l, пloжсT lQll( oтоi1l]ilжir1'r,с,lllilадplrсtl.Jс llPoсTраlкlГl]1) ]Цn)ц0с
са' ]alr lI llс (л.о6P^жа,l.l,(я лa п€ г o, o6Pа Ijl'l'гьс'r с llciiсЛeЛус'ГкPnii]]сoсTol)()'(r!o'
ril]L]LaI{здCсIJ м()Цlr 6ьIть PасlюЛо)ксt1ьl чеii.тo oвоPJcii' l]спo"'тн'сIllrlii код t!'llи
с'Ц]r'I.тyр1tд.lItIlьlх (гa6ЛrtЦa Д]lnIlазоt'яоIo и]!ll|орт:t' наnPl|мeР)'
Hачин.l, с гnW оftъсL'а ]ltlтjоii L].шrt1,1'указаннoгo в Tа6JrпЦe с0(lllJii' пPotl ||рll.
|.1'сясnp(1нuц]alЙ Ll]шaJl.' 1o1ll 'сe' cгo yllaкоBaнIrьIii дlкxфBъiil о6Paз, <УlIaI{oflilll,
Olt в тo]\t сNlьlс,le, что qnaзическltе pазIlсрьl сelolli.i (с у.LeTorv rrЬIРtllrlillпaIlItя)
вltJlloч?rtoTR сс6я 'llll1llь llпlll0lаr]riзиРoBанr1ъIс/{aIlllьlе и нс сol(cРn.aт rrrlчсг() '.l]llx-
нer.o (ну хoроlllo: tlе До.ц'{ньl сoдop){aтЬ Iiичсго лl,lппlегo.'.), ts}lРTуiJьItьrii рllз
l'eP ссl{ЦI{ii }tо'{ст сущесTвeннo llPсвoсхoдrtтъ физt.lческIiiI, чТо (] сеliцllЯt|1l,1llI
пъlх сJIучаеTс'l сп.no]]rl, Il ряllol!1, B ]lаNlяTlJ сокцlr!т }lсегда уrю]]яtочсxьl. чeго
IleJьзЯ сказaTЬ o Дr]скoвoi{ обрaзe' Ilorujli!ю Дьlр' oсTnвrrlllxся о1.вьIРxвнIiваllllя'
\ieniдy ссrrцt19I{IrмoIут рaспojrаraться oвeРлelr; п тоI1у хe пoРЯ,:rl)к сlо.]ова1lxя
сеi{цrlii в nal\tяТи n на'lI.Iскe сoвпaдaеT далеI.o нr lсeг]!а',,
- i.llаIlIl
oднx сeli]lип l'l,'cЮT xoстoяirнoо llpeдстaвитсxьсTвo в паlul1ll':1Р\'гIiс
\{аЮТся' 'шnrъ rlалоРи0ilзагpyзшr' no заleрIri€ t rи кoтоpoil в 'lкr6oj] чо\!сllтiюlут
6ьJтЪ беiroroворочнo вЬl,lвоPсньI отт]']rа (flе .6Pоnle]lъt в свoпl а rlllс]lI]о вl,Iдвo.
pl]нъl' ,lo ссть lLеllopтIJрoваlrьl]). чTo яrс ло Трстъrtх -- otп.I !.rо6I]]е llпк()tда
rlе
загpу)ка1oтся n паllЯтьj t)азBс чтo пo Частяiv. в частlloсТll, сеIillJ1,l с оТ-!ail0Чнoli
tlнфо|NlаЦxсli веДсТсс6я lrlIснrlо тaк. BxpoчеlI' oТлaдочl1aЯ IIнll)l)PrrlЦxя ]lе o6я.
,,'li'o\,,|q||J, Ьп''I J |n,l'||ll'i' ,,|ll ,,,l ,u,'|,,'|lo., l|,'!,',,.
(rl к фа:i]Jtу в вII,цe()вср'rея'

з.L Noнцoll IIосЛе,lUеii ссIrпllu (]6ъгпIо 6ь]вnеl pас]lor]о]кс!с] r]elФ].oPoе к()-llrlчс-


(Тво мvсoР}п,lх 6ai]Tоu' oсTaв,!яе]\пnх JлJJ]iерL)]!IlrO rle6PсжlftхjIll,
Это Jlс oвсplеii
( o o p r ц с н r f ] l к l l с l l v l l I l к { ) l . д ап е J l P о l I с х о ' l | г l ) ,х о т я 1 l я е ч т ( ) ( I ] с J i Ь I l r ] l с г о п o х ( ) .
ixсе' PаJYrIсeтся' овсPJ]еeI Noжeт 6ьITь II пe(rIoJIъкoi {r l сTеУ Jtr'ii зaгР\ri](rllli IJс r]l
, l a г а е , |t l а J т о l ] 1 l l { i l I { l lоx I P i l I ] l J r J e I l l t i oi ]] l l i ^ к о п l l е | l p с д о с . а в J , с т ] l I l r i а к I l х
villl
ф I i i l l Ц ) o в а J п | l ' | хN с х r l I l | | 3 1 1 oрI ar 6 o 1 ) ' с о в r l ) ' l l с ! I j ] r x р o г P r ; l l i l а . с o ] l ' 1 i l н ш a я r l r ф | l
oвeрJr(]ii' вьJrrуntдсIlа рil6oTaтъ с |lll]y с:LIj(xlТoятсrr nlo' заЛ(]ii!:Тво]rаl API Irвo/Lr/
в r ' l I r о д a( r r l I P o ' l . N l ,4 Л ь J J л д ' н с P а 6 о 1 i l с т в l I J ) l I ] l r t п ] | .l .' а ] iJ L l к i j а l
Pv,t!llll,lii d]lii,']
, l l o с т } ' r l с |1l ! , 1 ь к ( )Д r t я ч т с | | | l ' ' а з а l ] l l с Ь B l l e l ( ) | l i ' ' ] r v х о l ] t l 6 j l о | ( | | Р l , в l l I l l l ) .
| { ( ) p o . I e| 1 ) в o p я ,( I ) з l l ч с с к ( ) . J I P с д ( т r н . ! с i l l l е с l x r . T J l ' l ц I ( , Г (()l ) r i i . l l tя 8 J r я ( r . ( o 6 0 i i
l I n ( , | о я J I L ц ' " ' l { J с к v T | |o(,)'сl с я .ll) ' r l а o i l J i l l l а | o J | ( сlСl о j l l l , П J ! с с i { y i ( )| i i l P т ! l \ l I l | ) r
t rс I J l
J I с < | ] : l с l Ч ) r ( Ьс . i \ ' ' ' ] l с р с l l i U I l T Ь , ' Г v к v х l l J ( )o I | ( . ' 1 ]i Jье l r p o ( 1 ( )ij] о ( к o J l Ь x у i } l к ' l I a д ь J
l r n Т Ь с яi l l l l I l l ч Т о | | 0 ' l | Ь l l 'с' n с ] l v c т ( D J i l I д l 1 r ) , 1 l ю б l nl ])(i D l { | l i l r I l l ( ) с T 0 i i ' . '

чт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

Дx.к()вЬr]i фа1].ц II еro BllPт}'а"ll,tlыii


o 6 р а ] . э т о ' ] i а l {г o Г l o p ' T ] r o Д . с с с ' д в е
6onьшlrе Paз нrI Ilы, С i,lo\'сll1.а oILо,ILlil.
IrnЯ зal.РIзкl] сT.1ндаРTI1ЬIii PЕrDtlil"'l
ра6oтiеT IJскnroчлтеJr
tsIlPтуajl Ь11ьIмo6pазo\! rl llсo6рal;lасT.
- э яоxнo И ЧeгoнeлЬэядeлатЬс PЕ.фаЙлом 79

]; нclloсредствеlпro ir сaмoмy файny 0rскЛюllепuc сoсTlвJrЯюT овеP.lсli 'l сек'


]ilIl oтЛiцoчrrolli l1llфoрllац].tтl' lto э1.o y'ке тсIrirДpvгol.о разгoвoPa). I{€ т ' нс такl
.J6рaщсние gсe тaкx лрonсхOДrl'Г
к нсмоДlrфlrциPonarrньlNl сTрaнIrцам фal:iJla
nрll Yслoвиll' что oя затруя(сx с rjинчссlеРa' a нс ( /.ll.lс]trтш ЛЛи сстсвolo дtlс-
]]3.i.Wit]dоws нe пaстo"цькo глу1lа' чтt)6ьl вьIтес1]ятI в свoп тo' чTо в лlo6oii п1o.
'Iеttт м0)кпo поjll.ачaтъ с дnскa, BIryoчеlltl эTo'Г п eхaнl{з)l ]]асто.ll!кo пPозрачeн'
:iтo
учrtTьlвать cIо сoвеP!rеllIlo нс о(lяjaтсJlrl().
3lleдPясNtj'lй кoд Ntот{€ т ]raк yroднo nel)eкРal1в:rrЬ дtlскorЫii фaйJl' r|о впPтуДпЪ.
]iЬIii o6pixl lreняTЬся Irе дoJl)кен, ToЧt|ее' пoсЛс IlеРедачu у|Ц)авrrсlllLя на opllгll
:l:llьнуo тoч]rу rходa вllPTуaльнllii 06раз ДoJl)Кeli 6ъIть lфIr seдeн в ЛсхoднЬlii ппд,
Пp!I эToпl Доllускается: а) уIrexиЧ'1rrатЪ PазItф стРанrLч iо1.о ]INllrдЛ(a'заtltiсыRa.
;сь в сrc lroнсц; 6) ol{xуllпpoвать lle3:LнЯтЬrс о6лaстл (llaпPlf}lсp' Tе' что llсllоль.
з!ю1ся для вырaппrlванtl,0]u) gЬIдcJIять IlaN!я,ГьнaсIсl(е/кyчс' llсРеi\t€ r цaя lуДa

Лос.кoльку сскuпir pасIIoЛаIаJoТс' в фali-цс l|о пьrPoвtloIlllьlпt tlдрссaм, }1с)(/1у


] i l l ] \ l и] | p : l к т ] ' I Ч t ] с l {RlсI е l д а o с т a с T с ' t ю б o д I l о с | | P о с т Р а l l с , I l ] oy' в с р 1 ] I l i J ов N l с | i l a -
юIrrсс в r:ебя I(рoхотIlь]ii заГРyзч]tк' |юлltач Il t]ilnЛцп]jl <хв(х]т} 3l.1рус.l lIз oвeР.
,lся, l(ак BaРиnн,г (eсЛи xс'Г дРугoro ()|lвPJ.lся)r\jо)(|lo уB0.r|I,1чптЬPiritl{eP пoсЛcд'
llсii сскl!lпl и здllисатьс'l Л со IкnI(lL' Бo.]iсс pilдll|iа.]IьIlo t|астРorIlIl,,lii I{oд мo)tет
( ) с B o 6 о Д l l I l Л l с с с ' l] u с с ] . o ,
с 6 P o с L l - П ,q a с т n ч у I ( o i i с с к l o l l ] o B е Р л с i l ' ' у ( ! ' t s l I l l l с Ь| l i r
а з а - l e i l ll l о l l ( ) с P r Д с 1 . в п i l ю ] I с p с д I J с P c ] L а Ч с iуi п P a 8 ] | c I I и ЯB o с с , | : L l к ) в и ' гoЬс 0 6 p l l ' | .
rro, Brlсrrrrrlrii ilггypaлс r]ЫГJ|,]/L] l]. l lPoс].о 3iLNlctlir,ГeЛь1lo' Лo r]а/(уI'aiiTс,сЬl ltl.o lIPо.
It3oiiltсT, ссЛпi a) с6РtlсЬU]iloi!Ь]i'i 4)pilГме]Iт (lсl(IlIIll 6yдc'| (oЛeр)I(a1.Ьод|Iу l1Jlll
I l с с к о J l Ь к o с r ] у ' ( c 6 l l Ь l х т a 6 Л l | ц ' l t а l I Р | l l l e I )T a 6 Л u ц у I l r { п o P ' Г l ;6 ) с б р а с | ' I R а с N l ь I i i
(l)I)агrveп-rсскILпll6уДс |.со'(сPж?l,l.Ьо'lllII Ir,1IlIlcсll{o]|ЬI(() 1lсl)смс|IlnсN{Ilх i)'llеп1eя'
iou, TuIоrм o6paзоп'' ,'сPс/t тc}l кa]( с6P сЬlllаrl, ч'r.о 6Ь| то llц 6ЬIлo в oBcрЛсiij
Ill]oдPяемь]il кo/lt/'loJDкclI IDoaн lxJпPовllr.Ь всr сЛужс6|lьle с'гРуктyрЬl' l|Р()пп
сапrrlев DАТADIRЕст0RY' чт.)6Ьl xс||арoком rreс6росuтt, Зaтсм
лtlпlrrсгo,
ttt,l'lсгo
rrсо6ходt'tмorrPoaпалrrзrlDoвaть,r.rl6лIIIr), (oсJlll
rrсPеl'lсI]lасNlь]х:rЛcмсllто3oнil
есть) rr л116овьr6рaтьy.rlстoк свo6oдrrьriroт пеPeNсЩсlIпri'Лuбо vда.lи,Гьсo.
oтвс1ствУющI1e эЛеltсlr'гьllтз та6;tпцьrс'гспr''lто6ы ПI]oслсдсIr'tпo6pl6отаrЬ
Itх самoс'гoяTсЛъIlo' llo РeсyРсов дoтPaгllв;lться нl в l.ое\{ сJlyч;lе ltcjlЬзя, ]lна.
чс IIPoRoдник иконкrl nе пarlдсTL
нo хвaтпT loвoрllть o ]lЛoхоru. давaitтелyчшe o хороl]rем, все ссl{ttlll{ сral|дaРт.
нoго PЕ.фаiila' зa l'ск,1loч епI.lсI1сск ц и с 01.]lilДочпoii llnфорitацxеil' lIсlLоIlЬзу.
'n,''.o,uou пv,,t.7кп,r. n VA.;!'lpесацшIо' а этo зtlаL.lliт' чTo ]!1ьт\loжеll свo60днlr
flерeilfещат} сeкции tsllутPll дn(ковоIo or]llазa мe]lя'Гь rш ll"Aстaпlиl вI]еnряTь
Ilс)кДу н]rllи oвePЛeи, и Bсe этo IiI]кa]L нс скa}кеTс,t на pir6o'Госnoсo6нoсT п фа ii'] a.
пoскoЛькy стpirпичнЬlii lllll,]д)к вo всeх с.llучirях 6уaс г о:trпr и тоr.rке| Эrо trе пo.
аrDс.
]raжсTся yl1пвllTеJlьrrьi]!l) есЛll вспоIiIп'IтЪ' ч'|O впpтyLцЬнЬrii п фrtзrrчес!;lii!
trр},гo\t пo.
са lrа,кдoй сeIсции xРaнЯTся n paзлrtчlIьlх' ниltаlс lIе связa]tllЪIхдpуГс
ляx'и\fенrro rroэтolIу вllе,l1ренис lroдaв ссPеlLиJly фаliЛа clц. l lе обoзt]а.'ает его
внсlrрепия в сеpeДиilу с.1РаirrrчI]Or.o п]\Jиджa,
_
TсIlсрь нeмIroгo извращetlиr:i д,rя Рaзflоo6paзllя. Bнeдря,Гьс'l в liolrеш фаillа
слишкoni пpoстo, нeuнl.eреснo u lle6езoпасrlо (aнтивllt]усьI ItPIl этoll \laтерят.
a0 .Jва 5. фоptrатPE.файлов

сЯ Taкl чт0 y]JJи в'Iнyт), B]lеllРятьсЯ в llача.io лoловoli


сс].цпl1 сo с6PoсоIl орп.
гlrтraЛЬIrогo сoДeP]flnIiIо1.oпoс'rсдrrсii в oвсpлеii . с"lиrпкulr
слolкнo, A чтo ''
пoapo6ou;t|ь впедPlIть(l,I пеPсд пaЧajro\1 xor.iовoir..eкцпr1,11ррgдgn11\,g "с.,ilr,
9р 11..,..
,1о в o6JraстЬ ^lta,ltпx{х а,цPссов? Bпl)тyаjl,Ilr'lji
o6P.." .,.,,*..'' ;' ''P,';,.'^,;.;.
тиЧссriи ястрorlvтьIi\l ll oста]]еi'с'I .nе)катъ l1o тri!|
,{е сn ь]}] n;ц'...,n'' r.uтn1л,t"
заllи]!1:lл цo BTоP;lt€ J i11Я, чro сoхРnнlll
фal:lЛv pа6rlroсrLoсо6lLoсть' попутпo:rrr.
лraя рaзpа6oтvпк внел1r'IеIJоfo кoда llo-lJ.]!Orr)rtопTакта (
rI!.PсNlопIасr]r'l]1l эJe-
]tlсilта]!шIп ]lрoч],l,!llr сnY'{elillЬIп!п с'IРvкlуPalllr
дllt;rых' Bсе этo т ак' зa trсrtлкг
чеlluсnl oд!]oгo доса,ruloгo <нo'' I]еi)I]а' се]{цlIя
lIojlая,IlЯx)lllсt.o 6.эльlLпlнсr.ва
(paп]|о9 4}.](]I]ачlli{aeтсJl пo
Ilаl1]\]cJIьIlJе]\|v l.li] Bсl]х дoстvlrIIьIх аilресоn' lI l|сDe-
,ltsIJraТr' C€ llрoсT() нокyда, ]lрaвД:t' lIOд NТ ]uo)xнrl ()т]i.lк)чlJтЬ
в'rpавl{пll;lнllе
| ]д с " ! а | Ь с с с I t l o l я \ I l r u ( с ч T о
улoлll0 llо 1oГлa (baii:|lio |!олrcr Раб([ат|, lloд
W i t l 9 х ( r l о д l , o 6 I r с е( ] I { ,<F . i l с ^ 1 i g п Л l с l l L / s е с l i о Л ^ l i д л п r l l n t ' 1 .
T o L l l i lс а l l u ' о т l r о .
с и т с я ] i I Lу ^ 1 с п ь J I l с J { I l l6(a' з о в o r . o а , ' t р с с al l a r Р v з к ] ' , к o I l I r ( , I l с | Ц ) ! с l l 0 N ' v
I1{:'lIIlчс
ill]€Il ста|l1)яЬJх адPсс(), l]сех (сli]lIlii' |] . , с г ( )l l o . ' i ( ) ' к с п I r сс T I ) n | | , , ч .
| ( ' l r ) I l ] \ ' l I ] l ' { n. , о l l з N l c l l я o ' | с Я ,u n , u ' u u ' . , . , , " . , , . , , ' ' . n ' . "
,or,, i"; ii; ;";.::ililli,l
, ,.,,.,,,r, l, ,;i;:l ,,,1":
1\k'| кVА 'l,||1r,'|||',h,,
t I P о с ' Г ов 3 ' | T l , и l l с р о Л l l l l и y т r , 6 a з о в ь r i i , u r i , " . | | с l l o , r l v l I J r | t т l
1 l l э t ) 0 ] t о д | | i ' к' oa (
i \ 1 ' i l l I l i \ l у пl l р o i l l { i l ' ' l l l 3 J ю п a ' l ' t ,т a б ' l r r r r t l ,эrl к ' r r r r ; } l a / | | [ l o ( ) l ) , г n ,
Tll6.пllllv Pc(]у|)сoП
l l с l t l ) P p е I L I I l P ( ) в ; t T ьR с с R V ^ - а x l ) 0 с i l , i l к а J { N | а l i ( | | l I Y N { , ' .
т l I l I | ! , l l I I , l i i6 ; r з o l 1 Ь l i i
: ' l п / \ ' , t ' n . I 1 v, I, tl t . ' >,tt с t t ' 't l t , , ' , t 'r': r' | ' : ' r r , | ' ' -r . 0 0 0 0 0 1 ,
l r ' 6 | l ; r r r r ., r ' 'l ' ' r ' . , r v .
' | , j и | | l , ' : ) ' l ' \ | l | ] | | | \ l : | , 1 |i':|'|, '],'i'i. I ] ; ' ' ' ] l ( ' , ' ' ' г | , \ , ' к j |
. l \ \ , | | : ' I ,| | ' ' ' ' ] . | ' ; ' , | . T
,',,',_,,
l l l l l l ' l l , , : ' 6 l l"l |,|.v,|,| ,л ,i \1v ul n '{ i i , '
|,l''''\|l
. . , , , , , . , \ r y, r, . i , . . j .
| | ' ,i " ' ' ';! . '''' ' ', '''' ..
Ф l l 1 " ' I o в ( ) l l i l 0 | | с к t ) 1 \ ) p o г oв Р с } l c l l I l I l ( ) v r l o - l ] li l l l l l k ) l ) , ] . с ! , г L l , ] ' l r v с 1 . ( | | v
Р : l ] l I l (чl T o
J , ] l I l ] к с PI l р 1 !l ( o ! ] l | о ] I o 1 1 l {с cI l с ц l { n " 1 t , I l Iol { j l r р . с | l ' L с ) '( i
n I r l r a : r l r г r L r ' r о r м r6rr 1 6 : l l r о -
т e к a N { I l с l l 1 ' ) а I l l l , r | с ' г l к ] l J I а t I | , 8 f l :( l6 t l l о | l ь I i i
il]lрoс rl)i.]lrIpуЗкrI льt6rIрar:,п.lr
с : ] a l l i l с o I 1 ' Д a | r T а б Л и ц а п с P с N l t ] ц a с l } | Ь l xi ) . ] l C ] \ ] L ' I l T O в '
к a ] L Г l Р а в I l - . l ( с) ,с т ь ) ' o / { I 1 l l
к ( ) с , ] ] о ) { н o с | i ,P e а J l и з а I l l ' t x B l l е д р Я с 1 1 o г . )I Ф j L ' t ] | P o с 1 l )
ч у д o в i I l ] ( l j ; t ll ( 1 . o I i y , ! ' i r
llссгaлдilP,J.IlЬlii аllPес зal.Рvзкll сPaзу 6poсnс1|'l в г:|а...r,
Taх vтс, lrcrrrr.,t.rь э;.r'го
11рl]olIa oчсl{ь сoпlIIll1.1]jlьltil'.'
A'.xсPЬ спeпlraльllо r'ltr.IяIIасTo']U{llх пзп1laщr:rrцсвl Pазnlrlll..rIЬ
с1pаll1l.]ll],|ii
иllllдж aсe.тaк] l ,t!OJl.}lo! (jcкцIJя ll()дa lЦ)iltтllчсскrr
trrrкоl)ll пc r16Pаrllаотся к ссli
lЦIll ДaнflЬIх llo отIloсIlтеЛl'пым алрt]самl ir ]]сc ir6сo'п
сlтlп'rс адpсса в o6язiLтс-ть'
пtlм пoPялк"" дoillкньl 6ьrr,ь пеpcнпrl;rслr,t в т;i6,,'r"
,."р""'"u1,"',n'* o-',"","','on
(кoнeчllo' при yс,roвиJ]'Чтo оl]авo()бщсе(|ъ). Oст:л.лся
.,rtппьпv,l7vlr .llrpc
сa сJIy)Iс6яьrхстрyкTyP /lанrrьlх,oДrliL]rо
]rх Ре .rrьнoсxoррclrтxРoв:lTьx гlруч.
нyю, PaсшпPенLle стPаtlпчнoГo tll tlджа с Bl1с/'ц)енrlеiЧ
rj l.L)нeц]ioдoвoii сеl(цr.'п
без сбpoсa eс в oвopлeii ;lаllятilс нe д,ля с-'ra6oltcpлпьrх,r,,','..' ,'.1',' .';,...,.
сtJсч' пoсltoЛr,кy rакоii кoд llдсальlto вrlxс
пlс1.о иЕепp[в,"*u".,.."6"
фaiiлa unn,,,l,,',]l",Т,ъ:',жil::i".J-Жj:#-
llыil сllосo5 втoр)кcнI'lя'кoтoPь]ir rtсЛьз' pасlloзпать визvальrro
(пrlдpo6псе см,
! J а ] l I ' с к и 1 ' ' 1 л a в a7 ) .
:-;cниe основнЬLхпoлeй PЕ-фйла a1

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з

lrанJ{ыrrуjrlo' aсhаraсteгistiсs rlет' зrraчrlт,эT0 сеlilolя Эту свЯту1o пРостoту


нllчеГ(r ,tе стoит 0611а]1уТr'I lJа сallol' делс IlPoвср1.ус-rlеlryeтy,ксстoчr11.ь: ес.rrп
rrчсPсдltirяЗaпllсь в seсtion Таb]e uьIг.nядllтк.tк (сt{l(llя ('Го eсть tlсZпoЛя в[пIrд
tlLl) 'э'|() ссl(цllя 1l' соoтвс'|с.|велIlо,rlaо6oрoт, Пo1l !аnидIIoстьlо здесЬ ]tl:)пu[tа
ется' чro аilPсс llачa,aaсeкции gЬIpoвlIe]Irr пanят]l ]1'ilс'киl.лепoсреДствсlltio 3а
liоl]цol1пPсдьlдуtцсЙ секцllrl' a pазпlсР ссl(lпnJ llе aьrrlсТaсТзalРе/1ельrстРан11ч.

}Iл'iе пРЛuсдсн IlpoсToii IIакРос,счllтьlваloшIпiiсonеP'rl1IIосxоЛя Numbег0fseсtion


lrо указат€ ' цю нa IlсрвЬli 6aiiт PЕ'заго''lorrкr:
i i i o i ] l е r l u п 0 f s € с { P )( * ( ( L l t ] R D( r*+) 0 r 6 ) ) /) ' , р ' y t r а ] ] r т енлаьP г з а г о n 0 з 0 1

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 .

uуr.rt6a поля в rro:rь' от.пi'l'lllкlt, ill'lзас(см6.leрЬI ll сl|с1'oмIIьlii itilГllyзЧик cгo rlг.


rюprrpУroт, Для п]lсдогврillцerlпя с6Poсit!(llrvl]l ||рorр l\]ы нaj{к)(зrlrIrшrtTс сюllа
Iiсlll.o отличrtос oТ lLyЛя l'l11oдтянl1Тс (в l]^I''lTll) flolс Nulпberofseсtion oт PсlL1ь-
ttогo зпaчения дo 6сlIrl6рaзIlя ' Tо кv ullrс вeРсlrlr Рс LoolS'а L]дoхIlут от зaв11с1rl ' l lo
есJlи NЕox спoдo6и,lОl всTрoIrть нoPIlilЛl,Ilшii ваЛIlдaтоPl э1'Ol.'гРlок псPoс1.illIет
рa6oTать'

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МAGE-FILЕ-н ЕADЕRj снARAстЕRIsтrсs


AтРп6уTьrфаi]jа.Ес"чисhагасtеrjstiсs&iI{AGЕ'F]LЕ
ЕхЕсUтАвLЕ
IмAGЕ):0,фаl"'IJ
нr гPy3и1.сяlro есTl]пеpRntii,сЧllTaя oт l ]y'lи, 6!п xaPаI(гсрllст}lк 06яз?rIс.I]
ьrroдoл.
жсн 6ьi1'ьусl.аltOts,псli,
У лппам11цсurих6tJ6-lllотскдo.1жlrc6шTь yс'Гaпoвлс|to(ак
ri иllиму^Iдва атPибv,lа:IlttAGЕ.FI
LЕ EXEсUTAвLЕ 1шAGЕ/0002hп I |4AGЕ-FI
LЕ-DLL/2000h,
Io n(с саlllftt oтlIосII'Гс,l '1l{ IJспo.iп-cсN'|llrt1фаiI'lrаi}lli)ксllоР1'lЦylоrциlr oднy ЛлI,l
6oncе ф}'IJкlLllii, Ес.пIr aтрr|6vг Il']AGЕ.F]LЕ DLL устaIIо]r,1с|t, llo эfiспоРтa IIс'll lIс.
lrо.nIlяlj1!1пiiфaiiл ilаlЦIсl{i]:|ьсяllс 6у]tс1'.
Остa.lънькlатpl6утьr нс стo.rr,rIlатir;rьны
rr лoДWiпdоws N.г/9х 6сз6oлезUеIlll()
ЛcРеll{)ФlT ,l1oбь1c alta\сJ11]я' хоT,l' ]|() и]lсс, д(),'lalЬ i)тоl'() ]{о /tоЛ)lolь]' Bз,l].Ь xo,rя
6ы II.1AGЕ .F1LЕ.BYTIS-REVЕRSЕD-L0 п I|4AGЕ- FILЕ.вYтЕS-RЕVЕRSЕD'N]' olII1сЬI aк'lLlIc IIо'
!ядок (]lсдoвall Я 6iLj,i1'r]сJloвс Nio'о{о г"lLуIlЬlii вoпpo(? IQlкоl"|у l6с'ГPак1.1lorlly
сofiояlIl.llо 1lp()цcссoРil fi)()1.всLствvcT o/llюврcNIсtIrraя усталoвIсa o6oих aтpи6y.
1о!? И кaкпL],1сйсгIJl'l,|Дoлn{oll lIРc!|lPl''lUггЬзаГРyзчI'l(' rсJilt усTаl1oв.,сlllirnii IIo.
ря].loк сnqloвaппя баiiтol] 6у,]lсT о г.,Ili чi],lЬс,l l)1.пo/tЛеР)rl|васjvloгo llPоilссс()lюi\'?
oIlсpациоIrtlьrс сис'гемrn 01 ]\4iс|osо[t, I|lIсaIIIlьlс чсРcз l]JlJсстIloc slL,стot l|Poс'|o
.Гo
l ' I l | о р л р у l ) r . э T l i а T Р и 6 y т I ' i 3 ! l I l C t l i l л 1 ) 6 l t о с Г Ь | 0 , I ( ' ( l n N ' о o о T l I o ( t г Г с ЯI l к n , Г p l 1 .
бУту IмАGЕ FILЕ_328l.l xАснlNЕ/0100h' кo1opЬlм llo y]\lоnча|lltlo IlirlРar'lvlalo'Гся l](о
32'рnзр''tllЫс 4rаjinьт ( 1 $paзрЛдl |ьIi'i РJi -_ i)To (]I,IJIЬl,o),I]Iц)()чсiи,бф крaiillсi]
Il)l)i(lФl rlуtll]lе llе IIiltlPа||lilTЬся и i]il]|o,Il]Ul'|.Ь llсе lloJlя lц)авrtльflo.
Bссьма и1lтеРесell d'laл 1}lAGЕ-гILE-DEBUG'STRIPPED/0200h' yказЬIвAr01lulii ll]l oтсут-
ствие o,]!iilдо,lltol,i l,Iп.рoрмaцrlll и зarl РеlIli1]olll] l ii ()'1,.,rадч
l{](aNlPa6o l.ar.Ьс IrсLi Дa)lrе
Toща' когilD с)llа с(:'гь' oT'jaлoчUaя llliфop]\Inцrtя lIРивязаlll к a6сoJ]l(lTнЬl]\1сNle.
ulс]ll'lя]!lj oтсчllTьlвасnlЬ]м oТ п.Lчш a (lrаi'l',Iа'- ц пPll lrlюдРeIIиll в 4)ai,i.Лчужсpo]t.
lloго l.(ца lly'Гсм еl'o рnО llPснi]я o,].лil'loЧllая llljфopМацЙ' IIсрeстaеT сooTllс'1'.
сTвoва,|Ь дсiiствптi)ЛI,Iloс.гr!' a лollе/it]Ii,looТлltдчикo|l с,]'аlroвится кDаii]tс
неa/1еrBaтllьLм, дJя PeulelIиll 1рсl6:leNlьI суlцсствуlo'Г Tрll tlуl.и:
. скoрреr(иpoвать от,lадоЧl]vlо пяфo1rllацllIo (rt0 д'aЯ )тoгo ]tv)l(llо знать еe
фopl'ат)i
. oTрeзa.r], oтЛaдoчIlvlo шI1фoРмаЦIIю .lт фaii.ilа (нo д,.lя это1.o сс н41о пайTli;
кРоllе тol-оl зa I(опцorт 4)aйJаr{о'фт 6ьl,Гьplr(пOJioя(еrI lloсToРoнпrili oвсР1leii);
. усTaj ювиТь фЛаг lt!/.\GЕ_ГI
LE-DЕвUG sГR{PPЕD-IloсJeдЕЛii сn irс.)6 сal{ы;l прoс,|oii,
]Io и самJ'й наliФю]r'Iri, СоoТRеTст8шtlo, Дrя ]roссTaновJleнllя пoPa,ксflньlх
с16ъектов пeo6хoДиlro въпrусить qу'{еPодпьlii lioд xз телa (DаiiJlа и с6росliть
фJaI lflAGЕ-ГILE-DЕвUG sТRiPPЕD. в пPoтипtlом с]lучaс отЛal{чик нс пol.аnreT
l]схol{пьrli кoд отnaхивae]\юго фaii'rа.

иначe nедeтсс6' флаI IмAGЕГiLЕ_RЕL0сS slRIPPЕD'эапPепlaющийпсPrlterЦaтЬ


crаiiл'кoгДaрe.пoкацtlй
нсТ.к0г/.iаnrеонlrёс.Гъ
' 3агРузч1fi{
nюжeTс no,ДIrьINI
oсrlo-
84 глава 5. фopматPЕ.файлoв

пfетoдаNIи, B качсстве rrхo/1]l оt o арl.-vllcIrтапрrrllIl MаIoтvкaзателЬ пa п eРrrnй 6аriт


I,Е.загoловка:
# d е f r n хео p t . . s z ( р ) ( * ( ( ш о R i ] *+] {cDХ 1 д/ * s j z е O f O р | r O n аl rl e а d erг/ ) ) )
+ d e f r п рe 5 e с t i о n т а b l с ( р ) ( ( B Y т E J ) ( х O р t . ! l ( p ) +/0*хsi 8j r e ! f ] i r a с € n " u ' " . * l + г ) )
* d e f r п eр s e с t r о n т а bal е] L ( ! ] { ( в Y т Е * ) ( ( * i ( ] ] l ] 0 l 0 * ) ( ! . + 0 х+704х)7) )8+
* 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 ф ' , | ' '

Инане вeдет се6я (llrar j}4AGЕ.FILЕ


RЕLoсss'rR]PРЕD'
зaпре iаloпUriiперeмrщaт!
фаr1J' коIдa РеЛoкa] Rl]i неТ, кoгда ,I{€ oнri есTь' 3а]]pузчrlli l'о'tет с пolЛtьlмoснo.
oпиЙниеoсновнЬхпoлейPЕ-фaйлa a5
ваtlllrlr на неr.oltololnсTь (1l ве/:{ьклa/]eтl)' Зa,Ieм жe тoгДa этот атpи6y'Г пyя{eтr?
Bедь псpсмсстит! файJt 6е3 Ta6ЛuцьIЛерejиещaeмьIхэЛe]!!eнтoввсe рaвl Io ]тeвo3'
мoжнo.,, ^ вoтэтo сщс кaк сказаr.l,lс'!у)ке6ltЬteсTруIстyРыPЕ.файЛa испoJlьзу-
yю адPссацию' и lloтoмy Лю6ori PЕ.фаii[ oт poя{дсlrиЯ
у]кe lтеPемeщaeм' Bся зaгвoздкa в прoгpaммнoм itoде' aктIlв]lo llспoльзyющем
а6сoлroтнyro;цPссallшlо (л y Taк yж yстроеIiьl сопpемerrныe кolt]тилятoРьI).Teх.
ничес]t]tничс1.oнс сToIlт создать РЕ q)aiiл, Ее соДeр)к:tпi,rйперемещaе tъIхэЛe.
мeнтов Л спoсo6ньlii рa6oта:rьпo лlо6oмy алpeсу (дaвiЬINгДaвпo' irогДa 3емлеli
в.IаЛeлпдl'I{озавРьIи нnк:l]с]1х о пеРацlюяtlьlх с1'Iстемещс ttс сУщеcTвoвaLflo, эTим
'IAкиМ
Nloгпoх!астатьс' llрaмиtlссl.rl ка]l{Дln ii ). oбрfu:loм'вoзl,tикаетrleoДrlозпaч.
нoсть:тo ЛrrпсPсN1errLаeNlЬlх )Ле]\elt].()впет1потoмy чтo фаiiл пoлiIoс'Гъюпeр-.мe.
, I. .e|Л n f l ) п . . Ь |л| c| l ' r l l c t t . а t ь r l l o й
. l r . l r r rГ i х . l p " r ' м у ' r . t l ) J { | l Ь , | , , Л l | о | | | | п Л
файЛ нx 9 ltoсl1сЛучnе ||еJlЬзя.
Пo умonчiutию Ins link вeрсl'll л 6,0 n стaPпJевlleдряeт пeРeNrеI]laeмьIе эЛeмeнтьl
'гonЬl(oв DLL. а rtсtloЛ]lясNьl€ (l)aiiльIсхо,ilятс тtolПеiieрa l leпePeмeпIaеlllьlмиloд.
]lакo зalt'llцЬI!аTt)с,lttа lJ]()llНiь|я. При вiteдРеIJипсо6сTвeIIlloгoкода в чy)Repoд.
rпnI1РЕ.q)аill нсoбхo,lt|]\t0yi(oстoвеP|rт],сяlчтo сЛl lle сoдеP)кит neрeмещаeмЬIх
элеIтсIlтoв,в tlpoтltll]lo]t'(,lyЧ1lсll0зIl ка|1'Гс,te/lyюrIllrепPo6ЛeмЬr:
. llа iп]a8e Ьase и Лoл)кеll бЬlтъ гoтoв к зa.
BaIп кoд llo tioя(o'гзill{.JtijL]lЬil]:l-l.ься
грyзкс Ilo Jl]o6oму n]LPссyi
. ячc0l(, оTllo(}ltllllх(, к t|сpoltсlца1]мЬI]vl
Nlo/t||(]nlкirIпlя эJlсI cllTaм| oбьlчlIo зa.
ка|ltlJlвaстсЯкрахoM lll)0t.pаii1NtЬl, lloсI(оJlЬl{уoIIll авТoNlаTиЧ0сl(ll(!ю|1DaвЛя.
l()-|.ся>сllс,j.tMIlЬl]\{ зaгру3чиl(ом.

/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 ),

IIlt,lAGЕ-oPтIoNAL_нЕADERl вAsEoFсoDЕ/ вAsЕoFDAтA


oтпосиr.c.lrlные 6азoвьtе a/{pссa Iroлoвoй секциrI 1{секI]lII1дaнIrЬ]х' Hl{кen1нc
прoвеPяtотсЯ lr всяlfl]!l компoнoвlIIпкoм зaxoлняIоTся lIo.свoeмv. ДJlя !осстa.
lIoв.цсниядyпrевlloго Pавнoвесrтяoбa llojlЯ lto)кпo сьtе;roс6росить в нoль' oтда-
вarl дань дpeвпrtI{6уддиliскпм,Гpall'1циЯNI.

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Е.файЛов

. seсtion Alignment ДoJ,rtlo 6ъI,].Ь6о'!ьrлe ]lnll Pдлнo 1000h 6a}iT;


. Fi l e Al j gnпеnt до'rяtно 6ь'Tь 6ojlъ l -Aиll1 pавIro 200h 6аfIт;
o seсtion A]jgnmeпt до'r)кll0 6ьlтЬ 6()-rьше иЛ,l Рaв o Fj]e А]ignllrent, Если х.)тя
бьI oднo Irз )тrtх yс"!onliii llе сo6,.ii0Дrс1ся,
фailл |le 6Удет заrpужеIl'
в WilldolvsNT сущсствvст llецокYi\!eптl|Poванrtая вoзllo}кlll]стЬ oтI{лloчеilия
вьlрaвI Ll]ваrnrя l oс |n]ва1]наяпa To]irl чтo загpузк], пPlJкJaдньiх IrсI]оJ1I1яспtьш
фai'i.
'rloв/динамическr1х 6и6.!liL)теl{ ll с}]стrrп]]nх дРa}irrсl)otso6ра6aтЬIвaст oдиlr 1' ,1.oт

Ес,1l1 sесti оn A] i gnment: Fj ] e A] i Фпent, т0 lloследllес ]!jo)кет пP и ltиi{aть лro6oe


зIia]lo]l,tс| пPlrдсTilв'llяIoIIlrс с()бoii стrпellь двоiiкII (Iraupuпlер. 20h), Ус,1oRп}ся
rl lL'lвn'гь такпс фаij]rьl Ilсвr'lрirв]loпllьllvll,t. хoтя это-| l.сPnI]lil lle rrlloJ]]iе rropРшс.
Tell l .l1vчllleгo Jюка нс пpr|l(\]]!lаnII,
к llсяьIPоr]rlс,lI'Iьlм фаiiлаrv nl)сllъяn.пяе1с'l сJrcду lоIllеc .цoстаточ llo )ксстliое'Ц)e.
бO1rlIlllсiв'lртyaj|I,tll'lc lr фlrзltЧс(lкllс aдp."са вссх секцпii o6ЯзaпЬI (t)вlliдaтЬ''го
ссть с lPа|llttliп'Ii иito '1,{ ]1о.пЛ((',', llo'1iloс1.Ьl()с()oтвстстпoва,].ь свoе]\lv дискoвo]\lv
o6Раjу. I]UРoчc}i,||икаl(x. пpiвrlrlo llс 06ходIlтсlr 6сз llск.rrtlvcrlllii'ir вrrpтуаlr,.
llЬ1ii Pll3]V'(]l)ссrtцliii i!1(Dк(l tiьrrь rlelrЬlll(: l{х (lЛll}ичс|коГ()
PaJircрn' пo lrс 6о,цr:с
Чсl\l seсti on A] i gnment - 1 бaflт (ftl 0.'г|, (сIullrя lx.(l Равll o 6y/(01 lJl,Цo в 1lеl|а ]] па.
м я ' Г ] l ) ' с ^ l ю с } t j f I 0 P ( \ j l r ( Dд: i l l l l I O 0 п J l l l | l ' l j j 0l ) c к v P с l . | Л ) i ol ,! л a ) { с ( l l ) L Ц ] tl t с к J l n ) ' к ) -
] ] и i i l t с ' Г l ) с ч i | ) ( ) ] . с я l | ( . r r n | ! ) . l (, -l lс|с, Л
' l ( ) 1 1 i i I t Ч c с I ( tpl iаi 3 n r о Рl l o с ' Ц е / U l e iсi с к I ( ' , J ' 'Ij Ь l -
,]IcTjlсГ 3ll lll)сllсJlы lrlГРvnilсмor.o (])llii.]Jr,olтcРnJL,IOlIliltя сl|с'гr]мil lJl)l6l)асЬtDac]'
r о J | у 6 ( ) i i ) i ( j ) i ] lсl [ Ч ) l I l l i . l l ( ) г r ] 6 i ( r . ( l l o l ] ( , l к o ^ 1 ( ' , u у Ч t $l l 'l2' k s l ) : J8 с д t ] Tс 0 6 Я l r ^ 1 с | | -
' ' ' ' ' r , ) , ] t ' ' , . l ' J \ ' l , ' ' ' : l , L l | l l t I l | . ,l ,l )l o Р i l\, 1 , т п ' | , , | , l т |j с .
l)yю lсяj l1 /liln(! сill1аn IЛlч,гo)oI2|,I,цll!]Iloс|ь ]Vl('ксT !с1.рoи1ь гРalu{!ro3lIЬIii Dos'
r}lаii,'1|,llIl)I1Л;rгll(угся,
,/iспtotttlt.р:rrцrrirrrrьrо
U l | с P a ] l l o п | п , r | с l { . Т l ' \ 1 r ,.'с I j e i ] с T я l W i п d ( ) v s 9 х u о с r r r r r l 6 r r ь Iо 6 p a 6 a т ь r r и r , ; л
' с.
nьц)оIllrclIIIЬI(1q]:rl|"']ыlr с BозlJvlцL]Il]Jсм ol]lal]Ь|вiLlo1.ll]\JB laГРY3l{l]t вЬIплeвы|Jil'l
цс,пьlх ]1l]ilдllilJ.Ioг()I]ЬIхor{ln. B||роч(]iv' о6"1nс'Гьрllllrrрoстраlrеrrrrя Wirrdоlvs 9х lrс.
yклrlt rrro сокpапlаt''l.ся' 6у/{Yпlее l lРиrlnдЛехп,I NТ.

,'Iля сoздlrнпя llсl]!lрoI]rIсllltь]х (рlriirou rlo)кllO в(Jс|1oЛЬз.)l]аTъсллl'lIIl(еPo]!l oт


Nli(rosoli' ]a,1aв сilv к.IкrII /АLIGN:з2 сoвмeс'Гнo с ItЛ]о'юIl /DRIvЕR, Бсз кЛючa
/DR]VЕR кJ!кЛI /ALIGN 6ytсT llpollгntlрllрoваIl, 11JIIJlllrlrРrlсIrоtrrЬзуeткpaтность вьl-
paв]r]inаlolяllo уlloлчaIllll0,
IlрtI;uсрlr пlаrr1юсol для вЬЧrавIlIiDitll]]Я с oкРyirtснUtll <rrнJв' x <вRеРх':
+ . е T i n a] 5 2 р O ! е г ( х ) ( (х 3 {! ,,,,
+ c е f ] n "AAL l G ND (r i' .(d] !l 1,]
i !!N(х, al|9п)
((t & (аlr5п 1))?AL]GN
+ d e f ] n eA L L C N] ] р 1 l i t l r ! n ) D0l'1N{i'аl]qn)+а]]gn]х)

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{я

1, sizе0f}leаdeгs,ц0JlxФ] 6Ь]'rь вЬl6pан таIi. что6ьl З.lгP}'з'


чlJк сч1lтrЛ ]lсс| ч1'()сIl} l]t)()6ходlIпlо IIPочllтal.L,
2. oн !rс lro)(ет прrBьrrпатЬ RvA перIloii (jcltJUlи (в llpо.
].ивнoI1 сJ]yчас liaкая.тo частЬ сeli]ll!lt оказl]-'li|сl, il,l
спpoеIIlЦ()unпlloii lta о6Llatltl, LtlLьtrtlll, llp1lttirц.lJсn{tL-
lJlую зaг()ioIrкуj a JTo lItlltottуtlr.;rмo, и6r' lllr lr:r rtltJ{vxl(.тРаllIlц] ()lii'1а lIс Nlo.
жeг oruб1;iшrа,trl'я 6оlr]с о,lrltсllО ссllT()Рil oЛl1oUPпl€ | |||()),

О 6 ь i . п ю s i z е 0 f н e а d e г s у ( . ' | а I l а I l j | l t в i l с т ( яl l i l к o t l с ц s e с t j o n т а b ] е ' o , ' L I l ; l к o) T o l l с


с a [ l o r Л y t l l l ] е c P е l I l € l I I l с l , с y Л l l Г с с i l M и . с ( ) U о l ( у l l I l l , I i i| ) x ] I I l ] Рl r с с х l а П ) " 1 о в ] ( Л ll I P | |
с T i l l r д l t р т l l o й М s . I ) o s . * L I ! J v l l l | ( с ( ( ) с l i l l ] J | я o | . - : ] ( ) 0 h6 t l i i I I I i j l l l l a ' i с l \ , o I | с 0T o г l ) '
l t T o l } р с п | як x l ( ( ) и з l , | i | с ( l { и i !i r д Р с ( l ] o l r П о i iс с | { t i l i ] | ( ' r 4 ( ) 0 h 6 а i h l r ] r l ' r l l | сO . To.
l l l ] l , l I l y ] Ьс с ] ( I l l l l o I l i l i ] a Дl l с Л l , : l , ] . . , l Ь l l ) l l ] l I I | . | l t l l I l l l ( 'llю
] (l } l l u n я c , Г( ( n l , < J . . i | с ^ l ] g ] l -
п l c n L / s e с t i о l r A l i 8 l r l l r o n L ' ) , r I р i l п l l а ' с с r l l 1 в l , l l l ! 1 1 ,D O s . i ] r г i l \ ' п ] l i v , м o } к | k ) v ' { i l 1 . i ,
s i z е 0 f н e а d e г s л o 2 0 0 h б l ] i i Т ,а к l r у P . l ' | | | 0 р ( ! ll l t l . l l l . , l o rлv с ' p ] ] о i iс r l ( l | | l ] ' j l ( ) ) l . o v ) { r ]
l'|звра1, Itoloчt] l'oвoPя' сс'lll.|с,llo/lo1jaI, Pск(|llсIl]tr]lllnNl oT МiсП)s()li, . t00Ь 6tlii|
мьт пеиjlбФ|rIlo 1.сPrroi!{ltlIo rto ость \()рolllo' }Jот ]]t]J((n!PЬlo .'rIl l|ксPЬI п Рaзм.
ш:u.]т llilесь ].aбл цу r|мelll сo,,rlPx(tttlivlo llL'РсЧctlь :lnr.р'1,it]е(!t Ь]х D[,L IlЛи чT()-
r . o т r t п a ' г o г o , I l o э Т { l м у . l т r l 6 ы l I r : r r l p o r L r l lпr с r r : r р l l x т | , с ,l l l r i r ) D а р l i J ' l iк] o н ф , u l 1 к l ,
j l y ч l l I . l J с с l . ( )ш o д 1 ' ] I у r l s i z e 0 f H e а d e г s L l m i n ( p I i . s t s e с t i o r . > R a w o f f s e t '
pFiгstseсtion.>vа).
ЕIeкотоpьtе t rехopoшио ЛPorPaм мьl ( в l! Pусl 'l' уЛll кЛnl llпl,I, дам l lt.pLi ) -vсTaнaвЛи-
naIот sjzeOfнeаdeгrl?lrа19offset первoii сеitцl,lIt',lтопeпlаnи,rrьI]()' Mo1iдy l{oнЦor{
RсехзaгoЛoвкoв и фиэilчосItlrм lraчаЛorl IIерltoiiсекltllи r!]orriсr.6r'Ггь pасlюЛo)кс.
tlo,1Iо6оetrрaTxotjFjle A] iqnlпentкoJuчсство 6аii].' пxnР].l!lt]Р1 1.6аiiT,и эTo llP],I
Tolli| чl'0 вr]PТуаЛьIlЬlii адрес пePBоli сeкцlrli 1000h,как Tакoс llon.ет 6ьlть?
A oчl:ньпрoстo size0fl]eаdeгs<=l000h'rl ()стаToкнаltloго г1lга6аjiтit}leчптаeTсJl
r] нe проецирyе,tся в llа]!1J1'г')
IIоэтоIly ]rIп{ar.IrхкоlIф-rlиI0()grt 11сnoзникас1, Что
Nlо)кeт6ыT' в эTorl Ilm6ail.гс? ну' папplll{Ф' rnTl)nlil()r.Pnс]i, I]t|'],1P.lrньnlnrNI
же виPyсoNI (lr тaкI]е Ilирусъl yжё eсТЬ),

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йвером'

02h I||AGE_slJвsYsтЕl{.liINDOt,ls.GUI _ грil()ll.Ic(кll' Will:J2.l|('(:исTeNlа.OпоPllци.


o]Illnя сис1.с]\lilзаГру'(llсT (|)aii']I l]OiNIilrlL,IUnN! oбPaзоill, Ilу il /l.L'1ЬlIl.4)Jlnl.сi{у
I ]P у ( l ] ' l l l l у с т l | в С c 'Ч 1 ' (C) N I y
| | y ) к ] l (д о 6 Ь I I l а сстi l l \ i i
) ,
0зh tl.tAcE-sL]вsYstЕl]-!,l1NDOl,Js-Сl]I _ lсI)мlrIlаJ|ьlllи (ollа жс lroIlсoJ|Ьllaя)$,in32'
'го
llоlLси(Tеl\lil' )(с olnюс' ч11)|| ]|4АGE-sUвsYstE}.l шINDolls'Gt]I'l|{)в эTor!'сJrучaс
q]aii,ltу lIд х'Lпяву ДосТlс1.с' aвг(lN{iL'l.иtlосlol соз!li]l]аollliUI lсoIlсoЛь с гo-LовЬlIlll
iIеск])пптoPаllx1tsвolLa/|rыlx'1a. вoо6щс rоnoPя, рili!]l Ilir ]\1фIqiу ILоllсo"'lьllЬINiп
и гPафrlчoскимll |Ц)lrЛ0'(епllяl'll' 0ч011ь ус]lоl]]|.l: шnlсоЛъпьIс jlpllJ]oя(Jtrlя iill]'
ll Гpnd'llleсlo1eпPrL!oжlrl1llя' oTI{pЬt.
ryт вЬIзьшaТьG U l з2lU s Е It32 q)vнl{цl1r1'
ватЬ oдtlу Il'llll IIсск('|ьllo кoIlсoЛсii (llаlIPиIlсРl Ir оTJIа/I.Лппnх цс.n'Iх);

п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з

0зh Il.lAGЕDIRЕсТ0RY-ЕNТRY-ЕхсЕPтI0N ] Yкa3ывac,|lla еxсeрtjоn diгесtoгу (Ди-


РеItтoplllo искЛloчеllий ), o6ьIчt1оpазNIепlaeiyn]в секциIl.pdatа ()roтяэто и lle
o6язатeльIto). Испoльзус,гся толькo llx с"rlеДуlolцliхаpхитerrтypaхl МIPS'
|t|pЬaЗ2/64' ARlvl' PLlwегPC' Sн3' sн, Willdowsс!. I( мlкPoпpoцeссoРnill
с€ п {еiiствa Intе] эr'o нс oтнoсптся. п IХЗli6'загpузчIrк иrlloPирyе,г эTo 1lo'Цс,
Лo)тoNlу oнo мo,кет пpинI'l]\{атъ любoe 3]]aчсl1ие,
04h II4AGE-DIREстORY ЕNтRYSЕсURIтY- указьIвает нa mа6'tlлщ сepmuфutсалtoв
(ссгtifiсate TaЬle)' plсnоJla1.aюЦYloсЯстPoIo в секцllu ,debugи aдpесуeNryl{)
не пo RvA-aдpeсaN'' a ao iDuзичrскиlJ с\lеlII€ l пlяNl вltуTpп фaiilа (так пРollс'
хoдltт пoтlr]\ry|чтo Tа6лUцасср,|Ilфll lraТolrrlе грузrrr.сяв пaпrятъп о6lrтaеr.лс.
кЛloчllтсJrьrlorrадиске). Ес,Ull ]I4AGЕ-DIRЕст0RY ЕNiRY SЕсURIтY I- 0'tl]lв Ir()e\l
сЛучас нс пьIтаriтесь вllедря1ь в lDп]iJIпостoрФппlij (olt' IIнaче ol{ отl(а'{е'Г

05h III1АGE.DIRЕсT0RY-ЕNтRY.вASЕRЕL0с - ol1 ,fiс iijruPl исIl0Л,зуст RVA.а]lрeсa


(сNl' ttiulcс Рllзl1с! <ПеPсм€ п lаeI!ьIc'xсNlulты'),
06h Il.lAGЕDlRЕст0RY-ENТRY-DЕвIJG. о'|:J1а](оЧl1|l,l r1I1фоPlllulи'' l1сllo.!ьз\'сilа,l
лп3ассei!16Лcра]!1lt li /lс6aггeрaN{]l'l,l(lli)'1ьJ\,c,!RVA- ]tAW Ol,.гsЕT.:Цре'
сaцпIo. си(1смвьIй заl.РY3ч,lксс |]Гllopl,lPyс1'
07h I},1AGE.DIRЕст0RY-Еi,I]RY-ARс|]IтEстURЕ _ ollo ){е i(|csсгil)tioп'. l{l] 1386.lt"'Jaт.
(хРNlс, сyдя Ilo Bссму' nрс'l пiljl lnчп l /lЛя хDillIс}ulnJl Ilil)oPl"lа |ltlи o к0l11]pniilах
(tla этo' 3 Чaст|loсТи,Укiвьlllilе I.oIIP()к]Jlo |]ио iIIАGЕ-DIREст0RY'ЕNтRY'с0PYRIGнТ,
дltl!Iloc B WINNтH)' фoPllllpo]]:Lll!1сI()г()Рnх oТllсчаетRrII()'l-0' nоpсдal{llьUli
Бal]iа"'lс(o]tjу Лl|l l lrсpу i|iп]kз2'eхe, l I]),l )'lоrЧ D II.iАGЕ-DIRЕсTORY.ЕNTRY-АRс|] IтEсТURE
пoмcrцаeт'сяlivA.указаl.cЛъ лa с'гl)oкукоNlмсlI1.llptlс]]' ll0 уN|oЛчallllюPilсlloЛi]-
гаIoпIylосяB сflntии -teхt' I(oмaolюlllI0rl( l]rsijлk llрlt Iltx()'г()PЬlх /lо кoltцa He
RьIясllclтI!]nхoбсt.oяТсJtьи.вaхпo]\1сllLа.l'вэ,Iо lIоJlс пl|(l)оP]!lацик) 06 аPхlITe(.
Tyре' oд]laкo сlrсTемltЬliiзаl.Pyзч]Jl(ee lIllкo|]Latto испoлЬi]yt!Г,
08h IIiAGЕ-DIRЕстORY-ENтRY GLOBАLP'IR - vкaJlтс,пl, rla Ti6n11цу
Рt]l.llсГpoв гЛo-
6aлъltьIх указaтслеil. lIсlloль:rустс;I ТoJIькo Ila np()цсссoРах ALРНA
п PоlveIPс. t]a Iз86.ll,1iтфoрve :)тo ]l0,по-l]]Il]Iснoсi!l!|сJta'u загрузчIIк еl.о
IlгпoР]1Рyет.
o a h l н A G Е . D I R t с I 0 R Y - Е \ тгR|Y s { l ' J | , ' | , I l l , U. ,. , , 1 r u " , ' \ a i л ' ' ^ ' l , l , " ю nu L \ l h n u
Лo,лo?.Z/ (Thгoad Loса] slогa8r)' TI-s.ruехаlIllзI{о6еспe'rrrвacт<пpoзpанпую>
ра6oтус гxo6а.]1ь]lьlllиllсPсмeнньllfil в nnl()l.()rlorочrlьlx сinj,ilш 6сз рxска, ч'Гсl
пepеN{eппaя! сallыii I]слoI1ходяп{]Jii мо11с}lт6yЛет [loдl lфrlцrrPс'ванaДPyгпNl
пoтoltoп{-сюдa пoпaдatоr ltсремcнньIо,o6ъяв'll"A]lllЬlo Iiак deс]sрeс(thгeаd)'
п o | | P | | ч | | н e 6 n , | ь | U . ' l i | | 1| lи| в| ч
o \. |, | | , , к l l i , , t | |l ',ili, : . | n п P . ] | ' ' , | | | p c , | . | | | J а L l i l I
(oдlrп rпаI в с,|oРo1]у* t{ oпePацltоllпirя сис1сllа сTреляе| 6ез llPсдvrIPe'{Де.
rIпя) rIспoJt'зyсTся крaliпe peдкl:),к Т.)r{v]liс Windl}ws NТ Il Wi]1do$'s gх o6.
ра6атЬlваютэтo пone с]lлъllo rlеoдtlнalroвo'хpaппlltrцс o6ьгrнo paзrterлaeтсrr
в сel(циlr 't|slxoтя этo IJ нe о6я]aTс'lьнo, I{сiroлByeт RVA' ll vA 41ресn'
10h IмAGE-DIRЕст0RY ЕNTRYLOAD_сONFIG сoдеp)кllт ltlфoPмaцIJlo о кoпфигУ.
Paцпи шtoбаЛьнЬiх флагoв, rтeo6ходимlr1хдля порlrыrьнoй pа6oтъl пpоrрalr.
]\'ьI,имеeт смьlс'll тoлъко в Wnrdо$,:JNТи пPоизвo/.Ulьlхoт IrеосIiстеr'Jaх.э'Го
94 rлава 5. фоPматPЕ.файлoв

пoЛе rlрaкl]lчсс]tlт нlIкеп lle исI1(),1ЬзvотсЯ, нo есЛll tsoзнIx{нетжeлaние yз-


l{аТьo нсNI 6oлЪrlrе сN!.lЦ]oToTи'lстpуктvpьI IIIAGЕ-LOAD-CONFIG D]RЕсТ0RY32
r WINNIh' а таrLrкееe oлJrсatlис в Plаtfогm sDK, Зa oписaнпеrl с:iмпх ф'lraгoв
oбPащal)тrсь к утп".lllтеgfаgs'eхe' входяDlеIi в состаr RеsoLlгсекit rl NTDDK,
иflфopма1tlrя о кoiIll)I.ll.уPaЦllиIlслo,!ЬзyетVA-:tilРссaцпIo (тoчIlee' пoка сщс
l1с испoЛьзyет' Ilo рeJеI)в0руt]тэту вoзмoлоloс1.Ь|ll6}ЦyЦe€ ) ,
llh II4AGЕ-DIRЕСтORY ЕNIRYBOUND_I|4РORт vказaтe'lь tlа тa6лиц1.дr]aпai](Л]Ilo1.o
ипllroPта' IIм€ I oIlo4o пplloPnl.ст LIадI AGЕ DIRЕсТ0RY_ЕNтRY-II.]Р0RТ l] o6Ра6aTы-
васlllуюзагPvзчl.Iкоi\I Il леpвYl()oчсpсдь(зa.laстуloдo II{AGE.OIRЕCIORY ЕlfliY-I Р0Rт
дсJlo воo6III€ rlе дoх()Лlt't.)'Ilo JстoяsпrL'iiся ТРalllцl,lll та6л,ща l1l'lаliазoннo.о
l li!1rioPтаРазlfеlцaeгОI r PЕ-зilго.'iorlкr' хогя i)1.0u нообязaтe".rьпot'tнскотoрьlе
Линкeрьl вeлу,t'(!6я иrrачс,исЛo.nь3уelся llVA.ll RRAW OlrlrsЕт.aдPeсa(пя
(пoдPo6Iiеe сlI. nl!|сс РаJДсJI<иlIпoi)т').
12h IмAGЕ.DIRЕсTORY ЕNТRYIАT vfiaзате]lЬ l|а lAT (шoд.тлrrеrпraясrpуктуpa
.La6Jlпцыпlt!пo1lга)'I,I(jIrо'|||,зусТсЯ
загPrчirr(l)Nl \Yindоws хP' oстаJlьl|Ьlсol]o.
Рац11ol1tlЬIссlIсl'о]ifьI ]то |lоnCl Ilt).l],I]tll]\Io]\Iy'
l l гIlol) LlPy]o l. (пoдpo6Ilее сN|.Pа3.
л€JI <|4s1lюр,|'),
1зh I|4AGЕ.DIRЕстORYЕNГRY-DELАY.I|,lРoRT vliаtа,гс.lll, tra тa6;rицу (),l.]]o)l(e!lпoго
n I l п o Р т а ' l к ] | l o , l I l ) i ] у x ) | ц (R, V i i , V \ r ^ - а д l ) с с r | ( l l l о ' t t o ( ) a к 1 ] l . ] с с к 1 lo с T i l l o U l с й с я
t l c с l . a п / I a р Т и r l o | } a ] i I t (l |) iоi r д l t 1 t l I o i iI i l L( ) ] r { y J вI o j l 0 ] . ( ) ' l ( Р с - l . l j ь ]l х) с a Л U : ] a 1 o р о в
( l l о Д р o б l l е с ( r ] ' | ) a з ] L с ,зrИi . \ l l l o р | ' ) ,
14h ] I4AGЕ.0IRЕст0RY..ЕNTRY-С0],,I-DESсRI PтoR _ ссJ o |кj Р|]в ||()l.ly.,I кj' To ()аi.irl ]l Po/l
с r a l l l л с t с < l б о i j' N l ] ' L л l ) | , J l o ) ( o l I J I . 'с o с T o ' n l l c l l ] l 6 а i i T ' к о ] t д , п о ) 1 . о N | v] | o I l Ь Г Г .
к а в r l с l u ] с I I п яв l I o Г о х 8 ( j . к o д i l ] | l l ч 0 г ( )х o ! ( ) | l l ( ] , ( l)] 0 I l P ' l , l c с c т .

т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

сскцrrя },прaвляeTся(сt]осii) заrurсЪIoв o,цlIol]i\lснJio11


К;r,чtдаrr стpуктуРе lLанньIx'
11.J|
яlJJсi]x\1я пa6nuцЬl сeщul', Tа6Jlица секIIпii ]lачl{lrастсясразу )кс зa кoнцoll
oltЦиoнa]Iьнoго загoЛoвкаj рaзмcP которогo ()Дсp,liится в I]оЛesizeof0ptionа].
Heаder,II JтPeдстaв"!яeтi!6oii llaсспв стpуIil.уР I|4AGЕ-sЕст]0N нЕADЕR'
lrо'rlrчeств.r
задaстся пoлем NUrтbег0f seсtion.
I r o р ' Л о r , i P , , U ' I i i N o ; '6, r , , ' ' i ь r т , r r lJ|Р)з',lко'l|||\|||!j'гwdа,
пoj1та].ylo]toсЛедoватеJiьlloс'Гь] с1laчi ]a iIдст кoдов,я сеxцrи| за liеr:iсЛеllуст oДIra
oписание х пoлeйPЕ.файла
oсtroвнЬ 95

и"1rl }IeскoлЪкo се]tций lrницlalrизирoваI]}lьlх ilаll]lь1х, и зallr'l(aeT стpoкy сеl(


| | | | я| | р / н | | ц | | i' rь,| | P o в d ' - | \ Д d d i t ' | х ,
сoстoи,I ]1зсЛeдyкЛцих поЛей ("цl{сTипг5'1).
CтрyктyPа IiiAGЕ-sЕстI0N-нЕдDЕR

сг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|еr soпе I|)iпЙzе dеbug|i|,lgI fa nd thаt thе паnLeof thе sесt,ia|1sDoEs


nlattеr:(.rsrc is usеd |1цolеаu|32,dI (TYPЕLIBS)) and bесаusеof this lаmе dlI'
thе fеsoulсе stu.|fnшst Ье thе fiБt in thе 1rd sесtian thе аuthoт a.f this dll
sее?nsto betaoidiatюusе the dLt|1difесtо1iеs ' '. M$ sцx1с
1еllеf| ,,,е|е|1\oоlsе:
ехphder,еse in Niсе1)v аlso d,эpепdsan this ta la|:аtx|ersio|1iф,
,\uзaссе'u6лupoванurпodmвеpэdаem,umo6u6lLuo|neКа olеаutЗ2,d]li)ейсmвu-
пeльнo сodеpэttumвнg||tpuсе6a пе].сmoвgюс?пpaК!<,rsfс' u аEmuвнoее uс-
nofuз!еm,Дa.маnoлu нa свеmеuluomaв,npuвяlывающIьtся 1{uЛенФ|сеtt.
цun? Ilaэпo,w 6ез осa6oi ||!эюаъlш||енасеt|l4l,|iчцэ\rczофо,iL1о]lцчu|ене
96 rлава 5' фoрматPE файлов

ПoЛя ViгtuаlAddress u PointerтоRа[Oаtа соlepжaт R\rA адрес нач.Ulа сljкцJ{l,Iв пa


мяLll и еe сlterЦс rlс oтlк,сllтеЛъtlo I1ачаlа 4)аiinа сoо'ГвеTсТвенно BllPTуiLlЬlIъIii
x фltзическиiI.lдPсса дoЛжепьI6ьiть вьЛ]oвltсtlьJ Jlа nеnпчпIrу seсtion Alignmеnt/
г ' e A | i o . r n e . I п, P o , 4 . l j , l у | о .п:r , ]t,'' }| o||г]'-, ' 'ып
(
адpес ltервоii сеIrцЛ11до-ц'кеlr .Л'тъ Paвен AL]GN-UР si zФfнeаdeгs ' seсtionAlignm€ n t),
в пPo,l,j1вllol] сЛУчас фаi]r| rle Зarpyз]1тс'l, Фllзичeскll]"l адPeс ссrrцlll1 ilo)кeT 6ъIть
,]
'цю6ь]IJ' дoстатoчнo ToЛI,кo' что6ш oн 6ы.rl вьшon]iен lla веnxЧшlу Fj € A] i gппеnt,
Ilonя vjгtuаlsize и sizeofRаwDаtа сojlсp,{аT BпРTу ь}Iую ll фrЕI1чесrqlо ]rJrIrЦ,
сскцl]l.l сooтвeтсТвсн]l()' Boт тyт'тo ll flaчrjlrае,Гся сaп'oe ll}lтсPсснoсl Ефп] впр'
туа"1ьrtЬIii PазNIеP 60ЛЬшс (l)li3пчесlto.o' Тo ]tP1Lilаl.рузl(е сеInltIrl в Ilаll'l,Л, ee хвoст
зaлonl1яе1.ся пуляIlIrI lrPll эToIJ ]laлrtчIlс атPлб\,1'а llll,ljt]'а'!lIзrryoваннlllх/tlсllIJII
lпJaлrlзupoваjl]lьlх /(апIrых совсРx|сlrrlo lle о6яз:rrсЛьlL()' Есrlli (],п]Irчeскllii раJ-
l{eр 60.11ьшс вjlр-LуaЛьпoгol 1.(r.,'сдl.|||сTD[,пlioс' чТo i\lOn(ln) скаJать с уl]сpсltl](г
стьIo' тtLкоii (laйл 6vдсг rloРлrа;rьлrl загру'flсll в llilllяl.Ь. I{nit? l\ вo.| :)1! v)iс
зaвrlсl'r o,| рсl'(llзаlIll ] lIач|lсM с того' чтo It\'jк]вoii llIц'Гуli.'JьпЬII:lPilзi!Ч) ||Рсд
п!lсыrrасТ зaГРу|rчrIrry o'Г1il.Цк lJ]]aт],сяoт (blIзl]l с(]r(Л.o Рaзl1€ P а ссI{ц]Iи' ]lP0Лlr;(Irи.
тсЛЬ1lo oI(PугJlп]] {'r.o llil вс"1ичjпly seсtiоn A]jgnпeлt lI irа||o.IiIj]'в\rr(х'] ll]l,Iяl\UI'
в с o l l p o r v c ) I { у т o ч l t Ь l .( о с T о я I i Л , l l с ( ) | l Р ф r c . l | с | l I l ы ' з а г P y з ч | l к N | o ) { ( ' 1 . с . l и , г i l т ь i
a ) P o B I l о V j г t u a l s i z е 6 а i i Г i 6 ) A L 1 G NU Р ( v i r t u a . ]s i z e ' F i ] € A ] i g n п е n t ) б l L i i ' | ;
в ) А L I G N - U P ( V i г t u аs]i z e ' P h y s S e с t o г s i 2 e ) 6 a i 1 T ,[ ] 0 0 6 l щ - r ( )i r с с l ] ] r ' | I к ткьрI о N | i . j
I r e р в o к l_ г р у 6 r , r со r r l r r б J {Рлс а - ц l l з a l 1 l lпl Io, l I , ' ,с \ , p o в l r яp с a r r ь r l o с ' r6.ььr ш t яв l t о r l г с
|
y к л х с l l ' Г y а l ( | I'iцi у Ч l l l 0L ] с 0 l r )
0 T с i ! 1l lк ) : ) t o ] \ 1 a l l ] 6 с г а , |qЬ)' l l 3 | l ' r 0 с к U il i) i l 3 I I с Pц o Л .
}ксп6Ьl,l.ьllьЦx)IriIeIIIlАl]o,l||lIl||||уF,j]eA]iqnflent'ПьlраlJlIl||IаI,|,Пlr])'l,у:l,lЬliЬ
Nlер ll0 06язi11.с'iIьlю (jlгPуlЧиli IrЫD^lJI]ltl]il1]T C|o а|r1o\1rl'||ltIL'(кll).()Lllllк() ll ')1.о
: ц l а в t t : r оl l с о 6 х o ] l п ' г с л 6 0 ] ] j | с l { Л k ) l l e I l | | i i
o ]
с j l и l | ) | | i r ' l . l с ( ] о | iрi д i l I ! | o PN l 0 | l Ь | r I |сl J l l I
р a l l е l I в u Р т ] v t t Л Ь r l o l l y ,T o l l 0 Г o l ] ы Р n l ] I l R a т Ь l l с ( ) 6 ' з i t | с . ] ] Ь | l ( )I 'L P i l l ] д i l с' N l ы с n a
в этоNt ll(l{||()Гo' llоско,]]Ьl.a-|lil'Itl"lo сJlсдуl()|]к,ii(1]lllLlпt П 4):lii'llo ||о..rrr()6()\lvll(),rll(.
j '
н о , r r r 'r . . '1 ' " п " ' t t . t t ' u , 1 | | |
. | | | v
I l . е A . . g .

tsllpTуa'lЬ]ll,lii ад])cс сJсл}Iоtllсi.i (|cloU!Il 116'зllтсЛ|,iIo /lоЛлiсIl 6ы|ь PllnсLr nпpту


'4' '. ' 1 | | | l L , | |, l ' t | , ' l l | , l l I
i.Il.]lnl|\,,,Ц{') |||,l1'IJ-!,It.||l,],||l,', |,,,\|'1',,t'||ll|
ilyseсt1onAlignment'сeкцl!11llсi!1()ГуTlIlJпсPп{РЬlваI|'(|,|'||llо5рlзовЬlвil1.ЬRlц)
'rакl lх ol
1уaЛьlпnе дьipЬl, ]lll4Лlзпчсскuс ll!Цrсса сеrnlli ii рiIlLll(Iеlпll.i lrс l1ill(J,кеl|()'
и oнп II()IуT 6ьiть РазбPoсxIlь] по ll]aiinу в )кrJвоппсrюм 60сllopЯдкe, BlIPoчсII]
, | , | ' ' ' ,' , | | . ,' , ! ' ь i , ' , l
t n - e , , r ь г я 1 . I ( ' 1 ' с' r ' в , r | | ' \' l , | | | , J г ' , , | l,"|,.]1
, ,п
I l l ! : r l | | l l а \ ' , ' , , !| l | . , : , , к ' | ' l . i i ' P " i Г ! ' ' , ( ' | ' ' | | д | | . | l | , | J I ' . ' | |

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.

,rlвr ц|)уГllх |l || к]I)с()lьtх аTРll6v,r.а_ э,гoI AGЕ-SсNПЕ -DISсARDAвLЕ/2000000 h ( |l(х|jlс


.]rIPv3|l||(,lii,1Irс0lLlL Я пк)liсг6l,|1llY||ич,lо'ксIlill] ||aNя,гl|) IмАGЕsсN.|']Е|4-sндRЕD/
L 0 0 0 0 0 0 0( h
( ! { | 0 r ' i , l П n Я 0 i с ,с o в I ! с с Т l ] Iоr c l l o Л Ь i r Y с r ] ( ) l i ) '
,\'ГPl!6! г IмAGЕ'sсN-!Ем-DIsСАRDABLЕ o6ьI,llIolIl)|l(llilllllас1с,lсск|Lll']\tjс('lс|'|{itIцrlN|
I l ( | l ( ) N l ( ) ] , i ) Т ! , Л(|r'.|l|)|!tl l ,сг у 1 )ЛЬ, Iu I I l Ь ](хT а к l I oк l l r <r'r a r r Р и l r o P r' ,rr6 л r r r trIrrо P o ь r о r r t а с .
i 1 ь i х ) j l с N l с | г П ) н ) ' r l с ( ) 6 х . ' l ] l N l ь | ( . . ] l I l L l | Ьr l a э 1 ' а l | с з 1 l Г P \ r 3 к l l ( ) а i i n а r t в l I o с ц с д ( l 1 ] ] ] '
Iluxш] ]tс ltсllOЛЬ]]усNlь|c, ^ l):lil l il]. _ зaчеN{ oIlи 6улyт )ltptl'rL лaI{'I'гЬ? Фtl'|llJIЬlttlя
olпl16x.l Ill)дaвJl,IuIrIr) 6(!|Ьll]IlIlстIlа I]IIРусol] сoсToltт l] тoмj чтol вltoдPяЯсь |] Iк}
с ' r l с д I ] n Л с( сl к ц | | ] ( )4 ) i l i l J l а Q ( о о i i к a к p a з D I s С A R D A B L Е . с с к ц l U I tl6ЬlчIю l|оlttl-
з l , l u а c r с я ) ' ( J r l I !l l с l J р о 1 r e Р Я l ( )етс 1 l т P t l 6 Y T o r н
r 'с < в ь l l t v n a l о ' г >
l I P а в t tl l а l I a м я T I l ,o l 1 с .
Р . l ц l l o i { я a я с n с r 0 \ 1 l l | ] J l к ) . n ) i il " l о l " l е п Tl l о ж е T в ь l г р v з l I T ь o r o ( v г I ] t p o в a I l I I Ь Ilсl N l l l
стPaпIIцьl' ll Torда ]lIl{])ll]пц).]lraпl|ьli,iпРоцeсс рvхнсT' вы]ral]aя хоPo]rlo nзяс(lг.
rlоc вс.ll сoo6щсll!lс о l{р|11.IlI!ескoirоrrlибкс IlPиЛo]t{cнxя,
,^тPш6vт ]|4AGЕ-sсN-нЕl4-sнARЕD6e3o6плпеe' но тоxrс с хaPaктсPоil' ]t ltollсщill.t,
сIoда ]lспo.!Ii,lcllъlii l{olL кlTeгоplгIескIr пс Pсl{oмсндycтся, Bo ]tсРвЬIх' я Jlrorх,ii
'ГоЦa зара}ксn ll()"AЛ
lloмсIl1' ox lю}ie,l. 6ьттъ затерт постo роI'нu11 пPoцcс]соNtl и рЛ.
рyхrrеT, а Ilо-втоPЬ]х' Wiпdows 9х нaсrlльнo пcPсl.он.'lсT
(TTAR_П'"т o | ' ! { н | o U ] ' , 1 , , o | | | | \ ' l | { l , | | о - n г | -] ,' 'J , | с Г л J , I l I Р i i . I n l г n , | ,
]tl,li'i аnрес зi1гРузкlr у'(е но 6улст сoотвстствсltsа'l.ь вирlyaJrьllotliy ilдрeсу сек
цxп (пPаtsдa' ]кrЛrlo(jlъrо пеPеп{еlцaемЬIr,i кoд в тaк]rх ус,повиях tsпoJrI]с сr1o,{еT
Рa6oт:tтЬ)'
oстaльньIс aтри6у'L! "'tlr6о IlеliIПeресIlы, nпбo Il11еIoтoтношcние тo'rьпо к o6Ъск.
тIrвньlj[ соtt-фa]inаNt (пe Р Е ) rr пoтo\lv здесь нс Pассмar pиваются, эTo, ts ч ас'1.lto-
сти' oт}1oсxTся к il1.P'l6УTa}' пз семeiiс'Гвa iнАGЕ sСN АLIGN-XвYтЕS'индllвlцy:l.'Lьrto
нaсrрarI!aюцl'l}l кР;]:ГrroстЪuЬiравririвalInя]ran(дoil секцпи,дЛя 116ъскTивнЬrх4,lij-
9a rлава 5. форматPE.фаЙлов

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)'

лисrrrяr 5.2. МакpoсЬ,вoзврацающиe yказатeли на IIчАGE-5ЕспoN-нЕADЕR


пеpвoйи пoсjeднeйсeкцийфайла
+ d e f i n eх о p t - s z ( р ) ( * ( ( l ' l O R D *+) (0Dх 1 4/ * s l z e о i о p I j O i o lh e а d e*. / ) ) )
# d е f i n € р s е с t i o n т a b l € ( р ) ( ( B Y т Е *()х о p | - s z ( р+) 0 х L 8/ * s ] z с ' O f r п а g e l r е a+i еpг )*)/
# d е f i n eр Е ] г s t s e с t i O n ( р ) ( р s e с ! ] о n , l ъ b l 0 ( D ) )
* d e f i n eр L а s t s r с t i O i ( р ) ( p s l э с t i O n T а Ь l e+( p ( х) N u l l r 0 | s e с ( р] ) i 4 0 )

лис'инr 5.з. проryлкапoтa6Лицесeкций с вЬ|вoдом на теpминал


ee.одeрxиМoгo
: е х t s е с t i о=nр | - j Г 5 | s e с t ] O n ( р ) ]
а - х N u i ю f s e с ( pр) N

{
' 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]):

pNехtseсt]оп+-40| эЛеiевтsесtion тab|e


// сЛeдуюЦий
опифниеосновнЬxпoлейPЕ.файла 99

эксп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Е.фаЙЛов

]ых aдресов эксl1opтиPyeмых фyпкЦий? да oчень lipoсTo: folwагd.стPoки всe'


Iдa Pаспorio,l{еньlвп}"тplr та6I'lцьI экспoртa (иMe]rнo поэтoiIy спeцпф[кац]1я
настоятслъlio peкoмeпдуeT деЛaть ее нe]rPерьIвl1o'l ' ниI{акиxдPyГих пpичlttl дJlя
эToгo y сllстeмIlогo зaгpyзчtlfia нет). Pа3мep TaбIицъ] экспoртa сol1сpжllтся
в DАтA DIRЕстORY там )кс|цс нaхoдится:Lцpесeхpoгt direсtoгy taЬ]e, r.tраз06Лачr
нIrе Ioгr\Iar(t.с].Рок
oсyщсствjтяeтся тp]{виа"цъ]]o'
ПpивсденньIii ЕижeДеi1оllс1.PaциoнtrьIiiпpllмeр скaяиpyет всlo та6лпцу эксшop-
Tа' oто6Pа,{ая ее Ilа экpa]]с в удo6oч]rтaемoм вliдe' o6PатI'rтe Rllrlмаnrtс' ]la тo,
чTo обрn6oтк:t огdinа,l BAsЕ trrскoльIю IlзмeIlеllа| _ тепeРь orlа иЛeoJlol.]lчсскr'I
6oJlсс пpав]Iльна (листиlIг 5'4),

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

// rOЛyчаеl] y(азателЬна DАтA-DIRЕстO8Y


p D A т д - D l l с с i 0.л y{ 0 я 0 R D * )+( р0 х 7 8 ) :

/ / п 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 [ с (' р а Ф Ь в O 39' r а б л и uaeд р € с 0 в


r i ( i a d . г е s s= =р в а s e А d d г e сs so)n t i n u e |

// 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в

и ToЛькo есЛи штамп вpeI1ени/прeДnочтrпельньп1аДpесзагрyзкrI иI1портируе.


моli 6и6Ли0теки нr сoвпа].Iс o,olлаeNlЬlм)!ьl IaюTся иIпtoPтиPoвать
фун(циii
o6ьIчньiI' путем. Windows ХP постyпает иllaчс: пlrсЛeноyдачи с Ьouпd i;lpотt,опl
пьIтается и]!lIlopтпPовaтьфy}iтoulи нспoсредс,l.вснIlопo Тa6ЛIrцeaдPrсoв, vкaзa-
тeль liа xoтopyю сoдeР)кится в пo"rте]I"IAGЕ-DIRЕсТORY-ЕNтRY-IAT,lЛтатrlo та6'1ица
аДpeсoв сoдep)кит кorlию тa6.nицьIппIенjl1 пoтol'Y o6РащaтЬся к lloслeдпeii нст
лПкaкoй l{е06х0ди]\{oсТи. Если )кe это нr так' зarpузчrlк gЬItiv)r{лerl
иIlllopтllрo'
вaтьсЯ o6ьIчI'ьIl{путсп{,
КoPoчe rовoрЯ, сeксa (с oтЛaдчrfl(о]u)6yде1 |lРедостатоЧ]]o,1lo ]!Iь]все.тaкп llaч.
нeм..' станДаpTнаЯ тa6лица lrмпоРта пPсдстaвЛяст сo6oii Utoriiнyro пeраpхичr
сl(yю стpук1yPy] кarкдьlЙ из э'ц€ l l1еI]тoвкoтoPoli пroжeт 6ьrть
рaсttoloтtеп п лrо.
6oм пrсстестpаниuнoгo имидхa.
l{а вeршине иepаpхии нaхoдиTся стРvlс.yрa Impоrt Di гeсtогy Таb,le' п
P€ л с1.авJlя-
loщая сoбoil пtассиB стpуктyР Ii{AGE-I PORТDЕsсRIPтoR,завоРIIIаeiIЬIхнуЛеRЬIlI
элемeнтoп{'ка)цьIй I!iAGEI PORт'DЕSсR]PтoR сo/lер)кl1тссьI.Цtotяа двe пo/lчl1llсl{-
IlьIсстPyкTyPьl kюkup -mа6лuщ ' сaдеpжalцую l{]!tеl i a и/lIЛ I1oРЛиllа.lrы rl]\lп.4)
Tl,pyсмьIх'q)ункций' I'ir, n6lLuцу u'lлnpmupуемьtt сфссoа (Thuлk TaЬЬ). сoдсp.
)кащуIo RvA.aдPеса Ячсск стрnllt,Iчного lllltjlд'ra' fl()вс]rх oторЬ|х 3r].PvзIпlк
дoлжсн taппсaTь эФФекTl1вяьlс адРсса сooтaет(:'ГI]уlolllllх|lМ d)yljкцllii llvсlЬ
нe06хol(имirя нам (рyIl кц,tя my-funсIlaхo/tttTОlв i.з'rсмсrr,r.сlооkLi1l.r.а6лlп1ьI'-rrlг-
дa iи l lllекс ,га6JI а/lpссo! (o/Lq))китRVA-y,{азаTсЛь rlа ,l чсi!
ццьI 1lNtlтоp'ГllPyс]!1ьlх
ку] в lсoToРуlo3a[pузчlll(у сJ,сl(ус,]. 3а]l сaTЬ cс ivQсс (JIj]стlIllГ5'5).

лисIl,l|lг5.5. пpoтoтиппpyгrypЬ 1МAGЕ-IмPoRт-DЕSсRIPтOR


tуpеdel stгuсL -]|]AGL]МP0лт-0ЕsсR]рlоR
{

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.

лясинr 5.6. Дампepта6лицЬl


импoрта
// пЁЧАтAЕi] тАБЛицy ll|1ll0рTА
n2k р|]nt']Aт(0 0RD*lmpoгt|00iuPтаbl0' Dl.rORD* вYтЕ*рBаs€ А d..ess)
rmрo.tА.drеssтаb]e'
{
D I , ] 0 lRoDO I u ! 'h r n t ' a n d г e 5 5 :
в Y T L * n а m е :с l r а г D L ] l I ! 1 A l - вs U
l zЕЕ ] :
л а п . = n о t ! г е s s е п t ' :l О O k L= s hiit = 0|
] ра d d Г r s =

"":ll .it:lt:T1::11::l ::l;i""'


!hilе(1) , o 'pJ"ч oб,/ lflоP,а l0 o е

{
лЙ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 ;

// пepeоирieiвсe rа0лllЦы сl{oЛЬкO


дескpиптopов иx eсть тaм ,,
w r r1i . . ( )l
{
// li3вЛекaе[ 0сloвные параiетрь
.*(Dli0RD*)(рlmpont
+ 0x0с)+ р8аseAddress:
l nporILоokuрТаble .(DL']0RD*)(*(Dl,loлD*)(pImpoгt+0х00)+
рBasеАddгеss):
]mp0гtАddГеssтаble-(DLi0RD*)(*(D!0лD*)(p]mpoгt+0t10)l
рва5eАd.ress):
/ / р Г ] n I t { ' 1 в5 х я х \ n ' ' п а m e RjvmАр, o г t L O о k L r р р
iаb]e
BаsоАddгеss)i
// пеpeхoдим
ва сЛeд,юций дескpиптoр
р]пpOГt+=0x]4 /* srze оf.]l1AGЕ-Ii'jP0RI */|
DЕSсR1PтOR
jmportlookuртirblе.--
]f ((BYтЕ*) pваs€ А ddress)b.еаk: // эrO кOнeц?

р г r n Ll ( ' l s ] \ n . ' ' n a п Е R v А )


f о г ( n = 0 i a < s t г l е n ( n a n r e R VpAг)i|i а
t f+( .+. .)' ' |) р г ] n t f ( . ' \ n " ) :

// п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.

ЕсЛи вPсIrе]Iпаяoтмlrтt(aиN{поРтиPусN1oй 6и6лIroтск11сooTвeтствyет ес со6сTвеri


]Iоil вреluсннoй oтl{еткс' пpoписaннoй в PЕ-3аго'']oBксl за1.рузчt'п(пPoстo llрo-
сцllpуeT лoслrднюю IIa a,tP€ с нoе l1poстpаrrствo и yмъIвaет pylси' lLрeДoстаBляя
ЛроrPа]!li!]еДействoваTь сaN{oстoятeЛЬпo.Захoнст _ 6yдет paз6пPатЬ Tа6лицv
ЭxсIloPTа пllпoPтиpуcмoй 6и6Лt1oTeки вPyчнyюl 3ахоче,г )Itсстito llропtl]l]ет
эxспoр-|иpуel{Ьrеадресa e]цeнa этatlе I(oмпилЯцrIlI'как o6ьlt!llo ll пPo11сходrlт,
I I),Лсвoс:]llaче1rиевPсмe]Iflo11oтмeTкисooтBстствует лю6оlry врепrснl' и o6pa.
щaтьс]l с lIим слeдуc1.'lРeдельIrоoс,ropo)кнo'и60 llPи пеРeкoNIпп.Пяции6п6ли0.
'(естIto прoI|исa]пlыr адрcса 6yдyт ylф3Ьlва].ЬIl itoсltос п llPor.Pa\lillаповис.
ТсI{l.!
llс,l Gпстияrи 5'7 и 5,8),

листинr 5'7. пpoтoтипФpyKryрЬIМАGE-Bo!ND*IМPoRт-DЕSсRIPToR


ryрedefstгL]сt.IмAGЕ-B0UND.II1P0RТ-DЕSсR]PТоR
{
UIORD тimеDaL€ s Ldmр:
ш0R! Offs€ ! мodulеNаm€ i
ll0RD ].lumDenofМоduleгог
агdeгRefs]
fo]]о!]s
// Aгriy сf zогo Oг [ro.е]МАGЕ-B0UND*Е0RI,]ARDЕR-RЕЕ
*PIl,lАGЕ-в0l.]ND-IllP0Rт.DЕsсtIPI0пi
]]l,tAGЕ-вoUND-IМР0Rт-DESсlliРl0R.
l]рAктIlчсскиii IlРимсp рa6or,ы тa6лI,IцЬlвoUND-ll]PORт привсдсli в лlrстllI.lгс5.8,

лисYиflг 5.8. простoйдампеPтa6лицЬL импopтa


диапазotlH0гo
*pBоund'
n2k-!aLk-bounr](BYTЕ BYтЕ*pваseAddгess)
{
time.х llORDnaNoOifsеti |ioR!n_г€ f
DL'iORD
if ( рвasоAdd.еss)pваseAddгess= p8ound:

{
/ / и 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 .

Листинг 5.9. протoтиппpyкryрьlImgDelёуDеsсr


tуpedefstгL]сtтmg0elаyDesсг {
Dl'l0лD gгAttгs| // dttгjbutes
LPсSтR szNаme // polnteГto dl] паlrlе
I]|IODULЕ* phmod: // dddгessol nodu]elrandlе
PiлgтhunkDаta p]Aт] // аdd.€ s s оf the Iдт
рсiпgтhunkDаtа рINT: // add.essof th€ INт
PсIпr9Tlruпk0аtар8oL]id]дт| // addгessol thс Oрt]Onalb0lrndlАт
P с l [ ! T l r u n k D a | аp u i l O а d i д т ; / / d d d г e sos l O р t r o i d с, lо р yO f o r r 9 r n а ]i А т
DL"rORD d!тinrestапр; // 0 ii nOL!оunо'
// 0 L'i da|в/t]mestаmpоf DLLbоund,JO0]d B]l,]D
] ImqDe]dyDesсr * P]пqDе]ayOesс.:

ПoЛс gгAttгs зa/(aст']llп адpссaЦии' лгJимrllяIon1ийсяв с:lуrксбlrых структyрaх


о1!Io)ксIlllогollмIJoрта (0. VA' 1 . RVA)i ll1).loszNаme сorrоplror'rRVA/VAarta.
зaтсль пa АSCIIZ.стpoку с Irмe}Irill3al.Pyя{ас]\lс'ii Dl.L (тиIrадрeса оlIpсде;rirсr.
ся oсoDelllloст,liiIи pcализaцпи кollI(ретIloлo D€ l аy I.Iе|Рcг'Bl|cдРясIloгo,
.рамМ5,llIl|кcРoм тlРo.
I l в J l ) ь и | l y l o , | ( с l o с я t J , Гр c ' l J ] | | , | j t I I I 'I{и| ) ! . l , | | | J : ' I ( l l l | ' к с ' I j , ' l L
l o R o г ' | , б v л L , | o г o т о в l . | к o в с я | \ и Ч п . 1 | . U г - я м , ,| - !| | з I l . l , | ' ' J , L I l|n' у . т е n U . с
n | , l ;l ' | ,
зal.py3чиI( (всс Toт }l{с Dе]ay нelpeг) лoмell(ас1.Дeсtq)пl|т()P
lllIllalillЧеск)J зil.
rPy)касlltoй DLL'
ПoЛe pIAт сoДcPжит указaтeЛЬ I{aта6.!ицy :lд])ссosoTЛoЯ(сlllк)гolIмII()PтаloрГа.
низoBallнyrlr TочrrоTак жо, кaк и 06ьIчIlaяIAT, с тoй лиl!Ь pa3lI|'lцсi{,
ч1I)всс э-llс.
мспты 1а6лицьl oтл{r)кеннoгoимrropтa всцyт к dсlay lоartЬЬlpег'у спeциаJtьIlo'
мy диltaмичeсlсoму зaгPyзчику| тaIOке нaзЬlваеvovу IIcPехollfl]{ком (tЬUnl()'
кoтopьtй вызЬIваrт Loаdlibгaгy (еслIr тoлько 6и6лиoтека yтtе пe 6ьr-la зar.py;rсе.
xa), a зaтsм дaет GetProсAddгessи заNtещасттекущиli элeмснт тa6лrrцьroтlЬлrеrr.
нoго иNIпoРтirэфФеI(тuвrrь]I{ aДPlrсoIlIиr\lпорTиPvrмоii фупкЦl.lII,6лaloдapя чсI'ty
всеlloсJeдующие вьIзовьl,цatrнoйфункц{и oсyщeств''rяютсrrнaпрямyю, в o6хoд
dеlаylоadlrеlрer,a,
Прrr вьlгp1,зкeDLLиз пaNlяTипoс-1сдI]яяможeT вoссТaпosить тa6.rlицvo1.Цожen.
в l | с Y о Л ' I о е. о . , l U я н y P ,o 6 p а - и в ш l l . ь , ( . o р и l , ' P 4 1 ь | | U i кj o г | | | | ,
| 1 v А , у i . J J а - P , l ь| а ' , o 1 o t ' v Юч ' l а i l , Г с я в п o , | cO - ' l ' o а d I A гГ, r - t r , n , , n , r н д r ' , n
указaтель6yдетo6parцeвв нoль,
Пoje pIтт сoдсpжи| R\ А уьа |"IeJЬ |lа |а6n||цуичс,, вo вt'.У гoвгoPя|оU.уЮ
сTaндapтнyютa6"1ицyимeн (см, nаmeтаЬ]е) To n." o,,'o.,'.", n no,.
pвound]Aт' "o"'o" lor.orrNlпopтa'
хрaпящeмyRVA.ytсaзaтельнa та6лпцyдиallазorl] " Есnи
тa6ЛицaдиaпaЗoннolo иl{пoртанe пyстаи указаnIlаj{
вРе[{eн}rая 11сгIrасoвIIаДa'
eтс вPеlIeIIпoймeткoйсooTветсTвyloщей DLL, сrrстeyньfiiзагрузrrr1к пpoсто]тРo-
oснoвныхпoлейPЕ-фaйла
oписаниe LO7

eциPyст ее нa aдpeсIroeпРoсTpaнстBo Даrrrroroпpoцесс:li и мeханизм отлo,lсeн.


пolo импopтa дезaктивиРуeтся (листиIIr 5.10),

да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

jf ( IАт I llNт) bгеak

/ / з в 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 )

INТ < (DП0RD)


if ( (D!.]oRD) pваseAсdгess)
]NI + (Dl,lORD)
INт - (D|10R0*)((D!]0RD) pваseАdсгеss)|

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).

лисrиfl r 5.12. Paз6оpтa6лицыnеPемeцaе,'1Ьlх


эЛементов
n2k-'a]k-relOс(вYTЕ*
pR€ l oc' 8YтЕ*р8аseAddГess,
BYTЁ*рP.efeгАdr].ess)
{

B Y 1 Е* р а 9 € R V AD: L i 0 RаD. b l O с k S i z et,у p € х , о f f s с t х i

/ / 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

// paспа(oesаeflпeремeщаe!ьe зле!€ н тьl


// вьчпсляяадресaкoрp€ { rирyеfiьrх
яч€ € к
,rIlUP
рпntf( BLoск. раgелVАв06llr, srze R06dbуtОs\n\
- \n.
пoлeЙ
oснoвнЬlx
oлисаниe

р а 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:

,',Уфl нaкoЕсц-тo мьIдo6Pмись дo кoчlси,oдинoкoтoPчaщeйсPедитoпIсoгoбo.


Лoт;' TёпePъпlФlсloo6сoхвyтЬ'oтмъrтЬся'co6рaтъc,tс IttьIсЛями и кaкoe.тoвpe-
мq llсDеДo;!iу],ь, ? ytr
вы сurelte пеPе!yма-0иписaтьсвoi:iвиpyс .[Iа |такoй мapш.
6pосor< лю6oе влeчсrlиеугpo6ит,''и aгaвилl,нo|в этoм миPе вьlживaютлишь
,", вou рaзo6paтЬсяв сис,1eмe дoмиIlиpyeт}iад'(eлaЁиeм}.aпaкoc-
",р"*л"u""
титъ 6JlшкllемУсвoему.l{aп,iсатьIрaмoтtIьIйи !o вceх oтяoшeнияx кoрpскт.
]IьIй<внeдр!tтeJ{ъ} oх как lieпрoстolи пoкa Bы бyдетeг'еpевapивaтъ пoлуrrrr.
нvlo rtflфoDмaцию'вIlезal1ньIй поPъIввeтPaoт тaрахтящeгoкyЛepа псpeлистl.ет
n."nonono пoрцисйипфoРмaциolilloгoкoriцeнтpaтa. кolдa oни
соt]ДиllяTся"'l'on'u " "oвoй
вМeстс'llрoизoйдeтсвoсoбpaзнaяалхимичeсIсая рeaкция'Й нa свeт
миpa. кoнIсретвo
рoДитсякрoхoTЕый oргaнизм oгpомпom ки6еpнrтическoro
в следующeйглaвe6yДr'гlloкaзaнolкаI(имellнo oсущeствляeтсявireдpeвиeмa-
llrиIIIloгoкoДaв пoстoрoнниeтeла,
ГЛABA6
тЕxHикA BHЕдPEHия
и yдAЛEHия кoдA и3 PE.ФAЙлoB
()Пil(llLя(ll 'lР()с,]]lь|х Ila]lадoI( IlуPtjс11)вl
сi(]l()лllых Pa(.мill.])||Ba'Гl, дo6рyl() ]()'lIо.
3Jl]ly асI]ск'Гo|]с]tс'Гс]\{|]()Гo пРогPа]!lмиpoBalll]'| lrаrr llФryIII(lIIlс llil аl]1.()lхlк()otlрa-
]r()' IIодPЬInаroLJrcс (!vIIllaМс]l'r ЛпiIllol]i 60]0пaсIloс,|n' ],jn(].'lчсс|i'l
lIpcl|яT.тn];к)
tцll\ пу6nllrr'lI(uям nодo6lloГo
P ( ) д i t jа l l T О p t s ь | | l у х д ( l l i ] l д ч J { l r a T l с, 0 п Р i I B д l t l | ] | i i

сnо6oдv сn ()ва еlllе xиктo I]о отIlсliял| |l са]!ll]lIo се60 тсхl


вl leЦРон Ля л j11:
l()'ll()J.l.|11
Ilо"l]lrясNIъlефаilльl11с ]!|()Гут6ьnЬ нIr хoPoЛlullпl l]lt x]roхиi\'ll
t]ilрyсш 0Laк кotrг
IlьIoтepньrel Tак и 610,!огичсскIrс) эTо lц1)rЬc]!J'lloN1а}lчас1ll сстeс1'вoзIlаIlllяj
lloсyпlil,l не ToJIъкo вPол' Iк) rl лonЬзу, с кI'пllечt{оii lll,roчкoii
У rlас y(jl.анов|l-,lся
BзarlмовьIг.цliьrii сt.lм6rloз cще illl'ljl,тионьl 'lIеT ilalадl коIЛIьIотсPIJЬlе
виpvс]'l
IIсflпlo <сIrNl6xотят> с проrскTоpаNlIll yпак()вщlrкa]\1U исIloJtl]ясlllnх (Dаr:lЛ()вjус.
п()-
t lс I{oвыIIu маrrlппaI1Il' о пеРaцrlofl]rы ]\irlсис18мa[1и ,1 l lI0гrI}1]t
дl}yгl.lIIl] o61сliтa-
\'rI вlIртy?UIьнoгO NIIrрa' oкpу)(аюlц]1мIlпдс
Mсхarlr']IlьI в]]сдPепия ! PЕ.фаl:iЛы вeсьila
рaзнoо6разIrЬI' нo гl /Loстvлllо]i.nrr|с.
])аTуPe oxисallЬl Довojl],]rо пonерхllостпo, ипieloщпeся ilстoчl]иlоl JIIi6о xaTасlpо
(!xчесr{и }rетIo.шrьl'Ли6о o,1l{рonellнo
пcточIrы] дa I( тoNly,{l] pасссЯIIьl Ло сo'trr'Inl
pазЛ'LчI'Ьп ЕАQи Lu|оi.iа1'oв' ПрихоДится' вы
рDкаясь сJloва\111Mа-чкoвсl(( )l.o' Jтe.
' n t д , | , п a F ) , , , ,' Р ! ' 6 н J I j ! : ' ' 1
l r п ц ъ р ' U o | а | | j F , с , P 1 ' c , с ' j 6 U ' чп , , | ш l | : \ . | | . ' ' \ , , , | , I l L
IlIj.,1 ф,"Ul
tsссx п:Jэcстltьrх сп()с06ов внеДрен!rя' ЭTо сarия поJ1]]ая
колЛекцпя из lп{eющшi.
сЯ] вo всяком с1}Чac, в oTltPьlтoii печaтЛ rIrlч€ г о l10до611о1()
сo вPемсн NIs.Dоs
Irll paзy нe rrшЛo опy6Лlrкoванo' Если вам всТPечаJ'IIrсь
l1poгp:rпlпm. !не/.lряюI]IIlе.
техника внeдреHия кoда в PЕ фaйЛЬLи удаЛeниЯиз них

ся в фаji'll цPyгllrl спoсo5L'м' пoж,LцyliсТц irаiiте о6 этопI знaть. ведЬ тeхrirнеский


,lо|L,'' ', ,':(ДL:, . ,,'г||||o.||
Пoтolly rlе воспPиliппlайre irTy гrrаву t{алn()l\r}, этo вссгo,rIIlшь tlyTeволIrто,rь пo
I{иoсрЛе l l lllескor,I стPalIе впpryalъIIoгo I1l1Ра
Il1атсprrа:l 6улст пнl.сpс(]eIl Ire тojтьIio сllсllIllлIlстav по 11нфoPi\taЦItоннoii 6сзо.
rlасI]oс1.11'сllецI]аrrlзnpYкЛцпltся на xдorтllqЛrкац r1 Il vдl'll('ll|l'j nпРyсou' но
ilтo Л{екa.
rl рaзpa6oL.тrткаrl пaвсс]lL,tх 3апolт ]io]tgсpТtI()го Tппa rl yгIа]ioвщ11кoв'
(:ается rrlllry(0lLj ]саTe.nеil,, Гoсrn '(a пypl lстьI, дil lloiiI1лте )ке Rы нaконсцl ч,|l) eсЛи
чс'!овeil заi(аJl(,r цO'll'lо папllсатЬ вlll]ус' тo он сгo lrаllл|Леl l lly6.riпкацllll noдоrr
l J { ] r rl)) о д a п а э т o n . l r . ] ' r l о в Л l t } t l o т ]A I I T 0 рн I l I l ч с м ) ' r t е i ц ) U l Ь r в a e т r l н l 1 o Т l l с l . oЛ e
o]'l ()BitIrlвасT, эTо пР€ р olllт]tfiа кaрaтеЛьнЬtх оpГilll.'] B,taстп] Pс-1ltt,tl()]llьlx
_ lloкa.
дсяTсJеii' llv п r]оPаnllс'|on uaлollсц. lvlоЯ ,{с зaдilЧа l]а[j||()Го скPol1нсс
з r 1 Ь . к а к l I е п l ' T l l r r r ] e д р е I l I Iсяу ц с с 1 l } , ю т ' I l а ч T o ( 1 6 р r t | L r ] ь
r r l i i \ { a t l r l сl l P l l l l o п с к e
rl(х-Гo!сЛlriсl{) ]i()j(r r{аr{oryсм(,|П1ryoв.rТЬ d)tliiJ, уryо6.]JспllьIii I]с(oРрек,l]ьIм

К ЧeMyпpивoдитвнeдPeниe

цEли и зAдAчи x-кoдA


Псpед Х-ltодot,l с.toят пo п{епьlrrсli illсpеTРи сеpь€ з нЬlх 3аДaчrt: а) Разl'естить свoе
Tс,.rOвllyTРи пoдollЬl,|lloгo фairЛа (иJrr1, каir сiLазa[ 6Ln 1lсЛевпп, с"!rrтъс]Я! r]иNl
в а''rхlrмrrveсliом 6рaкс); б) пеPехватиТl, упpaв,rение дo начil]'Ia ]]ьlпo.nнc}lия oс.
нoвrrой прoгРaNпlьI иJrrl в llРoцессе онoгo; в) oпределить aДрссa API фуIiкций'
я{изне]]]rc вах]lъIx дJlя сo6стRеtlнolo dryllкциoIrиPованиЯ,
rлава 6. тexникавведpе!иЯ и yдалeниякoда из PЕ.l,]JdиЛoв

N'lстoдoлor.ияперехвaтa yltPавлellи'I U oпpсДо.ne]тr1я а-lpесoв API.фyпI(Цllli y)ке


paссllarрxваJaсь на\fи l)aнсе в <.зап]iскaх]> (гЛaвьr<Бopь6aс wirrdоrvs.впруса.
м1r 0tlьIт коnТpTeРр(Цxlстичeсхпх оltсPациi]', <.вIiрусьIв UNIх' иЛl] Ги6еxь
ТtпiLrl]1liа II' rr <oпrrr6лIrперешoлнеrlrrя6yфepa извно и пзнyтрп>) и пo'l.oмy
з/-tесь}rеortrlсьIваeтс,t'o.pаI1]1чIпfсятсI'j чтo нaJlоlltlипIчитатеr.llooснolll
lьIс пIo

Пе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 l l р c / { с ' i | ( x i l l са , l Р с с o J ]A | ) l r D v 1 J a l i i l ) б Ь l Ч l ю o ( : у l l L с с T Л Л ' t с ' г ((,l,j I L ' Л y l ( ) l l l | l 1 1 ] l


lly-
1яlll t1i
. п о J l с j r о м l I 0 o 6 х ( ) , U ] \ t Ь r(х) y I l l o l l t i i Л ' | a 6 n | | | l ol l ] \ 1 l l ( ) l ' l i(l) i l i i J l а . х l ) i l Я I t I l(а6 у д ь T e
гo1.oвlll к 1,o]\1у'чТo 1nм rrх rtс окlrrкl'rсl: ,пlrбо tl1r(iвЬllrajiГс(:Ь 01.
вlle]Lpсul.tЯ,
Jiи6o l Iс ]|oJIь3Уii].(' дPy].уl0 сTрaтoгxlо поискa)i
. по1]сltоli Loаdl,jbгaгy/GеtPгосAddгess в т:l6i||цс Irrllк)]]].а
4)аiiJla.х()зяIlIla с rIo
сne'LуюnllIN| ,l]\Iпо])шIPoла|ll]oll всс'х |Ioобх(']1llltьlх
4)уtп{lLl1]iIlруч|lуIo (6удLTс
го1l)tsьIк T()rlv] чТo ljТlrх qJl.Jlltцxl:i )r Tа6,trтIlс lмпо])Гtl тl1кяrс lre oкая{стся);
. пl)иI1ЬI\! вьl]oвоll API фylrrrц]lii п() r!х aбс()'Цloтпьl]!]аr.{рe(аIlj ;к(l(lTtrо
пр(ЛIx
сar'lrьlI1 !пуTPll х'rrода. ^ltl)сса
фу|u{цпii кЕRNЕtз2'DLL/NтDLL.DtL llспoс;o,ul
flьI п NlсI]Якr|ся от оl1lioii nсРсrl]i сl,lс1.or"!Ьl
к дрyГoii' а aлРсса UsЕRз2,DLL tl tsссх
ост;l.ЦЬllЬIх |lo]]j]зoвa1.с"!ъскllх 6п6Лuoтек ltсlIoсToянIrы
Дaя{e в РallIrах оlцIoli
I(oп |{рoтllol1 сlсте]\1Ьl и пaРь]1PyIоT(l,iв з:lв llсIlllo(lx1 оT hilа8e
Bаsc oстаЛьньIх
зirpу)lLа"дMЬrх 6rl6nloтек, xoэтoму rЦи вссl.i полуля1,lloстli
дarrнoто сrrосo6a
tlo.Iп,зоваTЬся п]\1]loп\(j LllNo тoЛЬкo в о6paзопnT0-1ъп(!xoзl lаtsателЪ]lllх
цeляхi
o до6аll,rснпеlr в тa6лrtцу ппlпrrpта пеo6хoдltмj,Ix х{toдi.
4)ун]Lц11ii (иl!п, кaк
]Iравrl'1o' яnЛяIrтся Loаdli brаry/GеtPrосдddгes s' с пoNioщьlo кoтopьтх
l{oяolo вr,t.
тапlиTь I,lз lt(цР сllсTсillьl ll всс oстaJtъньIe . дoстaTочrю нaдe'rllь]ii'
хо'].я и с
лIrпlttoпl зaмстlrьrii uloсо6);
. tlе]тoсPсдсTIreItньII' пo]1сltом фy}rкцlй LоаdLibгагy/GetPгосАddгess в памяTи.
xoско"lrькyKЕRNЕLз2'DLL прoeI]иPvетс']raадРсс}rоe
пpoстРанствовссх пpoцсс.
сoв' а ес 6азoвl,1i,l
а,IРесвсeг/laвьIрoвнcrr
пa гPаницув 6.4К6aйт' oт наi всеr.o
Лиr Ъ ц)с6yеТс' nрoсканиpоватьпeРвvюпoxовиllУ адPесJ1oIo пpoстpапства
кодaиз PЕ'файлoв
и удaлениЯ
reхникавнедpelrия 115

пPoцсссa па пре,'Iмстxorrскa с rнатyPьr tlz. Если такая сllгнaтyра паri/ieнa


y6ежДасlrся в riaличии сr1ПJатypьiPЕ' pасnonо)кетlноiiсoсNIсщениеMе ]fаnew
oт нaчfula 68.]noго адpесn загpузкn, Есrrrl ('I.t ДеilстuитeJьнo llрUсyтстlyeт'
атrаЛuзuPyеп{DAтA DIRЕсТORY lr oпрсдсnЯе}l ililрес та6.11Iцъ1 эxс]loрта, в itoтo.
poй тPс6уe'Гся 1lайтu LoаdlibгаryA п GetPгосAddгеss,Ес"1lrяrс хoTя ftn однo из
эт]lxус-цoвl]il rreвъIlto]lllяe'Iся'уllсI{ьrxасNlyкаЗат€ . .1ъlla 64 ]t6а]jт и lioвтoPЯ.
сj!19сю rlРоце/]уpy заtloвo. Пара с0o6ра'кеllllii R поruolць:llpсжllе чем чтo'тo
чI1тать]1з]lдItяти' въIзовx1сl!уIlrLlпnо IsваdReаdPtг' убеДnBппrсь,что !Ьl впРaвe
эTo дer.Iaть;гloмtIltте,чтoWindows 2000 Advanс0d Sсгvor lt Dаtасeпtег Sсrvсr
пo,(ДеРnrllваютзiLl.l)уЗoчньriiIlаPамс'Гр/зGв' пPcдoсТaвЛJttolllljЙB РаспoPя,tс.
'l|,l|ljо,|с.сi]|С''iirоr''pа''l"r, Ц,'|||||l\.,tr,j,,Г'.
ваr|ия нa 1 г6aiiт !trсРх; лля yп Pоllсt l l|Я отoлiдсст!"'lсrrll' КЕRNЕLз2 , DLLпIo)t!!lo
llспoJтьзoваТьlюJLсNаne RvA'содср)кalцeесЯв Еxport Direсtory таblе и указt,г
ваlorЦrс tlil l|Nlя д]lllаnlrl.rс(к()ii6п6,1lJoтспl1,oдtlaкrl orro моrкст 6ьlтt' tt rroД.
лo'o1Ьlм (систеNiньlr"lзll|pY]чrtJLсго l.lГIlоPrD!с r);
. oIlРедеJiе' l l tcпfaдPL'(а(l)у|iкlUl l I кЕRNЕL32 | exсeрt.hапdleгз' I]tlк()Т(шyloуказьг
вaст о6p:r6oт.rпкrr'рук'гyРllъlх ]Iсl{Jlкl(]|l||iiIi()уllоЛчaIll]]o' э,га 4)yrlftцпя tlс
эl.сlloP.ГиРyrтс'l ядp()]\1' oдIlа]{о|Ipllс\']rjlrr\lс'rIl отлаЛoчlloii Tiiбjlи,lc с}|liвo.
J ' r o в к' o T o р y | 1 м ) o ) к l t o ( , к i l l l а | . сJ lс е 1 ) П с P аh t t р | / / m s d | . сmг o s o f t ' с O m / d o w n L о а d /
symbo s (вllflru;Uiljсl сrрвср lrc ll()'lдсP'ril0аст ll]roс]\1o1]) брiLyll.'I)омlс нI1I1pа-
6oTaюT-l,o.ЦЬкo lloсЛеi(illIoвcр(|||||N'liск]s(rli l({j l01])сЬuggсг Л NuМе,,4.lsolt.
]се). э'Гo дсJl01.с'| l.ак: i]ov еsi ' fs|[0]/lо.sd/,lod5d' i'ioсJ|с lrы1()JI1lсl'lI'lя кoДa
рeгllсTр EAх сolLoР'( l Iт адРс(, ]lФкll, ilI1ii |.]Lс-ю R г'ц16I',l.э кЕRNЕLз2, вь]РaвIlивa-
eм eIо Ilo гpа!Iицс 6i I(6aiiт ll llLLlсмN'\Z/I)I].с'tl.IIil|.уP]'ll l(?ll{l|()l{ai]ilIlo IJIlPс-
llЬu(уlllcNllIуllк-rс ()'гo Ili]ll6o.]lccкoPPсIr1Illniilt lIiLдс,rnlыi]l()|осo6l]oис(а'вся-
. | с . | , , '' ( ' . ( . \ | с | |L,N, '| ' r i|i , \ l 1 | n ' ' - Л ( | | | | | , ' ) :

. 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нию),

llринципьI вн."ДPенIшх.кola в РЕ фaйльrс тс:сн[rlескoй Toч]iизpеI1l'tяпpal.тj]


чески lIичell ilе oтлtlчаются oт ЕI,Е, развенто пlrснами r:irуxе6ньrxпoлей и стрa
TeIиeii rш ]lfoДrlфrп{аЦlи,o]rrIакo дeта.nьньIriaнаJlr!зспeци4nrкащ1й и д]1зас.еlll
блирoваrпre сlrстеlпi{Л o заГрузчикa IrъIявJlяют Цельп:l плaст тoпк.Jст€ i I,
,l"дЙзвeст'
| | | ' | \| ' , . д | p o ф " . с | | J l n Л а \ j( | j o в ' я ' , o I |. , \ l | ' r , l ' | о Л | | | .l , - п Р . T н L ,l v | | r | | P o l e | , .
TоPlvпaкoвщ1lк Ile из6erкал t.pу6ьrх ollrи6()к llpoектирoваrluя и
Peали3ацnII)'
CyцесTвуloт с-'lедуюппre TrlII;l (мeTодьI' спoсo6ьr) rнсдреl1ltЯ,
1, I]aзмсllеlurс х кo,1а xoвeрх opllгIlllil]tl'нoI.i прorPа\'iиы (тaк'{с }rазЬrвaсмoe
lrxTlJpaнпеI1),
2, Paз]VIеlцcJiи€ х{roдa в свo6oдIюм ;uесте ttpoгpa]!1NlЬl(!lIITсгРaция)'
З, дollисьlвal]ц€ х{oдa в нач;Lпo' сepe/ullr.v lJIи кotlец (!аtJJra с сохpа}leписм
oPпг| lнальtlоГo сojlеpжLt11oгo.
,i. Pазl"Iеlrlcниех.troда впе оснoвlIoIо тслa
4'айла lioситeJIя (нaIIрIlrvсPl
r\1ичеflroij6п6Л11oтекe],l,l NТ}.s-Iloтоке)' за].Рyжасмoгo <гo,tовoii' х кoда'
внrnрсl{Iloii IrфаfiJr сflосo6aп{и1, 2 и"Tи3'
ГIоr:rroльку спoсо6 1 п pпl,()дl,ll. ILпеo6paтпlIoii xoтерс pa6сrloслосо6tюсти rlсхott.
llоij Лpоl.ParIУЬItt Pсa,IЬ,lо ]IР1lIlе|lястсяll)Jllllo U lJl'lpyсах'здссъ olt t{с
Paссмi]T.
Pивaети. Bсе о(j.].аJU,пlnc n'цгoРIf|]\!ЬI вIle/LрсllIJялrllнoс'гьto rIлrr.rастrгlпo rl6pа.

т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его

Bo.втоpьt х' гpaмотt ro сlLoпстРуЛрo вal1r1ьIiiх.rrод нrIl(olда fle мoДиф1IцЛPvrт


с]roj1
ячсйкrI' lloскоЛьку ]lе зпасl'J иlfеIoTся ЛlI нсго пpaвa па запись lr,,rrrнет,
у Стaн.
дaPтшая секцltя кода Jшшejla aTpпбvTа I|jАGЕ-sсN l'iЕIl-l1lRlтЕ'l'i IlРисBAlrвaтЪ eгo
Iфa]xrtr не,кo'цaтельltol так ка]t этo l10 тo,rьк0 дсl1aскиpyeT х-кol{' jlo
и снюкaсT
rlмNIуI'итст прогpаммЬl'ltoсrrтеля' Pазylteeтся' прl'l внrдрe11иIr в сеl{цию
дaIlllЬlх
эTo oграl1ичеllпе тсpяет свoю aк1уаль]IoсTЬ, o/.lпаl{o
дaЛeко нe вo !сeх с"]rучаях
зaпI,Iсь в сеl.цию даlЛIЬlх разрex]еIrа' oптtIмизм этo лрeкpaсlloj нo пpoгРal]'
IlIlс,Г Дo/'i'(eIl j]ак"'ralьlваться пa напxyjlший ваpиант paзrитIJя сo6штий,
Pазyп{с
стся. i)Тo с]IIе rIе o6oзна.1асT, ч,Гo х.кoД пе пlo)i(ет 6ыть сaпloмoли<bицrrРvющиlrся
lгilr fle дoлкell NloдIiфliциpoвaтЬ ниiraт.ис Ячеilки llallяти вoo6щеI К eio
усл-.,.гам
]l сTеl( (автollaтическая гlаlIять), и диIIaм]rчесIliUl пап{Я1ь (кучa), и коЛr'Цсвой
сTек сollpоi{ессoРa, I'акoнсцl
тe\ниtrёвнeдPeниqи удалениЯtоAa из PЕ.фaйпoв Lt7

ts-тPeтьrтх' Х ltoд дoлжсн 6ьtть пРeлелъно коlrпактt{ъlil, lloсю.цьку o6Ъeм JтРoстpalr


дjIя вl]сДpснuя' ]ft)](час
стЕаl nрJ{г()/цilirго oчеflьдаже oгPаничсti (vo,flнoдnже скa-
зaTь'дРaкoпllчен), L1мсст сl1l,lсx Раз6rlть х пor.lIlа две чaсти: кpошечllь]й 3ar.
pузчик l1 lD(lтяженrrьlli r(Boс1,Зaгl)уJчик rr)лllU€ всегo paзlleстиTь в PЕ.заIoловltе
]пu Pеrу"']яpIlоiiпoс".lодовaтсЛЬIr0сTл i]llутpи фailЛа' а xвoст с6р0сить, oвеPЛей
]L'lx NT!.s-rioтorL' i{oNI6ин]]pу'lтсNrсаN!ыrtР:Lr.nпчrrьIв NtетoдъIвIlсдPсния.
llllкol1сц, Х коnrrе rvioя(стIlозвo'ЦиTьсe6е lrа/IеPnrrlватЬ yпРaвлrrrис 6о.]1ссчем нtt
нссxоnЬкo сOIr,ш' xу oт сильi десятьlх дoЛсll сс1.у]lдьI'в пpoтrIjrпolJслyчaе ФаI{т
q||,
ц ' e | | | lсч| | n ,I l I l l t | | , l ' \ l , t i ' r , р, '1. rr r6 - ' r ' r r , r ь r r u, 'p " | | г U вI,| '| | U , 1 Ь r n п 1 | Р
.ця' r o лoп"vсIiатьllt1в кoс]\lсЛyчае rrеnъз'
l]€

тЕ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 в

чrrкoв olpaничIJвaеТся oднI'rl' -!ltrnrt вPепfепlj}l lloдll4nrкацrlи' чтo демаскllрует

Ес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

сти яв"1ястся х.кo]1l дoлисьiвaющий сс6я в коrtеЦ фaйЛa rт после сoвePш€ н иЯ


всеx зaпланl'1PoBаnIrьlхoперaций вoзвращающnii ylrPавJlеIiиеЛрoгpaмме нoсli-
теJю. ПPи i1}loгoкpaтнoNlвIrедpеrlrlиХ{oдъ] каlr 6Ьt <р мal.ЬIвaю'Гся>, пеPеда.
вая упpaвЛсtlие (J]oвпo I1о3сТaфете,oднal{o ссjl11xlr,ГьуllравЛelrrlя зaпyтaeтсяl
все нeмсдЛе]]нo Рухtle'Г.JIoпyстtIм' х-]roд пpивязltваеTся lt свoе\]y физичeсI{o.
пryсilецснrrю' o,|счl|тьI я цa фаil'Ila'ТoЦ(а пplr мl]oгolLPат.
||o\lвn.Jll'||ии|IoJ,Г',r,iЛL'r']ч6).)|pil,,U,,,,l\l |Ь|!,''ql,РNl.l)| rяleii|,,,пPl|.
наiiле'{aщис чужoму х-кoду' ll поuедeIrr]о116оrrхсTaнсT нсollpеДeЛellшьт]!t'
ПеPeд внедPснис;it в фаiiЛ ]IеРellтa6елъпoгoх.кoда нсo6хoдuмo ltт]еЩaРи'Гeль
нo у6сдиTЬся' чтo B фarliл не 6ьrло внсдpснo u,t'o.Toerце. к сo'(aЛerrr1ю'yнrlвеР.
саJrьnьlх пyтeй PrIIlенlJя Ilс сущсс1.вусT'xoэт.)пry rтpихолптся при6сгать к paз.
лпчпъlNr эвp1rстIrчeсIсlrмllpxсМaм. Pa(JlоillIаrr)rп1rпIприсyтств11с l1нopol1ltoгo
х{{ода Ilo (()свснlLьlNJ llPIiзJlака]м,
Рo,tiст'енныe х.xoдЬl вссl]Lа ]!()гу1..]Л()гoBol)иться} дpуг с дpуroill oтlllсч.tя св()e
IЦntсу-Iствlrc ylll]кмьrlоii с'lгнаTуPoii, l]ilxl]ltNJЧ), cс]|ll (l)aйn соЛeP'сr1т стPoкт
x'сode zANzIвAR heгe' oткilзl'tвaсNlс,l оT |l]'r/LРеll я пa Toll оспoвaниllt ltто здс0Ь
()бl)а6oTitефайлa
уя(с cс,гr,<своЛ>' К соnrirпеIlrпol этoт1.рlо](oчсllь |lс|lal(c)кelt. ljри
Лю6ЪINIулAкoBtц!tl(опl lt.rlи l]p01,ск1.()lюпfсl'lгJlaт"vрa rrсrrз6слоro тсрястоя' lIу p:ш.
I]с ч'гo вясlLрtt,гЬ с!t1.ltа,l.уPylJ Tу IIIlс'rЬссl{IlliЛ Рссyрсо,J, кoтoPуlо уltaкoвl!иlФ/
I Ц ю - l с к l о p ь Il l Р е Л п о ч r г l a I о тl l с | P o г а ' г ](, 1 ! к ' L l { i l 'l | | | ( х ) I ) N l I l l l Lo1 (яl ) а i i J | lеi T , д ' ) , Е Щ c
Ilадс,olеc в!iс'l{ря,|Ь(lI.Iгllit'l,уl)уь Л;lTy/UPeNlя IIo(!l0lLIlсii Nloд||q]|u(ilцult фaiiJlа ( lIa-
lIРIltlcpl l] l(c('l-IlJlс il(),'l!Iсir]rу|lЛЬI),УllilкоIJI|11lки/uрo1.cк1'оPЬl 0с oбыЧlIo вoсстa.
llillJlиваl{'Г|o,ц||ilкo]\laJlа'l,ц''|Л1iа(иГlln|vPЬ|вЬIi}ь]Ilit8l.6()nЬ|Лo.l(()JIичестl]oJlo)к-
пьIх срaбатьlRаIlI1ii' чl.o 1'(Dкс |lсхoР0l|]o.
IkDoдс'ГвcIIIlЬlN' Х.lсо/(апl rryrrхoдr.rгся rrit]!]ll()Гoхy,е' LLу'iIlх сIIгпа,гур oпrl Ilс
]llIilIоT Л no'Го]\'у llс illor.у'г tiаBсрll,lка yTDс]))iДrTЬl ]\lо,{Ilo 'Il|'loсyulсств]t'|ь кoP.
pеIr'Гl|оelJliс'LРcIll,lc B 4)аiiЛ и,t],IнсT. I]oi)1'0I|у х-кoд, |Рс1.с||,llу|ollll|iiп.t I(оPрскт.
нoсть, о6язrrтелr'rrrl дo;rжerr 6ьrть рснтa6сrrьrrьl\ll l] lЦo'Г|lвll0м сJу(lae сoхрarle-
llие Рa6oгoспoсо6]tости фaiiЛal{ уж0 нo raPtlIrгj'lpyеTся,
УпaкoвЛlllшl.л{ilзъlвaюTся ll дoвon!lю вЬllrЦ]ьlllllю|!i по.no)кelIпIl:двDl{дьt oдин
файJ нс сo)ItмсlllЬ, ссnrl кoэqnl)пЦI,IепTс'{aтriя окil)кстс'l llсчoзaющС lr?Ullупn](oв.
щик вllpaве oTl{a]laTься о6ра6aтьtвaть такоil t]хji''r, Ilpотcк]оPьr _ дРугоe делo'
I ]POтoкToP, o'|lсl]lЬlвaюJц,Jiiся o6pа6aTьIваTь v)xo уr Iакoвaшlrr,rс(зalrиr|рoваппыe)
фai'iЛь]' ]!'aЛо т(oNIyну)IrеIr. ЕсJlr nPo'r'слтop ruоrloлoЛпlиРуеT Рeсyрсьl' отказьrва.
ясь rIх прсдoставЛяTЬ кol1}r.Tо еnlе' оп /1оJжeн 06язатс'rьпo кoнтpo,lиPoвaть цe.
J]oстнoс'гЬзац]1ще]1Il(llо фaйла rt' о6IlарvясIв внсдPснlс IIoстoPotttluхl вь]rroдиTь
сoo1.веTствуloпlеe пPедyпре)кдснI{c на эI{pаlL' вoзlкDl(lк)' rЦrекраl]{ая пpи этом
ра6oтy' в пPотпвнoil сЛуЧae здirlиDlепlIыii фaiiЛ моryT yпакoвaTь и xoпштаTЬся
защитить пoвтopнo, I loс]'lе/.lствirя 'Гaкofi зaщIrтьi нс заставят сс6я ждaTЬ',,

кл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-

катe1.opия ^Irаиvеllес коrrфxllктнalr пpиloдxTк откaзу ЛxIIь тог'1а, кoца


фаiIл
кoxTPoJирve,Г сI]olо цеjIoс'ГIroстъ, с4]epa пP'iI!eIIеIl!lя наTегoриi'i B и С IoPaзlto
6.rJсс огparlrrчсна; в частIrосTIl, oни не спсlсо6Ilш o6Pа6aтываTЬ фаiI,rьI с от,1a.
дoчI'oij rlll4)opп1aц]rей' посI(о'Цr'кv oтлaдоIll]aя ппфoрlraция rrpактrтчесItи rrс...
1да сirдеp'iит 6оЛj,Illо0 6сoЛютrrьiе aДРеса. Ео фoрмaт

к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.

зyя дpyгlIe катеroРиIr впеllpеltllя,


IftтатIr roвоPя' pазлич IlьIeка1.cгopиипlo,{нo кoм6иl u.lРoвaтЬдPyr с ДРyгorl' ()су.
цествляя <ги6pпдIloс' в]IcllрснIlсl наслeдyкЛцeeхуl1ш]1екaчества Irссх l1с]1o-ць.
зyсNIьIхtrIехаilизr'Iоr'lto и aккуlllуЛпРую lее ]lх JlуtlUr]rсч€ P тьI, корoчс' дoЛаiiTс
(вoil вьt6opl гoспoI(al

к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

Bнeдрение, Пеpед внедрelmеNiв заro.пoвоrtХ'кoддonжсн y6едr,1TЬся' в L.oi,'.'ll{)


хвoстoвa'I часть заIо"lтовI(a(jlaскoвo rlазьlваe\faя <]1Pсдхвoстием> ) Дeiiств1'Т..I!-
uo свo6oдrra,тo eстъ si zeOftleаdres< Fs.r off.ЕсЛl1Хеsiz€ O fleаdrеs:: Fs.г оff'
'.22 rлава 6. техникавнeдрeния
и удалeния
кoдаиз PЕ-фаЙлoв

вoвсе нс фaкт' чтo свo6oдIloгo lIеста I] концr зaIoЛoвIQнет, (ПoДтягивaTЪ>xвoст


3aгoЛoвкак }1ач:L'1у псрвoii сокции o6ьiчтrаяпpaк'Гика60]rЬш11]1ствa .liинltеpo!'
yсN1атpltвающихв этol{ гарl{oнию вьiсIrIе.осмъrсла. скaниPoвaниe такi,lriзаго-
Лoвt{oвo6Ьlqнo вьlявJlяeт дJ]]IJ]]yюцeпoчlryпу:rAй' pаспonor{сн}rьIхв elo xRoсTе
иl oчсвtlднo, ни1tаitiJ llикем не испoльзуel{ьlx, N,Jо)кeтJrlr Х.кoд записa'гъ в ниx
свoстслo?дa' пIo}кет,tlo тoлъito с пpeлoстoporкпoстяiiлr,Hеo6хoДиlrо oтснитaть
пoN1сяь1!сriмсpс10ь6айтoтпосJieдriегoнe1ryЛerroгoс!rI1вoJ1а,o
учас.roк нстрolryтЬri{ (Е концс нсrtотoРьIхстPyктyP пPисуTсTвyст дo 10h нyлeii,
иcкФкe]{I'lекoTоpl'х ни It чсi{у хoРoшсмy нr пPивeдeт).
нeкoтоPьiе пPoГPaмNiпс'ГЬlпьrгaю1\jя|lРollиl.tlу,гь в Dos.зaголовoк п зar"lylll-
кy. Дсiiствитeлънo, зarpyзчI.IкWindows Nтpе:Llьпo псlIoЛьзyствсеloлIlI1Iъпleстъ
байтoв: сIrшaтvPy мz и yкaзатeль e-] fаnew.oстl.n ЬllьIe){с сro никaк не JтlrтеPесу
ют и мotуT 6ЬtтЬ исllojlьзoвaньt х{oдопt, Pазуп еeтся' о ]loсЛсдсTвиях запyска
тaкolo фaйJав r.o'Цol]МS.Dos"'rYчшс aс гoвopитъ' пo'.' МS-DoS yжcдавно тpyп,
lIpaвДa,нcкoтoP],lс впoЛнc сoвPс]\lсllIJыеPЕ-jалpvзЧ и к l l доToшнo пpoвеpЯют все
пoля Dos'заt.oЛoв].а (в о(oбсtttloсTll это rrасnстсяwin32 ,rvyЛ,l,loРoв),lloэl.oNlу
613oсс)6с)iirtРк,xь|ЛyЧ|IIe в |||]х|le'цсз1'Ьl
а ts0-L
tlсttoлЬзoвaтьдлясuoих |ry)rдГ)os-
заг,yrпкy - illо'(ll0' лyск.]ii и ltс бсз ot.piul'lчcl]ий, ДonoJп'Io мlloГo сЛсTсмIiЬtх
зaгpузq ]roв fie спосс)6llьIтl)апсJIllР()B:LTЬ Лиp'Гуа.rlьIlЬlс
iLдPесn'.JIе)кац e к зaпa.
Лу от PЕ зaгoJlовка, Ч1.() llPсl|'TстI]усT ра!мсrцсll'jIo B Dos..laгоЛоI]кc/.laгЛуtпкс
слу]кебпьlх с'ГРyк1.yРР]]r])tli]Jlа lliu(c ll '{с IlЬlTaiiтссЬ в]l€ л Pя'гь сIo/tzr'Га6Лицу
l,Iмпoрта llли тaб.rl lly lILJPс]IIсIIlaeпlЬIх
)J|o\1с|ln)BIA вo1.тeЛо х.](oда вlIeДрять

ксTaTII' пpu oбPабoТкс 4)ai'iЛaтlопyЛ,]PпьI]\lyпaкoвtll'|коtri UPх в[lсдрсняЬIй


в PЕ-загoJloBoк х.кoД lIе,]ЬDкпBae,Г' пoсItоЛЬку UPХ лo'rrroстьtопcpсстрaивaет
зar.o,!оsoкlвьI6Pаcывaя сrTтyл^все <rlJerlуnoюe}(DoS-заr..rlyIlпty oи' к снaстьlo'
]lе,грoгaеT), УlIако]llцl.rки АSРасk rr tЕloсk вoдyт сс6я 6oлеe коDI)екTIlo'сохрA.
Пяя и Dos.заlЛу!rl{у и oРигl1IiаJrЬныiiPГ загo.lloвoк,oДrlaкo х.к)д доЛ}кeЛI,lс.
холllть '|,l хJ Л||' |1' d'.llи..|П:l lj, l| lг ' ' о6ы |||ii
"
в 06щем слvчae вIleдpеппe rr ]дгoЛolrок oсуlllес].вJIяс,I(' l.аl{i
1, Cчптl,lвасм PЕ-загoловoк 1IпplrступaeN'к elo alIа-nll3y,
2, ЕсJIи sizфfнeаders < Еs,г.offи (sizеofнeаders + sizeof(x.сode))< Еs' r-off' To:
o увелIlчивnе]\lsizеOfнeadeгsrra sizeof(х.сodе) rIлIl же просTo пoдтягивael1
elo к гаi offset rlсpво].jсеxцпи;
o зaпllсываel{ х кo,1нa [16раз.)]lавlпеeся
мeсro;

с' сliа]'i1Pl'сNl PГ.заГo.ioвоft Ila пPе/lмет пoilска lleпpерI'lвнoй цопoчки нy.


|''.,|| r. |'. J."я6'||.li.|в гnjLнo нJ|iдёчJ. ь|l,/lрЯем (вn/ |еЛn,
вaчt{lrаяс 10l)6ай,гaо1.eellачnЛai
o BlrсдРяемх.кoд в Dos загjlyппry'lle сoхраняясс стаPoIoсoдeр){иirогo'
з, Есrrи BнeдреIrlre
пpor]IЛo
vс]1elrl]lо. yпPавленIrelrа х-кoД'
лсpехватьIвaем
т*ника внeдрeния
иyдаЛeниякoдаиз РE-файлoв |2З
идеIтгификация пopа.r.еIflrЬrx 06ъект0в. BIIeдрение в PЕ загoлoвol. в 60Ль!rив-
.твес-луча<вмo^noPаспoJнiГЬив|lJуil,IЬнo,PассiVoГриNl'кf,квь|гЛя]lи|B,lг
рeдalстoретиxичrrЫй исполвяeNfьIйфaйrl(pис.6,2). BФедзaкoнЦoм Dos.заIo.
ЛoBкal L)6ьIчнoсoдeРкaпIим в сe6е сгpoкy 4This Pгogrаm сaпnot Ьe гuп in Dos
mode' (или чтo.тo пoдo6troe)' pаспoЛo,к€ н a PЕ'ситнaтypa' за кoтopoй с.'ieдуeт
Ilе]trl{oloмусopа' щедPo Paзбaвлeппolo }ryлями и IтЛавIloпepе]екaюЦelo в та6.
лицy сeкций| сoДсp){aщYю лelкo y3llirвaeмьIr им€ н a .text' 'гsгс и.dаtа, ЕслI,I
файЛ упакoвaн, назвaliия сеIсЦий'скopeе всеro, 6удyт дpуrrrми.
ИнoгДa зa та6лицей сeкций пpиcyrствyeт та6лпца импopта в0|JND с пеPечнeМимeп
зaгpyхacмых динaмическПх 6и6ли0тек. да,'iъlпe, вп.дoтьдo наqaлa первoй сок-
ции, нe дoл)rrfio6ъIть ничer.o,(рoмe liyлeй, ислo.Jr!зующиxсядЛя !ьQaв]tивания.
oтo'(дeствить lIачaлo jrсрвoil сеrщиr,rлeгкo' нIвW ставит в oтoм мeoTc тoчку.
Если дe эгo rrетaк' то и(слсдуcмы.a ф]й,т .одеpжит х..roд (!ис' 6,3)'

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

адPеса и пеРехoДъrвIIутpи зaгoлoвка otr не тpaпсJlирycт, и их пPиходltтся вЬl.


числЯтъ сaмостoятeJlЬtlo,Дизасссм6nlrpoвав Х.r.oi( ri oxPсделив хaРактeP и с1.pa.
тlJпrю ]тrреxnaтaупpавЛенtrяl вoсстанoвl{тe пopaженншй файл u псхоДпъIii вl1д
иЛи пoтрaссиpуiiте х-кol1в отJ'raдчrпelпо3в()лLlgему сдeЛaTьэтo саI{oсToяTсJь.
d o , i в м o \ l r Р | , | . p . д а ч и у п l J п | P | | l l яU t ' и г и н а , 1 L н o :l l ' o г l , ] м N c ( с p o . Ь Г . д J ! l п
Фaзуttlсстся' пpoгoн aктиRrioгo х.кoДalloд oтла/]чпкoм в(сща таит ! сe6е yгpо-
зу, и oтла,киваeмaя пPогРaмNIatslю6oii п{oi\lентN'oжeTвЬlpваTЬсяиз.Iloд l{ollт.
poляl пoэтoмy eсли вьI хoTя бЬr чyтoч]ty нe yвePепь] в сс6с' пoльзvйтeсь ,цизас.
сем6ЛePoм, так 6удeT 6сзoпaснсс),

Pис.6.3. А тaк вь|ГЛядит


загoлoвoк
фaйлалoслeвнeдpеlrия
Х.кода

Если Х.код oказaлся yTPaчe]ll ]lanpиNleP|вслeДствиe yllакoвки UPх'o {' распa.


кyйтe фaйЛ и пoстарайTеоь идeнтЙфицIrровaтъ стapтoвьIri ]roд opиIипaЛьпoii
прorpаlllмъI (B irтoм вali itoможeт IDA PRo)' IlrРcyстaнoRirB IIa пeгo т(JчItувxo.
дa. Boзмo,спo, вaм npидeтся peкollсTрy]{PoвaтъoкPестIlосTи Toчки вхoдa! Pазpy.
IлeIшъIeIсoмaндoriпepехoдa па x.кoд, Ес!'iи исхoДIIьтйсTартовrnйкoд ЕaчиIlался
с прoЛola (a в doлъlUиIIствeсJtyчaeвэ'Гoтaк)' тo нa Рeмонт файла уйдет сoвсем
нlri{нoro вpeмeпи. первыс 5 6аriтoв пpoЛoгa стaндаPтньI Ii Лeгкo прeДсказусп{ьI]
o6ъIчIroэтo 55 88 Ес 8з Ес,55 8в Eс 8з с4,55 8в Ес 81 ЕсI,ши55 8в Ес 81 с4' пpa'
вильньIЙ вариаlrт oпpеlllrЛястся пo прaвllсlпoдo6нoсти Pазмepa сTeкoвol.oфPеii.
маl oтвoдимolо пoдJloк:rпьньIeпepeмеIlньIe,IIpи 6oлее сeрьeзпьrхразpyлrсниях
а.illюpитм вoссTaпoвJlения стaнoвится пeoдfioзнaчсн, и вal'' вoз]t]oжllo|llPидст.
ся пеpе6pать 6oлЪIпоeкoЛичествo вaрlraптoв, lloпpo6yйTе oтФкдестrить l{oм.
iexHика внeдpениЯи удалениякoда из PЕ.фaйлOв L25
пx"1яToр lt изyчl!тъ пoстaвJiяеillьп] пlleсте с !иIr стaPтoвЪlii кol1 - эr o сyщсствeнно
\ llpоlrraет задaчу, хy)I(еj если х кoд внсllPи'llся в пPоrB]]o.l']roс мссTo пPorрalг
rlL'l. tlpсдваPltтсльно сoхраfпrll oРпгItllаllЬ]1oе сoдеP'(иrrce ts зaroЛoвI{r (котopo.
Гo тсnсPl, с нaмll нот). вoзврaтпть иOloPченlrьIri фаil,r 1]з |lебыТllя' скoPее всег(]'
6уlLе1 llевoзпlojr{нo вo всякolr сnyчaеl llt1l{аких yнпверсi].llllЬlх рсцептoв e].o
Реatl'INlацrlи ]1с сyщ€ с твует.
HекoPре'{тj{o в11сдpснньlй х.rrод l'o)кет3аТсpстЬ та6лIrцудItапюoflнoro r]мпoР
t .|i " я r n ' ' , л t t т , 1 6 , , r r 'r lц 'u, ' l | | i ] ' , ,IU г J : | . , , , с | . t | ' . | | , ' ' : r , е , ,
Г' nli|'l'lIlUpi'|,o.|n|rю
ll,аiliу
в зaгPyзкe, этo пРoисхol]l1т Torда' кoгдa pазpa6oтurrк oпре/(cjlЯеT aкl.у.
а'llЬный ]roпeI{ зaгoЛо8кa tIo фoРI!yлr e ]faneW + 5 i z е 0 f 0 рt i o n а ] нe d .
dеr + 14h + Numbeгofseсtjоns*40, rtoтop'.l, к |ожаJlсниro' IJеBеplIa,ltал yхс rоu.)
рir]ioсь I]Ьпllе'Лl()6oiiкolxl'lЛятoP/,]l.lilкcр r1IPавсl'спo.]rь3()вaTЬ
всс sizeOfнеаdeгs

ГсЛx та6лпЦа /tliаПa3o]]]]orotlп'поpта ,1у6JI'Pус.Lстандартпуrо та6лицу иlпloртa


(а чarrrсвсегo эт() 'Гaк)' r! ltPoсl.lriiuпli] сrloсо.)pсNtotта фlii.lа сUoдtlrся ( o6lrv.
nсllllю 0х 1 1.o,пeltelJтa DАТАDIRЕстORY, а 1oчrlсo - fijы'r(rl пa с-ryук'гуpy IмAGЕ-
DI RЕсT0RY_ЕNтRY-вoUND-I |lР0Rт.DсЛ11)кс та6"!и Ita/tlrа пa:1ol'tнoго IlrjrюI'Пl ф,цсp)кnT
( T o ч l l с с с' о д е р , ( а . , I ау )п r к а J I ь ] l Ь |]сi l l I l а м l l ч с с ] ( l 6l сл 6 , l r r t t l r . с lor т; rс'у т с т в y к l t t ц rвco
llссх 0с1.аЛЬlllnхтn6лпцах)'Го/(,Jl'l](')cсTn!IoвilcJlt''r Лoс1aточl]озnаTь 6it3o}J]'iinД.
])сс l'tх3агpyзl{Ir,IтРи оrJ{,lIolll]|llloIJ ,цпaIlaЗolIliо:}tl|]\IIJoPтс э(]хl)сктrl8lIl,|0 aiФссa
rlNllloPTlфyс]\tЬlхфуllкll|{ii' )l(сс'l,хolIpolI,Iса|l||ьJс ,l llpot.РaNiiс' 6удy'l. (с],l./lllTЬся
]|il ||сlJЬlll(ljlсlIIIЬIll с1'Dа|illIll,l llaмяTul Il ollоl)itILJIolttlil'l сllсTс11a Ilс]ue,l'll0ll]к) a],I.
6poс иt. l lсtlltкl.tспltо' сoo6Ulа' rrирl.yаЛьIпnii аЛPo( Я ЧcliI.I'1' к к(),l.()Poi'i IIPоlt3()Ill.,lo
o.PiLцlсIlI]0 o 'с т а e 1 . О | J I l ' | ||l|LаЬi ' i t jдl l l l l а м I I ч с u r v ю6 l r 6 J ' t о 1 с r t (I r l э ' | o i i6 l 1 6 J l I r o ' | c .
l( )ii' (I(oPсс всcгo, 6yДе,l.r:rl6с'гвсцл aя 6l t6rll Irуr.о ка вo(:сTaI I1]
ItЛ'lI]aC]\l ol.о пр,tJlorкe.
l|||я'вхoll'Uцявк.ll!lп'lleк1.l()с,г^вкtl),со/(сР).ilrIl)'rorIoд:lпlкlмvадРссv6oлссиrtrt
llс!llсc ос]!{ЬIс'(ctltlыt.i кол' сoll||a]l;ll()|цllii с Toчкоii |}х('laв rрyrlIoo|](). зlIllя llitоilll
]lI'порTltРуёмых б|16Лllo1.ск,вoсстnll()яl'ть тa6:rrrцу дlrаlrазorrнolo l'll\1пlЦ'гilllс
состalrиT lп.lкitкol'oTРудa,
/IлЯ прUjlj1Чxя'.rто6ьl не pyгалlсr, ал1l{впPусы! Ilo)l{xo удrлlIтЬ llеaкTlвtlьIii
х.l.оД u3 (])aiinа'усTаноBLIвsjzeofнeаdеrsIlа посjlс1{lлrii6аriт тa6ли цr,rсскциri (плп
та[1лlтЦr,r
диапaзопlIсlгoltNllIoР1.а'сс,']l,I
oпa есlЬ) rl впJloтьдo Еs, r-offзапо-1Il'Iв Oс.
ТiL'Iь]rЬIе
6аriтьl ]lуJU]IЛl,с}INIвoло]v* tr",]илto6ы\JrIДрyrllмrIсll\!волаrflI ]lo (l]oollу
nILyсy(Лriс'ГlIllг6,1), напРип{eР' 1ексTоI1,od7??.? онlllhl 8upцс.L1]в1oAвo.npещеl!.

листинг6.1. ДИзэссeм6лepный внeдpeнногo


фpагмeнтх.кoдаl
(всeкомментаpии
в заroЛовoк принадлeжатидe)
нtА0ЕR 0 1 0 0 0 з 0:0т l r ес O d 0а L 0 1 0 0 0 0 0001 0 0 0 6 050 l r r d d efi . . . mn O r л r ld i s а 5 з e m h l y
] ] Е д D Е0R1 0 0 0 з 0:0а n d! а 5 l O а i ] еbdс с а u s tеh е u 5 е rO r d 0 г etrol L o a d] t с х p l r с i i l !
!|.ADЕR:01000300:
HЕADЕR:01000з00 ;<<<< Iт мАYс0NгА]NтR0JАNN0ПsЕsV]л]]sЕs'Al,]D DОl]АRмЕuL тl]INGs>>>
P|.ADЕR:01000э00
Fi.ADЕ8:010003р 0u 0 bilс 5 t а r t
H : А D Е R : 0 1 0 0 0 з 0s 0tаrt:
н Е А ! Е R : 0 1 0 0 0 з 0с0а l l s+5
126 и yдалениЯ
rлава 6' техникавHедрения кoдаиз PЕ.файлов

л'cr|rнr 6't (пpoДoлхениe,)


HIADЕR:01000з05
l]tADЕR.о1000306
l]tАDЕR
01о00з0с
HЕА0ЕR01000з0D
lЕАDЕR:01000з0Е
t]ЕА0ЕП:0l00030Е

в Х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)'

Pис' 6.4. внфрeниe Х.кода в хвoсг секции/Oflавц]иЙся0т вЬ|Pавнивaния

PдссмoТPuNlсTР},I{тypy (l]aiiЛanoteрad.eхei посTдRкuWilr(lolvs2000 (ЛисTпtlг


6'2),ФпзпчoскЛйразNllrP сск]Ltllt'teХt lla 6600Ь_ 65сAЬ - l]6h6аiiГ пDeвышaс-r
_
a ,rsес It,. u.l с00hl BIroЛI1o
вripтyа,rьвьli,i, 06ъсм llPoстрaнотвa
lLoс,ГaтoчпьIй
l1Ля впедрc}tия' lle правдa JIl't?])азумсc'l.ся'l,ак()евeзеI'll.IсвьlllаДaе,г/laЛrкo r]с
всеIДa, пo nаpy Дeсяткoв свсl6tцrп'rх 6ariт лкll(llo rlаiiтп прак1rt.leс(]l в лю6oNl
файЛe'

лисrи'|r6.2. так вьrЛядиттaблицасeкциЙфaЙлаnotераd'eхе


NumbвГNаmе v srzе RVА Г,.51zе . Oiist flаg
1 .t€lt 00065CA 0001000 0006600 0000600 60000020
2 dаtа 0001944 000в000 0000600 0006с00 с0000040
З гsГс 0006000 000A000 0005400 0007200 40000040
BIrедРeние. ПерсД tslleдpеrпlоr нсo6хoДиlltoнаi,lтll сelщ]llo с пol1ходящими ATртJ-
6}тaltи и дoстaтo'rнььr св06однь111пРoс,lрaпствoll в l{онцс иЛи рассPсдоToчить
iл{итываТЬ|чтo пиPryалLныli
Х.Iroдв нссl{o,.lъкпхсlrкциях, ПpU э'гoll }rco6хoдI,lllio
ещe нс
Pазмер секции зaчaстуlо paвсн фIlзrгlескoмy иЛи Да)кeпpевьIrnаcТсгo, Этo
з11ачиT,что сво60дtrое пpoстPaнсTво oтс}тс'гвyст: rlolipoбyilте прoскаlrироRaть
хвoстoвylo частьсс]rцriиrrапpсд]!1с1. i1спpсРьIвlюiiцепoчки нyЛей rсЛи
l lаLlп.lчия
тaкoвая там дсiiс.l.витeльironp]1сУrсTвует куjra 6ьI опa Делась?)' сe мо)кflo 6ез.

6()язIIelrнor,]спonЬзoвaTьд,.IявнrдPепия, праЕда' туT eсть oДнo <rro',lloчeмy.тo не
учIlтьIваеl{oс lloдaвляющrrпl 6оlьпrпrrствопr p:r:;pабo'Гчикoвi eслlr tsиPlу:LпъlrьIrj
'eхнИка вNедрениЯи удaЛениЯкодa из PЕ файлoв 127
pа]Ilсp ссxц!ш i1сньlшс фl]зI]чсс]toгo' заIpузчIrк пгtlopllруеТ фuзичссtlltii Paз сP
(хотя I,tпe oбязаrl это rlejJ]Гъ)' r1 оll iLо,{еT 6r'lть лю6r'1пl' u топ' чlтсJе ir зaве]lоNlo
6ссспIьtс.'1снньIll|Ес''lивиРтYa]iьныriрaзllеppaвепrry"t]()jза|Pузч
в огo кaчествс физIlческltйl oкРyl.iяя егo пa]lе"1lllllllj! seсtion Alignment, Пoэтolfv
ес',lи г off + г sz]]еlLо,юРl)ii сеl{цl1r11lPсвьlшalrт г-оff сЛе,.lyiопIеil секlll{rl' с"lJе]lv
ст '11116()
oТliазаTl'ся oт о6pа6oткп таloro фаriлa' lrи6o са;rrrх:'гoятe'll'rtoяl'tчrlс.lrrr'lь
фIlзrпескпii PaзпIер нa oспоuе РазIIr]цьI га\, оiisetbн.1вух соссднlх сскц]]i],
lleкoтоPьrс пРоГРaNlп{ьI хРаlIя1' oвePлсl1 вlLуr]]l1 фаiша (да' пNfer]Iroвпvтpll' a пe
в lioitцcI), пPп этом Pазн]Iцa фпзпческoro п llllpТyаЛьIlо1.o pa3мсpов] Ir:rIrпраBlI
rro' опазъrваeтся 6oлъnlе кp1тrlос,ГЛ (i'iJЛЧеско1.o вьцrавнl1ва}llJЯ, Taкyю секцl.lk)
jlучш( l]с тPоl.атЬl таl{ l{аtt вIrсrrPспlIc х IФда' сIФ])еc всr1.сl' lцrltвсl:rст к rrс;116o'
тoспосo6llост фаii.fl:t. к сохшеlllпо. оBсl)'1сlt ltсl1L'lrсIo РазпIсPа да]lпьп:i а.!rо
PIl'Гll o1rrо9llТЬ llс ! (oс1.oЯltllll' lIoJтolly всeглa прoJrtРяlгге lllx]дpяс}IЬrll участоri
I{а нy"]rli x oтI{aзЬIваrIтссъ oт Bl{слРсIliIя. eс.lllr 3jLe.Ь l)а. l()nonrcl{о ч,|о-тo llPyгoс
Бoльпшrrствo pазрa6отчr]кoв х.JФЛ:t пРoяBnяЯ |Ц)сс,l'\,IlllIIo)iа.1rат1tосТt'l llpсllс.
6РсГаl()| r|Рo!сркl)ii аlрLl6уloн r:скцлll' чт() lЦ,IgoдпT к li!Iiт]llleскlIх orпл6кaпr
11]|p{)чllNl((]]rln]з|lь1Nl]|Р()6'']с;\lilIl.Bl|(]дРЯсlllilЯ(сl{цJiядoЛ)r{|l.L6Ьi'п]'l]o'пcР]ll,lх'/
с].Yп floii ((l)Лnг Il']AGЕ-sсN-МEi]-RЕAD устаI loRЛcl l ) r I' llo вr.oРЬ|х' l n]Bl'Il.lrulilсAlo] i Gl']аг
tHAGЕ.sсN-HЕl{.D1SсARDAвLЕ с6РоlJlсI ) Яtcjll|l.('r|Ьllrl (rrrl lrс o5язal сл ьпo), .rто6ьI по
к l]iliirrcii r! сPс oдll Il tlJ (l)rlillot] Ii'1AGЕ-SсN-сNт_с0DE II.1lI I AGЕ.SсN сNт l NIтlАLlZЕD DAтA
6ЬI',lyстnIloвJJсjl' Ес,'iIl '(с:)r]' vс.TоllJtЯ llс (ю6jк)даl{'|(lя li д|)!l,l.II ll(,lхoлЯIц|Iх ссi{.
r r r r i l r (rr' . l v . r r \ \ r ' . r r l ' , . . r l t ' r , : ' , r , '|r|,''., " i i . r . r , r, r r . . r . { \ , , r \ r, rrl'._r
l l v к ) , o / l l J а l ф р i r 6 ( ) T о с J I o ( ! 6 l | ( x j .lП ] (' ) д ( ) l l i , П r | ( )|l 1l ])l J . ( o ' ( с l l l ! , 1
l l! T о N Iс ' l | у ' l i ] 0! ) ( c l l с
l.iч)ilIl11lроl1,lIla.!..j]lr (),rliГr| ]l4АGЕsсN шЕшsHARЕDll IмАGЕ-sсN-мЕH-l,iRIтЕ ус1|lri()llrl(l.
] | Ь l lI , T a I L v l ос с ] L l I l I | 1l !)' ( ) i l {t. l I l l с а l ' к 1 l ) \ ' | ( ) , l ( l l J( 1) ' r I o у ] 1 ] ' L | к )l ll t l д р ( r ' 0 0 i } l l | . ] ) ] ' : ] к l l
n{v Tll '|Lo Wil].]0\\'s {)\ lюзll',|.T
LьuL('Л''Гl P.lздсn'сIlyl() IIа\1Л|l, l.ojlЬ'ф вo l]IОPоЛ IIoxОвI,lIIса/ц)ссli(Л.())|Р()с1.l)ilIl.

П o с к о n ь к у п P I t в | { c д P с п t I ] lв х в o с т с о I L I ( r t IIll с в о з ] \ { ( ) ' L l l(o) L , l и t ] l f l Ь/ ( а l l l ] ь l с '1 I l ] и .


ц | | а - ! j ' l з l , l P о t s i l I t l I1ьt1уеЛ ' l I I l l '( ) 1 .I l с r l Л l l ц | | а . r I l t з l 1 P o в а l I ] ]]Ь( l хl t I l | Ь l х I' l с p с д п . р с / 1 a .
чcii vпpaв,'lcни,t oсl'oвtlоllv l{oдv прoгParlNп,I х.кo]1]lо]]жell iliLlIе(lIl (Лt)(ln, lк.
ltуpa1nl) ll0дчllсTив всr зa сo6oii, 1laIlрrшlсP' сfioпllpoвать свос тсJо в стек rlЛп
в 6yфсP ДlllIaNtl.IесILoil паlfя'ГI,l п верпутъ }lуJll tta lteстrl, К tuк;шtсttttlo, мttoгttсl
()6 этol1зa6ьшают, в рсзуJЬТатс чoIо часть прoгpa]\]N oткaзъllraеT тJ ра6oтe,
]tод' внодPeнньIiiв ]toнсII секцriri' ILакпРавrlЛo' вьnкt t вaer. пplr уr raкoвкс rlrrrо6pl-
i:]oткe фаii"'Ia пРoтeкторoNl (тaк кilli вIlеiЦrе|lJliulor).'lnсTь nамятx тcпcPЬ ]loмсчcrra
xaк за]rятaя). исIIпючснIIс сoставляют сJv'{e6llыe сeкциl,ll liLкl,lе кill{ сс]tцll}l ]lс.
рeмenlaеllъrх элеrtепTов ]l-l]r!сeк|lIlя Ill\11()l'ru'())iР;LняTЬ кoтoPьlc упакo]rщик нс
.)6'зан 11вfloЛно IlожlrтPскoliстPуllPoвaть и\ вь16расьIвая oTT\./l:lвсе <]le'lу'oюе',
oбo6IJ{еtIньIti алroрtrтl' внеДрения Bь]lлЯдпт пpl{6ЛllзltтеJ.rЬllo Тaк:
. счи,l.ьt!aсмPЕ.заr.o'шrвок;
. Jнaпиl,,г)PYsдстiOr,аbrе,.IjJlll|||в'и'l'lJy'|', ||'Iii.в'lpv',||

. ищel{сeкцпIrjу кoтoрЪlx г sz > v sz'и 3аll].lсывaсм их в lLанДидатьI на внe,.Ipе


ние' пРrдвapпТельнo y6eдLIвпIисЬ| чтo гl )illостe секJ lllrl содсрхaTся o/ll{Il нyjrxi
128 глава 6. техникавнедpениЯи удалeниякoда из PЕ'фaЙлoв

. eсли г-sz . v sz >- FA' нcтpoгаеN{Tакyrirсeкrrиюt таIскaк| сl.opeе всеro1о11а


с o д e P ж и | o d е' , l lи '
. eсликвopУмаrra6рать rrсyда]rось'иUIeмсeкции| у кoтоpЬlх г-sz <- V sz'и lтьг
Г а е v с я н а й I и | | e л г e р ы в, v o U . ] | U ч | .l}l у j e й в , х | , o h L с :
. из всeх i(aндlцaloв oт6иpаем сeкции с нaибoльпl!пl iro,/Il{чествollсв060Д]]0-

. rtaхoДим сeкциюl аТpи6yTьi кoтoPoii PaonoЛаIaloт к R]reltpeiiию (Il,1AGЕ-sсN_HЕl{


s н A R Е D ,I } . l A G Е ' s с N - м E l , l - D I s с A R D Асв6LРЕo ш 0 н Ь I , I l 4 A G Еs с N l . ] Е м - R Е AиDЛ и
II{AGEsсN.l.lЕl{-ЕхЕсUтEyс].апoвлelrьil I|4AGЕ_sсNсNТ-сODЕ или Il{AGЕ-sсN_
сNТ.INIтIАL]zЕD-DАтAУс1аlIов"rIеrrы )i а еслитarФхсрeди oстaв1rпrхсяI{андидa.
Toв пеT' ли6lr ltoppсt(Tl1РуеllaЦ)и6yты сailoс,l.oятeЛьпo!лrт60 oтказЬlвае;!lс'I

. 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т'

кoд в хвoФe сeкции AаннЬlх_ призHaквнeдpeния


Pис' 6.5. oсмыслeнный}4аu,lиllHьLй
тeхника внeдpениЯиудалeния кoда из PЕ.файлOв I29
впeдРенr1с вo всr с.]iyжc6пьlе секцltш (Itё]tp]tмсP, сcкц'пoРeсуpсов t1J'll1fiхuр.oв )
Pасtlозl1ается пo нaпrпI]llo в ]l].1\чvхсpoд]]ъIх эrrellerпoвj ltoTopЬ1с l{с пpIIнLцJrе
,fiат IrиIiаIioI]iпoдстРvк,|yРе ]Lаrlнr'lх (p]lс, 6,5),
BосстaноBлепne поРат(енньlх o6ъектов.liaпir ]rсегo прихoдIrтсЯ стаrrкIrваться
. тс\f' чтo пРогpаi\{ ]\1пс'Гr lе IiрсдусмотPrл спeциаrьr lоii о6pа6oтки д.]iя вI.Iрryал ь
нoгo paзl{еpa' pавil{Л1) Itуnю' u llrссто тoro что6ьr впедрrrться в хвoст сeкцlпr'
.Гaкис
нсo6pатпмo эaтеp еe l re.{:L,lo' {l]аiiЛьJво(сla!o&4ertЛIo lrе rloдIс]{ат и доJ],l{
ны 6ыть унп.rтoлсепьl, Pcжc всr'pс.rастся внедPerrпe B секциto с <(IlсYдaч}lьil{i,J'
аlpllбYтaltп: сеrtц1llо' ljсд!)с|!llrlую ilля чтellЛя, п"lll DlsCARDABLЕ.секциI()'
Jn' Pеаниilаlпirt 1|1iiJlа ittl6o за6сplrто y X.rtoдa упpав.rrсrtrrс' 'rп16o oтpепlоптlг
]lIiiтс aтP!l6v'ГЬI сeкцlJЛ.
\1ol-/г ТaD{e l|('laс'l'l,ся фаilrtы с t]епPaвп.iьIlо <lюд'гЯtlvтьIм> вIЦтуL-пnIIn]!| Рil3.
}rсром, O6ь],llJ() rrlIPY(оllllсnТсJrl устаЛaI]ЛIЛ]аю'гв'Цryil-'lьIlьli'paзlIеР вllellРясi\loii
сскJlDи PanllыN{ qЛli]]1Чсскопtу' за6ьIвая o то^{' l|To с(,,]JЛr-sz < v-sz! тo BЛP]..уILЛr)'
llJ'll pазl'ер t]]|cдует J]Ьl'l|.l(''lяl.L'jll(хoдя j]з PaЗll}lll]]I RuPlYir-lьuЬIх адPесоR тcJ$l
lIiсji x llосЛедукnцeii сскJllIii. к (чaс'l,Ьlo. оI]jll6xп вlIе/IPсIllIя lJl.ol.o пlliа l]с /l!:сT.
])\lкTliIr Ьl. lt llспраlrIlть ]r]Ц'Гv:UiЬI|Ьliiрa|lrvIсрiloжпо в Jп()боi.iN{()Nlс]tl,

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ки

PeГy".]яРlп'c IloсJl".Довar.t:nr'lloсTl'lчаlrrс вссгo o6нарy'r,IRlются Ir pесyрсaх.l1.оЧ-


-l.ехпЛЧcсlill
Irеe в Ьitшap'aх п r'rкопli:l}i' вIсдPI1Tься сIoдa нпчегo rlе стoпт' пo
]1oЛьзoвaтсJь тут,{с зa lll чсrc дoпyс]tать н]l в ltoejil слy-
чаc llrj"цr,:J!(дФкс с(l'Цx этo и ltс l.Лaвнaя 1Jко]]](апpllJо)к(rlll'' ПРоroдl1lrк llо]{а.
3ьII]ае1.()сl.а'1Ьl t Ьrc ]l0 lli1'каLllu ]t]]оlll{и сМенить знаЧoк D ме|l|o св{)iiсTв яPnыкa),
сylIIeствyет лРyГая пl)о6Jlеntai ссJ]11|]сгIЛяPнаЯ пос.r]е]1овaт€ r ]ь]lос'Гь оTttoс11T.
сЯ к сЛyжебпьIм сTРуктуPnjll /{аll l tr,lх]il]1il.lltrзllpvс]!1ыхзaЦ)Yзчикoп'' то фaiiJL <уlIiL.
/lagг> eJILc,l(о т0гoj кaк х']tоjl усll('ст loсФirloвитL этy PeгуJIяРllylО |(x]JleЛoва-
телЬrloсть в ]1схoЛlJьlii lrluL,сoоTвrTс1rruJl|()' сс.rlll Рс]..YЛяpIl;rяlJoс",JедoлатсЛЬItoстЬ
сo/lcPl( Il1.ка(oе.тo l{o.]J l i чес1 Irо ЛеРсl\|еIILасNlьtх )JIе]\t с l I Ioв ].lJlt,lэnci' сltтo в Tа6Л п.
цьl и]\1пoр,га'тo B l.Iсхо]LIlЬlli i]пil сc вoсс'Г;]|lill]nl||]а1.t, ||ll l] l{o0Il сnучilс IIсJIl)зяl
, | ' | | / | , i | | l . | ' ' | , , г| .) l г \ ' i ' | | ) , r , ,
l),li'' ] | ' , i ' ' + . J , | , I J . . ' | ' J , , I '. ,
' | . c j l Ь l l o с , ]с. JуlJ i l e с T I J с i l | | ( ) | | ( (
) ) T | | | l ' l Ь
l ] с с T i l lк)!lrI(,l tlр],lItцllllI,lа"цЬllo
УсЛ(),{|lя(T(Jl.

IIplв/li]' tlсxo'гopьIс lll)ol.PllN|]\1|.lсTln


llс||о]lтjtlIll(а 1l]lc)tl),rl()]Urв laблr,rrlу lк1lсьlс.
x(а0i!]Ьlх э,,IсмсIfГoL]]|l0обРIl,гlII1oзaTlIPaя сс сo/lср)(Itivоel liоскoJЬкуl I|o I]х tlJlо.
IiI1'О' 'I 'оJl'l,lo\]I.'м фаiiJlаN olra llo |1\rxora' ваPваpьII хоTЬ 6ьr ylloсToпeрt'Jlись
сllачlЛa,ч1.o01,00,00.00h >- Imвg€ ваse >:40,00'00h'BпрoтlrrrlIoп'сЛучacTa(F
'nпЦa пеРe]!{епIaei!lЬlх!'lIеnlеltтoB l)сilj||nю ||у}кllа фtli].,lУI к Tому )t(с нс всc фаilЛЪl
с рaспlIrрeнIrепt ЕХЕ _ пспо'nllяе]\ll'е' ПoД пх JlJ).]Лlюii вnonllc rvоx{cТ rlPятa-rьс,I
rI лиl]aNJrгlескaя 6ll6ЛIioтeкa, а дппa!I.lческПI| 6п6"uюl сrtам 6cз лсPсlrсщснrrя
нIlltyдa' вoпрскIr рaспрoстPанcrrноItу мflеIriтю| устапoв|ta аTри6yтa Il]AGE_Е]LЕ-
RЕL0сs_sтRIPРЕD tsoвсс ILс зanpcщaсT сl1(тсNlc ]lсPсi]сщать фаirJ' дЛя корpектпоro
oтк;tro.rеrlIrя та6lrrrцьL rlеpсIlсщаollьlх э.lоIlсtlтoв нсo6ходш;ilo о6lrу"lпть пo"те
]llAGЕDIRЕсТ0RY
ENIRYвASЕRЕL0с
rrDATА
DIRЕстoRY,
AtsТoPзнаItoltс паPoIi Jiа6oрaтoPньтх
виpусoR'умeЛo иllrсrPиPyющrш х{oд
в oPIJгIIнальнyrопРorPaпi]\IУI,IакTlIвпо IJсЛl)льзyroЩrrх сTPorlTl]nьI]шiiп{aтеpIJаJ'
llaiiДeп]IъIйв Tе'']eфai'i.!i1.хoз'uвa,oснoвнoii IIнтсреспредставляют 6п6'пиoтeu.
llьIе фyпIсlltll' Рaсlioзllallrlыс ''o '1х сигнатуpс (нaпpиrшер'sрrintf' гаnd), a есЛи
TaI.oвь]хlIе o6]]aру'кl]вaeTся'Х{OдЛr16o oIраitпчl!вa€ т свою фyrп(lIl.loIlaqь]тосTь,
Jlи6o pс.rjlrlзyс.тих сalloсToятс.l!]ro, в деЛо пд1т ]l oдllночl lьlе lraшllIIllьle кl lмаll-
J1ьI'Tакие как сALL ЕBх пли J]'lP ЕAХ,с!riс'] ЭTorо тpюкa зaкJ1ючаeт
пlrдо6ное пероNlепrIIвaниекol аrr/'1х lLoдaс коIlаlIдa]vlrlOснo!]lоr'iпpol.pамllrn нс
I1с,звoляeтаJrтIIвIiP},самoтодPaTь х'itод от (l)аiirа, oдflакo данrraЯтrхникa еЦe
lIeДoвсlrеla дo yмa rl всс ещс нaходится в ста]1llЛразpa6оTки'.'
и yдaлениЯ
тeхникавнeдpения кодаиз PE.фаЙЛoв 1з1
BIreдрение. Алгopиlм в L1сj\Pс|1||Я
ВI,IrnЯДLlт пP|16lи з и те''lьнo так:
сканиpусjll фaй,r нa пPсдмст пoисitа p€ r yлярньIx пoслelLoваTе.ЦЬtlotlТсii tl oT.
6uрaеi1срсди tltlх цспoчI0r на116оль lel"rдлIrньI, Пpичеп с\ll'N1a lх lu1l1ll jloJr,к.
l lа нссrto..lЬкo пpсв ь]шaтj, pазilсpЬl Х-кoда' таlt как на кDкj1yк] Цeпoчку в сPе]l.
l]епl tlpuхoдиTсЯ 11 6аilтoв слу,кс6ншх 'цанньIx: чeтьЦe баiiтa l]a сTаPТoвую
Iloзltцl1lol oдI1116аiiт . 11адЛnlryl oдин - на oPигиIJалЬlIое сo]1ер)ки[1oеrl еще
' ятo б, jгГ.Ь l l | \ | с U | | | l | . ] / , |! U ] \ l r j ]| \ | , . | с I o д " | , I P \ г n i ] | l e п o ' к e :

, , l , + , , , ' " r t . , , , ч , о l l | | , а к : o l ' : п ' U L ' ] | o Ч t , н г | P | | н a r , , к l | | | | ' l ] | | n i i, , , 'I l l ' г


с,|PукTУрl llсPсчrtсJ]сннь]х в DAтA DIRЕстORY,имerrнo пoдстрyктуРl a rle fl.pук-
|уpI 1loсt{oЛьr{у Taб'.lи]rЬ' эксIJoPтa/''I{лоpта] РrсyPсoв' пеPe]v!еLцаеN{ЬIх эJ]е.
Ilснтов о6Paзуют пtпoгoyРoвнeвьIс дРeвoв!l,1llьir llеPаpхиll, tlрo11звoJ]!j1],1Nl
o6paзor$ PaссеяппьIe по фajiлv' оГРаIlllчlIться олlloii '1ишЬ ]lpoвсpкoй npл.
нaдrrеЛoroстп'
IIIAGЕ.DAтA.DIRЕстORY
. Vi гtuа]АddressU ll']AGЕDAтADIRЕстORY
. si ze
кaт']гoPrIчсскIr
ll€ л oстатoчнo;
tlPorсPЯсl\l aTРи6утLl ссliцп11' ]{отopЬr]!l пр11падЛсжrlт цепoчкa (I}.]AGЕsсN-
14Е14sнARЕD'Il'1AGЕsсN МЕl1DISсARDAвLЕс6Po!rснЬI, I AGЕ-sсN-l.]ЕI4-RЕAD rlлп
IllАGЕ.5сN'14Еll.ЕхEсLJтЕуfl'аliot}.lсllЬl' ]}1AGЕ.sсNсNТ*с0DЕ lrЛlJ IHAGЕ-sсN-
сNт- I NIтIAL1zЕD.DATА \,сTaIi()rlnel Iь]);
(liaPcJaсм' х{ФЛ |l;t/(оJlЬкll|/ю6irв.I|яЯ п кolIcILкa'{Лoй |l]}|llrх кONlаllilу |IсPс-
хoда lla JlаilaJкrсЛе/(yJo|цсii'Ilо 3а6ЬiBaяо тоN, .ll.о тоT jnр, к()T0рь|ii((хЛr]с'L.
('п]:r'e1]\laiIIjlIlIIоl!'yк()Л) Евh' ра6отаст с oTIlос|1TеЛЬlrнNjl'til/'lPcфl\Il'tl || i)1.()Tс
( а l J Ь | c ; 1 д Р с ( a 1 к o T ( ) Р Ь l o( ) б P l l ] у к ' г с я l I 0 О l r r з a Г P у ) к l , I l l p o Г P a j i l \ l Ь Iв l I i l n t Я г Ь '
с < с Ь | р Ь | N l I l(' i Ч с U l с l I 1 4 , l N jl ]l 1l | у ' Q П ( D l l i i J l !оl I l l ! | l l I l ) l l | ]lсl с с o в l l a д i l T ь . l Q l I ( l Q i г
виnЬл0 ЛЬlчll("цl.l1,Ьo'LlI(lс]r,гсJlЬllЬ|iiil!Ц)oс l|('PoхоДа? o,lpсllс'llяс^1сNl0Ll(с|llIс
fioмitllдЬl Iloр0ходa o-г (ljllзI,!чсшrcгo l]?lчa'llil СcкЦпЛ, !ю6aвЛ'lсNj lt llсIlу ItятЬ
баii'l.ов (дJIlllla ,{ol1a!ur],lвмссГo с оllcPаuдo!)' ] l('|yчollIl}']o вcJIUчllllу СкЛa.

реNlcIlllук) 4:/, зl1сl\l oIIре,цeляeN{сlllclIteпие следуloцei'i lLе|i{)чк}1,o1.счx1.ь]вit.


еNIoе оT llailAJla тoii сe]illllr', к коToроii опa пРиIlа/.iлфкttт' Il скЛaдЬ]вllеI' сl.()
' зalIl lсьlI]:lя поЛучel Il Iьlii l)eзУЛ |,TAТв r lcРеIlеIr ]lуl0 .l2-
с вuртyilllЬl l 'I 11?l/lрес0]!{
T.:r'1 |L42 lIa/,' I P |''i|',|чr' t''й I I ) | ц | | | j| I p
"l,''l''l|,,',,l'
адPсса,ll]llнЬI и rlсхoднoс сoдcP)lс]Iloс вссl цсlпoчск
в rlltIIрoвизlrроBaнIrоN хранl{JIlIщe' сooрут(еIrнoм jiи6о впутрп PЕ зaroЛoB
кa'ли6.)лпу1.lЛl ol1поitи] IIепочeiL' Ес-1llэтoгo1lе сдejrать' тоlДа Х-IФД пe с]vlo-
)кeт I1з]]Лечьс]]оe TeЛo ].'l фaiiЛа'хoзяrrllarlЛя 3пeДРеIlllя во Rсe пoсЛeД}4oпIие'
llскo,гopьtе plзpa6o,гlикл вмeс1O I(ovaпдьl jmp испоЛъзyloт са,]], Ja6рaсьшаli)-
циji Ilit !еPl]rllr1у с1слa aдРес вo3fiP;|га' кaк llе,l.ру,I(ll()сooбpaзи'|ь, сolloI{у|l-
]loсТь адPcсots r]oзвPа1.а rQеДсlaвJlяеТ сo6oi] лoкаЛ]lзilц11ю <хв0с,|oв)' всeх
l1сllo.lь3yемьtх цcnочек| a aдрeсa <Io"1oв' хрa]lятся в oперa]Це (olиr]ДьI сall l
l,IзвJrскaсI oчсPсднoil aдpсс вoзвPа1а, ),]urfiЬшaе}] еlо на 4' и оTнoсlTсJlЬньlii
сTаpTI)вЬtil адрсс сxсдуloщсй цсnoч]{u llсрс/r наl 1I

идeнтrtфItкация пopа'(el{ньIх 06ъект0в. BпeДpeппе в реIyЛярIIyIoпoсneДова-


тс,'1ьI]остьдoвоЛьнo лсгкo РасIIoзt1аTьпо дJlиннoii uспоvкс iпrp'ов rrли саil'oв'
пpoтяtlyвшихся чepeз oдlly илtI нссr{oльltoсcкцийфaйЛа и зачастyю PaспoJ'aгa.
Lз2 и yдалeния
rлава 6. теxниG внeдрения кoдаиз PЕ.файлoв

Ioщихсяn совсе]\{нe свoliственllЫх испoлI'яeмoNlу lсoдy мeс'гахlllаIlpи]\lсрв сeк


шrидaнныx (лnстIrпг6.з), A ссли x{oд впeДpиTсявнутpь икo]Lк'tjoнa lraчиrla
e1.хapal{тcPнo<шyi!{еть'(pl1с.6'7), хРке' есЛи o/lttар€ r yляp]Iа, цеnoчка' Pаспo
;rожсннаЯ в кol1oвoй сeкцI.rи'вмeщaе'Г в сe6Я вeсь x{tод цeЛикoil- тoгДa r].]тя
вь!явлеlJия впeдPсннol.o кoдa пPихo]Iптся пpи6егaть к elo дrrзассем6лllpoваl11'ю
!i пРoчll]\]хt.lТpoyпlньIмтPIoкaм. к сЧaстьюl таl(иe pе1.yЛяplrьlецeПoЧки пpакти.
чесI(],'tlе всTpсчaются, вo всякoм сЛyчае' прoскaниPовав сo/l"Ap'll1,\loспalioк
WinN1.tr PгogтаrrrЕi]еs, я o6паPyjrrиЛли1ЦьoДи]tта]roirфaйЛ, Дa и тo дсинста-1.

Pи€ . 6'7' внедpениe


х.кодав главнуюикoнкyф6йлa

листинr 6'3. внедpeниe


х.кoдавpеryляpныe
цrпoчки
0l00A708:

0100А109
60 рuslrаd
0]00А70А
Е808000000сd]] 00100А7tА .'..'. (l)
0]00А70[
64678в260000
mov esp,fs:[00000l
01004715 push a fs [000001
6167IF360000
0100Ai1B]
646789260000
mov fs |00000]сsр
0100A72i:
L800000000с0l] ...., . (2)
00100A/26
'0100А726:5l]
0 l 0 0 А / 2 i |8 з t D 2 3 sub cbp 023 #
0100А72АЕi]2в jлps,00100А75/'.'.'-' (З)

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

вoсстailoвлсtlис поpФfiснrrьIх ()6ъект0в. oтoДPаTЬ {Jт фat]Jlа х.кoдl нalrухo


.,ll|вшlJnсЯ с нI1]!lв иtlTсlpaцrul nЛхllil}lчсскol,o 6Paка' llРактrruески нсвrrзмож.
]iо, пoс(ojlьl{y oT.{llчllTЬ фрnl.пlсяТri х.кoдa oТ фраr.,vеllToв opпt.] lнiL'1],]{oг0li]ilii -
,la llllак'Гич€ с l{п IJ€ P саJъно' Да ll нуяtllo nи? BсдЬ l1oс1.a,r.oчrlooTo6pатЬ у нсro
, !lpав,lепllr.'' к с,Iастьlо, тartltх Ilзo[lpенньIх X.кoдoв в дIrкoil пРпpoдс пpaкгl1.
llt(|кlI llс lrстРrчаетсяl lI o6ъгпro olпl огpaнививaroтся впедPениспl в свo6oitньrс
.с 'lх T(,.rк'l]rрtJ|ия) РегyjrяPill'е посJrедоlrатс]iьнoстlll l1oтoРьIe впoЛнс ]!toгyт Ilрl'l.
lr:ril'rLrк:ггь 6у(leparl rпrlпol:rлitЗиРоваIппnх,lallпьrх, и ссли Х.пoд пеpсд псрсrra.
.l.ii v]|l).L|rJJс||l|я oPllП'llrаnьllоj] пPоIpамi,r нс пoдчIlстtlт их зa сo6oil' сс IIoa(цс.
r I l L с l ) с к у с T с , | . i l ' | .сЬ( ) B с P l l ] с я н o I r с п p с д с ( а з у 0 п 1 l l ] ! t ( o } l а o х и д а Л а у в n д e , Г Ь
]l ll lиlolaЛ]t3lllхЛ]аllrlоi{ aсPc]!|сн!lой tloЛЬ, a сii чTo Iю/r0yнyЛп?)'
]Jlх'(|'|ilIloв'llсIlllc иксllю]( l] Ьiпlrn|)'oll1lс сoс[a8Ляc I боЛl11]oil ltPoбЛсмЬt ll oсyIIlс'
.lП'l|Яс'гся трlllll]ilJIl,llоii lIpавкoi] рФ\,l)сoв I] Лlo6ом lц)!l''lич|'loNt Pс/lаlffoPс (||ll-
]|р||]!1eР'l] VisLlа| str.ldio), :Jадilчy суul0с,l.в0lux) уIlPo|цас,г ТoT q)aк1.'чr'o Dсс ||ко|]'
] i I l o 6 Ь I . I l J ( )х ] l а I l , l T с , l в l i с с l ( o J I Ь l ( 1 1эхI t ] } c ] \ t l l J l ' l P l l вх Ь
] | I l о . ц I ] c I l l l l , lсх P l n I l ч l l 0 i 1
rl|]oT()]loii||aлli'Ц)oit Il рiLзрс|]Iс|lllc\{' I{ Тoму хс !l3 llссх рсгyЛ'Ц)lЬIх Iloс,lIсl!otlа.
|с.'ILll(х||1]iilLР()Ц)дN|мrlс,пn()6ьItIIloвЬIб'tрalo,l'дЛ' вIIqрollllя rtyJlЛ] сo()1.Jlc'l1t]]у.
k ) l | L I 1ILIl P o ; 1 l r ( r ч | | ( )цмBvе т у l l и к o l l к a х п I r с р ] l о ] \ Iву Ь i t l n а P ' a х ' с a r ч i l l r a P T | ] t I l t o ас.
]ilс'Г(,| ||с|l()|rl)с'qlcIllloii' rlo oItPу'tсIlн(]ji мусoPoil, l{о-l'oPЬlii JIoГIro ylli!'l|'eTся
Lr(t.1rlio]!',Ес,'rlI пoс,tс yд.r",lc11lrях.кoда ll)аii"']oТ|r:rilЬlвac].ся3:1|lус]r.t'|.ься. прoстo
с\lсlIlr1C рсдакгоP PссlyPсoв Jlll6o Roс|l()xl,зуi?reсь HIЕW, пPи r\ll]flIrп{альI{lnхна-
rlьrlLaх pа6or'r,l сl кoтopьI]!] I1x()1ll{llI{o,{|lo l1рilRI]Tь n heх-Ре,(пмe (счЛтаii'гс, чTo

IIpllзllv nlcстнаllцa ГoPl.lчll Ьlх к'l()в),


oт,]e,.IЬilый сЛУчali вoссTанoвJoнlс Tа6nlцьl llереI1еЩaем6lх э'nе]!{еllTllR'I!еo
.)pа |l1N1( ) p:urlrуlпell] IЬlх гlпeДрeппЬrм х кодol' ' I(oгда Imаge ваs6 < 40 ' 00 . 00h' Tакoй
(l)liiJl llе мl)жеI 6ЬlTЬ зaгрv]кеll пo'ц WiЛdows 9х, ссЛи в нсм liот ]lеРсi{el|lае]!{ъlx
JjlolloнToв. ]lPrlчсil пojrе II]AGЕ-D]RЕстoRY-ЕNтRYвASЕRЕL0с имrст IlРиoPl1Tст IIад
IиАcЕFILE RЕL0сS-SтRIPPЕD'
4,"lаго]u вASЕRЕL0с
и ссI]1II]AGЕ-DIRЕсТ0RY_ЕNтRY 1_ 0'
x та6-(IIILa эЛcllcнтoвсoдrp!{иTмУ()Ir'тrr ЛollыTrtaперeмеrцснпЯ
rleремещаепlьIх
(рarfJra пpirBедетк lJепРедс}iазуcllЬl]\l ii1_ оT зaвllсa]ll'я /lo oткaза в за-
ItосЛсдс1.вl,lя
l.l)узкe.Есл]l rjозlfо,llнo,псPснссl{тс l1oврсжllсl1llЬlйфаii..!ltaWindows NT' пolни.
tlilrrъllыii 6aзolrьтiiаДресзагрузкI,lкoтoPоIl состaв.]1яет 1' 00.00h'ЧTo llo3во-lтяетеI:i
o6хо'lllтЬся 6ез пеpelle1цеrпriiдa,кc там' rдс Windоws 9х у,сe 11есflрaвЛяeTся.
х-к0д,1Iе гцювеpяIo]j{r]ilфЛaгa IмАGЕFlLЕ DLL'мoжrТ!нсДриTЬсяи!ди]]altиile.
скrrс 6л6;rrroгскrr,rrllеroщ'tе lraсx]l1реlпieЕхЕ' вот этo действЛтелънo пРo6Лc.
фаiiлa' всeIДа загPyхаюrцeгoся пeРвьIll, дrlна.
\lal B oTЛичис оT r1сllo]]]rяei!Io1.0
Lз4 rлaва 6' ,р\ nPd в' рдPеlиo / yд.' еь,9 {oдo iJ Pг.фa;-oв

]!1иЧескaя 6rl6.(иoтсI{а вЬll1vj{денa пoЛстpаиваться ]toд I{oнкРeтfly]o сpe]ly сirlJo-


сToя,ГеJ,ьlJo' rl беj] nеPсп1сЦaспlьIх эJe]lегIтов eii пРlDioдuтся oчeнь Тvгo' поскoль-
r(v ria оди]] rl'].о1.rке ill1pсс }1оrут прстеtlдовaтЪ IlпoжесTвo 6и6lиoтei{, Еслri раз'
PепIить ltопrl]ЛиItT IасOванисr\l 6!l6лиoтеil в г'alrяти ]IeуДaстсЯ (3то llo)кпo сдeЛать
уruJrltl.oii ЕDITBIN из sDк, запy leli]I0ii с кJючом /RЕBASЕ)'пp1.]Дс,|ся вoсста-
нав,lIивaтьпеpемеlJIаrNfъleэJeмсн'|Ьr вPучную, ,цля 6ьтстporo oтоrкдeствлeпия
всех a6со-.тrотпъrх адрtlсoв ]!]ожнotIспonьзoB^тьulсдующIIli aлroPптlli прoeци-
Pyеrv!4)ai1jtв llaмяTЬ' lзв,nе]raе]\f /.lBоiilюесJloвo' lIРt1сваlrnаeNегo nеРt]r\lснfloiiх,
I{e1.Х l |r]Год]lТся,goзьNlсll Y, Есjli Y - ImаgеBаsel1 Y <= (Iпiqе 8аse + ]mаgesize)'
()6ъявляcll ,|е(уIruii aДpOсlQндиr]aтor1R l|сpсllсl]1асIx'е элеlriеrlтьl'спjeulае,!1с,l
пa 6aii'Г' r'iJBЛе].асN1 сnсдуtoщсс двoiillое сn()lr()Jl IlРодo.п7{a€ пдеi]сТBовaTь I I]1.()Nj
}I(е,](yxe. пolLal(сдo(тlllrrсll ltoнua o6рaзa,Teперь ilat.pу}xасrlxсслелvеllъlii q)aiirl
в идy п апаJr,Iз pуеi{ кrж]lot,o l{андrIдата]Jа <пllаrt]1оrroдo6ностъ> oн ]]oлтrеrr
llpсДставЛятъ со6оji сrvellLсljисln l]с констаIlтy (oTJ]Jчис кollсTaнт oт сNIсцrlIrп:i
lloдpo6нo РaссNjnтРrln:L]о(|ьн <ФуltцапlсUтa.lьIlьlх осlювах хаксPсl.ва' I(Pпса
Кaоlrсpскп) oстaется ,п]|lЛЬс{]oPrllll]х]Baтьтa6.IttIIуltсрcilсцaсillъIх элeмеlIтов
n запxсаTь r€ u (l)aiiл' I( сo*(|.l]с|tllЮ) пPcдJrагaеNlЬ|ii а.rl].oPtl].ru чРсЗnьI.lаiiJкJTl)у
/ l o l ] ] i j otIl{l i e с J | | | | J | к (])|nrIд ! , i к с l lт]a к l { a кс i \ l t п l l ] ] | ]"l с' ] ( l t 1 сt oп v т a ' Г ъс к о I J с ' r i U r | 0 i j .
нo ЛРYгlrх |Iv'Гсii,у!r', l l(' су lLLсс'|.вyс. г, OсTаo1сJt,]а/ilс'Tься'l|l]пll]lIa To' t|1oХ'кoд
oка)I{с'rся i\JаJI irl1Рс,г ]lс lJсю Lir6ЛIiIlv' l1)''|Ькo с0 .IilсLl,.

кAтЕгoPия Ai в}|ЕдPЕHиЕ пyтЕпl сжAтия чAсти ФAЙлA


B t l е l t р с r r r r оr r p с г y л я р r r r n ol l ( ) ( . ] l с / l о I ] i l , Г o ' l I h l | (()|(l'i1l l.{| '.л| 't Ч с с l r lяl I' J - , ] я с T сРяl з I I ( n ] д -
l ю с Т ь ю 6 o Л 0 0 о б | к ' j i T 0 х | L l l к 1 1 _в l | с j ( | l ( t l l ' ' l ] ( | ) a i ' i JI lI) n . с ] с" t' . a , Г l l , е г o ч i r с 1 . l lв' l L а | | .
IloilIслYllt1e oсvIiк'(|'I|]Л'|сN|олoIlо nJlГоl)rtT[lу RL]] (p||(' 6.t])' Ес.nl' )|(е l,lс|loJ|Ь:]o.
rla'rь бoЛсс (t)l]с])|l|0||lIЬlсllJlL1)РгrrtЬl (|lllлPr!NсP' Хllq](i]маlla lI'nпЛс}1псna - З вll),
то стрaтегlrя вьr5rl1lrrlюдхo]t,l|цЛх часTсii iЛlaчllTс,]lьIIоупPоlц;lc'к:Я llаПaii-ro (orlr
Ilclt коiLоllуn) .скI lI ! Iо] il Illl oспо6оiппnпсесЯ N|с(l|oзаrllЛлcll свое,].e'no,JlcГl{o в Pс.
аiп]3alLttllj lliLцo)ttto в эltсll.llyатaпlnJ] l,]ск,!loчсItlloсостаIlляю'Г, rlo}riulуii, одrtlI"!]rr|]Ь
у|llutoваlIныcфaiirьl' l.о,Гoрьlc v,l{с lrсужllсrпI,j хoтя, ,lrJl(n.oJIи х.ILoдY нynolо прo-
с|pаllсТва? ^ сскЦrlя Iф/.laу|lilк('rа|lll0гo фail,]а по.-пtо6olrудo''rжла содсpл<aтьyпа-
кolrцj]к) хoPol]Io пoд]1аюппlik'я с)кt|ГrIю,с()6ствеIпlo roяoря, paзра6атьIвaть свoil
комllpсс]сop сoвeрnlс}lпo пe ()6яза'].сjlЬнo'Taп rtaк соoTlrеТсТнуloщlli фyнкцIlон:L'т
реtUlllзoван п в самоii oC (lrrlllу.lrярrrая 6u6лиoтекa zз2'd|] дJDt наI]I!ж rrеЛеIi пe-
пРril.()]LrlаlIloскoЛьI{у рa6o'Гает исl{"1ю.nlтсnьнo lra рaспaкoBкУl oд]rакo в PаспoРя
niellllli х.кoда lllteются IJ Другl]е vllaлoвщrпor: ayДrlо/вllдеoкoдски, экпopтеРы
].]rа4ntчссl{!x форпlilтов' сеTевЬlс фvнкullr с)I(a,ГllяIl т, д,),
Естоствепrrо' },пакoвкa oPlll.lнtl.пьI'oго со/lеР)кlr^юГo ссiLIlшJ (плп еe чaсти) нc
06х1r'1ится 6eз l1Pо6Jlcм. C-'Iед1,ет'3о. '.,' ',rq ,6сдиться в тolr'.lтсl секщrя вoo6
пl"Al1oддасTсЯ слiатlJlo' Bо-втiJPьrх] ]rрсдoтвpa'Гшть сжaтис pссуpсoв' тa6лиц экс-
пopra/шI]ioрта Ir дPyгоii сnужсбнoii инфoPIlarIп l кoToрая Nlo}]rc'гпPrlсyтсTвo.
lать в 'цю6ori пoдIoДяnleii сеxции фаIiла I.l кo/'I0вou сскц1i]1 в тоll чис-1е,
B-трегьrrх' пeрестроrrть 'Га6Лllцу lrсpсмсщаeмьIx элeivеl1тoв (ссl]r' кoЕечнo' онa
воо6lr1e сстЬ)' ис]tЛючaя rrЗ Jiee э.Цсl{снтьI] пP]1на,.l"тежaЩис с,flимaсмoй секцIrи,
Il пopyч:tя llaсTPoйкy псре]fеrцаеnьlх адрссon нrпосpeдствellIIo са]!1oNtyх-кoдy,
4

*NN-"***
Рис' 6.a' внeдpениex'кoда п}тeм сxaтия сeкции

:. ,зJlr п{aroГпРо6J сN|l,l l I l IP 11рiL0lаIlовl{с' oнa Лoллo Iа о!]уIцц:,|в.]l'l'I.!сяна пpсl1сl ь-


]t с]'oРосT]i' IJr|;l.JexPe!1,I ijаЦrуJк].l4)ilii-.raзначllтслЬпо noЗPа(:l(r lr llо'(ЬзoвaТс.ць
'Iiс Iiочyст чTo 'Гo JlсjlL'ltюс' llrlэ,t.olIl о6ьruнo сllilliltаlо-l.l|с вO0 сскц111оЦс'llll.
бpав мсс,r.ас наl16o.lьIпоii с'Гe]lrlпn() O{inllя, С1PtlullцЬI
] l l ) B o I lс с к ц l I l l . ) 1 ' ] l n п J j ( l l i : } а | | l L 1 l l l сl |l |nЬoIllп ' Т л n l ' х l l о п o с l ) с д с r , | r с | l l l ( )Ni оi r ] l l ( D l | .
l : ( l l l в r l | э Ь l l а с | . J i с t i , l l Ю l l с I J ] ] с , N l o ' t l J ( ) ' к ( ) r r . ч l ( ) , , Ц ] l l в н с д P ! | i l l ] l х J m д t r I r Р l i с1н1( )
( 1 ) в ( )сi iс l t ц J l l l a l ] ) j I 6 1 TI м A G Е - s с N| l Е H| , { R ] Т ,Ек' ) | i ] ) i l с x I r Ь IэN' Гl o p с l п с | l I l с | l ] п { а к| | ( ]
ln)sс|llr)jоlюjl.Nlа(lrJIP](]тхJ()'Lr|с||иn(ilgrl1;r-'t('жtкхr.ьлpограмлrьr,i)rrlrlссpaвrпl
' ) ( ( ) l ) | ] ' l Т ' ' '.t o | ' l | llll ] Й P r l i j I l l ' I iкi Л n f i а I |. T l t l il I д ( )} l r P l , l l а | l o л i l J l с к oJ' I v Ч | l I c( r l Л Р t l
, Jr,Ik]o]) дl1l l!11 l lIL'сп l Ilрlr(]lr()l]1Ьa'lрlr.)уТ PAGЕ RЕADl.iR]ТЕ в LllolJ()I! Vi гtuа] Рroteсt '
l r l l ' . r c J а | ] c l ) l п l ) l I l ' l ) i l с l i i L | Ф l ] к lllt о J B р x I l l T Ьl l T l ) ' r б \ ' | ь IJ i а r J с с , l . ( ) .
I ] l l с / l Р с I l и е . ( ) б ( ) i . ) | l к , r I r I rl ,! Il li !i р | r l м r r l I ( ' n Р { ] l ] IIl яr Ь l l . Л Я д l|.l1 . i l к :
. (r|кРьIп^сI1 (|)lliiJ' с.]lf|шlrilсIt lrЕ-tilго",lol]oкi
о rrlхо,\llii1 8 тlLб,l пr(r:tx!сlulil((ll{jцII.:] с ll,l.PlI6Y'Гor!1 IнAGE-SсN-сNт-с0DЕ (lLак flPa.
l l r l n o ' э T о 1 1 C P I l а сx ! ] ( r o ] ' 4 ) t L j i Л l l ) ;
r r'ijсlrrдaоllсrr ' ч го эт.a сскцпя 11РlЛ.oдLrilд,l|Я |]lI|д PсI irIя (оrla Фri11NJa."r(fr.lс со.
д с ] D l t l l - вl . с o 6 0 н l l к а к l t x с л у n r с 6 1 l I ' l х1 i l 6 , ' l I 1 IILl 'с I l о ' ц Ь з y с IЫ х з а l . l ) v ] ] Ч l l l { ( )lrl\ ]{r]с
lrI]с(||tllрlIб\n.il ]l']АGEsсN Еl,l D]sсARDAвLЕ)i
. с)ot]\1ас]\1сскцlllo I1запllсывaем сe6я lIir ()сн(16одrвrшссся прoстрaпстпo' раз-
tlеlца,] х{tодJII16.) Ir на.ralе с".кttllи' rrи6о в cс концс;
. а}tItJизtIруе\l т:l6.nll]Iу llереIlсщaсlll,Iх эJrcilснтовj <(]rьIl{УсьLвaсIl'оTтvдa всс
эJсI]ctlтЪlj о'ГIloсяпLl]eсr л (,{аTо]i частl1 сеxцIirl' 1' Ра3ItещасIl rlх вrIy-гPи
х liодa' a па RЬlкyluеllllЬLе r\1CсTlL заIlllс],Iвalrм l|lAGЕ REL вAsЕD АBSoLL]тЕ свo-
'оr|"',' , ' l , ' ' ч ' | |t , ] \ ( r P ''.'"l.'''|"n||,r,;'"';oo

I,Iдеlrт фиitация пoрDкeнньrх o6ъeктoв' Paспoзна'ГЬ фап вIlсjr]rсния в фаilJ


Ir}'TсlI с,LaTllя частI,l сеlllolrl TРудllol нo все такп возмolою, 7]rlзaсссlt6,пировa.
н] lc с,(aTo I,1секп'1] I о61]apу'{l.lваст }1сIioторое ILo,rriчeсr.вo6ессrrьlс''rсннoгo lIyсo
Dа]1{отoръпi flаLTорr'кl lвасT onьlт]]oго иссЛ€ д oRaTеляj ]l o зачас]тvю vсt{oJ-Iьзаeтoт
нoвxчIа, PaзрIе'"тся. Речt']lеидс.Гo внсдPенIrп П сeкпIriоданrrых - ]lр]1сутствll0
JIoстoPotiпего I.ода в ]lеii нсзa cтит тоJrькoсЛeпoii (Oд!акoссlllх ILo,цперe)iва'
тЬ]вает упрaв.J]снllс кoсвrнIlЬlN образоI'' l]1l flс 6yдст дIlзассel'б,rироваrl l,lдoii
ll I о)кeT Ilprl{]1нvться невиrrrlоii овечкoii I1ассива даЕньIх)'
1з6 rлава 6. тeхHикавнeдpeниЯ
и удаления
кoдаиэ PЕ.фaйлов

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,

}(AтЕгoPияAl сo3дAt|иЕ нoвoгo NтFs-пoтoкA внyтPи фAЙлA


( l h i i , r ( ) в а , (l l l с ' г с ] v iNl ' l . [ : S t t o л l с р a о r п а с тп.t l r о r П J ) r \ t к r х( ' ( | к ) l \ )
(l)llilnll'IllltiЧ(lIlаl,|,IIrаcмlnхpаrulryсxl|1,|,|||uunРL|6цll?/r',/(ljхtсn(lсd^t1riЬL|1с
ll]!ll]l()|r]lrlrlr'NlIll)lli'к]Лlt\lll'l]сi}ЬlNlЯll||l,liiа1.l)lrбу|(n)].|lе|.с1|]yсT(х.]l()|riJ(
(l)liii,nл'а'l.llll611 $DATЕ- |rр|NlеllЛсозда|lIlя 4)aii]|ац'Г' r]l.I:}шTi|ю1Ф[lo)l(с,Пr(t)l,'lil'
п ; r l . rl 'r с l r l r r r r т р r r 6r rv, Lr r р 2 l l ( T I l ч с . к l 1 l l с o I р а l l | . | ч с I r l l о i i ](l l")[.'I1l rl !l сl ,,l' L (6) ' 1 | ( 6 | l i i T ) '
] ) i l i t l t 0 | l l l lЛ
я l l l | х l l с , l к у l о l r с ' | Ч l I I I ](ll J ; L l Ц ) l l r v с Pх,. l ( ( ) j l ) , A l l l u ю г l l Ч | ] у l ( ) ' Г o х I I I l к vl I с .
п ( ) n ь : 1 у g Г N 4 i l с O S ' ' Г o J I Ь к о T n I t I l о T o к л п м e l ' у l о т с я T l ) Y , l ( | | о | l 0 u j D o , ц I I N (l ьl '|]N| (l ) н ( ) I l
/Or*!' ]1о'lpО6lIсl] ()6 :rтo]\|t]о,olo прoчl'lтil,Г1,в <o()l(Jваx Windо\,s N'I lI Nl.l..s'
х с J I l ' | | | ( i к r 1 1 ) '< ] I с д о l . y l l с я ' Г j l P o в a l l I i ь l хв o з \ ] о ' o ( ) с т я х W ] n . l o w s N Т ' A , I ] , l i o .
6 с p I l I l Ч с l l ( о l l < W i D d о t \ , sN . г l i i l с s y s t ( ' п i r l t o r n . l ] s >R а i е е v . r N ^ g r г ' а ,
с l | , ' . ' , , . | , ' о , ' | | ' ' I i , , l ' '' |J , n l j | | | \ l , ' я , , , I j | ' , ' ' l P , | ' U ' | : i|i 1| " ' | . I n . L ' ' | ' | . l ] | r '
(r.ll' Til]r r{llк rr|!цI1l'1ыjiо6ЪсNi фli]'llа пpи !гot1 I.е yRе'llllчllвaсT(l''I (lIoд pllзI{i]Poll
q]lll'llа с стсjfa l |.rпIillae]. l )тIllодь llс зaIlимaci\loo xll прос,ГРаr]сl.uoj а раlr!ч) oс-
no]]IlOгo t|оToI{i); oдIlaко сrЛIсoк дoск'llк],]]r ltil э1!)Il !l зallaflЧItвасTся' TcпсрЬ
пol оllо])|lill o IIL)0сГаTках, ] 1ln1пoPсмcщeн1lII ф.]ii",raIlaNT]]s,iL]r!с,! (|l]lIlplrj'rq].
дllllNсTу' ziр lljlп СD R/RW) псe РуIiо1}оРlll're rroтoкrr 6ссс'.rсдно rrсчозаrот. Тo
'ie саNlос llI)оxсхоrll1T rlри кoпllpoва'rиП фaiiлa l]] о6o.'loчкrr l]aIlодобlIo
Тоta] СoлПlandеilа (n,.LевrlчссT}rс Wiпdows сoпrnraлdеI.,a) плп о6pl16rlrricaрхlr-
вil,ГоPo , 1{ Tollv xiс поjlнorlепIIая по/.ul.l))ккA NTIrs ссть тoJьIrо I1Wiпdо\l.s NT'
BнeДpениe. вtsxду хрyпIroстr] расrпиреrIIIьlх атРrr6утog х{tод н€ o 6хoдl'\1rl Ilрo
еliгilР0ваlь Tаl{, чTо6ьI lioPaжefiтrа-q прolpам]\rа сохpанялa свoю ра6oтоспoсо6
]lо.:тЪ дD]{e llpr.l v.|Pатс всcх Доflo.пнI,tTeльIlьiх потoк0в, l{xЯ этoго в свo6однoe
Ilсстo lтoдoпЫтlroii пРогpaмNiЬl (напpиNlcp' в PЕ заro.]roвo].) вlIедpяIol.крош(:.l.
ll|rlii заl.pузчul.' fioтopьп:I считъlпileт сBoе flpoдо']жсниc из NТFs
cто тa\I Ile о'i,кeTся) Ilеpсдaст yправлсниe прorрarvlмe-llосllТеJlю (Pис, 6,9),
Фушriцпtr ра6oтьr с потокalп1 lIе докуr"lсllтllpовaньl li дoстyпнЪ] тoлъlФ (tерe]
Nitj!L-AРI. Эго NtсгеаteFi,le, NtQueг)taгi,le ir NtsetЕаЕil€ , опUсaнисiLоторьlхмoжIк)
иYдaлениякодaиэ PЕ.фaйлoв
теxникавнeдpения 1з7

в чaсTlloсти, в кtlnге <TЬс Undoс0mепtсd гunсtiоns Miсгosoft WindoNs


Ili:rLi,lтrl,
r'T/2000> Tomzr-sz,a Novalс'а' электpoнн:я кoпия кoтоPoi1rvo)кет6ыTr' 6eспЛaт
нo скачa]la с ссprеpa Nтinter|nа|s'nеt.
сoздаl Iп.. llовor.о noTотrаoсуrцeст8ляeтсЯвr,l3oBo фуitltЦllu Ntсreаtегjle' сI]елп
пPoчxх аРгyмеIrтoв пPirнимaюUleil yказаTель fia сТpукТуРу FILЕ-ЕULL-ЕА
]NF0Ri{AТI0N' передaвaeIIЬпliчсPсз Еaвuffег,Boт olla.тo паl{ и нy,r!lal каir варllal11.'
rlo)tlнo вoспo.r1ьзogaTься фyнl{цией NtsetЕагi]e' пePeдaв сii дeскpпптoP, r')зра
iIlrrrнь]ii NtсreаteFi,]e'oткРывaющ."i1файл(16ьt.ItIьIi$ (]6Разoм,fIcрr].пiс.nсн1iсм(U
чтcнxсll) всeх ппlсюlлихся пoтoкoB зil}lI1маl]тсяil)yrtк1InяNtQuerуЕаFi]e,Пpoтo.
тIпtъ]lrсех 4)ytlltцltii п oгlРeдcЛснI{ястpуктyр сoДеРжaтся s фаii"ц€ NтDDK'H' B кo.
Tорoil Ilрl]суTствуст11oсTaтoчIJoе кoЛllчествo ltoм]vеЛтаРll€ в ' чтoбьt сo вс€ N э IIr
.rсх поРl пoка Windows 9х не 6yдс | lio,1пo
\oзяiiст'olt раro6pатьсЯ; оЛпакo Дo
(:l],о Dьrтссttсllilс PЬlIrка'llоДoolIaя тcxtlltt.а в|IeдPсriltЯ'суд'l Iк] BссNIyloстаIlстся
IlсDсn]трс6оBil|{Ilо'I,

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
нескоЛько

llдellтuфПкaцfi' пoPа'(снl{ьIх 06ъск'10в. I1o IIепoн,I1'нымrunРкtjтlllll.овЬlмсo.


о6рaжсrrlIrr:rlпlта'гньrссPс/lсTIraWindows lтe пoзволя10TIЦх)с]\|атPrlвaть Рil(lllIl-
pеlrньrс aтрп6утъr t]lаii.l]о]]iмнеTaкЖс пe IJзBес'Гваltl! oДta уT|lЛliтa сТopoппЛх
сuL)со6llая LxlРirtsl|1.Ься
IlPoll:llrо'lIIтеJIеfl' с эТoil за'(аЧеii, Лоэтому tlсoi.)rollпl|ый
пPofPаliп{Ilorо o6ссrre,tеппяприхoдlrтся pазPа6атьrва'ц'сa[ oстoя'Го.цr'.
r1llIll{]\rylt
J|.r.на,!1lчxе ]loсторo1l}1]1х 11oтокoввнy'rpu фаiIЛa oд11означlll)свпд0TсnЬс,|вуеT
о сго зapa'кеrr]roс'r]l,
дpугoй flс IIснсе I.paсfloPсчияЬIiiпPизIrаквllе]tРеtlIiя с)6PaщеttjJeriфунItцxяNJ
NtQueг)€ а Fil e/NtsetЕаЕil e|кoтopoе ]\1oя{eТ 0сyliIeствляTr'сякalt IIeпосРсдсT]rсrпtьI\]
xr1llopToмпз NтDLL'DLL'такIr nPямЬп{вЬ]зoвoм INт 2Еh'ЕАl.067h/INI2Еh.ЕАx= 9сh'
a в Windo\\,s хР eIце II trlаr]lиlllloli кoмaнДой sysса]], вoзпloясе|Iтaкже вьlзoя lto
пpямьlIl аДpесaм NтDLL.DLL IlлrlдинаnrI.tЧесrо{i{ пoиск эltспoPтlrрyемьшqlУllltlIиIi

BoссTarroвлeriиe пopат(€ н rrьrх o6ъeктоп. ЕсЛrl ltoсЛе o6pа6lrтк11уllакorЛпЛtоll/


а!хивn'ГlrРoll и.Ilи llnьп внеrпнс 6езo6lrднъrxдсйс]в}iii фaйл Есo}xиirаtпIoотxа.
1з8 rлава 6' теtникa внедреHияи

зaII в рa6oтe, oдlшII1из в(]зllorкrlых о6ъяснelrиii яв,!яe1сЯ гп6e-u'


PасlJlиpсJl]lЬ|1
nГpи6yтов' llpt1 yслOвиIl. ч1.oпoтoкIl ]lе исIlo.пьзoв1!цxсъдxя xpаllен]]я орul.п
lliуrьIrоr{]сoдеp)кимoro фaiijlа' у пaс н€ п лох!lс ]паl]сЬIrra roсстаIJOвjIеrпIe,ПPo
с1o загРyзитс фaiiJr ! д!lзaсссll6.IeР иj пPoartа-!]rзrЦ)oвав
Pa6oтv х-Iroда, iтpll;I.Ге
нсooхoД]1r'jъiеNlеpьI]lротиводei.iств]lя'БoJIее тoчнoil pекoпIеIlдaцLIп
дaть' yвI,ll
пе l]o'llYчаeTся]ilоскo;Iь]ty така' та].1.ш{авЛeДpеIrпясуrIIeсlЕyст JI11шътеоPсТlJ
чe(ки rI св{)сIo6oeвoгo i{])ецсн]]яeщс не пoj}чпJа,
нснyкiIьtх xoтокoв п!oж|IoвoспоJrьзoвaтьсяyrкс ол исlrtнori
llля }ЦitJtснI.lя
фуlrк.

tитЕгoPия вl PAздви)ккA зAгoлoBкA


liLIкal{oii уl]ll){;rюul||ii сс6rr Х.lrl/L rrc зaхо.rrlT зtlil||ссТь ()'ГIlа-,lи.Illя ('06ollllоI(r
r o
с 1 . i tв r | ( ' 1 о | l Ь f Г | | o(Nрla l U l l ] l' l ( l с l ( ) " l l L к уэ T о v l l r t з П| . с ] | Ь l l lоr 8 o l ) 6 | l ( |j r o l I o . х l l к с р с к
,
l\.oгда lrРoсTl)iUtсTIla, ||\1с|0lцеroс' B ])]r'r1гotrlо|rlto(пnIl кnI(()ii-,1lIlбo
д|rvГоii чl]сТ||
ФаJJnn)' oказЫвaсTс' |('lос,ГaTочIlо /l'rDIраз^{сЛ1сllrl' Лсci'() х.lФдn Il(!lIlко]\|' Iiln
Уo,кo,v llопрooолатЬ рnс,гяпy'ГЬ 3llгоJ|oвo]LlIа iJ.Jl]ч||l]у' лЬl6рlllIllу()
llo с8осI{v ус.
l'к),гPсrllЛl),llo r.сх ll.)P' пorи sizе0fllеаdeг5 llс Ilpеlrl'ILlltcт llxlэl|Чсскoгo сrкllLсrirut
IlсPлоll ссltЦlli.l!'Гilкaя oпсPа|{IIя oс\,uIес,гвr|ястся эJlс\tеrll2P,l()
G]м. ра:tд0jl <вllo-
дPсIlrle в PЕ.зi]lOJIоnо](')' нo ]l()тда-,rьUIeIlачIп|aIотся прo6лt.мы,
для рсшсIшrя кo
т.)РI,IxllpIlхoдиТся llаpдI IIliLllьIl0 IIересTаlIватЬ сl.Pукl.ypу пl)дoIU'тl]оr()
фaii]]а, кaк
[lJl]xlllyrv llсo6хo/tlllto уBеЛl1чlrr'Ъ ril\v оftsеt ы всех сolrцIтll I]a пеЛrlч]пlv'
Ji]lаТIlvll)
прrЛ,lтoli с1.CпсlIl.1IJь]раrrIlrlIra]Iпя' l ЦroJlпсalll]oii п llojlс Fi l e Аl i gnгient'п ib ll.'lчссlol
IlсP'r\feсТ,lть хвос-г фаiiJl;r' зaпl]сав х ].o]l 11аосво6o.tlrв uссся rrсстo,
MаксrllllxьнЬlii P'rзr'Iер загoлотrкil pаве|l вlрlуilrlьнovу адРeсv nсPв()ii сскпllЛ.
ч'Гo lJ lIeудивиTt]JlЬноl1.ак кaIt 3аfoлов()lt llе
стpa]!IlчrroгоxlIпi.,ка,У",,'..n'ou"'u',.u"u,nnn,ujJi,#;;?'lil,',.
, r ' ' l 0 n 0 | | , I l | г l I l | | | , , i ] | l' \j | ' | ' ] ' ' n j , . o s | . i - { 0 0 | , , . l | |' ' ' " ' " . ' ';,;; ;.
жснrlе пopЯдrLa 3 к6аiiт сво6oдrroro прoстpaпсTвa' ЛосTатol]I]ol.o" " "
/.i-llяPазlieщс
нr'я ]]PактtтЧссI(п 'ltю6oгo х-кoДа, B к])аlflerv сJvчi1с l!o]l{llo
пo\Iес]тlIть
.rстав]Jl}4ося чaсть в oвер'ltсii. Хптрoсть заклroчilсTся n Lo]}I'
ч1.о сшсTeмнъIй :lal.-
pl,зчиI{ зaгРyжilсT-1rrllrЬ llrрпьlе sizeofHeаdeгs 6айтoв заl.o,rоBl{a'
a ос1а'Iьньlе 0]рtt
условии' чтl) oнI'! е(:Гъ) oстав,яст бoЛTaтЬся ! овeр;rсс, N,fы rroтtell сдвипyтъ гirv
o|l\,L' вl'х{'.iцlliiIoГь."x | 1 6 ' , i i |в | | P Р , s \ |J6'iil,\ тo,' в,','''вo','||U
ч l | d \ , я ,ч L , ]j e I J ' l р ] ) . ё ' , , I o . l h | . U s z e O . н е . d е . is, l , ' в i | o , l , o I , ' | , е . l 1 | Ь | | Lr
х . i o л , t a ,| , " | | | ' " : l o о | | | ,|l , ' я t , l \ | o 'Г o яl r , | |l
1з9

I( сo]tа-це]lию,oднoй лиlrlъ iioPPcкцr]rl Ialv оtТset'oвдЛя (oхрalrerlия файлy Pа6o.


тoспoсo6нoсти ]\lo)кстоказаTься нeдостaТoч]to'посlioлъl{y NIнoIllе сЛуже6нъIc
стРуктyрьI ( I1а]lРtrп{еP) та6.rr!1ца мaцr1lr) пPивязывaюTся r{сво-
о'ГЛaдoчнoii11Ir4'oP
еп{уфизичсскoIrу llестoпoJloжеlIl.lю'1tотoPoсrlос.nеpaздвIr)ккrlзarojloRкa I{eиз.
6еrкпo oтнесе,гв стopoн),, tlpавrrлa этllкстa тpe6ylот лп6o скoppектиpовaтъ всс
tlсьlлки нa a6сo.ltloтпьreфIrзlческl1е aдPсса 'a lUIя lToгo l{ы дo.1жнЬr:JпатьфoP.
\tат всех IiopPек пrIryrl'ьlх сTpуктyP' сpсдll кo,r()рьIхесть пolнoс 1.Ь]0llJiп частlч.
]lo lJедol{yNlсI{,Гripoвaнньrс (взять хотя 6ьr ту же оTJадoчную llнфopl|ацl1ю), .
'Гa6лпцьr
ll16o отказaтr,ся от вrrедPснltя' есjilJ oдrlн x'llЛ ]|еС]{олькoэJсllснТoв
]АтA DIRЕсТoRY сод€ | '{aт rrссTаiIдартIrьlссТPу].гypъt (pосvpсьr, та6'trruьt экспор.
jr. rjl пoPтa]L lLepеr\leщасNtr'tх эЛепiептol]]lсnonЬ]vlот тoJ]ЪiioвrIPTyа'lr']
lу]o :Llре.
.ilцIlo, пoэтol1у llи в кaкoй дolt0JLlillте.nьrrоiiкоPрскTиРОllкr пс нyrflДаI(IГся)'
с]lсдуeT такл{c у6сд11-l'ься ll B oтсуT(lГвl]1l оR€ Р Лссвl Itо(t(()]]ьl(у l\ lloгl'с tl:J l1]1х
r:rPссу](|rся oтIroсllT€ Л Ьrю llа,la,rа r!аiiLrа, 1lpо6лсi\lil g |osl' ч-Lo 11ьiпс lvo,кcNl ltr.
:lс)к!lo оT"!!lч ть на(-t,oяUU Iil оBсPnсil о1 j\lyсoРa] оставnсll] to1.o]|l l i ll{с poм в I{o]]цc
lhaiirrа,lr Лoтo ly пp11хoд Тся ll/1тll l1il 1lс0п l)аRдап Iro (lIску'ц''гивJlъlе]loпу 1сtll'|я]
всс. Ч1l) зilп1IIlаст ]!1сllЬ|i|еОЛпoГо (ск'|()Р1l' - Jrс oвср]lсii. l,lnl| жe PaзЛичrlN,ЬlN п
Ilс-|1'lаNl пЬIтiuЬся LlЛc]lтlld)tIllLllrоBа] Ь J\lусoР (Pпс. 6'l0).
trl]рис,rIrчeсI|ttill11

впаliятьд0 и пoФe внeдрeния


фaйлиeгo прoекциЯ
Pис,6.10. пoдопЬlтньй
х.кодаrrtтeмрaэдвихказaголoвка

BIlедPсtifi € , TипrпньIii axгoрп,гм в11l]дpс]r]явь]гnядит Так:


о счlrтr'rваемРЕ эагo,.loвoк;
. пPовеpяeN{DAтA DIRЕСТORY на пРсдIlсT гrрпсyтствn' сТPуLоуP' прIrвЯзывn]o-
rц1rхсЯк своeiuy фпз]rчcсI(о]\усмe]дениюl ]l eслIr таIioвыс о61taрv)кllвaюTся,
л116ooткaзывaelrся oт внсЦpeпrrя'л116оготoвllli1сяrrх скoppекT]1poваTЪ;
140 rлава 6' тeхникавнeдpeниЯ
и yдалeнИя
кOдaиз РЕ'файлoв
. есЛ'1sizе0fHeаders - Fs.v а' oткaзывnеNjсяoT вllсдPеl II'tяlтаI{кilli в}1сдpятЬся
v2. 'дк}.1.:
. eс"'ljlsizeofнeadeгs |- Fs.r-off пеРRоii сспIIпи' I]oдопъrГr]ы]i
фaiirl сollep)кt1т
oБерлel x пoсле nl lс]lPсliIlя ill0,]lстoI{азa[ься I'ера6oтoспoю6ньlпl;oдrакo ес-rп
0т siz€ o f|]eаders дo rаW ollset'а содсpкaтся однп rlу'1!l]B]rедpЯ'|ьсясjoдa всe

. .с.п]isizeof(х.сode)
<= Fs. r_off' переходlri\rrr pазllс"ly <внсдрeIl]lс в PЕ за.

. с(!iЛ sizеof(x.сode) <: F s ,v а ' T o :


o в(]таl]].Iяe\I Nlс}кду I(ЛIцoм зaгo'lrовкa ]lад ]lачaлoпl (ТраIlllllIl0l.o IINпtrlжil
А L I G N t ] P ( ( s j z е o f ( X . с o d e ) + s i z e O f н e а d e г s | , s - г o f f ) ' F А )6 i i i т ' l ! | | . l I l ч с с l i l J
пcpeпIсlilая хвосT фaiiJla' ПP]l з:rгру]]rо (l,aiina вссь Х.кoд 6vдcl шpoеrtlr-
PoR:'л B llaмять;
o y в е n L l Ч u в а с п {l I o Д ] s i z е 0 f | ] e a d e г sl l a i j а ] l а Л I I v юн с . ц l ' l ч l i I l ! ;

o вс'l.aIrrr'lс]\1]\Iс}Jq'tукollIlo\I заl.о''Ioвltа l|аrl JlачаJоI{ сTl)illt|]чЛoГ() |l]\lt1]l7iit


АL]GN.L]Р((sizeof(х'сode)
+ sizeOfнeadrгs Гs,г.оff)'ЕA)6^iгГ,
(hlli]l|чсск11
IloРсl\lсlцltяхBoс,|{tai.i.]Jа.llpu заГP)lзкL.d)lii,!r сl|сT0llllЬliiЗ:rГPуi}lrljIiсllрl)-
сjll'pyсТl.()JlI'tо I|еPll'lс Fs, v-а.size0fleadeгs 6lriir Х.коЛ:r,lr llсс rкхlrс](r'r(l.
lILl1с crily ЛPl|/1стс'l сЧ||1.Ьll}aть с;lNlo ]o,|Tс.llьl]();
o sjzeofнeаdeгs
:= Fs'V a]
. Y t ] c Л Ч r t B а с N l . : l \ YО l l l s с L \ , lI] с с х с с l l I o 1 i i I i . l I l с л ] r ч | ] l I v( | ) i l ] t | | ч ( r ] i o i 1
P!li]]tвlt)iltll
q)aiiJn;
. IФ])рcк1. PусNl I]с0 Lt.P]r'кTYРьlIl|Рt'llя3ьllli|юllLr|сс,l к
4nlir||ч0сlolNl сI|сn(с|ll|,|Il
lJIlу ry|| '1)а11Jlllj
lleреЧЛсJl('lлlЬlс |] DAтА D]RЕст0RY.

llдсIrт,lфшкaцlц пoрa,(сIlllыx o6'ьсктof'' l1ll1]]l].lii ruсToд r]lJ('lPсlIп,l p;lсl|оlll|а.


с11'' анaЛoгuчlloo6ы.lrlollv ]!tетoд! ]lяе/lрсllIUl в Il]].itaГo-.loвoIL(см, <вIlсдpсIпlс
l l)Е.загoловoк>) и пo сoo6pа,{сIlия,\l э(оflо]\ll||r lrсста 'lдось пe
ду6:lиp1,сL:сlr,
BoсстапoвЛеяис поРа}(rппьtх {)6Ъскт0B. lIPIi plrсT,D{кe зiLllxoлкa с |loс'llсдvl0.
| | | \ || l | ' \ | . ' | ' с | | | | ' , I , l | ' l | '{ \l |]'tl 'ыг|..l|lnuo-
fioстl, lrаP.vUreпl|,l Pа6lrToсlloсо6яoстll djаiijIа вс(ьl"lа вe.]lllILa.а п])
, ' L y f i ) r r l и еliI с к o P P е к т l l i l , l к о р p е к | l l 1 я r а t v о t t s с t ' о I l J l l l p I I в я з к l к
флз|lчoсxrrNl
адPссalI I11y,п-poтllП I1скoPреl{1rroii корpскц'tп' вr'lзBанпоii l.pу6ьI\Iи ll.llгopIrт\1r1.
чtlскпlпl oшlI6кalлI' rrс llопpеlrllrl и с лсl1opчснпьI\1 (l)аil.n()I1,скoprе Bссl'o' пI]u.
,,lе1с,]pас]стать(,t (нo всe.Taки поIrr,lTaiiтeсl,' oттaJrd'вilясъ oт вlPTvалijllЬlх
раЗ-
\lсpon/адPссoгl секциiI' oпРсдсJить их 4)xзпч ес]rиo адPеса ll.IIl lrдeшTxфrlпltруiirс
1.PанlIllьl сскцltii вllзуальпымrl llетола мrr' 6лагo о нп дoсrllтоннo хirpaктерпt,r' Ь сх
Рсдar0op ]1хoлoДIloс ЛlIво ваNl в пoi\юцЬ])' а во,t IlPеoлоЛсTь пplrвязкv к фIrзx.
чс(lкnп! &lресаtrl lfo)кiro1 IIPoЦe вссгo этo сд!Лaть' rеPrry]r сOдсp'rLIIloе сскцпii/
овеp.neев нa стaрoс rIестo' J1а ]1х 'lс,|оp]lчeскуro
рoд1lllv' так скnзaть, По(Iсдo
nаTс'lIЬно соt{Pаrrlая pi1зIlоp зaго'цoвI(а llа вс-!]JlппrY Еi lе А]ignлent lt
d]изиче.-п1
Лодтяl.l1tsая сеIlц!lи на oi:lо6одпвпrееся rlесlo' до6еih.ес], его pa6oтoспосo6нoс
т , Ilv а ес'п1 Irе пoЛучитсяj зJ]aчrIт| прllчинa s Lleм.Тo e]цc,,,
ия иyдалeниякoдаиз PЕ.фаЙлoв

кAтЕгoPия в: сБPoс чAстt4сЕкции в oвEPлEЙ


,l.оIо чт06ы no".]]lостью ]I.nп чaстllчtlо сr'кuпrirть сeкпlrlоl lloж]lо oгPаfllг
B\!естo
'lrlTься псpеll()сol{ сC сoдеpn{Llllorо в овеpЛсii, Рaсполo'{сrtIlьIi! R (oнцс' сеpelrr-
Jс l|ЛIl пачanс фаI:iIa, Дoписaться в конец файJ.rа пl)о1цс вссгo, Hпкaклe пoля
PГ-зlLгоJoвка прIl irтoм корР€ I rтIlpoвlтЪ пe надo _ прoстo l{ollпpусlt sizeof(х.
сode) 6аiiГ,nю6оij чaсти сl-'кIo1и в кollrц фailJa, а l]a oсвo6o/i]1!lпcеся мссто BIJе
rl,сi\t х{roд. кoтoPыii rlсрсr1 псPсдачеii упpaвJlel|lJя пpoгPa]lNlе rroс]l'Гсn].r счп.
lLlвiL(.'г eгo с,!l!lсllа, вoзвpаU(ая ltа ].](холпoс liсс|о'
(:ellilll'r.
с 'rо'rпсс PtLir[lrстить оl]ерпеIi в ссРедиrIе фai1Ла, Рaспo]lоx{llв eIo мс!{]rу
\lll r({rдаtl l(illlIJьrх, ]]аtlр|lмeP' ч'гo ()6еспeчиr еNу вьlсol{ую сreпеrlь сl{pьrгlIостll,
гaм'оl]iset'ьr
.L.lrrэтoго 6yлет пeо6ходrrlrоувсLrиurrть i:еIttц'lii
вссх пос,rrелyrоцuх
l l а | Ё Л x ч r l Y A L l G N ' L ] P ( s , j z e o f ( x . с o d e ) 'F А ) ' ф 1 в l l ч { r с l o l с д в и t l у I ] l ] е к l l l r l l в l t у т l l l l
(l)lli]]|l. AllаЛol.t.lЧlп'пj o6pазом oсуlцсс].вJlяeтся l'l rc3iLаlI e овср.цФl П загo.1овк.'
.) I('Гоl)оNl llьl y)кс l.овoРllJl1l (сrJ, РaздсЛ <РaздвID|J(a 3aюJIoвка,).
l i I ) | { о 6 p i r 6 o | к е ( ) a й i l i l y ] | а к o R ц r L к o 8 o R r P Л с l l ( о с о 6 с н н o с с р t l , , t t t п п ъ t еt)1 6 ь t . r l I o
r L 6 i { ! т . 1 ] oi i a ) l { сс с Л l l l ] l | ь D к j i I ] а l o 10.к' a з Ы в а , o , | с яр a с f l о Л o , l { с i r l r J ) | мсloI I l с I r I l i e r | п o
l l l ) д Р у l l l r \ | ( l ) l ! i t l l ч c с к l l I | ( l I J е l ц с 1 1 t ,ltюя эN'lГ' o l { } Х к о Л r I р l ] ]I ои с к с o i l c P . l l с ' ll l | | D к }
.iIс-llv']il('Jlс,](ffl)lt!|l )к(lс'|.lioIlpljl]яi]Ьll}:lтl)сяl{ (l.() а/lPссilNl' I]Ь|чпс'(xЯ llх tlil oс|l()
|]с .i)Il3|1чo(](о|.() аnРсс.L сnс]ryю)цсii сскI(llи' ПyстЬ дJlI!,Iд ol]сP"Tся сo.ТxD'l|Яс1'0x
бiliiг',tol)(irсгoсnI.IilсIll]с6удс'rР вlloNs,г.оff-0X'll]l'цяп0с"'Iсд|l0l1)оIrгplOl
- s l z e 0 f F i ] e - 0 Х . o B с P J J с I l l ] з i t Л o r I o П к а хl l i l N l | | о Г о6 o Л с c l ] ] ) | | | o с ' ( | l l r ]l '|]o'
l)aii,]ll
l | р | l у l l l r к ( ) R к c t ) t ) Х ' о I l | . l r 6 I l у Tи ( ) l I l I( р l l с ' 6 . 1 1 ) ,

{r

{}

Pис.6.11' внедpeниeX.кoда вфайл п}тем с6poса ЧастИсeкции вoвePлей

Blrедрeяиe. О6o6щеIIпьпi а.{гopитj{ lllедpсн я вьlг].Iяд!lт.Leк:


. счlrTывaelt PЕ зaгo'lюBоI( п r]РисTvпаеlVI к сIo a]];Lrтrву;
742 rлaва 6. техника вllедрeния и yдаления кoдa из PЕ.lludилaв

. 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у;

o пеpсltelцаом lьr6рaнпь]с чaс].l,lсекЦиrl в oвсpлeii' зaпrIсьIвая]tх в пPоrв.


вoЛьпом фoрмаTе' пo Tакj чT06ьIсalll пoтo[! смoriоr
рaзo6paться;

o дoпI.lсЬt!аeN{ вы6PапнЬreчaсTи сеI(цnЛ]] lloнeц файлa, зaпIiсь]ваяr'х в ]lpо-


извoJlЬнoпlфoрIIaтс, тlо Tа]t'чтo6ьI с?lми потoм сllorтп
разo6рar.ься;
. ] i аo l q . r o д и в | , ] P
l ся Ir"ггn .а ' 'сьrв"nrr
Х. :о.r
идrlцифIrкaцlrя пopОкенньrr o6ъектов. !пзассепl6nиРoпаlrlre тaк11х
фаiiЛoв нe
въiявл'lеT пичeгo пео6ыч110го:х.кlrд
РасJтoлo,кerrr сскцl1и кlrДal таlll гдс л пo-
noхеIlo всякoмy JroРпf:lllьlloмvкoдy 6ъlтъ, нllmкoго noдo]p тenьнorо
llусopa
кодaиз PE-файлФ
и удaлetrия
техникавнедpetrия 14з

Taкя(еr{€ riа6J.IIoдaстся ' ПРавда) ornrаPуЖивaeтся11скoTоpoeкo,!rlчсство псPскре.


сTl1ьIхссъ]Jloк,веДyц х в серсдIl]ly фyнкЦиii (п эти фуIIкцпll' как rleтpyдl1oдo.
t,a]'IатъсяlпРrпrад!сжат Х кoду: Лaт(ес(,rll oн rt 116Ре)кет вьrдиpae]v{ьrе фPаr.ll€ l l
тьI сскцlli] пo .pаllпцa\1фуJJrrциii. сrlелIеtl,и фуIlкппir х.кoда впyтpи кaтцоIo
llз фparN{eнто!6yЛyт oTnЛчaтьс'l от oРrг нanЬllьlх' вЬlpсзэTь кaя{дуtoфу1rкци]o
по o'ГдельI1остпIlPoсr'6а llе пPсдлaгaть эTо с"1rпxкоllI]yлнo)]одllакoтaкое Ile
родко сJlvчaстся и с завсдoмо ]rезаpа,{erlllьilll I1фа ii"!alr . lloэт()lfy oснoвапr{iiДЛя
-
вoз6ylrления y гoлoвноf(rдеna каrl 6yдтo 6ьl ]Ieт Прису'L.сTвпeсс pсlll,l п I{rIooвсp
Jея Лсl.l{oраспoзна,гь пo tlссоответстЕllю 4nвl1чсскlrх п виpтуn.nьнь1х aДрeсoв'
utlгo не нa6Lrюлaетсяrlpi:litтпчl]сl(tt пIl Y o]1l]оГoIlopмanьlloго фаi]Лa' oдIrако 1|а
Jтllчис oверr]eяn коr'це фallnа этo нoрпIaJrънo
Еlltчeгo дPyroro lIe oстасTся' кaк аttilr|пзпрoBаIЬ!есъ х.кoд це,1пI{oм,u € с лr1 пra-
l i IiпyлЯцlLи с I,oсстаttoвЛеrIпс}1 (|eкцш]J 6удуT о6наPy)кellьI' фaкт вl lеДPelrn}loка
т(rтся pа3o6..тачс!t,
х код в сe6я
ьtitil.ст вьtзовоll фуll кц lJii v i гtual Ргoteсt ( nрllсRo-
сljl]c aтpII6IT Jaп'lсl0 lr GetсоmiandLinr, Get|1odu]еваseName' Get11оduleгu]]Nаll]e lt''llt
Grtliodu]€ F u] lNameЕх()пРeдсnсrllIе IIпIсIru4)aiiJlа.11осl],Ге.lrя). У6сдл'Гeсътaюкc' цтo
'l
l(o]lоваясeкцlя j(остуlJrl:L ()Jъко ЛЛ|L|ьлля ч,|(lIl||я'B IIl)oT]lr ||ol1сJrучае пJаIrсЬl
rra пpиr:утствпо Х.кrl/la суrriсflr]eliIlо lr()зрaстут(ll сrvy ужс с бyjleт пу'кlю вьг
i l Ь | в l т ьv i г t u a l Р г о t e с t ) '
BoсстаIloI'лс1lие пoрaжeппых o6ъeктoв. o6Llll||o lJр1lходlп.ся стаЛкl{вa1Lс.'l
с ] l B у i \ l 'nl Л Г о р и ' l . N 1 I I ч с с l {оr trrпrrиr6r к а r l l IД' r l r t у r ц c | | l t Ь l ln)]i lIJl Р а 6 o T ч ] l к i L ND|l I] Iс Л Р я .
сьloitl кoiLalкrцрcктltoi.i IlРoвeркoli ltll пcРссc,lс||lIeс6pil(Uв;rсrvol]чirсTj1ссшlt1ll
сo сЛy'(с6,lЬIмIr /llutllь]NI'l]l вlI('L|)с|ll,|c$l l] сск|ol|o ( llolк)iLхo/1яlцlti\{и aтр!lбуrl.
Nlи' о6с llo'цlloсTЬю об])a'ГllмЬI,
Р с , { с в с , Г p e ч а l o T сr,lIt t r l r 6 к иr l п р е д с , l о r r r riя( . l I l t I l Ьс I6 р a с ь I Л l ! с M осi iс к ц l l } t :c с J | l {
сs,v_sz<сs,r-szllсs,г-off+сs'га!'l-sz>Ns.гаW-off'T()сjк:Tеl"tlп'i.i3aгРyзчll(
.,n.Py;o". n,u* сs , u-.' 6-aii'гr.скцrIlr' i в rrсдряспrьril кolr с6p.rсьrлrlcr.сS , г-sz 6aiIт
сскЦl,lll'захвa1r'||]аяl{усoЧе|{ сскцI!r!lIteучlr'ГЬlва',что она Nl(Dl(стIцх).
с"lс/ryl()||(:ii
ецrlPoвir,ГьсясовoPllle]пlо xо lLPyrпI' aДpс(lr!1Ir llPll |]оссTill,oвJIсlllll{oPиr. Il,lJIъ
Ilогo содсРжlll1ого с6PaсыBaeiuoil (скIlrпt кусoч{J( с.noдуI0Лle].t сcltцj'lll,Гa](и Ilе
ху)кстor.o' х-кс'д oкa,кеIся
6удст ts.'сс'l.A]rов"!,rll- каI{6ьt РAзoPваll дlryiuл сскцI'Iя
Ill1 |laпoпoЛa]\{'tl этrt пoJlо]r|ппotпlofу'r llaхoдllTЬся кaI{ уl.O1(]lоЛajlсI{o'1Рyг o,г
Друrа! ЕсTeстRеulto,Рl6отfтЬ lloсЛе i]тoгo 0|l I]е сNlо)кс,|,
Если жe пoрaжсlllr'lii фaii,.lз.lЛусIiасTсяIюРNn"!ъно,,'l"l]яyДаJrсlltlя х кoдa прo-
сTo r]емпoгo гlo'QnсспрyilTс еГo rI' дo)кдit]lпILIсъ l{o!ellтa псрrдач1IyпPaвЛeния
oс1Ioвпoijпрor.Paмме,сн]]Nrlтe ла11l],

кAтЕгoPияв: сoздAHиEсвoЕгo сoБствЕt|HoгooвЕPлEя


oвеpЛей N]oя(стхPal ть нс ТoЛьlio oрип]ll;Lnъrroо сo]leр'кrпtoc секц иl нo и x xoд I
- кalt нrl l{рУти' нo
ПPatsдa, полнoс'гl,ю вь]нестx весь Х кoд в oвеPJr.iI llс vДастся
xoтя 6Ьl крохо,гныi1 зaгpyзчItк в ос1roвнос Teлo всс'Talrп прIrдстся вrrедPl.lt.ь' Pас-
noЛo)киветo в зal.oловiLе' пpсдхвостпи' pсl.уляPнoй IxrсЛеДоватсJ!ьlIoстLl ll'цI.]дpy.
1.их св06однlr]х часTяx фailna,
llекoн.
f{oсTоrr}rства э1.огo мехaнrв\Ia в пpсlстоTe ero Pс?l.lIизalIпI.t't1аДе'(нoс1иl
трc6устся aнa,rизирoвaть слy,ке61rЪtе lloДстРyн-
фЛиктtloсти и т, д. Tепеpьужепе
144 глаэgj!!:Д1!Lзlчr:r )дсl e l9 \oда/з Pl .фa,,oв
тyРъ1 на aPeдпteТ иx пepeсeЧснr lя со сбрасl,lваеNroй чaстr,ю ссiцrrlr
(nIьI нпчсro Ilе
сopilсъIваeпi])' Ir eс'Ци слуЧится'Гак) что oвсP"lтеii пorrr6нeт' заrpкl.rпIt
просто пe.
peлас vпРaвл'rние oснoвIrой пРotpalllle 6сз flnрyrIеrlrrя
eе pa6oтrlслосo6rrостп,
Pаспоjlaгaть o!ерлeii следyсT .It'6o в кollцir
фaiiлa' Jt16o в сlо зaгo',loвке. Хоть
этo и 6vдет 6oJee запlcтно' шaliсьl gЬI)JtIlTЬ!р t vtlaкo}кc
v ]lсfoзllаll]lте.nьtlo вoil'

BпeДpеIшe' Aлroрllтni вllсдрeпи, пoЛtlосlЬl() ll/IеЛ,|ичеJt


l]Pе/lьIдvnlе]\lv| зa 1сtI
л шь исllJ,очеll!lсп'' чТo в oвep.:lсii сбpасывастся Itс Чaс]ь сеr(lIltjr
ф:tjijln'хoз,Iинa,
l нспoсрсдстlrеr]]ro с:t\1х-I(о/1' o6P:6атr'lsа!,Ijl,Iii с l|сцшаrlr,ньil|
зilrp]'J,||lxor' ' в]Iе
,'tPсние 3аl Pтз.ll ll{а 06ь] чно oс\,1Цсс'ГI],'lЯстся l lo ]iатtll.opиrl i\ (с;lr. <Е педpс uпe н uу
(jl.oс jvесTo
фalinа'), xо1Jl| B flрllllцlIпcj illonoю tl.nu,u"nn,,.u ,' дl,u, ''" n'l.".nl'n,i,
llдентификaцIrя llopа,кеннъIх o6ъcктов. Bllслpеlrrlя этrlr,о тllrtа 'lcгJ(l)
рaсп(!
знаx) |сЯ 3lrз)'аlьlJо llo J]:шиЧlrlo Jrг|rуЗ.lllка (irlLк 11p:l]lll!оl Bllсдpсlltlol.o
||o liilтL!
гоPIl A) II |ц)llсyTсТ|lЛIо o l r с P J r c я] r u a ч n " l с jl L о l I l l с] ] Л l |( ] с P с / L и I L с
d)lii.!а.
lloсстaновЛециe пoРa?кспяьtх o6r,eктoл. Еслrr Х-лoл tlIlPосктlrpr]Bxll коРpскт.
llo, Л.пJiсl.о уЛаЛсl{ия досTа1oЧIlо yбиTЬ ('rсPЛе'i (llar1l)ll,\lep'
lllaкl)Jrаlr пl)orPilll
11у^s]2аd(bll сo с6Porrleli]loii гаn().rlфii сoxpанятЬ oвepлeи)' ,\'1с1ojLrllrayri]Lll;l|пJ|
! i l г P v i l 1 ] x ( а , в ] ] с д Р с l l l 1 о г оl l o к a ' Г с f o Р l I l I A ' v n l ( ' б ь r л l r
o п r r l : a l r аD ь l ] I | с Tl i l к I l т о i l с
о\i/(j]!l IlоIl'юl]я-Пnя'

кAтЕгoPия сl PAсlЦиPЕниЕ пoсЛEднEЙ сЕкци14 ФAйлA


] , ] д о r l l а t l t t t l ' t р o r t иtяl r r t l l ( l l | | 0 i i с c к l l | | и
4 ) n i i , r | ]аl с l ] о l d L| | ( l l о l t N I L кl o р | | я м | l v х o / l l ' ' l
Г n v t ) { ) l ( ) ' lll] с l . ( ) P l . | кB) oj 3 l } P а | ] l ^i'l i l с l l i ) I i p с [ l с 1 I n| 1 ) ( : I l O ' ( ( 1 1 ] } l l
о | | o ] ) l ] l l r ( ) r l l l о (i i. r 1 с T с -
м'' Ms.DOs | | ( ) а i j ' 1 ( ) вт и l r . r o I " l ) . l J Х l J ( r r o l l r r l r г 0j . l с П ) р l I l oс { | ) 1 Ь l I l l l l l ] ' I N | | |
ll().
l l с l . i t I I ! ' lj'l i l к . ) 1 . o P l j х6 Ь l J I o0 1 . ч с к а l l с l I o< 2 0 0 0 г '
д r l r r ' э , > ? / ( р о н r r r I сr l o з r l a - ' r r r.'l т l l
о l l | { ' { п B v 1 . д o I l а r D с й) р ь I ] o ] - D Е Х I . - | о г д l l o l l l с | l | 6 Ь I Л | lO ] . I ) ) '
:Jт() Ilаll6оjlсс oЧевlдIlЬlii ll I]аи6о,Псс lIoпvn'Pt]L||] irJl'орl|'ГIl
'li] l]сo\ аJIгoPInIюL
вlIе/lP0пllJl во()6 Lс (.la. rс)д'Dкс Лaзьlвaс\1r'lii сTап,naрпrьrlr спrltо6rllr
вrrодjtrrrllr)'
()д]lilкo (lго 'Гaк1.lrкo.Тс.{нllчесlсle
хаPагГcllt.lTllкIl oстi|вJ]яl(rl,xLслaтЬ JIvlп|Iсl.о]оlI
чpсзвьlЧаihro ]{ollфJrtlктеllj сjlxllпt()м заIl01,сл |1poltJЬlю
лрr|11снrlNlJrlllrlЬ к llсkо.
LорьI\] PЕ фaiiJам' кorоPь|с oпrечilот Пссlf предъявлясr"п.trr
к пrrrl ,rpс6онанляiir
(за'Го ol| 6ез6oJlсзне|lllо пeрсноси,г yllar(ЛЛ{v ll о6Pа6оrкy
прoтсктrlрамrr),
IIапеpвr,IйвзlЛяД'l'lдсяllcвстрeчJсtтIlltl{акll)(lIp.пяrстл'1ll:дОп'|сЬIваe\JхIio/L
]l хвoст ]loс,leдllой сеЛllиl.l'
уtsслIl1lиваei\l Pаз\lеp стрillIllчlll)r.o пr1ll/!}in IliL соoт.
xel.ствyющylo вcJЛllllrнy' ttc забьtвaя о eс вьцlil!flIrпallшr.
t1 Ilсре]rасм IIn х ю,,l
I llРanлс11ие, }l]шaкtl х дoпoЛнитe-llll{ьIх ] lсрс/.lвJlясппii o:rпl Iх сeritIl ii отпt х:rrтсл
r'.
lь'|n l)лнo ',, |l|t Pc ||'А,^ |о|,'r|, '|l'nчi'|' ||ч
'1t.o,|.n
U',||pou,Inl'|,U,ф||||,Ioч.U.,Ir,к.6н|'\l,'Гl'\,hIvl''Irl|]r:.l'iIliJ'j
'(е oтIтадaст| l1l1аiJ тIечcro oxасатьсяl чтoх кoд rIеpезаIlrппcrЛirпllr']r, "к
nрllнадлe.
liarцIlе та6"1ице liNlllopта илIi, па]lрrlN1сp'
PесуРсам (Pjlс' 6,12)'
]lо стorlт 'Гo.llЬIio снять poзовьlе oчки ,I загnянv,ГЬ в гЛа:]а
ре:LllЬнoстll] каIi прo.
6лeмт; попpyтттзсl всех щслеii, A что ссJiи кotl€ Ц пoсJ.iе/.Illсfi
сeкЦllи пс совпaДает
с fto)lцol! фаiiлa? NIо'(eТ }ке TaIl oiraзaТься oверлеii илп
прос1.o t,!"\.с(lP' oс,Гaв,оIl
.lь]й nинкеРoм? A чтo eсJnт пoсЛсдrIeй
секциеil4lаiiла являeтся.сeкullя псини
ц11алl.lз]{рoвallнЬlх дaннъlх tlr]}l DlSС]\RDAвT-Е сeкцияl t{.]lopaя в лIо6oii мо
rlснl.Ito'(eт 6ъIтЬв ьllруnrerra rr3
Bн сдPяться в пoс,lсдl Ilоlо ссrщ]rro 4)ajiJi2 I'.] l .r.4'ко техIltlчсс l{ll ]]еIiPaвиnьнo' по
Il гIonll-t,l]ч'ёскrlнсI{oPpеJi.Г]]o.Тс}1 lll'['еllе| ll JТo,г спосс)6 пl1сст nРапo rrа суrце
ствoBaнI]с. tLo:rтoi\{ypi]ссIloтpиlt сгo t1oaoлр()6!rсс,

нoвьа v-sz' lnage slzr /


Pис.6.12' Bнедрeниеx.кода в фаЙл пylем pасшиpeHиялослeднeйсекции

I]lIедрirIllrс. ]jсnll 4)ltзI1чцrсlrii P.l3N0i) rll)сjIcl(lloii(l('ll lr,tll' будуч|l ll|,lр0Bнс11IlьlМ


l ] а л ( , ! Л Ч | | | | уF j ] e A ] i g n п ] e n t ,r i с < д o ' I я ' ! в ; t с ' Г с я 'n ( ) 4 Л r з l l ч с с ] i ( ) г оl ( о ] п t а ф a i i Л a ,
зlIaчIlт, х lк)'ц iloЛ'iсj1 'r||l60 oтI(азl1,П,с' o.Г !ll|дрcIL я' nI16lr llPис].егивa-Iь свoе
TeJo нс к rrolrIlY сеI{Цrш, tl к коllцv (])tlii"1а.P;lзj1ILlLillli' пРilt]ЦlllllIilJ|ь]la, зa сItJllo-
(IепIIсi{ r.oго, чTo овсPjlcii тeпcPЬ lIр||,l(eтс' зaгlу){ir'].r] в пill,|я.rьl увcлпчlrв;Ul каl(
вРсl\iя загPузt{ll, Titк 1l кo,rlI1LI.'стlrоIIоTPe6'цясNonх PссуРфв' впсl1РЯ,lЬся '(е Nt(r)к.
ду кoпцоll ссrrцt l Il ] l пaча,l o^l oIlер"!оя кllTсГ( )П lIleскIt ltсдс)l lyсTпlIo' Tак кnк oвер.
Jlrxl ч а |]Ieвссгo aдресуlt)тс'l o1.]ll хl пl]"l Ьrto llаI l'Lta фаrjJIа (х0тя N'оl.ут а,rPесoвaтъ.
с я и o т ] ! о с l l т P J . l Ь н 0 1 r ; o ] ] ц ап 0 с Л с Д п r й с с x ц 1 1 l l ) , l I P y Г а ' l т 0 п к o с т Ь с в я з a н а
с пePcсчсTоIi вripт),а,lll,ln)го раэllcPа секцIlli ссЛrl оI I 6олъ1шс физriческolo 0(ак
чalrle вссгo и сЛ'\^laс'гся)' то он у,{с вк.]rlочitет в (с6я кaкvю тo чaсть oвrPJrея'
IlоэToмy :rltгoритrf вЬIчuсД l я нoвоl.o Разпlepa сyщесTI]ellIro yсJrожllяeTся.
с aтри6y'Гамrl секпl1il дсJlit o6стoЯT сщe хуrке, ссl{цJlll ]IeI'пIицrtшr]зированнl'х
gх/NT lх все.Tаки зaгру.
дalпrЪrх вс)06Ul.. rlе сr6язаnj'l заrPyjrrат!ся с /]пскa (хоtя
жaют), а оl1oке6ньrc с:еliцlпr (наrlРиr.1ер, секIrtlя rIcpепle lасмых эnеl'е}rтoв) pe-
aaьно вoсTрe6овапьl сxсте]\tоI1lr.lиllrь Ita этaпо зal.pузки PЕ фа1"1Ла,aкTивны тoj1Ькo
rra стадtIи заl.рузкп, а l1?!IьIrей!Iсс их пре6Ъiванlrс в пa\fя'Ги rrо гapa!шIrPованol
lт Х ]toд зarlРостo ilожеТ сх-rтoпотатr' lсIiJюч0н11с сrцe до тоro' кaк yспeет пеPс.
746 иЯи yдалe|иякодaиз PЕ файлOв

дe1.ь yпPaв"Iеl1ис oсfloв]Iой прoгpaiимс, I{oнeч]to, х.кoд мoлсeт скopректиPоBa'Гь


irТpибvтЬт ll.]с'{сдIlеii се]rци]] пo свoе,!rу yсlioTPсниюj flo этo yx}ЦпIиT llpoизвo'lи.
1.еn!нoстЬ сllсТсnIы и 6vДст слипrкo}1 зaпteтнo' ЕсЛи
фи3u qссIrий paзмсp пoс.neл-
пelt сскц11и pаgсI{ нy.nloj чтo хаPакrеpнo длЯ секц1rй Леинициа-tllзl.lPоваrrflьIх
rrучrnе сc l1ропус,гить, вrlедрlrвшIrсЪ в пpсдiтoсЛед11юю секц11to,
r.IaIl]1l,1хl
TппllчнъIй L'тгоPитм вIleЛРеl]иЯ вьIпIядит так:
. загpу,каспl PЕ 3аГoxовolr и анiljшIзIrpуenl aтPlI6yTЬl последпeй сеIiцllrl;
. ссли q]ЛаI Il4AGЕ sсN_ E|4 SнARЕDустaIJов'Itсl]]откaзывa€ ] \ся о1. вн€ л РeI l и'!li
. есJlи фrraг IfiAGЕ-sсN MЕ -DISсАROАBLEYстап()вЛсн] j1lr6o oткaзьiBаеltсЯ от 8||е.
лpeпrtя' 'lп6о саlloстoятe"'lъlю с6pасьlяaсlr сr o;
. есЛи ф'raг IPlАGЕ-sсN.сNТUNI NIтIALIZЕD-.DAтA l ill1oвr]eЛj rtvчшe всeг( ) oт]{aзaтЬся
у(.

. есr|LL FA) + Ls r а > siz€ o fFi]e, фaйrlсoдсpлоггoвсplтсii'


AL]GN.I]P(Ls.г-sz'
П Jlучшe o'гказатьсяоT вxсдPсJlIl';
. с с J I i L s . v - s z > L s . г г z ' х B О с l . с с x ц l l l | с o i r с p } к J f Г' l i ] L н l l ь i еиl r | } l Ц I l а r l I l 3 l | Р o в n l l -
1lЬJсIlу.llяil]IlllсnслyсT.IJll.юolтai|aTь(Яoтl]lrcдpcнr'я'r]r16оп€l)cдllсрсllа.|еii
у п р а в J ] с l t l I Яп о Л ч l l ( ' l r l т ь u ( l с' а с o 6 ( ) ' i ;
. д o I I j l с ь I I r a c i !х]. x o л l ( к r l l l ( v ( ] ) l l i i r l а i
. у с T a l l a в J l l | в a с r vL s . г - s z i r а s i z e 0 f F i ] е - L s ' г - о f f ;
. c с J l l l L s . v - s z > _ ( L s , г - а + L s ' г . s z + { s i z e O f F i ] e- ( L s , r - а + А L I G NU P ( L s . r - s z '
F A ) ) ) ' ( ) с T а в n я Lс sУ, v s z 6 с з ] l З N l с l l e i|i|i l l | | i r ч с L s ,svz : = 0 ;
. с с J l ДL s ' v - s z I _ 0 . ] | с p o с ч ! 1 ] n l l i l c1пп| а g es i z e ;
. Ili't Ilе()6хoДxrvo(-r.}l l()PP!м l)!сIl а1pП6уTЬIl]l|сдP'спloii сс I{цIt]1:с6paсЫr]il.
eN|lгPIт6и I|lAGЕsсN ПEм.D I sсАRmalЕI! п рl |сl]rlllвiсм ll Ц'r6vT II,IAGE
sсN l]Е _RЕюi
. I I с р с с ч J I ' Г Ь l в aIсnNai g еs i 2 e .
Идeнтификацил пopаlltсппых о6ъсктoв. вrrе/lрcltuя эт()Г0Tr,lIIalr,.]сIПrtф
ци.
|irЬ-' '.]|'^U'в.с|lj_Uн|| .] |1J|w.,.'{ р l , . у | . ] o | | ' \ || . n | , 'o i I o . , , l |еl l , i i l , n к | | | | | |
' n ' | | |, , ' , , o 1 , | . , ' U . ' , ' j , j ,, в . , ' | . , ] , l , r o '
| . J | | ' ,] , . | | | | | | U | |'J, jn I l ' U Ьн: l | ,| \ , | ' | | ,L, ] х
Jlx6о сeкцЛя Pесvрс0в' ".ll16oс,rlу)I(е6пaяс1rIoп я, rraпPлllеp сскцrrя импoртa/экс-
пopТа плп llcPсlllепlасNlЬIr( зnеIloнтоп,
ЕсJtj l.lсходIlЬlii фаijn с0д.р'{аn l)всPjIсii ('1!! Ilv.op) oставЛеннЬпr JrпIlксpoм)'
r ' ; , | r |o | 1 , , l ' t ' o J ^ | . ъ | , . r . J | ' '| | ' ' , L , ' | l
Boсстанoв..IсIIие ЛoPа'(eнныx o6ъектoв. ЛIо6oвь I'aчr1IrаюпIllх пpогРаl|IIис1.oв
к Pасl]I]шсllrrю пoсЛеднсl1 се(цr1]]
фаiiJa впoJпe 06ЪЯспlllla (6oJee иJ]и пIelree
подр!)6ное оllrсанIie )тol.o спсlсо6а внеДpelrxя i]оnоlo ]1аilтr' ]lРа]rтrrчесI.n в лю
i)oNI вирус1lolf '(ypна"!е)' п0 вoт аJl.opиТмI,гrескrlо oпп16кrr, сoвеpлrcннъre
rпrи,
пellPoс,Гите'цЬнъI rr TPс6yютсyPoвoго lIa]rазall],я IlЛrl' ло краiiнсr:i rvерe, о6ществеll.

чaл]е всегo всТрсчаloTся оп1116т.llTPех тиlroB: нellеРl{olr oгIpедсlеrпre lloзицlrri


кoнцa q]aиЛaj отсyтств е вьLРавllивa] l].],]и нeпoдхoдяIrрlе атри6yтьr сскuпи' пpи.
чеN{ 6ojьпl;Lч чaсть liз 11!lх тrеo6рaTr.!fa' rl ]loрDкeпrrьrе
фaii-lьI вoсстaнoвлeнrлo
леllия кода из PЕ.фaйлOв

.чaчIirll с тo1.o'чтo Ls , r off + LS , г sz l Je всe1дасolrпадаe,lс lorlпoj\IфаliЛа,I] eсли


фаli'tсoдePr(итoвеP,rei,l'оп6удст6езж.r:10сТн0Yl]пчтo'кеx, ЕсJrrILs. v-sz < Ls, г sz,
]o г sz Ntoжст 6еспpeпя1.(Tвсlнl'oRъl-llеlа1.ьза преllt].]rь] фaiiJ|а, rr pазPa6опlr'к
\ кола ,цo'lжонэто }"tlттЬвaTь'в пPо'Гивrr.ruсjlу.rаев t{oнцепос.цL'дtiсiiсeкцпп .,6.

UчеfiЬ частo встРечaсTся I'iтaкnя ()tl1и6пa|nмесloТoro что6ri ]lодтЯIlyтЬ Ls'г-sz


к lioнцy Х i{о,la'Ilрol.Pампlrlстувс]r]lч]rвaе'ГLs ' г-sz н a раЗi\IеP х.IioЛа' x cс./ll11rо.
нсц пoс"rт€ , 1пеll(скцпIl II€ сов]lаllrt с xоll]lоll optrгппальлoro фaй:ta' Х.кoд пе.
()ж!jial{нoд.liясeбя ом)]{етсяi| Orrсp..IссlI{ сч:l(11'lo'этoil6еIL(]-'rсгIroпoпftЛ|l,-.l1Po-
стo сi{oРpс1iтIrрyii\] |loJ]сLs, г-sz' устанoвllu em rIllдсilстrrЛГeЛ'ньпi кОrleц
фirii.la,
Hереltкo пpпхoлптся ста''rlпваться rl с oшrl6кal\lIltropprкllIllt вnpTyajiьЛьIхpаз.
rlеРo }].Кilк Y,{е говоlJujloсь, тBeл U.lIlватЬ Ls , V sz ltll pазl rcР Х. кoда llyл{l Io nxшЬ
тoгЛaj кolla Ls,v.sz <= Ls.г'sz' п 1lРo'r]IRrl.l\1 сnyчас Dпl)'JYаIьньIitо6рi]l yкс
сoлeР)кll1.Часть Xо,llа ll.Цtrjlат{с вc(lL х-Iiоr.l ]tсrпJ](оil.Ес.пЛ Ls'v sz I_ 0' TlL(aЯ
, , | | | r ' | .|i,|o J | ' l | |l l , , r | || | | | ' , ' ,||,, I J i ' , t l , l ' | ' ,',' '.,' ,,'''ч*
ствo I]аl!1,1ти,вЬlдсJlell]ll:)ljlllРoцcсс()lrу яо cс'lJlL L5,V-sz - 0' ||oс'lс BIIe/Qс|||l'l otl
( ) I { : t , ( с T сP' lа n l l Ь l м , ' .
l ) а : } м с P vх к ) ] L n ' к o т о Р r , l i i r \ | | | o | 0i \ l с J l I ) J l |Pсi l з м о Р а l l o с i i с с к .
llIlll] ]] Pсзультa'Гe llсIo cс lIрoдо.'rлrr'tllIс rtс 6vдtl'|!itl.|)Y,icJIo ll {i)аji'(оTкакx.r]
ра.
6 о т e ' l J л я в o з р а r l t с l r L l l с г o в с r . 1 х l i ir r p o с L о r б l r у ' ' L и , | сr l o Л с L s ' v s z и Л l l П ь | ч с n r i T о
с l ' o и с ' | . l . | | l | | зolс] а ч e I I l l с '
l l o с Л с ] т з м r I l с l l и я в l l р 1 . v a J | Ь I l Ь | хР а i , l ' с P ( ) | r ( ! к | ( l I j l T P с 6 у с | { j , | l l с Р 0 с ч j l T a T ь
Imаge size' ч'ro l t,oгис llРогl)аnt11llсl'l'ЬI l(Ll'цiLю,||lcl|l)а|rl Л|,||ojЛrlбo i]Pос1.o оylliill,t.
I ' ) , | ч l I P l v ' l ,l ' | , | ' l , P , , I I | с l ' | , l , r 1 ' \ ( , | \ | | | | i i , , ' , / , ' ' \ ' l с , l | | , | | l , , ' l . 1 l , , , , I l , ' , . У ' | 1 | I I l с , . г я .
смtlto кодa' лrr6oзlt6ьшаlr OrLРvl.'lll|1.ll п(),1уЧcIlIlI,liiР('i1у,rlЬ1'.rT Iltl ГРаulIllY 6.4 l(61iil,
'цЛ6o l(0|1ускaя /lругrIе ()lrlll6rot' ГIРaв|llЬIпnii !l'lll.оPII'гll IlЬl.i с,rlоltlxl I]тage size
иr.'r.акi
вьrгJ]'Il( Ls.v_а + АLIGNUP((Ls.v-s)?Ls'v s:Ls,г.sz.0A),
Саrv'ьIй 6aг -.rrov,1а'IIл;е
6еi]o6nднъп.' arprr6утьrрlсrl|пряcIIoiiс nll]l]'напРl,1Nleр
Ь н n д D c ' I ' U D T s с ^ R I J А l J L L . . | i | | | | | ' l , I U р ' ' i i | | : | | | l о . , l I l' l . ' l |.{lL],,J,я
rlсprlleпLаеi!] ь]х эле]\lelflu] ' с)6Ьl.Ilю рil(xo]lilг:lIоn la' (' Ir lLolll lc
4)аiixа. кoррeкI l11я
аTplr6vтo! дoл,{{на pеlllll Il] э1у ЛPо6"llеIlY,
, / t ,. v ! ' 1 Р , , l , х , | . o | ' | l ' . l ' | |, | i r | 1 1 ,| | | | ' ,n | г . ) ( Ь | '
sizeof(х.сode) 6аiiтoв .rT r{оllца lIoсneДIlсi] с]lrloп rJ ll llсpCсчпTnii|с зI1ачсIrlя к!
.]Lсй:
lmаgeваse. Ls,r sz Jl Ls,г оff'

}цт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йЛов

нooьll v-ьz' lmagвs * 7


Pис.6.tз. внедpeниеХ.кодa вфайл путем сoздaнилсобсrвrнNoйсeкции

l]Лодp€ l l!tе: O6o6rllсJl]lьliiалг()PU-lI' lrllcr:(I)сIlJ,яIl|'[n'Iдl|-L тaк;


. 3агPy,(aoм l)]-.заг()Jк)j,]окl,JсIl('гPЙм, чTо
PilOlo-llо)rsllo 3a тa6Jlиllсii сскцl'liii
. сс.llи зj(ссl' Ilс llу"'lиj ()rкa3ьIвaе]!lся оT вIlс/lPсIпl';
. l]сЛI]e..lfаnell+ sizeOf0рtjona]|]eаder+ 14h+ (Nunber0fsесtions + 1)*40>
si zфfl]eаders,
Рaздвпri]eIt ()Iloк'
з?tг0Л кaк l loкa3llIo8 Pаз]IeJ
с з вЛellPolrиeв PЕ.
llitГо':loвoк,! a oсJIo э'го IIсв.)3можнo' 01.кaзшваc\1ся oт ilaРФI(сIll|яj
. дl)IllIсl]lвilсli x.кoll I( l(лllly фaйJ|tl;
. vl]cjlIitп]вaсм N!|nbeг0fseсtiоns па сЛlrшЦУ;
. Jlьц)авUrtвaсм LS'г-sz нa IreЛrlчIIнy FА;
o /.1ollисIriBaoмк та6nuцс сеliциji еЛle oдnн )Лсtrlснт' зnпoлlIяя Itо-цясJ]eдуIollIIlNI
(J6pmоl{:

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

Boсстановлrпlrе пoPaаrеннЬtх o6ъeктoв. Оrnи6оч]I0e oflpeДeлeние сi\{rЦеt1]1я


внсдрясNФii секЦllli обычнo llРrшoДrn к поnнoй нePа6.JToсIloсo6 oсти фai,lna 6eз
\Iалсil!rx1 tlallе)IiЛ llа егlr вoссТанosJlе]ole (пoдpo6нос 06 этoм }ll,l у)кe гoтlорилir
гl предъIдуlцсlll Pixl/reЛе), o1Uп6r oсТar]ъilьlх тиaoB e}iсс кoвapllЬl,

)кr1вaя кraсспIia. нс вl,ц)овпer]rrЬlii ф]1з}rчс(к1ji] Р^змеp пP€ Д пoсЛсдвеii секrtl'lи


фaii..lа' как yж€ гoвoPItjloсь rlьпrIе, sЬrpаB1lI1вa1ь 4nltllчeскl{й paзмсP llос"Ieлпeй
ссr{rrl]lJ 1rc o6язaтсJIЬt1о' no IlРll впcдрсlllrli llоroii секциr,l в файr xoсJ1еlillяя сек
ilrJя сTlн0вr1Tся пре,1пос.]lсдllt] 1со всеNllI Bьl'Гсl{ill()lцl'ivtl (rтсюдa ЛослсдсTgllяN'll.

кAтЕгoPия с: РAсl'lJиPEt|иEсЕPЕдинHьIx сEкциЙ ФAЙлA


ГlrlеlrРонIrс в r:qх.lпrrIv фаii,Iа 0|lкпlтся ri вr,Iсшсrrу ttл:trlтаlrу и o6есrrс.rиваeт
Х кол1, пl l 16r-l.lll,Lrrую сltРЬl Tнoс1r'. l lрtЛпoчт птс.IlЬнсс все го вll e/(РятьсЯ ли6сl в llа-
.rалo' лl,r6o в rrtllкltt колсlnoii (скц11lr. кo'|оPoii в пoда9]1,юlцL'Nl 6ольrIUIllстsс с.Цу-
чаl]в яв.]J,lс1Оl ||(r])|]аяссiiцlUl (l)iliiJrа' ;JTот аjIгoPlj1ll l|1lс-цеЛуетвсс Jrучш11с чеР
1r'| со3/'laIlIЕl oвсРЛс' il ссPс;цxЛс' \|l|()|oJil]а.lно \Jсlllllr]raя ||х] nIrrЛРсrlн!lii х-кoЛ
I l р | | | | a д J I с , i l | 1 . с l j ) r | | ] t ' r J J O l tI I\l]l | ' L ) к у 'o n . P n с я x с , | ' l r l ) i ) г ( ) l ' l yl l c т l l к о r t ( | ) J Л к т о u
с lrР()тcl{тоPll}l1l/iуlIi'l(ЛllIlIlr{tt^1j|.
I Ф ' L ( ' ! ) i l с с к i l l l ] l i \ { o , i l l ( )o с у ] l L 0 с т п и т ь
I}llсдрс]Iис I' начаJIo. в|lсnPcIlIl. ll ]|ач:l'llо
L,.' {': | | | ' : ' '' ' ) ' , l l | , l l | r t | ,| l ' | | | L п

( 0 r ( l l ] t ' I м l l1 r ) l P r п o )( l ) l i : Л l ч с с к j rl | с l ) с N | с с 1 | lсl r( |! ( l ) x i ] . ' | с (' о р р с ' { 1 . l l i ю l l 1 ' |]|} с сс с Ь l Л .


l n l I l ^ n 6 ( o , r I x ' r I l Ь i еi l ; ' l ] ) f ( i l| ]( | l ] i l I l l l ' l l I о I l l l \ ' l v Р | { с ' n I l 6 o у r ! | с I l I ' l I l l l Т vЬ_ а п г o f f
l n ' ( ) | r ( ) i i с o | i l L l l I Il r n o д | | у l l T v ' { с l ] . n | | Ч | | | | y3l i l l l о n | | Я , l o с 8 o б о ' ц l l I ] п | c с с , м 0 с ' , . ( )
Х-(ollonl' Т l ] D l a l l l r 4 ) l 1 i } | | ч | ( i { l Ii!],l l | ] l ! P T y l l J Ь J i ] i oс с Ь l ' l l к l l l ( ( ) р P 0 | i | . I l p ( Л J aI' lГсъ
I l I ) | l , | l с т с , l . , l ' кi liкl J t( с | { | l | | Лt ) у ] L cr с l | | ) ( ) l ' i L I l р о l r t l |l ]]:l l i l N l я T Ьп о I l P с ' o t ] 1 1 1i ц l ) c с a l { ,
. I l с Г l ( oЛ o I . r з i l 1 ] , Ч ' Г o l l с l ] 0 t ' ( ' l I L с | l | |кс( ) д о | ] o i i. o l i ц | | l l l I l ) l J | ] i i t : ; l р с I I l tхl l- к о l l a в c e
l 1 l 1 ч a r |(())( ] у l I i е св1, ]}l r0 ' к L r i l l I : L r o f i ! Ч l | (r)| ( 1 ) С l \ | с l ц с | l ] с1сl l|){ | ( I | | | / l i l I J I l l l)l|l х) l r i r I I с / 1 р с .
l l l l l l к ( ) / ( i l ] I i o I l o ц ! l l r ( ) ) 1 . ( ) nЛ l уo l l з б с x { ! | l l l . н t l к о i ' у i l с l l у ) I o l о Г o / l v б Л Р o в а I l l t , l
( ) l l l 1 с l l I l r a с ' r С! , ( ' l | | ( ) | | l \ l 0 ] i I l oPмl l з д ( ' J с ( с \ l ' o в l l с , 1 p е l l l l e B ] L о п с ц " ) . i i l L е с ь) l ( с l l ь l
(lосlI)сl(llточlINlся lIa зiiпrjuloii l.Pllrrl l(с к)/'Loвl)ii ссl{lllrll п тcхпllчссrcrtх aсneктах
cс o' t)дв|tгrrrIl'l вfJI!6Ь i]xгoJlorrILil,
o)6ствcн!lo rоПоря' nСЛ |Ipo6nсi!'x rl то11,ч'I()l|()/ti!в"!яloщccбo,1lЬr|lI1llстRoкoдoвЬlх
сrшoli,l IlачjlJIiLeTся с arrPц]rL1000h \!l'uиIIiLl||,ll()дoIIусlТlll]оlo aдРeса' дIпtTyсмo.
i.о Bьr6ран IIоii крiшl krсT Ь]o вЬЦ)il! llI]Blll п и 0A' 1а к trГо отс'r.уlIаTьуЖe IJeкyда зal.о.
'!orr.rli за наIjп, з]lесЬ l!о'кlto ||o(t.упIrTь двvllя сJJ()сo6ампi лл6с) yN1еЛьпп1ть6aзо-
в).Iitfu]рссзаl?vltк'Iпit DcJIrгlr]llу' xрxт]tуIo 64 К6tlii|, lJ с]юРl)сктlIPoBilTь r]се ссl'Ulкl
tia ltvA-.1Дресl (чTo !Ц.()]!llrт0ЛьIro] да ll6aзoвьlii aдPес :]aГру]llol подaв]l'roпIего
6o.flьшиrlсl.nit файЛoв - эjо lt{iп пrllajtьllЬLii ?цРес, пo]цсPж]шae\JЫii \\riпdo\\'s 9х)'
.nIт6оoTкnl(Ir'lть въrрaвtlllваl olc п фаiirlс' oT()дjrIi]lyR гlraнIIцv l ll 'rlI06oе коJ1xчсс1.в()
6аii'Г, I{PаTIIOC]rвiц{ (яo To1дa4);lii"t ]Iе 6vДс'1 з.Lllyскaться Irод\\/iпdows 9x),
.l.l
|п oвоil а"1ropllTr\i впедPснl l'1 l lу,геlr yпlеяьl]rсIlrlя 6:lзовoго aдPcса ]aгРvзшr въl-

сч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

o /LЛ' кaхлoЛ сскЦI,Iп]eсJlиv sz<r s2] пoдтяr.llвасl!1V-sz rr Ns'V-а - сs'v-а,


,1о6иваясьpавclrствa r]lu" nu".nuх ,no'1,'уr-',o,'ъIх pа3,\]срoв;
. в п e д р я с м в з а г о J r ( ) в о к A L l G N - i ] Р ( s i z € o f ( х . с o d е )0'A ) 6 a i i T ,o ф o р N l J l , l яп x к a к

. у I , e ] l ь 1 x а с ]Fus ' v - а и F s . г o f f t i а A L ] G N - U P ( s j z e o f ( xс o d е ) ' 0 A ) ;


. nllедPЯrм Х-l(oд в нач;шo ]lсPв.Ji' сeкцnlr фаii/lа;
. ltсРrсчиTьItsасl{lmаge size.
B]IeДре|iIе u iсонец. aIтo6ьr внсдprrться в тtolterll.oдoвоii сcкцп'il Ilсo6xо/]Лмo
Paз/]вllга'rъне сTPанич]lыi rINI]lд)ri'заltoвo пeресчIrTaBссьIЛl{]Jlla все аДрeсal
так кi}l{стapьIх дa]]тlьIхlla пPс'(нe]!] I{cсте уже ]le oira,]сстся.Зaдaнa кажется
нeвыпoЛlil,Iп{ой(встраrlпaт], в х кoД rlо..lнoцellньrriдизaссеlr6лep с пнтeл'lек.
тol{ иды нe прeд"lrагатьI)'ilo pсnlelrиe jlc}l{ит6У1tвалЬнoна пoвеpr]lости, B xo.
]rвJ]яющеN 6oЛьI]lиrrствeс,пyчaeвДЛЯссt,IЛoкпlOк]ly секцияIlи ксlда и 11анIrьlх
llсllo.!ьзуlolся не oт]lоситс'.тьпьre'a а6солroтньlе aдрссa, пеpечислellпшс в тa6-
иyдалeниякoдаиз PЕ.файлoв
техникaвнeдрeния 151

.nr'пreпсPсмсщalrмЬtх .]JIeмеllтoв( пР]'1)'сrroвttlr' ч'ro orlа еО.ь). B кра!iнеl! слyчаc


а6сotrrrотньIeссьUlки Nlo)кl]o РaспозI'атЪ эвpl]t]тllчсскими lIрl'еI'a\fIl если
(Iлrаgевase +Imаgesize) >: z >_ Imаgеsi ze' то z .. эффскT!]]]!Ьlй аr1рес,тPе-
6уюпoIй кoPpскц]1и (Pазуl{eе'Гся'пPeдлo}!iен]1r'пilIpnсll нс с./rиlr!кrмпадежоrr'
Ilo всe жe oн Pa6oтaе1),
Т | | п o в o :i L' л | o p ' N
l ,l P ] | , | я| | l Ij . | ,
"нJ,|P''||||,r
. считьiвaсl1PЕ.зat.oЛоBoк;
. если нот псpcмсцaемЬIх элеlfеrlтов, nyчшс оТl!азатr'с'loт впellреп я, таIt Itак
' t ' ] , | j \ | o ^ " | , ' | ' , ' i r | ' l : . ' 1 ' ' 1 о . п o . , oo. '.l
rlахoдI.INII{oдoвуlo сeкцrt]о фаiiла]
еслисs,v.sz-= 0lUtr]сs'v-sz>: сs,г sz' yBеЛЛчI]васм r-sz кoдoвl:)ii
секЦrlи
1I,.'йлa;
eслliсs,V-sz< сs ' r s?''госs,г-sz]:Ns,r-оff+AL]GN FA)i
UP(sjzeоf(х.соde)'
ссЛисs' v-sz< сs,r.sz' TоCs'v_sz::сs' г.sz;
||JilALIGN
физrl.rcски('LI]liГaемtsссЛoс-!сДуro!11rcс.liIl UP(sjzеof(х-сode)'
гA)
6iliir' yв()Jlr,l'Iltвая пх r_оff ltir,lу )к. (]aNyl) llenll.l llvi
. сдl]]lГilc]ll всс ЛoсЛедуlolцис ссlщIllIr (1.PnljI1ч|lo]\{ Л\l]l/'Ln{е' уп€ r 1jllll{вaЯ Llх v-а
! l . tA L I G NU P ( s j z e o f ( х . с o d e' ) 0 A ) 6 а j i г i
cсЛl4 Tа6jlицn lIL,Рi]Nlс||lасNrьlхl)'!cNlrll'l,o1lllРl|(1у11j,гRv.'rlvЛс,Itl1ч|lJ]а.Nlвсс n6.
с 0 J l ] о T l l Ь l 0С ( : l , I J | l t|Il]. rI ] с р с N ' с | l L с | | | l ьс](х] | ( ] l | . |I l il l A L I G N U Р ( s i z e o f ( Х с 0 d е ) ' 0 A )
6айтi cсlЛI x(c Tа6iItJLЬ| l|с|)с]\1с]Ilitl]]\lьlх i)Jlс11clr|oв llсT' l|сlIoJlьзусII рaз"!IrlЧ.
Ilь]е эвРIlс'ГцЧc(l(Ilс a]|Г()рlI.гNlь|i
Imаqе
псрссчlr,гЬIвacм slze,
и ' ц с п г t t ф и к a ( и я ) r o p а , l ( с I l п Ь I xo б 1 , с к r o s . / l | l l j ] l l ' | i i1 l I l l B l l i ] ] ( l l с l п DЛl o с l ! х | I o Р | l с
l]ЬlJIовJJel|в )lnIвоit IIPuP()дC' l|():)T()]!1! г()ПоРlfГl, о сго ItдcII, 1q)|lxtlllll|] ]шс)1t](е.

BoсстаtIoвЛeIIис пoP кснньiх o6ъектоD. I{I] oдltо1.o I]оPll'(с!l!lol.о о6,ЬсrtTa I]oкa


Л е ;aфrпtсrDoвill o'

}итЕгoPия zl вHEдPEHиE чEPEз AвтoзAгPDкAЕмЬlE DLL


B н с д P I l ] . ь с яв 4 ' a i i л r u o ' { п o 'д а } к с l l c l l p 1 1 к а с а я с ЬI . п е 1 1 у 'H е Л e р l l T с ? ^ . з P я I
Wirкlows N'Г пo:ulePиLIlвaсT сIlсцlIiUlьll|'lij]{Jll()'L реесTpa'в которo\] пcPсчисnсln'
DLL, aв loIraTПчeскизiцруЛiaющl,lссЯxpll fiа,кllol1соllда]JппllоBогo пPоI]сссa,Есn]1
Еntгy Pоint дr1IlамиЧескoй6l16лпoтскl нс plrвrlit ]lyЛlо.оlIа no.rllл{rпyпрaвlcнис
. '' |P,|'', ёnro |Pо]l|rJ'r
tsатьвсс llpoЛсхoдяll{lтев системc сo6ытия (такl1t]'llапрIl\Jср' каir запyс]ririтuви-
русньrх rrpoрапшr),БстeствеIrно'6орь6aс вЛPусаNlи]loдих р)'l{otsOдсTво]\! }lи l( чепly
xopolше\]y нс прnвoдит, u систeltа долlrсrа 6ьrть о6оззаpажона, У6сцurесь. чтсl
в нKL|'4\soFтWARЕ\мiсlosoft\Windows Nцсurrefrtve6ion\Windows\Applnit-DLLs псpсч11с-
]'lепь]Tо-lтькоJeг:LqЪньIcдинar"rrгrсскrrе 6lrблloте]lи Il пе'Г}l]lчeгоЛ1ппнrгоl
ГЛABA7
BиPyсЬl в 1vlиPEUNIX
Г]opBЬl0l Ii p!с |'l.l IоPатii\кЛцl |е]]I-li()аiijl |,I()сtlrr Iloii фq)м:тr пul |ЛяeN{Inx 4)irii
,'|l)lr||o/lUNlх). бЬI'цизn])rl)lс1])ЙPовllIlъl8 к()l,ltlеllоBЯjIoс,].ых| a ].сllepЬ х noпv.
Л,|lll,lя ]|асчll l.ьlвilol. сIrlnцtе пo.!Iyсo1rlJl xPcдсl.ilвll,гсJIсi] (сl!'. ко,'l".]сl(lll,|loItиРУФ|l
Ill http i//Vx' nеt Uх,org ) ^ |rIIt l1lll)Yсl l ilя эl] l1l1I(JIoIl./lll' Ё B Гс |1I.tяIQсперсIс0Iо (см,
' t t p : / / W W W , v i . L s | | . l , с o п . / v | r u s ] i n ' | . t . r , ) ' d = з( l.0i i6, |) | ' | , | . I l | ' | | | , U . , . , | | ' l l ' | | ' l / j I L j | | |, l|
rIl1х]ч'|() lla!0jllj1. lIa се])ЬезiIЬ|еPазllЬIIЦtr.]сlllI,lo к;lчес1r]o AVP lt дo6P(lсr)вссTlкь
(.ги сГо ф:]даTсJ.l.t'i'

Пoyмоjlч.lIU'l.) UN1х з;tllр.lц:lеT Nlo/1nq)llкаIll]ю lrсlIo",]]]яeIlЫх qJайЛoв, и успelп-


пoc Рaс!Цx)сr.Pallсflr'e вIrlrvсof] lrо3N{о)кrloToJrьк.r ar урoD}lо loor, кoтоРьlii Либo
пpIiсваrlвaеТс'l зaPа'{rнно му фа iiJ у aдIlиtIистPаToPoм, Ли6о сaмoстoяr'ельl l o :rа.
хвaтЬ]вaе'Lс,l вllРvсом чсрсз ,1ьЦьt в ядPс систсivЬ]' прlj ltPaви'lьIroii пoлIlTикe
р:l3IpA]lllчсl1llя дoс1.угI;Ll1опеl)i1TЛв1ю11ltа,IIoжсrIиIJзilIIJIаток угpозa вrц)усlI0l.o
зaPaкеxrl' (вoДи:гся rL м'ltlпN]уNlу, К Torlyжо вPе:rrепaто,r.а''rьнoгoo6rtепaсоф'юм
давtтo пo:rцu- сoiiчас уя{с п],rJLто]Iе кorllPyст IIспоЛrlяrмllс файлы /.]pуг у Дрy.
].a _ кlс схaчUваIoт пх llanpямyю из интерпета,.(aжe осли виpyсухитplтся по
Pазиль цеIlтР:Llnxьl'I с€ P tlсPl да.rIЬIUеперIroгo noнoЛснIrЯ eло Рi1сlIPостраrrеI'ие пе
пo':iДеT,Ir вТoр!rч !rЬlc зapа'(енllя 6удyт носиTь едllнIIчlIьri]хaPaктеР'
Фal'rлoвьle lиpvсьt у;кс rrеактyaqьlтьIl и oтсyтсТвие кpу]lньIx эпидeNfиl.l llaгЛя'ц.
пo пoдTвсPяtДаст этlrт факт, Tем нс меrrсе нaкоllJtе]]l1ьtс lleтo/.lиlоl !!lедPс11ия
oтпtoдь нс стalrr 6есгIoлeзtrьtltи - 6сз нпх rкlrзпь ].poянoв Ir систeilf уl{i'tснtloгo
aru{и]lистР]lрoвaния 6ьi,rа 6ьr вeсьма нодoлгori' зaхвart1ть yпPaвлеIlиe aTa(ус.
]!!ЬI]\'
к{ll{пьloTсPol{ и зaпoщпlllTI) пPaва гoot'а всeрaвнo чТo 6р0ситъ зeр]tы!r.
ltо на рaскдleяншй асфалът, хa(ер дoЛ'ссн yiropеIrиTЪся в сlIстеl{el цeпJ.lяясъ эa
всс lrсiloлпяeNone (ра'lJьIl чтo встретя]tя ем)' на пу'гIIj пo ]r тorда oн нr llо]кеT
15з

iЬlтъ ни в чet1 yвepен, lloскoЛьI(у с}rцсствlе1. TаI(оeпопятlle, liа]t pсзерllЛo.рlt.)


rIЦовaflrrс, lloзво,Jlяllrrцсeвoссl'аllrrnriть по|]а,I(снrlуroспстelry' как 6ьr г''tу6oко
: llрvс не 6ьr',rвltеДрeп.
...чLi'ГaетсЯ' ч-ro!ирусЬl. внсдрjl]iljjleся в исхoдJlьlс 1'еliстъl ' 6oJеe,olвУч!tl о'1па
]) в деilствltтс.Ьflостll з1o rrс так' ].Iсхo,'{tlЬl€ текстьl цt6уlorr:я пe6ольrпolr 1:.tt t с.
, |. ']o.а ,lrг.'Uп,|j,,|,',r||n|.'|с :' Ioo,,"Ь'|,'||||
",,''ii,'
Лс,'rе'{Irвaющих цел(rстнo(тЬ aрoгPaп l\fl]оr.oxoда 1l пo3noJяi.ЛlIrlх rlс'ЦаTЬ ]!,ll(]
oYровпевьlij <(o'l.ка1''.Бьшo зap{:Iliсl]n]ПlBarlo }1oo(o'цькo rloпьrтгЛ{ зара,ксl1ия
jlсхо/(rп'х текстoв ol]€ p aпЛolrнoii сис к]NlьLI-INIJХ и ссрвсрit AIlдсhе' oдltаltсl всс
]]|lI с 'ГР€ с кoru llPogа.r]}tjlI'iсь,
].()'{с сanio€ oTнoсtlТся Jl к rrllPyсаIr' обиl;rlЛ1ll.ll{ в инrсрпPст11Р)'ei\{Ьrх скрI1п-
,ilх. lnкпх' пaпpll lсpt как sh' pсr1' p1rр rr нсt.tlсс Bсе, IJ UN]х сfiРtIl,l'U ltсздесl"-
Lllli. Il llх l'o]rпф]IкацI!,l Iю yмoЛчаlIll1{) !:LJPеI]i€ t lа. чго создасl 6]lаГ()IIРIIЯтшьIс
r,с]Lt)вllЯ/lJr,l рaзм}к])ксllЛя вllPусoв' ]j(JL|.Лj пользoBатс.url о6NlсllllljаJlrIсь сIipuЛ.
] i ! \ l l I ir o l l l { 1 { с о l l Д x n i il \ l l t pп о г р v з u л t l я 6 ь l в э л о х . i -Р а l l н с i i М s ' D o s ' кorдa lr()!l'lс
l]|DусьI l]Ьlх0дIIJlll с/(вa ЛlI llс liiD0lЬIl] ,ilс{|ъ'a lilIi ' r|r1lу(|Ь|(х]'|rl().l.сЯвllу,гРlI l|о
lril)tсllllol1D кoN!пЬloIlpа' ltс Л сJlЛllх l]ьlрвal],ся llaP!)кy.
I)rlv11oсTся, l]иPус мo,кс'Г Р;lспI)остРitн't,l.),с,l ll tloР0it 11JJ'rсРlIсT'lIo,г()l)l1l эT() 6v-
,
,, ]|l ' l |' l ' . ( , :l l ' | , d L I l ( г . l ' ' | , ] , | 'I l l , , , , | L n l l t . , 1 1' '' , | г ' . | n | ' , ] , | , ' I ii I' Y . , | ' я . ' , , ,
. а ] Л ю я I l л l l o ( | r Ь ю} ! | р y с о U 1l t l ) ( l t к . n ' | т а м | l
] | | , l [ l Lol p Г а l | | . | J i l i a l \ rllII0, ] { о T ( ) p Ь i 0 . p
()|)l'Цo'чсpBl.l.. т€ N la o'])LсJlЬ|l()i.оP1[r|.()lrоI)il'

l] 6nл2|(аiirlIс(j ']PоItяl lio.вlllLLIi!]oN|у' с.цс,цус1 oх|l,lаTЬ 'цitR Iloo6pазlкlгo рoс,r'a


Чи(!lclllЮстll ЕLli.1]}lPусoв' lIб() д,ll'| э11)Гo 1lNlс)оTсл I!сс усJ|оt],|я, t'с0.l|()ск llll,rс
рссаrс l-INUХпolrrс,п rrc |lil l]о",lьiJyэюii оxcРаllln']lюii ФlсТ.Nlo' I,] Il()ГoIIcllitу'llyч-
Illolt,lяl\lи ee IIРсrlpа,l.tl'l|llII Рeluс'l.o' lryикру1.ll'цll <<tll]1уll'l.l,1вllo-l|()||,n]lJnIj'
гp:IЧЛ1'
ЧсскIIii пптсPil)сiiс' lio llс tlpсдуIше,.lIl"l]l] l.loJЬэoвlllc'цс;i o 11)N|',iТo iЦcждс ч.t|
llnча,гь Pir6оТil'ГЬ с сrtстlrNoii' сnс,]lyeт l]еPсjl()llll1||,l'ь'l.ьlся lIl с1'pillolIl l.CхU||I1eс-
кoii доку[lеllтаЦliи и пPoЧптirl Ь х(rтя бъl lIаPy у\1l|ьlх кllll)liек, lr llP0тl1]rlIoм сЛу.
чilс заРаJa nc 3nстaвlrт сс6Л доЛl.o )кlllTn'
Llcll60:tь!rе llарo.Ilу пcPсilдсТ ll,t UNlх' теll60jlьrrrс сpсlllI llrlх ()l(а,iс'Гся хaкcроl]
]i впPусonис]атe,lей, 'i тoIда с UNIх лРоrlзоiiдс'rто )ксl чT0 в сtI{х]llРеl{2 гlрol1зо.
и''rr'r
п]Лoс,Мs-Dos, Будyтли этп вирyсьrдo6pодyппп'rмrr этoза.
з,lrсl6ltьl:rпr
в l к : l l l . о T I r а с( р и с . 7 , 1 ) '

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ть

Aчтo пaсчст Cи? C эстети.lесl{oiiтoчкI1зрerlrlя * этouyдoвищнl,пi вьl6op, и ви'


pyсописатcЛп сlаpoii пiоJ]Ьlвас Зil tlсIо IIe jlРoстят' с дРvгoii стoPопr't,6yдyчIr
яrвкoурoBнсвЬIп{сlrстеNIпоoРllснтlцюва]rньIil язьпroпr'Си неплoхo подхсlдлтдля
paзPа6оTк'1tsIIPyсoв'хoтя o,i'зl]аIrпяAсссiI6JеIlа gсе
Pавrro нe освo6oлrлаeт,
к кLtДу'геIIeрtlPyспioruукоlIпnJяТopoпJlпpсдъявляlсlтся слeдуroпtистрс6oвaпия:
оп д0J,1,]{сlr бЬг|l, пoл]юс,гьЮпePс]\1с[IaеIlь]м (то eсtь незазllсrrмьlм oт 6азoвoгo
адРeсa загРу3ки)' не lv(rдtlфI{пlJPовать пl|кilкЛе я.tеiirпrпапl'tти,зa исrслюvеttисм
стекoвого llpoстPапс1.rаj rI ]lе и(1lor.Iьзo|]а.l'Ь ста|ЦapтнЬ]с l{ехапltзмr,IIlмпopта
t|lункцпii' :rи6о пoдrt'lltlчaя всс rlсo6ходulrьIс 6ll6''ruoтeкrrс.alrостoятсльIкl'Ltи6o
o6РаIIIая(]l, g Лativс'API, эт 111.Pс6oв1rIlияlJ Y'rФв-'lствoРястпoдalляtoпIee 6rrль.
|l1]lllстl]ollo}lпll.r]яТ()lхx]|
оЛ||акoоT lJРоГPil}llliи(|1.аl.oЛ{eкoс.чTo llo].pe6yе-j.с,l'
l.lс 06,Ьяl]Л'liiтeгnlвrl\,ю 4)уllкцnIo Jll)iЦ,PаlllпlьIкilк п]din_ встP01]1втакуl(),ЛIтfl.
кср вIJ'riЦ)и1.вq]:ll]i"'r
stl|1.UP кo]r'кo'Г(DЬlii вl,lрvс! tlа хре|l llc Ily)ftrl! lJе rlс]IOЛЬ.
зу i'i|1 I"llоба'ц,,llь]х LUIlt с1.a].lгlt{)(l lх ] |L'l)l]]\{ 0ll l,ьl х |(0мл l1.l,tTор l]Р и |lуll'Jт8JI ьl ю
p a з ; ! l с l l I a o т| | х , J с с г ] ! l o ] Г Гiсl i l I I I ] | ) | х| |' o у | ] r l P у с ] l o | ' оl { o / l а1 I ем o ' ( е 1 ' 6 Ь l T Ь
сeгп1еIlTа
,ца|||tЬlх!дaл(с ссЛ!I Лиl)Yс 3ахoч0,| l]l)сllo,illioaal.l,ся (lOг]velr'ГoмЛoРажсlIIlоli IЦю-
гРaммьI! oл доx]{сlll Bo-ll0paЬlх) (llll'oстoя1,с,цЬ|lо o||Р0/lсJlи1,l,а!(pес сго зхвoсTa'j
a во-вт.ll)ьlхl Pаст,ll|у1,l] ссгr1с||T llo llсо6хoд'tмьlх
Pазl'oр;r' всe cтo TPивиaJJьIIo
pеаJIизус1.сЯ ,la ас(:е]\16Jlсрe'IJ{)ll'llя l(o]\1lIи.llяToрaoказЬI8acTся чeрс'счyР
сЛo)|{|loi.i
3адaчeй, хpа]iuTe в(! Дall]lь|с Тo-цlко B ]l0кaJIInIЬ|х JlсPсNlшIrlыхl зiuulваЯ строlto.
l]Ьlс кoнс'|а||'ГЬI I] чll(iloвo\I вrIдо, ЕсJrI,l Bln пaпIlltllTс сhаr xr] = <hel]о, Woг]ф'
к()ваPньlii ItOмlll!J|яl ор сбPосIr| TсILсT hel ]o. Wог,ldв ссгмспт дaнIrьrх, а затсм
дn.
Irаl!x'lчс(jl(|l сrtoпIrрусr с,го B n()кtl,rlьflylo llоPеl{elllI),Io Х. /цcЛaIiтe 1alr: х[0]*'h''
Хt1]='e' ' хг2]=,].''. r|JJ,rlIplro6ра]]yjiT0 сhaг в int, oсу||lсствляii|с прuсuoеIlllодвоi.i.
IlЬ|Illr слonа]\lllt 11сзабt,Iва,l o тoNl, чTo l'tЛaдllll.lii 6iIiT дo.Dкеlr пo
ра0loлarатьс'
Лаll]t{с]lьUIе]!у illlPcсvl tIтo pазворач|lваoт стРоltу задoм llаllePе/.],
не исllo,Tъзуiiтс нп]Laкl.rх 6и6лпoтс.rrrьIх t|уrrl{цЛйj ес-qj1тoлЬко вьI нe yвеpоflш|
ljт{) oнI{ п.]лll()сTЬlо
у/l(()в'rloтвоPяl()-rвсеll вьlшспepeч]'lсJIеllпьIм тPe6oваI]и'IIl.
сисTcмr.ъте фvнкции Q6ЬIчнo BьI3ывaIотся чcPсз ипTеpфеiiс паdv;.APl' таюкe
xзвест]rЬIiiпo/]и\]снс]!fsуs.са]](в I,INUХ пoдо6ньrхсистеlrахза этo oтвeчаст
пPeРьlванIre ]Nт 80h'дрyrrrеспстепlьto6ъrнпoиспо-'lьзу]oт да.пь]lийвьlзtlвllo сс
JreкТоpусеNiь,сllсIцеr]rLеfio,riь).I1oскo,rьк!(:истеNлlЬlе
вызoвы lapьIФyются от
oднoйспстеNlьIIi /.lрyгoil,этo ofРrlничивaеlсpeдyo6и'o.пrяo,py"i, и iipn *eлa.
l]ltlt orl }1o^oт11рi]6r]t.llY,l.ьк ьlrr:дpсrшlтo в тa6лпцу иlIпоРTa,
UТкoпIпUjrl1pовав11о.l1vчсirIiЬlii Q,ai,lx'вЬl пoЛyчIrтeo6ъсI.Tпвник Ir рyгатсЛьстno
rir!li]l'rятopa пo I1oводуоTсy1ствll'l tnаin, oстаl]тся ToJ-Iькo сJlиt1ковaтьегo в дRo-
]J'1ныii:]2 l lJ]и 64 разP'Дньlii фaiix, ЕстeсT!енно, rrllеlipять eгo в жepTву I1ридeт-
ся ъIr}'чrryюlт;lli как системнъпj зa].рvзчIlIio l.кaжeтсяo6ра6aтЬшатьTaкoji
файл'
сpедсгвaанали]а,Фладкии плагиата 155

с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

Есnи llсхoдIrьreтelrстЬtвирyсa oтсутствyюT (кr]ивЬIrДrrзaссеIl6леPньlс.lIисTиllги'


в L , д a в а < м Ь l e ,6I0r ^ . с | в (н | | о eo 1 ] ( p o в Р l ] | |мР|.J |в P а ( ч e| , | р 6 P г e м l 'l l P с п а p и г ' o Ь : | | | '
]вoичный кoll вирyса пPихoдиTся самoстoятоnьнo' тyT-1o яaс и подяшдaет oдяil
6oльпrая пpo6Lteма'Дизaссс]\{6ЛeP Bсеx вpемеIl ll Eаpoдoв _ lDA PRo - tiс Ilри-
спoсo6лен lля рa6oты с ЕLг.вирyсa ol, пoскoльlсу откa3ывaeтсязагpy,(aтЬ 4)ai,i.
lЬI с ]Iска,(eнньIN{ seсtioп hcadег,oм (a 6oЛЬшинcтвo вllPусoв lI!пrак}le кoPpcкTt'l-
pуIот€ г o пoслe 3aPDкelIия|)..цругих j(oстойIrыхдизассeмбЛepoв!пePeвaРивaющих
ЕLF.фopмaт, м lle o6нapуxитЬ Тaк и lle уда"rloсЬ(а самo]!lуllи сal.ьлeнЬ)' Зa яоимe.
Ill lrм л}лIruихидeй IIpихoдится трах0ться с l{Еx.рeдafl.oPa]!1и(xагlPиileр' тeм я{c
LllЕW), Раз6ирaясЬ сo cЛy'ке6]IьIмисTpylсlуPaми фaйла вP)пrнyю'

Pxс' 7.2.oтЛадка коданаинтеГpиpoвaннoм


виpуснoгo эмуляroра
oтлaдчикe Boснs,
зaпуценнoгoпoдyправлeнием
W]ndows2000

с oтлaдчикамиде'lo o6стoит eще хуже, Фaктичeски, пoд UNIХ существует


уPoвirя _
oтладчикпprrкЛaд]loтo
всегoодин6oлссилименeе сап(oстoятеЛьIIьIй
156 глава 7. вирyсЬlв мире UNlх

8dЬ (GNU Debugsсг), являющIrйсЯ фyндarvIентol{дЛя 6oльшl1IlствaoстaлЪIlьiх,


ПрoстсiiпIlre aнтиoтлaдoчньie приемы' пaPЬ]тыев xaкерских NIarlyа.llaхnрel{еrr
flepвoй пfолoltoсти Мs.DoS, пускaютgdЬ в pазпoс или пoзвoляютвирyсy вьr-
рBaтЬся ll3.lloд егo кol{тPoля' I]oэтопlу oтЛa)кIlвать вl4Pyсlrьlй кoд ira Рa6oчей
маlIIипe катcloРиtlески rrеДoпyстIrпо и лyчrпe испoльзoвать дJ1яэтoй цеJx' эпtv.
л я Г o P , l l а l ' p и l l l Р г B o с н 5 ' o . o 6 e J | , l o | | p e Л п l ' ' | | и ' e , Л ч |JINш| у| l | о р o ' . . : , " p ^ " .
щие ип1.er.pиpoвaнньIйoтЛадqит(lобoj'iти ко1.opьlйвиpусy 6удeт ovelrь тяжелo'
ав идeiЙе вooбщc невo3мoхнo (BoСнs такoй oTЛадчrrк сoДеD)rсиT),I(стаTи
r o в o P я .с o в е р | | . e н н oh e . ' 6 ч l i Г P , Л ь | | дUj я и l 1 , J | lL n л ' j | | | |FЯL Ё . в и l у г n в
усг"нaь.
лива'гь UNIх, ЭN{yJlятoРaдЛ, этих llсrlсri 6yдeт 6oлеe .rспrдостйнпo jpис. 7 '2
и 7.з)

Ptс.7.з. иссjедованиевиpyсoвпoдUN]xс пoмoщьlо iсeiх


дизафемблepa

кPиBoE зЕP|(A"лo,или кAк AнтиBиPyсЬI


стA,lи плoxoй v|АЁEЙ
{ н л и в и P у г | ] ы en p o г P a м м ы в 1 o м в и д с ' в к o ] o p o v . ' l I и е . т ь с ё й ч а . ' к i r т с г o D и ч . .
. к и | | ёс п p а в Л я o | . я с 4 с в o с й з J Л а ч e йд i и н e м о г u т с н o й . п p а в и . ь . я
в r,рrrнrrи.
п P ,Э 1 0 d с o a н а ч а cГ ,ч 1 о о I I и п о r н o с r , ь ю6 р с п o ; r e " n oн' 'o n u д " яг o . , n , и х ' i ' * o r l r o
6 ы л o 6 ь l ' l o v c r r ь l n й v е l c н . p а ] у ^ l | | o|,{ а кy , к е о Г v P Ч а " I o . Ьв ь l ш о jв | | n с ] U| щ | | й
мoмerrт rкизяeслoсo6ньlх UNIх.виРyсoв прaктичeски нет. И стa1o 6ъtть.анти-
виpyс}lьlм скaпeраll скапиpoвaтъ {:)с(160 и нeчеro. ЭвDистиveскио ана-.тизатооьr
-эуктyрaЕLF файлов

]ji lI нс tsышЛI1]1з JlссJtr'rr.Jii |Руlriьl деTсt.orc |aда ll i{ рсa'цьrroii ?ксп-lуаlацlll]


. jrpoNlьlll]rснных }lасl]1Га6aх явнo нс |oтotsЬl,
.
l1тr'ацrlя yсуry6JtЛсТt'Jl 1 с11.ч ro в сl{Px l jTo!r'ш rrиPY(а х лрai,Iнr тPvднo вьrдcЛI{тЬ
:l.)iiчl1вуloсtlr.llатуPу..1.аiiук)'\,гo6t'lllевс,|])ечаrraс!jDrчсстнLrх'пPoгPаlll[tаri
. БЬI11сp'к11ваJlil (Л1x.)дЬ rlе лpстсl{д\'юnllIс нll riо.
)ioIя 6r'J lрoсгl]iil]|l!е 11у1ilrll1l.1'
irlюln})rlзN1,AltтrtнllP!с KnспeРсj()|o.l()вl.1T }l]l()t,l]011з(y!]ссTвv].x!rt]i сxP]lIr1'.}
.:'l)i вlllvс.']. Лo'', ]Фк т.).тpaпllo оlI lrх Лi)l]]Jт.во пеР|jЬ1хl rllpyсt,l о6наI]v?кIlва-
l с Я l l t ] в o в с ( ] х d ) а i i . L а х ' а в ( ) . ! ' Г ( ) p ] , l х ,r t р ( ) с т с i i l ] l ! с l ' C P с d r с ' P l ] а т ] I P о в а н ' r с
:rра)tcнно'.o 'lrа'''1a nРLl]n)!lll,Гli тo]\lvj llго виP!
]с. с|{РIlптЬl' lloзаиNlсTБoваl]uЬ]! xз llo1.с}lцjla.цьIlо |lс11iljtс,ltlllrl]i]lстоrпlп]iоl]' с.lIс
.''.т пpoвеРЯть вPtчIIvJo' ЛoсI{oлЬx!:

' ,Самы|i dц Раl| t{ui |nро'1t|,lп)1lrcп за 1]с|,io!ь]i|||..кцi ]1оpаjl|l3о(зап ь .]ltI1JlIl)


|: пц| ]{ox|l1.)Р,]ioпaРьn.lаЛtnn1о ]n()оonlс'l1!x Ра:Jllь|е |1t|пuвl!рцсьl
иropЬ николаев

i J i , ] ' ( | l 6 o6 с 3 о т o l r о Р ( , ч ] t о] l o | l е р я о т с( ) ] ( ) ! l I Ily1 o с T : п ] п ( l | к ]J.I'! б о ] | ( ] , |I'] | | ( ) " . r ! Ч с |1l )| s l


.ll!ll(|).iiiJIс}1l'кст6|,lr.I,в(]счтo\'г(]Лllo(ltлpосTonскopPеr{Г||оpa6oIll|()lIlllя|iрo
P i l l N a B T o п rч l l с J l с L ) ,
i . r l ] o l | ч | l l , l м x ( i ) l t i i j | а ^ l(l l Г l Y i | l L l I ' о r ] с l o ] l т б о { ( t ' ] | л i L ч l ) J I l oО, ] ! ; t ( j| | | ] | ( )П ) I 1 Y 'l П 1 )
'1\r'' l , l ' , ' . | |] | l J l , l ' , ' \ , , | | ' , | ' | ' .
| , \ | | | ' ' i :i l l , : ' | | | | , ц ' . \ ' -
.l!!l||,o,гчaс1.Jij|o,|()N1"\',ll|oillrГl)ilil1].ll]LlроJ]i|l]Il()Nl!illt1l.|'ll]\l||()I]l,l|i|i|i(]l]lрус]i
] . l | ( , l l ' l i l l i ) ' r . (i j' ,J|I l ) l i 1 l i l t l l l сI,l ( ) J к ) I ' \ , r l Y I | | rl l I l ] r с | ) ( , ] l ( ' Г r r ] L6r l\)|p L ' 6 ь ]| П ) - | l I ) с , l { | | с \ ] \
t ' r l l к ) ' Г О {] | l ) а в l l Л Ь | l i l I, tl ( ' j l l r Г I l к i|l ) a r ] Г P а | | | | ч с I ]/l(i ., х " v l I i l ,( l | ] ( ) с l ] l ! ' i ! j с r r l I i l , | v ( l Г l|l I l 1 )
, . l( l D О l ( j ' l3 х i l r l Л a l l ) r (l 1 р ( ] i } ( ' l ) x l I (l )l (с) l ] t l р l ) L ] i l l ] Й c ,

ст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х

Eo ноrIосPедсTвe]lнoв сап!oм ЕLF1lrай]rс xPаrlя'Гсяв llcвьIрoRтlerllloмвиде' пpи.


жrrпlaясЪBпЛoтIIу1oдPyг It лpyг}r Сам ЕLЕ зarоЛoвoк и р.ograп hсаder s пep.
выr.iсегjuе]]тIle вхoдят (нy' фoрNliUtьlloнс вхoляT)' нo сoвveстпo r.Pyзятся в пa.
мять' rтРll ll.olt начаrro сег\1епTасJlсдyет нeЛoсрсдствепп.Jзa нoнцoм Рг.]gгаm
леаdег'а и llo гpаIlllllе стpall].]цьlнc вьryaвllltвастсЯ!
Пос.лсднппr из всeх иде\,заloловo1|mtl()Jl1|ць| сеr4an (sесtion heаdеr taЬlе)' !ля
ис1loltlяcltьIх фai:l-цoв 0x нсo6Язате,tеll и Реа-'1l,но rrспользyстся тoлькo в o6ъeк.
TиtsниIrаx.Епlе в ]]еNlнуя{дaются oTJaДч[liи - испoлuяеluьIй файл с изуPoдo.
ваннъiif sесti()n hеadег taЬlе не oт,rажuяается нIr 8db' lIи ]rPo]'IзвoДпымrloт нсгo
oтJlадчиltаllI'llхoтя l l(Jрпrаr'rьнo
o6pа5атьlвaстсл oпеРaЦliolrноil системor|1'
Ccrмснтьr сстeствеппьlпt o6pазoпrдeлятсlt ltа r;с/.4rrirr. Tl.tгп'IчttЬIir
кoлoпый ссt.-
мeltT (oстo1lт I.lзсе]tliлii ' jn]t (IЦоrleдуРьl ]rltllцпa.]ltlзaцIlи)'.p]t (сrкllия (:в'-
зo,!)' . teхt (oснoвoij кoЛ l ЦюгPаIIмьI) и . fi i i t ( xpo]rеДyPьI(])urrапrзaции), атpи-
6утьl rсor.opьlхопrrсъlвalо-rсяв sссt]ioЛheаdеlс' заIрyзч]tlсoxepaцllofiнoii систе11Ьl
Ilичеt.o!]с зпarт o сеI(ll],lях,]lгнoPrrPyя пх а1р!6vтьI rl загру}(aя вeсь сeгмеll1цс.
ЛиlсoпI,Tепl Jtr N c|l0e д'ця сoхPаllеlпrя Pа6oToсIIос06]юс'гrrзара'(er]rloгo фaйJIа
llo/roтлaдчI'IкoмвliPу( llФ]x(с'нкoрpсJr]]'lР()llа'lЬ 06a загоЛoв].aсpазу' как Рl.ogгап)
heаdcI' тa( и sссtiolr hсаdсr'

Лисrинг 7.1. стPугryPаисaол!яемo.o


ЕLF'файла

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,'

лnстин. 7.2. сгpукrypaELF-заrолoвка

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тх

кporllе'ГоI\)| гlоявЛснrLс пoстopс'ннпх Фaилoв нaдl1скс tlе lloя(eт ltоЛl.o oставатъся


I{езaпlечe]]пьlN{jи учасTь вирусa зaраIlее РеrпeIIа, Пoэтoму болЬlлltrlсTвo lupyсoв
нe lrсполъзyю]. Tirкую ^1€ т oд!1кy' a прeЛпочитаIo,| gl{сдPяться rr кol]eц lloсJlсltнсгo
сегNfellТa ф:u1ijla'рaсlrиPяя eгo Irа llеo6хо/lиIllylо вcЛичиI'v'
Пoд (пoс.aеlIпим> зДeсЬ tlo]lpазvllсваrтся гIослeдlш1ii lloдходяlilпй сeгмент фаii.
Лa' кoтoPьllll кaк пPавll"!o' явЛясLс,l сс1.мснт llllllцlrzlпI]3иpoванньIх лaIlпъIх| за
I'иN{ с.lreлyeт сeгNt.дtlТllс11llrtцl1а.цl!зиPoваtII'ьrrirtnll|]ьlх' 3аl]r1]1аIoll{иi'lItonь 6аiiт
дискoloй пa}яти, кo,rечrlоl Nio)к]lо вllсдpиТЬся Ir в негo.lк)i]To 6удствьIглядeть

ПP]r6лизIrтеЛьпьIii;LIIг(]lnIтJtl внсдРсния в ]rонеЦ ЕLF 4)аli.Itt !ьlr,rядпт слеlIYю

. в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

. пoля р.fi l ez (Pitзllep пa дlIске) ll p.пemsz(paзпlep в памяTи) сooTвeтствylo.


щсгo сeIiile[Га },велrjчllваютсяна ]Ul]]lIyTeЛавирyса;
. l1oля p offset и фaкyЛьтaTltвl]оsh оffset всеrr пoсJrсдyloщIlх ссl)lrнTor/сeк.
циI{ yвеличrfBaю,ГсяlIa Д.nиIJYтелa вrrрyсa;
. пonе e_phoff (l' факyльтaTlrвя.Je_shoff) ЕLF зaroлoвкa yвeлпчиваeтся нaво.
'!ичиIrу теJla впPyса;
. вllpус B]lедpяет сс6я в кol1сЦв]'6panlюIo сегNteIlтa;
. &lIЯпepeхвата yпРавjrсflия вIIp},скoРPекTr{pyеттoчкy вхoДа в фаiIл (e-entry)
л | | 6 0 A св l j ( . r Л я ( I rl nl , I l | | | |||i ].| o ч | , )в \ o , L .j f i oн а l в o ' , T с , I L J ,
Il!кoтoрьIе вllРyсьI вЛeдPяются в ()6Лас,].], nаll,tTи мФк/lу 3агoi'IoBкoмI,lllачалoм
пeрвoгo сегм€ н тiL (Лли| вo всяl.ol' с-llучae'пьIтaются этo слeлaTь). oднaкo 60ль.
illIIllствo фаriлoв (IlpliкJIепваloт>свoii поPвьIiiссгмсilт I( зaгoЛовкy,rj потol{y llЛя
lJIIqдpelIя пPостo !lс oстaстся свo60дlloГo мес,Га.сTPyктypa фaiiлaeсho Irз ltoм-
пjlсI{таIloс.l.авкиFreе Bs D 4,5 пoказанa IrJlистlIlll! 7 '5. o6РaтиTe вIIиItaЛис| п{ея<.
:t! секЦl1ями .fjnit и . гodаtа расIloЛorкelюBсeго,ппIuь 1ЕЬ 6aliт да]rныx,чтo irс.
]остa].oчIlo lL'цяРаJ]tlcпLеlllи/iа,(с fipo!rсчl]oгo l]иРyсa.

лисrинr 7.5. фpy|0ypафайлаeсhoиэ кoмплеKrа


пoсгавкиЕrеевsD4.5
l]am0 Staгt Еii А ] i q . B 0 5 ст у р ес ] a s sз 2 e s s s с s f s 9 s
rniL dцо.d000i рub]с0DЕ Y ЕFЕЕгЕlг 0005ЕЕЕЕЕгЕЕ
080480в7
080480Ас
:.х| 080480в8 d{оrd0002рu0]с0D! Y ЕгЕt |Еlг 0005ЕЕгГЕГЕЕ
0805зAвв
.]ni 0в05зAвс dwОr(0003pub]с0DЕ Y Е|ЕЕ ЕЕ|jF0005ГЕг|.l.гЕЕ
08053Aс2
.Oljdta 32bуt0004рirb]сONsтY ЕгA|,ЕЕгг 0005ЕЁгЕF|-ЕГ
08055460
0805зAЕ0
d.ta 0в056460 32byt0005Dlbl 0дIl\ Y ГГ|.ЕГЕгг 0005ЕЕFЕГ|ЕЕ
080575з0
A л Листингс 7,6 lIoкaзаltа сTpукTvPa фaiiлa ]s и3 кol!1||лeктаlюс].aвкri RеdLIat
5.0' Mо)кдy сeк il}iями . гodatа II ,dаtа Paсlк)Jlo,ксIlo 1000 h бaih.' .lтo с Лихвoй дo.
статoчllo llr1ярaзмеlцeни'i дая(с ltь]сoкo'Гcхll0Л(lгlll]Iloгo виРусa,

листинr 7-5-стрyгryраФайла|sиз комплеКга лOставки RеdHаt5.0


sldГt Lпd Al qn ваsе тrpr сlаss З2 е5 ss ds f5 9s
rn]t 08000Aш08000A18paГa 000l р!o] с0DЕ Y ЕгГЕгЕ|,Е0006г|.ЕгЕ|.гЕ
'p]t 08000A18 dlOld 0002publ с0l]t Y Ег|.Е|.Е|.F0006F|.|.FЕF|.F
08000сЕ8
Lсх| paга 0003рubl с0DЕ Y |.гГЕ|.|.|.F
08000сг008004180 0006г|.FгFF|.Е
,i]n] 08004180 pа.a 0004publ с0cЕ Y |.гГЕГГ|.г0006г|.гг |.гЕ|.
08004188
,|Oddtа 0800418в 08005250.WOld 0005рlbl с1]NsтY ЕгЕЕ|.ЕЕг0006Е|.ЕЕЕгЕЕ
dаLа 08006250 d'rrrd 0006рuol 0AIА Y FFFF ЕЕFг0006гFг|.ЕFЕЕ
08006264

oБщAя стPyктyPA и стPAтEгия BиPyсA


Кoнкpeтная стPyктyра вltруспогo lioла завIrсlrToт фантaзиir elo PaзPaбoтчика
Il вьII-цядитпPrr6лЛзиl.еjlЬlloTaк )кe' кaк п n Windous'вирусаx. o6ьнtlo в начa.
-]]eвl]Pуса нaхоДrпся рaсшrlфPoвщltкl зa llj'lll paспoЛo)кeнъINIoДулъпoискa под-
хoдящих )кepTв' иIrх(еI(тoРвIrpyсttoгo l{oдa и [PоцеД]rРа llередaчи упрaвлe]тllя
4]irйЛ}-пoси'Гелю.
ДЛя 6oль1llт{rrствaЕLF'виpyсoв хapаrrеPrra тaкЫ пoслсдoвaтe.лъностъcистем'
ньiх вьIзoвoв:sуs_oрen (mоv eаx' 05h/int 80h)r_ oтIФывaет
фaйл; sys ]seek
(i]оvеах'13h)- пePeluещаeтфaйnoвыIlуказатеnь lla rtv}кпoeмrстo;o]d mmаp (пov
еах' 5Ah/1nt80h) п|jоeUиРJп фJiij|впJNlяIьisуs-Jl|ltар (тoveах. 5вn/int80h)
yДаляе'гoбpaз из IтaмяTи'заlтисьtваяfla дtlск всe измeIIeния' a sys-с,lose
(moveах' 06/int 80h) зaкрrnвaeт са[l фaiiл (p11c-7 -4).

P'..7,4' тиnичнaя (ipу|.т/pа sиpyснoгокoда

Tехн\lKa npoeцupoваfl zя (иЛи' выpa)кaясъза6yloPнoй тepминoЛoгией'


rnаppin8)э]1aчительlloyлpoщаeтpa6отyс фаiiлaми6oЛьrцoгoo6ъeма.Teпepь
У)ке]rену)кпo вьIделять6уфсP' кoпlrpyя Тyдa фaЙ'лпo кускам, и всrovepную
pa6oтy Nlo)кнoперeлo}i(итьнa плeчи oпePaциoЕнoйсистeмы, coсpсдoтoчив
свoи yсиЛия нeпoсpeДствснEoпa IIPoцeссeзaP tеlrия, ПрaвДa'при зapa)кe-
нrrи фaйлa rlрo'гяrкeппoстьюв тIeскojlъкolпгa6aйт (ilaпримep' сaмoРaспакo-
вьIваloщегoсядистри6утивaкaкor'о-тoпpoгpаммlroгoтlрoдyктa)виpyсy пpи.
дeтся либo пPoсмaTPиваTьфaйл чеРез <oltнo'' !трoeциpyяв 4.гигa6айтяoe
адрeспoe пРoстpa сTвo PaзличпЬrееro .гaсти,ли6o пoпрoстv oткaзaTьсяoт
3аражeIlия' вы6рав'!айлгoлpиЛичноP. ПoдавЛяющее 6;льш;tlствoвиDvсoв
иМенtlo таIс tl пoстyпaloт.

ггипejt |ны' ноv"nJ (и.1,шь\ фy|,dиl Фнп qrcq ь L,NUх,


и сDагег/я вир/l.
)o_аясгovктvDа 163

пЕPЕxвAт yпPABлЕHия пyтЕt"tмoдиФикAции


тАБлицьI импoPтA
K.raссическиii мехaнизм иllпoРтa в]1ешIIихфуI{кц ii из ЕLF-фaliлoв в ЕLF.фar"r
lы в o6щеNtвидe вrrrlлядиTTal( нa пеPЕoм этaпе uьrзoваtllll1оpTиPуеп'oи Фyllк-
| и и | | Jс e к | l | | и, r e i t в Ь | , | Ь | в "с.} l ! | | е г e х o Л н ' ] | t .l а' ( п n Л o , к ё n' Ь | й в ' t | \ | | | l I.jp . l
(Pгoсeduгe LinkaЬlе TaЬlе) и ссьlJlаloЩийся, в свolo oчeРeДъ' нa yказaтеЛь rra
фyнIrцию pгintf, PаспoIo)кeпIIьIйв секцIIII .got (GloЬа1ollset TаЬles), кoтop;Lя
iiсouииPoванaс тa6лицeй стPoк' сoдеР)кarцейимеlta вьIзьrвaeмЪIx фyнкцпii (пли
Лх хэши).
дaпeе привeдена схeма вьl3oва фyнкции ргintf уTилитoй ls, пoзaимсTвoваrrнoji
ltз кoмплeкта пoстaвки Red наt 5'0 (ЛIrстпIrг7'7),

вЬ1зoва фYнкцииpr ntfiтиЛитoйls


Lехt|08000Е20 с а ] ] -p.]ntf

.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

;хteгns0065s0 eхtгn p.]ntf near 'rаk

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

Еxeсrrtаblеaпd Linkаbiе Fomlat - Portaьle Forrпat speсifiсаtion


<Poдная'спeциф]l]rащrя IrаЕLг.фoPмaт' I.Iaстoятельtlopскol{ellлyeTся
к rlзy
ченJrIoBсeп!виpусoпrlсaте''lяIl'
пPо6yii)щllпlсвoи сrr!ь]нa плaтфopмсUN]Х,
WWw'ibiblio'oгg/pub/historiс.linuХ/ftp.аrсhives/sunsite.unс'еdu/Nov.06-1994/Gс
ЕLF.doс.tаrgz
Liпuх Virusеs _ Еlf File Formаt. мarius vап oers
Б.Ieстящий o6зoР сoврсjveнньIх UNIх.вIlРусoв l,IанaЛиз ]'lспoJtЬзусмьIх иitllt
l!1еToliЙItBI{eдpeIIия в ЕLF.фаiiЛ,I (I'а аtlгЛПiiскolt я3ь]ке)'
WWW' nаi'сom/сoгn
mon/media/vi|/pdf/mvаnvoers-vв-сon|o/o25z0200a
'pdf&е=-747
The Linuх virus writing Алd DеteсtioпнowTo
Il'o Jal.oвoоPyкoво]1ствorjo пPое](,l.иРoBaHЛlo11PcалIrзalIии
вЛРусов пo]l
LINUХ с ryчei.iгoToвr'хnРпllePoв(пa аll lIrii(x(oмяJЬlкc)'
http://WWw.сreаnge|'сori/pаpеrs/writingvirusinlinuх'pdf
Uniх viгusеs oт Silvio Сesarе
Cтатья' oпl,lсьlваlolllaя осЛoвпЬI!э пplIllцI,Iлы фy|кцIlollrцхЛrаllllя UN]Х.Rи.
Pусoв l{ сllосo6Ьt ltх llст€ l (T p()|]аt1xЯ(lIa alll,.Циiiскоrj язЬп.с),
http://vх'nеtIUх.orglIiblvsсO2'htmI

гл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

''omlФdtnосm ь ELF-фolllvаmа вI! |1е( aос]n!ш lосrnыo uс'Yaa ьft 1nексmoв


сuсmе'\!]|ozо
3а2p!зчu]|оз]|ацunrеnьlLa
!]пpoщае|nкoxсmp!uРо0аl1uс|luР!сolr
nod UNIх;
..,сoэaа|щeвup!)сoв1rcnpеdrcОцеtnсяno зaко ц По эак|)нцnpесле.,h!еn|с'|
(:o3.
o(tнuе вpеoono.нь1' nPozpа'|t1м;
,-'l|зI)ёсяmкавoз'11оэ1|:]1ьLТ
r1е|лaloввt]сapенu'1|]ЕLF фabЙ lupцсonuсаnе-
Jlя'мgaaлось oсвoumьnuшь aaа'mРu, пак чпo .Lа o|)1с!]]пс|nвuе пвоpчсскоzo
npaсmopа 1|аnaваn|ься не пptuioОuпся;
.'UNIX - u \Уindauls'-вupцсьl c\лpояrnс!,l 11оoa]11Д|u mеЛ эIe ц)ut1ц1l|1а'м' npu-
ц6| UNIх'вup!|сы dа]r2 nРaще;
'''Ан n]u вupц |:1
l t1я энцu1alo ne i)u я l{ а сn еpсtсozo соl ер 1tLuп 6 oльш о e кол u чr с 1вa
факпuческu1. aшu6o]{в anrcанuu UNIх вulgФв;
,'"ltнozllеUNIX-вupцсьL завxlсяmom веpсI1uonrpацuo|lнoй сuспe ы, nоэmо'
'l! tlсяКuй uссnеaoва|nеJlь вьutужОен lеpэпаmь на с|]|Эеi,|lашuне цеJLь!йФoо'
nаpн'oсеIi;
''.azpa-ronя коJL|eкцuя UNIх вupuсt)в ]nхoauпш на hftp://ох-nrt|ш'o1 в,
-ЛABA
B
oсHo BЬl сAtvlotvloдиФикAЦии
саlloNloДиq)иЦиPyIorцI4iiсякoll встPечaeтся вo мI]oгих виPyсaх! з^lцитllЬlx !{eха-
?]llзNjaхlсcтсвьIх чePвях и пPoчих прo1.DaммaхЛ0д()6lloгoтила' и хoтя тexllикa
,'ГoсoJлаIlllя нс llР()1с'],J
'r,]яс1 6оЛЬш10|o ''екрста,'(а'|сствellllьtхp.iа,']изlllийс кa,{.
,1ьlм гoдol!1стаlloвится всo мeIlьlпe и мoньlпе. вьIPoсЛo цeЛoс l]o!(оЛениcхaке-
рoв' сч'iтaю]цих' ч1.oсамоNIо/{ификацl,tя пoд Windows пeвo3мo)к]la или сJIипI-
lioм сЛo'(па' oдIIAкo в ДсйсTBитсльIl0oтиэTo нo1.а]('.'

з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дификации

в хoдо свoегo вьl]IоJl]l€ н l.я. B 0poтnвнoм случас PeкoпсTрукция arтropnтма 6y.


..| вь, о |||F,jn н.в' Ptlo l \' I.l'o' {, ii .оp161L пp',.пJ.к! на вoлу l],l''т hor]o.
са'lъtlylо 'гeчь.oДна1ro€ с .nи фaкТ сailoNtoДификaции 6удeт o6нap}Dкeп,скoPpек'
TиpoвaтЬ ДизaссеM6лrPнЪliiлисTинг не сосTавит 6ольllloгo тPvдa,
Pасспlотрипrслсдyloп1ий примeр (лlrсTliнt.8,1).

лисrинr 8'1. пpимернepёциOнaльного


испoльзoвания
самoмодифициpyющегосЯ
кoдa
FL 05 ] n с b } t e р t г D 5 : t t ] 5 5m е l з d l е H и l Ьj z ( 0 п к o д/ 4 Х х ) н а j n z ( / 5 i х )
33 с0

/4 хХ jz t]ss.a'ay п e р е х о ] lс,с л [ ф л а гн у Л яв э 3 e д е н
t8 58 '' сd,l] pГо|есtpгo. в ь з о 3с с ( p е т н о йф y н n ц и и

.цавilii1.спpoапаЛизuPусIl стрoки, Сначaлa llPоIpnNIмa o6нуЛяeт Рel.исTp ЕАх,


yстallавnивая флar. ll)rIяl a Зaте]\1'L'(Jшloil в38сдсн (a olt rз!одeп|)' IIeрсхoдит
к мeткe kiss'аWаy, l lа сal\lolf яrc !(сnс все пРoиохoдпт с тоuнoстьro До наo6орoт'
МьI уrlyстплпoдну детaль'КсlнстРyкrшяINсвYтЕPRТDs:гкIss_l4Е]
Irнвeiти-
Pус1.кolrаJllly у(jloвrloгo llq)с\oда' II lrMсс1.oмcткп ki ss_аwаyy1IpавJIоIrиe пoJiy.
Чnст пРorк'L!pа рroteсt.pгос' Ij'цес'ГяIlulii3аlциTlIIniiltPиrveP' Itс lIрaвдa ли? [Iс
)Ull\ ''|1'Г,|.,|, , . ' ] .\ i r] , |' | | l | ' , х J l . ( Р |l,rlIlI|v!мo ]:l]\,l'гl|т
INс вYтЕ РRт Ds: tKIss'|{Е] (\,)IссЛlп]l|()]tlolIi] 6Р0с?lсTс,IB .JIAза) rr тут яte
разo6-

A ЧToeсnП P:lс]ю''lo'{l',|1r JГy |'lIlс,l.рYJ(Ilи|() сo']ссNlв ЛPyl.oii l]01]{сl lPolpaммьi' ]la'


J|cкo.lLа"lloк() o,г Alо;lп(l)lllljiрyсмoго кoда? C дрyгllпr дизaссем6lсPo]!l 'Гaкoй (l)o.
к y с ' м o ) r o T6 L | T ЬI, l l I p o | t а , l r rl'Iгo, ' to . l t ь к or l с с I D A P ] l O l в з l Л я | l l . l Т сl r а a в т o м a i и .
Чс(!оl сoзд?llIIlylосlrr IlсРсItP('с,l)lvloссЬ|Jlкylвc/lуIILуlollспосРс/lствctl}Ioк с,ГРоl(с
INс вYTЕ PтR L0с-40100F(,ril'1с1'1пIг 8,2)'

лисrинг 8'2. IDА PRo автоМатИЧeс(и фактсaмомодификации


раoroзнaЛa кoда
фxt:00400000 ]n. b l l c р L г l 0 с 4 0 1 0 0 | 3 а [ 0 П я ej ,f l н i j i r
t е х t : 0 0 4 0 0 0 0 0/ /
t е х r 0 0 4 0 0 0 0]0/ / П lO г Oн я о г ос т p O {( 0 / ] а
1ertr00400000://
Leхt:00401001r
tPrt:0c40100Е
tехt 0040100|.]ос40100г: : 0 А т Aх R Е Г ' t е r t 0 0 4 0 1 0 0 6 ^ W
trrL 0040100Г jz shoгt lOс 40ш16 : ссЬлка[a ЛoдифиЦLipyюциii кOд
L е l t ] 0 0 4 0 1 0 1 1с а l l r х r х
Tак вoт, х.noпцьl,Самo]vloДItфxмцIrя в ч]lс10I1|lиденичегo пe peшaL1т'и есЛи нe
xpсдпрrпиTь допoЛпllr.сxЬнън зaщитньlх lllер' сс yчастъ пpоДpеrЛeпа,Jlyчlnee
сpeдствo 6оpь6ьl с rlcPекp"Aс1llымll ссьтлкallll зтo уvе6нrпс пlaтспraтrки для
пеpвoгo классa, Бсз ]lryтoк| IIрoсTеi'iшI1сapифI'етичссltllе ollеpации с yкai]ате.
ляIrи oсJ-IeпЛ'lo'IавтоNiaTичсскпI:iarllllизатop II)A РRo' и пeрекPесTtiЪlессъl'Ц.
кlr 6ьют lшNl0 цс!пr.
o6новjIеIllIьlii вaPиaпт сaмoмoдифициPyющегося кодa мo'tеT вьlгляде,гъlт]arlри'
Ileр' так 0rirс,гинг8-З).
кoдol{
знакoMсlвoс самомoдифициpyюlдиllся L67

Л'сrинra.з' XиФыйсамoMoдифициpующийся IDA PRo


кoд' 06манЬвaюциЙ
moveаx' offsеt kjss-ле + 669h нdцeливaeleal на лOsнyюмlшeяЬ
sub eах, 669lr коpр€ { тBpуеi лриl]еЛ
rпс bytе ptг 0s:[еdr]

мн0г0 Nного стp0к кода

пеpехrrд есл11Фlrаr н}ля 3з3eден


сall pгOteсtрr0с в ь з O 0с е к p е т н 0ф
й yнкции

Зто здсс:ьtтpoисхoltит? ПсpвьINJдeлoпl в peгистP ЕAx3aгPyясacТсясп'ецеItrlе r$o.


.lj(l)!!циpуеN1oйкoмaнlrьl' BoзpoсrlIее!!a нскo'Гoрyю веЛпчпну (усЛовппlся lIaзьг
]ать ee дсJtьToi1).Baя(I]oпoн,Tь,llтo этl1вьгпlслсl1l1я вЪ]пoлняlо'Гсятpirllс.!ятo.
:o\l ещс нa стaдиIr aссепr6лиРoва}r]$I 't в ма]]r 1lllыLli кoд пoпадaс,г 1.oлькo
::orreuпьIйpезyльтат. Зат€ п { из p€ г пстpa ЕAx uьrчrlTlется llсЛьTа' xoрPскTlrРylo.
:iая <пp цeЛ' Ii нaцeJп{вalоLIrая ЕAхllсI|()q)едствсlllloнa модl(l)ицllРусN{ЪIйкoд.
:lpll услoвltи' чтo llизасссм6.'rерrrс сottертtитв сo6e эмуЛя-lоPa цп ll Ile тPас(Lr
l r ' е т у к а з a т е л и ( a t D A P R o I t ед o Л с r l l и , t o г o ' l i l r д p у I о Г o ) ,o l l с o з Л а € T с д l J | l
:твсI]Ilую пеРсl(pсс1]lylo ссЬlЛкy' l1аlryalrлсllIl\,ю]lа пo!L.]]о'tllyloNl]llIIr|п''какo-
,гсaтpa6octll' х Лoi]c1]'l ii !I l i 11какl iе сBязal |а
. aя PaсIloЛoжсlia дaпеl{oв с'кl1юrrc о,г
. самolroдифицируlопLrrмся кo/lо}1'IIpичсNi с!].l|lrI|oд]l())кllaяNlи lcllь 6y/lсt рас.
:lоJlox(ellaB o6лaсTl'l'Л0)кalllсii:lallрс.'lеJ|,lми|Imageваsе: Imаgеваse + llпagesjze]'
::срel(Рeсl aя ссЬi]lIФ вoo6lltc Itс 6yдсI сoзд,lirl
DA РItO'
: ] o с м o т р и , гJсl и с 1 . и 1 8l г. 4 ,l l ( ' l у ' l с I l I l ь t jсi п о N { o L I l ыI о

листиl|r s.4. дйзассем6л€ p iыйлистиHr, 06маH!тый lDA PRo


:eхt 00400000 r n o v € а x o f f s o |- р г ] n t f " 3i л о я r а !! и l е в ь
'rlицела,
:extl00400005 s u b е а х ,6 6 9 h с Ф ъ т a як O р p е ( Ц и я
,o' 00д0000Д n O ' , "P , , . ! '

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дификации

БoЛeе пpoIPессивньIсзaпIlIтIltn€ тeхrlo'Цorии6азиpvю'Гсянaдlirlам11чrсi(ойшиф.


poвке l{oда,А lllифpoвка 0дяа Irзpaзнoвидlloстсr1саNloп{oдIrфI1кацпr1! o Че!и;'
ito' чтo вl]лoть дo тoгo lfoNlerlтa]поI(а двollчпьlii код Ilс 6yдет I]oлнoстьlo
Pас-
шифpoваlt, для дизассeм6l11PoвalIия oн }]епPllroДeI],A € с лп
рас]Iшlфpовщuк
дoвePхy наi]IпI,IгoванапT1lo1Л&1oчltЬl11II пРnсI!a\п]' lICпoсpeДсTвсIJilaЯo1..I]адкa
стаIioвится ]leвoзi1о'(Ilo]1тo)ке.
с]аг,|че.кJяшtф.nпк",\Jг]rтeп||ач,,Ic6U,|'|,]|сo'|||iРF.n,|\л|j.Ill,,oPo|1,
в нaстoяrцее вpr]\lя прrIзнaпa сoвсршепlto 6eспеpспскт]шlIoii, Дoл{r]aBш]]сьп!o
пIентазавсPшe]Iиярilсl]ltlфровки' хaftеРс]tuп{aет]lа11]I
lr зaTе]ttxсслeдуе1.сl.oстаlI.
дapтньl]tlи сpедстваi!x1, ЕстесTвсllно l 3а|цl l |]]ьlс lieханI'з]\j Ьl | а ll llrl и tl I]ачс пьIтa
loтся этоllly пРoтllBoстoятЬ. Oнll скажaIoт тa6''rлцу ппtпopта' затupаloт
PЕ.загo"'rояoк,
yстatlавливaтот
атpи6тп,rстpaнlпrв No_ACCЕSS' одlraкоопьrт
ltЬIх ха](еРoв тaкIIl']r ф()(уса}Irt II;ЦoJrгollеJiutс|'киЛlЬ. Лю6oii' да,Iir сaNпnii l1зouг
Рellltr'lii IlaBeс lloil пPol.сl(тoр BpvчlIvю с]r]rмe,l.с'l 60з ,]рудa' а ЛJ|я !L'кoтoi)Ь|х lINlс.
IoTся и аBтоNlа1'Irчrскlle взno]vIlцлкtl,
IIu в к,акoi ,ltaлеtm вpе;tlеll1l aес|, lюa цo?]1anL\|ьt tn Оalrltсы 6ьuль pа:tuutJ4loвап
цotulсaл| Boзьхlll'l:с сс6с За пPllвlUIo: Pnсшl'l(hРollьJira' o,'ll{ll фl)аrnlсп1.' ]l]шx(hП}
вuпэйt'дt'rtr,i,IIt'tr'rсr\ll'U ' ' .1 | 1 ' J , ' | |, l, , J u , t , t , ' t t ' . t , t t r , ' , t . ' ' t t с r t ' \ | | | n | , , ' , I i | , ч n .
o l ' | х а к ( л | | г v n | , | | ' l . 4 , | | ' l о | l J I U !, | l , . ? ' ' , . | | , l I l ' | ' ' | ' ] ,. lI'l ! ,
| ' ' ' \ r \ ] . ' , , : ] | ',' ' , | | , , , : , л
v я з l I и [ 1 o с т Ь 6 o n L ш r J l l с - l | l i lз а l I l l | т l l ь I х N t с х i l } l l | З r l ( ) |х]а' l r c P l I n х o д , r r T o Ч к у в х о д а
в D а с l u l l ф P o в x n | к ' в o с ( ] . a i l a П n , l ] ] i l с lo Г ( ) | l Р o 1 . о ' Г | |LJ !Il ] P o I I y с к r 0 1 . t l c l ) с 3l | с f ( ) в с с
з a ш Л ф P O в a l l I l ь I с6 n o к l I l l ю . / I y Ч n яl l а | l l l l х О / Lгсо 1 . 0 в ь I i|i i
у l | ( г ф 0 6 Л с l I l . l |дl )а N | | l ,l l р l l -
чсAl eсJll] p;rсIlIи()Ро,rll{lll( llPсЛс'1.ll,lЛ,с'Гсо6()ii ,ц)||Пиа"lll,llыi] хOR' хil|Фl)v 6у,J(ст
/ { o с т а т о ч Л oо п р с д o J l l u . | ,N | с ( : ] nх p a I I с l I l l , |к ' l I | ( ) l | с ia' i p. l с x l l | { i ) р о I ] а | 1I'I р o Г | ) n N I Nо|lvl

Ч'гoбьt э'r.oгo лс'с;rv.rиЛосьl iralцл,гItlllс Ilсхi]ll||зNl|,l дtlJ])l(l|Ь|исllonЬ]()|]iLlъ lloJ]ll.


itIoP()ll ЬIс 'ГехIJ()'ll()l.I Р Ьl (oдil, AB1t^t.tl Ll3rtpoва1r, p.lспlll.i)Рol]ку Лро-
l l' п Гс I|сPа1.с)
rPам]i1l,Il ILol.орil,l состolIT из Iloсl{o"l]ьItllх сoTс]t
4)Рагl'cll1.()п' зaIlпl{)tn,l]lltl]tЬlх
кpил,I.opаNIиj с).cliсриp.)вallllьlj rl <lIil Лс1.у'' l|РaкTIlЧL.скп ]|ся()зIlo)к]I() oдпilко
п pешпrзoпaть rroдo6пьrii заlцl rПIьl ii N схaнIIlrll опrюдьпе rrpoсто. Bпрo.lсlr' пpеlс
/{еЧсм стаRll1.ь IlсPoд соб()ii гPандlr0]llьlс залllчЛ' Лaваiiтс J|учшc pаз6ePсIlся с 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

.l!|l пPoгоrte пPoIPамNrьl rrа 'rивоl{ пРоЦсссoPе r'iнстpукпI'я INс AL за]vreнястся


::] N0P,oднal.o пoсI{onькy iNс AL yхе нахo]1xTся Irа кoнвeйeрel Pсг]1сЦ)AL всс.
itliIl у}]еrrпчIlgаe'Гся нa сru]IпruY,IloUjnгoвaятpасспрoвка пpоr.рalrt:яьr вецeтсe6я
rпauс, oтлаДo.rное пск.пIoчспIlе1 сгсrlсРЛpованнoс ltепoсPедстgеппo IiосJrевьl'
jl).]lпеtiияrlllстpyкцrи sтosB, o.lllrцасT коllвеiiеР -. n упpaвлcнllс xoi\^laст у)кe
i. i Nс AL' а NOP'вс.nедст]rltе чего yвс'ЦичеIlияРсrlстРa АL pкс 11епpol]схоlllп l Есл]l
.]l:lчсЛrlсАL ]lспo]lвуeTся д]l,l pасrшпфIn)l]кппрoгрa\JNпn'тo o-l.Jl8дчrп{ сI(a)кет
' . п r c р Y :a K i s s п v ( l ( Л r k е v l '
,l|хЛlессoPl,l ссNCi]О вr Pслtitul] ()тсJ(]rri,lваx)т мoiL11(l'lI(а]('пo ltoIrallд' yжc нахo.
1я]ц||хсЯ l lll l{olLl}сii€ Рс' ll l|o'Гo}Il- l lрoЦ)aмl{llа' jui l lа ко l lвсij ePа PаBяа l tуЛIo'l{aк
. | . , ц с ' Г I l 1 1 с . 3 r l I L L l ' Г t^ l ьIlссх а I l l l з r l ь к ( ) l l R е i l с P l l о r о т l I i i а , l l Ф | а D l I а P с D t ] r l l r l ' o r u I 1 -
. о ч 1 j ( )l | о . 1 l : l г а к Л ' ' . l твос ( . | ) l at | с l I o j l l l я | 1 ) т с]я] o дo T Л a д ч и к 0 N 1Э. ] ! B п o ' Ц l l с] l o к y м с я -
l l r p o r t а l l l r a яо r : t ) 6 с r r l r oгсь r l о l l c , I l с t l I II}|]р оц с ( с о l ) а , l ) a с с чи т Ь lв l l к ' ц a я с o х p а l o l т ь с я
; I t s ! | o с J i : д v ю | ц х \ 1 o ] l с . l | ' х ,l 1 с | I ( ) ' ( Ь 3 o u a п с с 1 l N l { ) ] ! l o / ] I l ф и | l l i P y ю l l l c Г o скяo Д a
, г о . I x j iз р с l l | | я в r I o J ] l l с3 i L к o l i l к ] 'с Л с Л у e ] l r c N r l t l l ' l . Ьч 'l . o ч Р c з l t l с Р ] i о c
' lIl)|)N1llЛЬ||oi]
] ' i I 1 ) у | l ( ) , Ц ) 0 6 ] | ollllol i(.) j | с д I l I ! Noll , P I j l l а I с J I Ь I l (l )l n l l J l c ' | . l i i ]l I P o l ] : J t l o ] L l t T o j l Ь l l o сзтiьl .
I:l!||llilt'Il()l()rll)Ll,r|(),l(!lIlt,r,l(l)дollЬ|i]п)l|||ц)Boг().VI)ol1ll'j/l(lс,|.ylIсl|'t,oJIЬltotlilч'I'с.
, L l I с ' l | | l l D l \ 1 i l ' i j n j I l ' ( ' Ь| r I l ( r l ( ) l l c ] n l з } l о ) ш l аl ] P l l r l о ' L l ] 4 , l к а l L | l ] N l l а | l | и l l l l ь I хJ { о l ! l а l l l {
к i
l l l r r r l r я , r ' вi r; L r : i i с ' r l l r r r с л r , I l о с ПN|l ( , д | | ( 1 ) l l ц l I P у с , Г с ' 1 ) l | ] / l L ; l l I l | | )З|ахтIс ] ! lЛ Р ( ) и с х о ; L и r .
' ) к с 1 р с l { l L Ь I iсi 6 р o с к o д о в l l r с l l i э | | J l L] 1 l l с р с з l ] Г р у з к r l | з ] \ 1 с l l с I l l l Ь l кх э x I . J l l l l l с o к , I l а
','o 6o:rьrrкir: rrrl".rll'rсстпо lIl]оllссс()Pi]ьlх TilI(1,oR,lJL{кo|]la
tlасхоirv"тсir д.лю.'rr,rrrl
к
] L 0 l r | ) L l l о n l l ' ] i i | . ( ' ( а i ' o I l ( ) ' L | | 4 l))l rl ц- П n | ! l t i i с ' Io д l r Г j | у 6 о к o в " 1 о ' ( o | |l]oN 1 l l l т L J Iсcс' J l и '
](ЛIсч|l{). llЬl II| хol ll,]1, 3rl'|()pIюзl|]J, сlloIo IIp()Ц)aNlN{у дo (l()Pос,гI1 tl(фаЛьТoвoгo

хo,ця1'('llYхll, ч'Г(] сaмоNloitlк])Ilцllруx)|цI1iiоl кrlд возI'кllкclr r.о,JrьrLов lvfS DoS'


il WiDdоWs laпРсJцаcT rrам э.Го дсJIаTь, И хoтя lсlli?lя.Tо дoJI,l lIРilвЛьI в эrоIi eсть'
tiPll 'l(слillll]l NlЬl llo'(ell о6oiiтIl lr(е зaпРсты r! oгРаlll|чсrlrlя, ПРс}кде всегo Paз.
бiрсlrся с aтplI6y'гаплl лoс1.уIlа к страllиЦxll It сofllе)lгaм' х86.IlРoцcссopьl пoд.
]lсIroЛlle.
дсP}l']Ilаloт Ц)Jl ltтPll6у,Lit д-!л дoс1vlIir к ссI]!{ептalI (ч'lellпе, запIlсь 't
llilс) и два дJrя l1ос,г!'lIa lt стрaнltцаlll (/1осТуI! Jt 3allпсЪ),

п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ля

]'tс]lo-цllяeNlъtii коД llо'{rсl. 6ьrтЬ PaсгIолотiсtl в ЛIo6oli дotlГyппоIi o6Лaстtr пaпя.


T1l - стeкe' Ityчс' о6Ласт11 1.ло6а"1ънЬIхпeР€ l lс]]rlых rl т. д, СТeк с кyчсii поуlloЛ.
чaнtrю дoсTyпнЬl дл' зaписrL п впoJrне ]lpl'гoдньl il-qя разlltещсrtnя сaмoNloдифи'
цl.lpующе1.()сЯ кoдa, Itонстaн]ЛЬle rЛо62UБ]Iьle и сTа'l.иrlеские псpeмerlньIr o6ыrr]10
РaзмеIцaютсЯ в сeкции ' rdаtа' дoступIiой тoлъко для чTеrrия(ну и дЛя испoЛне.
ния| paзyмсeтся' тoжe)' ji всякая lloпьiтI(a иi пIoдификaциIrзaверпIаeтся Iiеиз.
NIeнньI]v исiir1юченlIем,

Taки}r oбPaзoМ' 8сe' чтo нам llyж]rо, ст(oпllPoвaтЬсамопfoдифициpyloщийся


i(oД в стeк (кгIу)l а таll oп смo,rrе-гхаракиPитЬ сe6Я кaк з&ioчeT' Pассмoтpим
слсдуюrцпiпримсp(лисТинr8.6)'
листи}rг 8.6. сdчovoдиФиiёLlя roда rа ое{е/кyчe
// l]пределяе!разиeр сам0[1rnЙфиuиpyюцеЙсл фyнкци!
# d e f r n es E L Г - s I Z Е ( ( i п t ) x ' s e l f m о d - е i d. ( r п t ) х . s е l f m o d - с o d € )

// началoсaiо OдифициPуюцеi]с! фyнкции


// спец[фикdтоp nаked пoддepдивaeшйкоflп Ляroрoi lls Vс }кdзываeткO пилятopy
// на нео0хслl1lloсrЬ сoзданиячисloй ассемблepнOй фyнкции,ro естЬ rакoй фyвкции
// к y д a к o f i п и л ' . Oнре в н e д p я e!Iи к а ц о Йп o с ! O p o н н еоЙ
тсебят[фl
d e с s p e с (n d k € d ) i п t х - s с l t m o dс o d e ( i n Lа ' r n t 0 )
{
аsm{
вaчал0сaмoioдифициpyющe.ося
кoдd
nrоveaх' [esр+4] nолЛaei пeр0Ьl аpгtHeBт
OпpeдеЛяeмсвоe reкущeеп0л0жeниeв па яти

а 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 )

// pаскомментирyйтe слeдуюluю стрoку LтOбьyбeдиrьс,'чтo вeпосpедстseннaя


/ / с a i о м о д и ф и ( апцoидяl ' ] i n d o 9! os в о з i O п в(aс и с | e i dш U r ю r eитс l ( Л ю ч e н и e )
/ / s e l l m o d - с о d e2( )4

// 3ыдeляе пaмять13 куcи (в куче ioдиф[кaциякl]да pазрeшeHа)


// с такl1ияе yспех0l1l1ь мoIли бЬ в|дeлитЬ
/ / 5 e l f m . d - с о d r [ s Е LsЕl l Е ]
s е l f m О dс о d е = ( j n L ( _ с d е с ] * ) ( ] n t , ] n t ) ) m а l l o с ( 5 Е L |s.] Z Е ) i

// к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

.-а\tollloД'lфициpylolllиiiся кo/.1заlrс!яeT Iап]инIrуn] кol{arrДyADD lIa sL]в'а slB


:ja ADD,и потoпlу цlrкЛич€ с кl1i'i jrьlзoв фуIJкЦrlll sеlf-mod сode вoзвpaЛIaет тaкуtо
yсaеnrнoс за-
;oслeдolaтeЛЬнoсТt' чllсел: 06 02 06 02,,,,]lo/.ll'веPхд?rя TеilI сa}iъriv
] еlnIе11ие ;Lliтa сaпloN!oДiIфrп{aцlll l.
:lекотopьIс xахoДят прeЛЛoя{ен1tуx) технo.l0rtlIо сr.llIl]rкoN]фol'IоздI{oй' неi{oтo.
trr'lх вoзlrуцает тol чTo JФпиPусllllii код дon'кеll 6ьiть xojl]юстью псРei\lеЦaспl'
.oестЪсохPalIятьсвo1opa6oтo(ltoсo6нoсть!езавriс11llo(]TTекуrЦсr.oмeстoпоJlo-
;}'сlIЛя в пallятt.l. l{oд. сгенсPиpoвarптьпi кoNl]J'I.nятopоN]' в o6rцеlr сJlуЧае тaкo.
!r]|11пе Явn,етсяl что яЬпl"v,rдас| Лас спусxir|Ьс-'i нa чxсГо lссеilt6JсрIlьп"I уp.].
i]еllь, I{a}1е]ltпnli Eск| нeynrcЛtt со вpeмсIl I]еaпдсPтa''Lt,ltеrt'дo6r'rваяrпих оroшь
тpе]lIiellrI кoстянъIпr Il1l'.no]!lпpсвРalIInвIuxх fl(тфoкаpTу U ДvPllIлаг' lIpоrРа]i1мlr'
стьl tle дод],lIалпсь дo 6()Лее пРorрссспвllЪIх llcП)/uJк?] A как ]кеI
.]аваiiГе Лл'l pai]|loo6Pазrrя попpo6yепt сoзlat|, ltРoсTсitlllrx) ЗаxII,кl)рoual{11уlo
л p o ц с l l y l ) y ' l l а x l r . а ] l н у l 0 l 1 o л l l o с Т l t o ] | а я з ь t к с l l ] , l с о l r о t oу P l ) в | l я ( g а r Ц l J м е Р ' с t l '
Io'Гя '|с '{е сa]!lЬ]с ЛPl{спl! lIl)lIгoдllьl ll ЛJя I1nс|injlя с сгo IPо'LЛIпrь]Nl Рo/lствсl].
, , u N rt ) r l i ' l , i )l l ; ' , r r u r r r , i .
()'rсl)е/lIlOс'lЬ|()]lх ()6ь'Il
. ||()P,iдoli Pili}l\{спlсllllя 4)vllкцlIiiп пaпlJl Г11соlЛiа,:rnс,|с
n с l I I l Я в l I P o г P a м п 1 с( l l Р a I $ 1 l ч е с к I ' ] ] с с к ) N l ] | | t J U i l o P r 'll. ; l l {l I l j o ! : l y l i ^ i ( Л ) ;
.IIlи(hрYсNlltя(lrvAкl(ltяllс(()дсP)o|,l.|к]llс}1с|l(llсi\lь]хэ,r|0rlсil.кЛl'1aкжclIaJLll]l
с м r ' х l i х u P ' а ] \ j l l ! l l l P о ] l o к i l l ц 1 ' I \ j J 1( эLT о с | l l ) ; l i t с л ' ц r r вдr,l' r я6 о л ь r l r l r r к : ' п l аr l с t t о , ' t -
п Я с N l Ь I хq ) i r i ] i J I o R l . i I P с r l о r L t l l U l i |i | l ' I к y , ' L ' L ) .
I l'о l ( ' l r r а ; i r r r ч с с r r r r6мr l 6 ' ' r r l r lсl r t i l N 6

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)'

л'сrинr 8'7. самoмoдификация на сл)Dкбе !]ифPoва}rиЯ


# d e f r п сeR Y P т . L Е(N( i n t ) с г у P t - € n d. ( ] n t ) f O гс г y p ! )

'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(){]

n d * - е ] r .( ) { _ а s m- e m ] t' к ' - а 9 л r . 0 r r i t ' P . - а s n .mt .N

с | у р 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з

здесь /FIхЕD_ IсЛIoч,Удanяющиli пeР}мeщаeмьie элемeнтЬI (мьI вeдъ 11oмним'


чтo JlepeмelцaeпIьlcэЛе}lelrтъrнeo6хoд,lмo yдa.nять?1),. teхt _ мя кoДoвoй сек-
циJ{' a ЕRl,l_ cTo 1теpвъrе6yквъl ЕxесutаЬlе, RеаdaЬle, Wтitаьle (хoтя при жеЛа.
ппи Ехесutable мo)кЕo и oIryстить _ на рa6отoспoсoбrioсTь фaйЛа этo ltикaк вe
l1oвЛияет)'дpуrиe лиtrкеpъIисIlользyют cвoll '(лючl{|ollисаниe котopъlx мo}Фт
6!lть найдеrlo в дolсyмerrтации.имя кодoвoii сeкц!!и нe всeгда сoвпaдaе'гс 'text!
пoэтoNtУесnи у вaс чтo.тo 11епoлyчaется' иclloлъзyйТe утилиту Мs DUMPвIN
]ЛЯ вьIясtlеll1lякo!п(рeтныx oбстoяTeЛЬcтв'
сфoрмиpoэаIrньIйлипкePoм файл еще вe пpигoден для запyскa' вeдъ зацицeя.
ная фyI'кция пoкa пe за lифpoвaнal чт06ЬI ee зaшифpoвaть, зaлyстим l{IЕW'
пеpеIсlroiпrilIсяв нЕх.Рe'(ипl и зaIiyстиlll кolпeксTlrьпi пoиск маpкеPlioй стpo.
кll (Е7, K, P, N, с' ЕNтЕR). Boт oнal (pис' 8'1), тeлеpь oстаеTся ли1rrьзашифpoзaтъ
вс€ ' qTo Paслoлoя(eнo вrryтpи маpкеpoв кPNс.}lФкимaя Fз' мЬl пepехoдим в pe.
xим peдактирования' а зaтrм дaBи}4F8 и зaдасll мaс](y ппlфpoваtlия (в даняoм
сjlyчас oIIapaвIra66h)' кaждоe пoсIleдуIoщeeна,(aтие lra F8 зaшифpoвывaeт oдиIr
' oслeтoгo
' . J , lг ' l I е P е v e I L i як y P с o р п o т е | ' сг y ' F 9 . o х I ) a [ I я cит з м e н e н и ян a д I t с к ч П
как файл 6yдeт зaшифРoвaн' пoтРe6нoсть в маркеDaх oтпaдаетl !l пРи )кeпal]ии
Ilx ]tloжtlo зaтcpсТЬ 6ессмъlсЛcllIlъllt кoдoп{,ч'г06ьтзalцищeннaя процeдуpa пo.
l]elt''ле бPoсaлacЬ в Iлaзa.

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).

лисгrrнr 8.a. в|rешний


видзашифpoваHнoй
пpoцедyРЬl
teit:0040100с loс 40100с: с0DЕxRЕг:sub-40102Е+50vp
L0хt]0040l00с сmp еdх 0Е0з3д53вh
t€xL:0040]0i1
'tехl,0040101З аnd ebр' [еsinj5lr]
teхL 00401016 аid еbp [edХ+зBlr]
.texr:00401019
, t е х t| 0 0 4 0 l 0 1 A
' l ч . х t0 0 4 0 t 0 1 А ]ос40101А| DАTAХi]ЕЕ sub-40102Е+6vo
teхt]0040101А
teхt:0040]0lс mоv bh' [сbх]
' t e х ti 0 0 4 0 1 0 1 Е
!eх| 004010lЕ
teх!:0040]021 mоv dh'.s]502Dз130h
Ес1,сствellЛo, зaкля1Ьс,{aЛo,(сI'rloй llrифрollк}t J]егкo сl{ять (oпъIтl{ьIс хaкеpl,I
с,i{eJIаIoт
Dl.o'ДaясеlIо вьrходяиз IDA PRo _ IIoдрo6Iloстисм. в книге (o6paз
мьll]IлснпяIDA})| тaк чтo пе стo'tт пrРсoцeпивaтьстепeпьсвoсй зaщищеппoс.
ти, к тoMy,кс зaп{итакoдoвoйсскЦиll от заIll,lси6ьIлaпpидyi1аUaнe с,tучaйнo,
Il rс oтклIoчсниe Разyмtlьlм дсйствисм пe ]laзoвеlUЬ,
АРI-фуrп(ция Viгtuа]Pгоtect пoзвoЛяeт Malrипyлupoвaть aтpи6утaми стрarlиц
пo
нallleмy yсмoтРению, с eс пoмощь1о мьI Nto)кeм[IPисвaивaть aтри6}"r йгiteаb]e
ToлЬкoтсп{стpAIrицаNi'кoторъrepcально llухдaютсяв модификaции' и сразy,кe
пoслe завeрпleflия рaсшl.Iфpoвки oтбирalъ егo o6PaTпo.
o6нo^вЛeJrныйвapиант фунIсции сr}Pt.it мo]lrетвьlllпядe1'ь'напpимеP, Tак (.J1ис.
тинг8'9)'

листин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
{

// orклюqaei зацитy 0т 3аписl1


v]Г|uа]Pгot€ с L(р с РАGЕRЕАO|.lRlТЕ(DL']ORD*)
&i)]
175

// paс]iФрoe ваex aун*цLll)


^. t)r66i
iOГ (а = 0 а . с: а++)*p+:

' , / в 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 )

.тIioNttutлиpoвав фai.il o6ьгпtъtпIo6pазolt' зalttrjфРyilTс сro llo lleто,.lпxс. oltll-


:аilljlrii gЬtlпe' п запyсTltтe пa въrпoлнснrrс,Бyлем падсятьсл' .r,lo tлr зaPa6oт.rст

М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( ) )

ч Т o к o l l l { P с L o д r l я 1 ) ' г o Г 0 l l с o 6 х о д l l N (с)Л е J l a т l , .П l p о l r L r '| r с с r ) l 1 l п \ ( П l 1 ь l l 1 ] i W l l ,


lrсPeii;tя п ассом6lrсPlпji1 рt'кltl,l.сPllIrJ]|lrЬ I I х о l I x ( , r L ы( L r с | ] x 6 Ь п r а ,о| l l P r l t l l ' ( Ь .
Jюl{ вы6tlpс рс'кlllIa . 16 llJlll : ] 2 6 | l | ) , j ( l l i L I r | ц | l ( ) д' i ) у Г ( Л . д P y г x к о ^ l r I v ( l i ( ) l . Л l l -
llil0тo/lllll.0l(l{llLl-|.|]с|l||lllii6lLiiГ':1;t\Iсllll]ю1oPо'.oll()|lrl('|,|(t.TIloРtlПlчуЛ0сa:
00000000
03сз
00000002
28с3
I ( с o ) к д J I с l l t t ю 'э l r с I I с p и l i с | l ' П nс [ 1 l Е W к l l 1 l t с Ц r o q r | | ч с с l o|l | с | i t l r . Л , / l I l Ьl tl l l р ( Л . l l -
Л o P с ч l I r Л n l,l с I r о T o p l ' | с } t за с с с l r 6 л с P r I ь I хI r r l с т ] l v к | l | | iсi o o T в с Т с т в у l ) ' Г| l 0 с l ( ' l Ь l ( j l N l
iv'ilUIIiI]lIьI]!lкoNla!t]Lа]vl,It]ЕW DЬI6IrPllсT сllмуro tl()1хЛ'куIt)|lз ]|llх' lnrl l|с в(|сultl
yдo6|Io'пoскoJькylц]пllроlэкTllPolr^|ljlllсaмоNftr]llt(lЛ1juJ])}l()|l(сL.()сяl(oдlrlla\ll]Pll'
{ n Л и г . . l ' I U Д 6 l ' Р : ' г | , I l I i с 1 l ' ] ( , l | | . ' I l ! ' | ' , , '1' ' | ' ' i i r
П o л p о 6 у I i т c ' ] l a l l р j j У е р , с к о P N l ] l ' Г Ll '] I Е W х 0 R Е A х . 6 6 ,O l l ( l l l е Л з м с l l l l ь l l l \ , l ц ) я 1 1 .
ствolr 6удcт асссм6"ш r1ювать с1rв Tpсх6xiiП iYIо IlaI Ix lrl Ilyl() кoNlal lдv 8з F0 66'хoTя
суlцествyIот l{ ]Qyl.rle вrР'Iaн'l.Ьl:
8з|.066
00000000 eах,066:.f
00000003r
3566000000 ..ах,000000066:'
00000008:
8lг066000000 ."ах0000c0065]. f
.1.ЕсII rla мнorxх
э'ЦекTрoппoeспpаtsoчнoсрyкоnoЛствo гiЕI-Р' nЫ,ro)кс]rx()е
сepвeРax,сPедlIItp0чeii6eсцertнoйllнtl)()I)NlаЦIrп
xaкеPсlrj1х в сe6я lla
пкjiючao,|
rлядныс та6лицr'I oпкoДов' позвoJlяI{nпlle 6ьIсTpo OlЦrе]Lе"lLllтЬ' какиo Itашrlllllьiе
т.ol'aндьI llto,rшо rl()"пyчlттЪиз Да}lнoii lпIстрr-Itцl!l, l111жt]nрппeден оc фрaгмeliт
(рис. 8.2)' Пом]ttем' кaк ].l]!]пoJ]ьзOailтr'ся,
гoрrlзo]rT iъньi!-"lст(JЛ6еll сoдерnrит ju''lаДrпltii поц,баilT tlсPвOro 6ai'та оll{oдil
кoмаfiцьI, a стаPlxиii llaxодIr'гся ts всpTик:Lnьlloм, B точ]rс их лelreсeчcни'l tlaхo.
дится aссепr6лepнaя rпtстpукц'lя' сooтtscTс.твyIоrцая даннoItу l1аnlliнrloNlу кol]y,
ЕIaпpuмep'40hoзначaстINс Ах/INсEАх(Ах в 16-рa3pяДrrol',аЕlй-в32тазpяt.
0зh'сoответ
ss. PассIiотРll\I 6olсC сnordlьIiiпрп]\fер:
нoм Pс]ки!Ie)'а 16h PUs].]
L76 rлава a. основЬ|
cмol1одифиraции

cтвующий rv!а]Irrrl{rjoй l{oN'аrrдeADD г16132' г/rт'здrсь г16/з2 o6oзнaчае,гЛIo60й


16/з2.PaзрядньIй pet.истр о6Це10 lrml{ач..ния'a r /'I J1ю6oi! !6/З2'Paзpяt\|1Ь|il
pегистP o0щеIo нa3rlачrнl1яиIlll ячeliкy llамяти' а/lPесyeмylo чeРсз этотрer'lстp
(ПапРиNIeР'гebx])' Bьl6op копI{pетньlхpelrтс'грoвx сп0с1160вaД;есациll
oсvlце'-
с т в л Я e| с я в U в , о P o N l 6 d i Ij e o п | , o д i ,l з ] , | | J J Ьв i i ц N l o плr о л я | n o dq l н , " o с г o я щ е i o r r з
т P . r I o , ] е , 1 : Ч oRоe,g / O p с о oиeR / l 4 { | 1 | ' ( , 8),,З , I l Ь l Р p л г i | | | р у ( \ . U |дх o в o л L r l oс Л o ) п .
н ь | vo 0 p " з o v( p I I г , 8 ' 4 )J а п о , Ц l o r ] r r o с r я м и o t ] p r I ц а i i ' с с ь к | p о Г Ь с r ] \ , о ч v с п o а .
вouнoгoPyкoьoдс-лс IпlP, {Il]l|' |с|ions"I Re|сlР|lсе) '' л.puon'у lr"д"nirlo
<Teхниltп и филoсoфип xакepск'lх aTаIt>КpIrсa Каспсpскrr, ",
а тЬ.rI'е; _ к глaво
<.Тeхникадrrзассeпr6rпrРoвa]Il1Я в уп'e'' l(стaTи' TЪе Sviп нaureл п lтспpавил Irлlo.
Г и c l l J д о | | у Ц ' n J |, | х I | н o й n u l l | 5 J , ( l,I o , | | | Ь |пi i. p t I P ' I l lI . o I o l l | r l rхl о } | . ' r ,n , . , . ' n ' l "
саитe www.Wаsm'ru,

^1 \2 х5

| ,юD I
./n,116 l 116, t /n I a L , i m 8 A х ' i m 1 6

1хf ADс ADс ADс


l./m' г16 r B , r / m 1 1 1 6 ,. l n I aL, im8 lй' im16 | ss

|дND | АND sЕG


t /n, r\6 l(16,r/n АХ' im16 i Еs

xOR xoR хоR


./n,rB . 8 , . / m 1 f ] 6 ,. / m I a L , i m 8 l ц ' i m l 6 I 5 s

4хl INс I INс IINс тNс INс INс тNс


|вх tsr lDr

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

допустим' ]\'ьtхoTlllli сJlo)кrlть Рerшсl,P ЕAхс рerистрoм EвX,псpRЬlii 6аIiт oпtro.


дa кoNшrrдыADDl!ьl y)fll]oпрeдrлtlЛ]r - 0зh,Tсперьдслoзa
PегисTpal{rrи сlloсo'
6a;rrиадpeсaциr'r.
Cмотрпм (Рис' B'4):,цляItепoсредствeпrloii aдpeсацип двaстap.
ших 6иTaвтоpoгo6aйТаoпlсoда 6ьттьpaвпьr11'Тpи следyющих6иiа
дo-'тжrrьr
(кoдиPyюIllие РегllстP.пpпeмник)в нaI1leмсЛvчaе pавrrъI000.
чтo сooтвeтсTвv.
ет pefистpy EAХ'Tpи младших 6иTа втopol.o6aiiтa oпкollа
G.oд"py.щ,. p".
гriстр.истoч]trrк)
рaвнr']01l' ч-roсooTts€ т ствустрегистpyЕАх.нya gссь 6aiiтце.
nикollfpaвeнсзh.Tаким ()6разом'ADD ЕAx' ЕBхассe!6лиРустся в 03 сз' и I{IЕW
пoдтвер,tдаетэToI
177

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

Pис. 8.4. вoзMoхныe знaчeнияпoля lчod R/Nl


t7a глава 8. o.нoвь|самоl4oдификации

п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 '

листинr 8.10. вызoвфiнкцийпо yкаэaтeлямl п€ р едаHнымЧepeзaрryмeHт,


о6eспeчивает кодуперeМeщaeмостЬ
п y l ! n с ( v о ] d* f 1 , y O i d* f 2 ' v O ] d* i 3 ' v о r d* f 4 v O r d* | 5 , )
{
i n t ( с d e с ]* f . 1 ) ( ] n |а ) :

f-! = (int ( cdес]*)(rnt))f]:

f-](0х666):
)
nDоблемы кoдачepезинтepнeт
o6нoвлeния 779

oткoмпилиPoвав полyчеtlt{ый фaйл' мьl i1олЯrньlскo!Jl{шoвa,r'ьегo в З2.Paзpяil.


I]ый 6иirаPник. д:r.цeкollе каrкдьlij 'Ц llкep спtlсrl6ен на такoс' rr заuaстytо двoпv-
яыйкoД вьIдиpается ltз испo.nпяе\{oroфайJIaЛroбьЬJпoдрyчньIпIнЕх.Pсдaктo
]o\t (пaпрIrмep, тсм хe lIIЕW'oll),
oK, мьI имеем готoв],rii }1o/.lулЬo6нoвЛснlt't, и:rtеe:"r o6новляeмуro rlpoгpаt"tltу.
oстаеTся Toлькo дo6aBrtIЬ пepвoе ко вТоPollv. ]loскoЛьку Wiпdо\1'S 6xoкиpует
зaпtlсь вo всe испoЛня]olJlиесяв да11tlьlll11() Nle]tтфаilльi' 06]rовиTьсаIi сe6яфaй,.l
]iе}lo)кет,и эту oпepаI(иrопРихoдится вьtпo,tflятьв нсскoЛьlr0 сTадllii' Crlачалa
i lспоЛнЯe}1ъxlфайЛ (услoвнo о6oзtrачetll tьrй паl!rl каx A) псpсимe1ювьIRаетс€ 6 Я
t фаl.tЛB (пeРeЛl'erroванfllo залylllеllllЪrx фаiiJloв willdo\l.s ]!e пienlaет)' заТсl1
!aйЛ B сoзДaет свolo кoпltlo пo/.lим€ н еУ A, ]tollrtсьlвасTN,oЛ},Jrъ о6нoвлснtrя
. сгo l{oнeц кaк oвeP.nей(6L)Лrс0llьгГIlьIехaкr!ы r oГyТ сl{oPpск,|llрoватьзп1rlr-
illе пoЛ' I|тLаgesize)'пос,пс чсгo 3авеPпIаrт сuоо вьIIlоЛнснnс' 1lЧх]jlnllaябРазr1ьI
]lpавлeпIrяфailЛу ^.'удаЛяlolцei\ц,nРeilelltlъU.iфaiiJl ts 0 дIlскa' ])аiJ:r'меетсЯ, этo
вoз]\1oл{]l?],t
lie eдI'ltlс'гBеIJIJo схeN|1l x' кстitтlI гl]вoPя' llа.]tскo1tс сilIr^я.lJyчnlaяlIз
зсех' lIo на псpвьIх ltopах сoii/l€ т п oпa,
P с д с 1 a в n , с ' ] . ( Ll llo l i Р o с P a с п P o с т P a U с l I J l я0 6 l l ( ) ] l J r c lili п o
Б o . l l е ca r ( - l . у a j , ь I l ЬпI м
I Irrтeрlrетy'Hо пolспrу 6ьl lQ(х]'Г()ilс вЬiю1а,'lьIIJать ().,()!,rlсl|||Я|l.t-tluк)ii.|oсср.
( l
з е P ? П y с т ь у д a . l с п l l Ь l сl | Р ! l л o ) t { o l J l l , i l а l I р l l п j с Pl'c ) ( с Ч o P в , ' )| | c p I I o д j I . ] с с кl IПo -
.еLцаюTсl.o' l,Ьi'l,яl.иI]2lя сIJс)качL)к,,' ll
1,[у схоJIЬI() 1ar(oii ссР|]еl)|lросl",lL(х:1ljусr?
: ' , 1 и o l l . ' о p у \ | | . | п ^ J L | | ' l , , l l ' , к U ] \ , i , v I l ' | ' ' | ' : , ' \ | |' ,| |n|,|,|, х:'j' ,|' | ' , ' | ' i i , ' ' | , ' 1 | | ' "
, ' l l ' ' ) , c I l I l I ' I йl:\||I, ' t l Il , | 1' ' , t 1 ' ,} i ' t l I - ' , t. ' ' t \ ' 1 ' ' \ | ' ' ' | 1 ' * ' | , ' | | . | ' , ' | ..
lIpсдeЛсппоll схсlllс.
] ] Poстeй |пtlй ;UIгoPIггм ]rьII]Ulдl rГ 1.ак:l lус | ь кir,9u'l i] чоPllЬ сoхpal Uto'Гв свoсrЧ |tj,,li)
t а] P o / l I г Г с J I x6' у д у ' | . l r l l r T Ь с B o | | х < r L е ] c i i ' '
] P . ; l J l p е с а з a P a я ( a . N l Ь t х] ! ] i l l | l l I l l ' , l . o D ' <
ll <]Дети' пoмIrlTь <poди'j.сr|сi'l'' ]]|IJ|oть;lo пос;rc/(ногo кo:rсlr.r, lЗrЦrо.rсх, o6рат.
н o с у - r ! r Р ) к д е l l и e ] i е в е р l l о ' < / ц с д у l u к l l >l l ( 6 l б у l I | к и ' 3 l ] а l r Г J | , ' I п nс в ( ) ] I хl I с l l о с .
pедсTвeIпIьlх <ДeтсLI'' rro ]lс rtlloюТ IlIll.аl()l.о пpс'lсl.авЛсIIIlЯ о звuу'ltt\>l ссJ'',
Ioxсчlю' <впуки' явl{ьгrr o6pазolI rrc упlrroвяl.с IlItNil] сое,.lllllсIlIlс Л ]lс (()06.
]цат свor.I адрссa.,, ГJlавrIос - l]ас(rlilт:i]Ь rtнтLIlсIlвносгЬ o6l1!нa r1ItllхDrЧаlllIеii
тaк, vтo6ьr нc сoжpar.ь вeсь сетепоiI Tpaфlп{, Torдa, о6]lовuв oдlloгo чеl)пя' уъr
с}lожем дoстучaтьс'I lI до вс.х ос,|aлЬlIьlх' пРl1llем npoт'IпостoяrЬ ЭToItу 6\rДеГ
cчeнь и oченЬlJспРoсто- РасrlPсдe'llе]lпilя с'lстепlа o6повлснlпi нс пlrсст сдrrrюl.o
кооpдинaциoннoгo цсll1pall'.цa'{e 6yДylll] yнrlчтo}кснноil нa 99,999%' с()хРаllя.
ет свoю pa6отoспoсo6нoстЬ,
Прaвда, для 6оPЪ6ь1с чrPn,lлll мo,t{e,l6ьIть 3aпvlllrпо о6повJiенио камикaдзс'
автolllатически yнllчТOltal0цee всeх чePвrri' rrотoрьIсvспe,.iпего заrлотlть, Ilo-
этoмy пPoгpсссntsнo nасIрo"ё]IIlъlenlJP},сoпlrсатrл1lа]tТивнo исllо'цЬзуt(),|мeхe"
l lизI'ы цифPовoй подilисtl ]1 ]]eсltNil'еTpIlчIlьlе крllптoL.тгoрtlтllЬl, ЕсjIи nс]r! раз.
pа6aтъIвать свori сo6сTвeппьlii двrr PGP (бJlaГo eе
}iсхoдньIe TeксTьI открьIтьI.),
_ иMeTь идеи и r pУках' Bсe
Гlавнoe уNIетЬ деpn(ать I{оIfIl]JlЯтoP с оTIa'{чIнoIl
oстanьнoe _ вoIIPoс вpeмепJl,
чeл0в€к с otладчикoмa Dvках

гл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-

r i t l n ,р c i } y ' r l ь ' | ' аl lTх д с ' 1 ( ] ' l I Ь п о с т l ll I c l с с l ) l l L o r Ц ] l l | ] д Ь r I ] i loс )r i l l д a l I и я l I l i l I I o I r l c и з


l l I P v с o | ] J а ч a с 1 y Ю о с r a l O ' Г с Я ] l с P а с п o з п i t I l l l Ь t i l l ] tоj с O 6 c l l I l o с с J l и 0 l l l l I ] : l п ] l L : а l i ь I
\lссТnЫIt хаItсpo]\{It llo a/'tсlrтоB lllI Г}'вlIl)v(J|()ii jIIIдyс1P11ll сЛ{с Ilс дollIItt' к счас.
:ьlot B 6oJlЬlLIl]l1сTl]сс"!учасв ]aPaзa o,кt]16ЬПr, обllаpvя{снa BP],чIlYю' rl сеii']llс

в ходc сBoеi1эвonюцlnl oIl0PацIlollныe с]lс,Ге]\'ЬlrcмсiiОва Windоt\.s PllзросjlIIсь


к) |lcllеPoЯTllьlх I)азмсро3l пРrврaг'IвIIlЛсl, ts iloдсJlь llaстояlцего Ioсy/lарствa
.llllllиаTloPс, кo.lllчествo фаiiлов' хlrаlt,lщихс]Я Лoll каrlотotl )кe0т].oIo /ll]сl(а,
вlIо"lIнссoпoстaвпI!о с чЛсJ.Ieltl Iос1.llo 11ассЛl]}Л.lЯ
l(ако ii rll'бyДЬ eвроllсjiскoi] сTР.l'
Iiы llaпoдoбr]е швсi'iцаPI1lr и.IIii ПоJrьпIll, сyпleсTвуl{I| согlnr Tьlсяч ]\fес'гjпрlr'
ГoдIlьlхllJ1я l]нeдрснrtя вrlpуса' lt в этихусI1oвIi'х смy lluчeго пе сToI'т зa1.еpятъ-
.я таltl чтo нI]кaкoil сьInIllI( eго пe llaiiдеТ,
lInкто не в сoстoяпr11l пРoallil.{trзиpoваTь всс 1l\]еющиеся в elo расllop,жel{lll]
IiспoJrняeIJЪ]е фaiiJъJ, l1].lllаNl чес].ис 6]l6л],loтеILrI'oсх-юмLloxенТьl и Т, 'r,, ]lo.
'ox\гаDан-l|гo0.нlооi]|'|\,,.,l1LJ,|Uljlс,,l,'{o,veIol4\|
]r],,l,,,1'.||J',,:,.
Ilевo3мoжllo, 0с06еннс) tla par]нr,lх с,Г.ulllях !ToP,nснuя' кoгдa заPа)кепo пe6oJ.Iь.
шI,о l.oЛичeство фаIiлов, oдпeко сгol'lТ 9upусy пopази.Гь сисTeNlIIьIlli файЛ иJll.t
сl!еЦиfurЬнo пoд6PoшенIrvю дPo3офr.]ny (a oн Ра}1о l]jтl' позДпо сllелаeт эl.o)' как
otr ТvТ 1ке sъlдаст се6я с rо"!овoril с ]IepaзмнoжaющLlпf l'ся тpo''l]lски[lи пРorPаrг
142 rлава 9. tsd,,и и rrи! o! иlь, nлy lоlо6ие гo бooь6е ( Bиpv.ами i тDOcчаv/

мамr1дeлa 06сTlrЯтнa]\!пo1.о слo)кпее,засeв[Illri в yкpoмноlI\IесTe Tpoян l'o]кeT


пpятаться гoДaNIIjlIrIiчеnlне вьrдaва-sсвoero lrP]IсvтствrlЯ]а зате]\lв oдrJн <iпре.
].Pасньп'r>Niollснт нeoxидajillo прoснyться и сдсrraть tjз вuнчесТepа витreгpeт,
э.t,o не озrвчаст, что pyЧнorj пolrс].6ссгIlrлeЗен,ПPостo нс стolrт пеРсoцerII,IваT'
сr.oвoзNIoжltoстЛ.''

Eсли BдPyг oткPЬlлся люк...


впрусьI ll тРoяl lсl(Лс пРoгl)ампrьI чаillе gсспr пIl|llуIсЯ нaчиllающIrlIlI IlpоlраrvilJи-
стаt1]]! I'е т,iljеloщrlliIll a/к]t{вaтнoг()ollЬlта пРoек1.lrpo]ralllя rI прnкTItЧссI{,I Rс€ г дit
дo]tус]rаIoпll1lrtt 6ольIIюe кoлl{чeсTяо q)aтarrЬrILlхlrш116()к.<Б.riaгo]LаI]Я'этоruy са-
lIoчувсTвие заpi)ксннoii фlсTсlllь] резкo ухyrllIIаcI(я. пояrr"цяются со()6щснrIя о
ItPитичсских оп|lt6к:rх в сaNlЬlх нео'(идаl1llьIх ]!]сс'lахl поЛllостьlo UЛl{ чaсTЛчIlо
нaPyJllaстся Рa6оToсIIoсо6IJ()стЬ нскoтоРl,Iх nрIlno'(с]]llii (рlк]' 9,1), вРervя 3.irpyз
кU oпrРaцl{ollIlоП сиФс}lьI3IIачl1тс.!ъпO tsозpaста€ T ' lIс yЛaс,|ся вЬrпonlUr,гь 11Рс)
вcPкy r:tUс](аЛ/l,|JlLlсtt) деq)Р1lГr!сптaI(|r|o'l1poизвl)Лl'l1.сЛьJl()с1ь]lil,]аеТ'.'
Jiстrстпсttlto, всс cт;r llр'IзlIaкп 11oГут |]Ьl3ы!a||n]'I rllloЛп0 jjo]'i!tъllьl]\1'lltl llскОl)
Dсктllo устalIoIl.]lсlшЬlм ]Tll'цo)I(сп|.|с}JI.IJl]InilпаРaIllьIIJ]l llс'I'спPnI}|loстЯnj, I]Ic
стoIU.в ка)vк)м н(:TРсЧIIоN|6аl! IJ||,цcTЬBl,Фусa Bl|Русо(ln)6rl,] _ ()l,ilсlla' llсlцЬl
]lдM]|()t.orюлсе ollilсllая, чсrv ,]IlPусЬ|. Ollа сll(с JJ]1коГoIIlj ,цol]оlll,l.]Jil
iL()дo6рil,

Pис.9.1. так выглядит


сoобщeнЙeo кpитиЧeской
0ши6кевWrrdоWs2OOO веDный
сп!тник
нeKоppeктно написaHныхпpoгpамм,
тpoянских
кo|eйи виDvсoв

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з

] ессы: intеrnat'eХe(PyсификаToр)' smss.exe(сеРBер l\fепe/],кepa qеаlrсo! ) ' сsгss'eхe


"pвPP п o д с и с 'P У ы \ ^i n з 2 ' , W n I o 9 o n ' e хl е
| | ' J , г i r ' ] r | э
г(] | | . т г : l U y .|. r]. | | с , l . \ | e| |l P
евoй DDЕ.аrеtrт), serviсes'exe (диспстчср уllPаtsЛсни' (еpвисaмr1),Isаss'еХe( сeр-
iер 3aщитнoй пollсис'гeмьi), svсhost'exe (конте'iнсР д.liя сJiy}к6 и ссPзисO!)'
;poIsveхe(Дr.Iспeтчeрoчеpeди пeчaти)' rеg5vс'ехe(Pегис'гpaтор)' mstаsk'exe(IrJIa.
:ijlpoвщиIt)' taskпrgneхe(ДиспеTчеРзiцaч)' еxporе[eхe (пРoвoДlrпк).
-l p ш устaнoвкe нo!ьIх ]tpltJto)]сel
lиi.i r' дpiliiвеpов этот сiтrlсoк }Jоnrет6ьшЬ зriач'I-
,еlьнo пoпoлнен, Диспс-l.чсpзадач l1еi]гобpая(аетllоЛ]iогo пvти к пCполlIяеlto
чу фaйлу лPoцсссa' заставJtяяlIaс].eРяTЬсяl] дoГаДкax,кaкоп{уlipиложеtlllю or]
:ipI]!lад.JreжиT'пoflpo6yйтe пoIiскaть ф:ll:lлпо егo Л]\{€ п и rlaДriсl(е пл!I запyстnтe
.AR и, пoдогпав кypсoр к сoотuетстRyloll{еllv iтPoцeссy в спIJсitе' tlа,ItмIlтоЕзl
;l тolдa ЕARсooбЩиT пo/пIьlй rlуть к пeiliy' q)аiJ,rьr'lJaхо,]япIlrесяв кaта".lоге..lе-
:?-1ьIloустанoвЛеннol.0 ItРиЛort(еllия'cкорее всeго' эTo\fy сil 1olJy пРrlro'(еlIпl(l
;l пPrlнаl!lr)1сат,ФайJr!]l нaхoд'tщllсся в сllсTе]\llIоNlкaт:Lчоl.с\\rindows' N{oIyтпPll
]iirдлеяraтьlroму y.oДI{o,rlтoбы !tз6с)катьltу,|ilнl]Цl't|lo3ьIlttTс сс6с за lц)аl]I'Jlo
:iaждьlй Рa.зпPи yстаtloвl{о нoвoro пРилo)ксl1rlЯo6paца1ь внимaflис xa rlроЦсс'
.ьI' IroтoPoeoно дo6aвлЯeт (Jп{стllнI9,1)'
Hеo}кидaltlroепoЯBлсllие пoвoгo пPоцсссаl !lс (]]'IзirяяоIo Illl с oдttltll ll! ус,|n-
:JoвЛснllьlх llaми прrlЛo}I{сltиil,.. Лaдс'o!Ьlii lIpl,l3llilк LPoЯп{]l(oLoвtlсдPсll].l,]'
скopt''iитссвязaннь1йсниlli'IсlloЛllJlс[1ЬIiiфirii.ЦсвФк.iiвсPсlI'ttjii]llсf()Jlk)6I!N{()
iо аlIтивиpyса илIl llсpсдайтс oГo (!,сItltil.lисT^N|
ll.пя ,tс0,с/lоваlil,l,l.

листииг9.1. пeрrч€ н ь апивныхпpoцессов,oтoбраl(аемЬй


}тилитойt|ist.вхoдяцей
в сoсrавnaкeтаslppolстoo|s,бeслЛатlro
распрoстра|lяeмoгo
ФиpмойМ]сюsoft

: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Г

daelrron еХe (1092)V]Гtual DAЕi4ON |]апdL:Jeг


Vз'41
i n t e г n а t , e i e( 1 1 0 0 )
сl1DЕХЕ (1152)OбрaбOтЧик яO[dндli]п]OщNI
tаskmqГ,eх€(1168)IlиспеrЧер 3аЛачш].dо!s
лpaДaлxеBиеnJ
184 rлава9. найтии yничтoжитЬ,
илипoсo6иe
пo6oрь6e
с виpyсами
итpoянами

л|1с1'|rr 9' L (npoДoлкение)


rrrsimi,ехe (1i08) Bхoдящиe - OutlookЕхDгеss
F а г . е х e( 1 1 9 6 t) ] 1 s t t s . D > u ' l а г
с М D . Е x(ЕL 2 6 8 )
tlist'еxе (1280)
s r d v о ] 3 2 . е х( e1 2 5 2 0
) оший
е m u ] е . e х(e8 2 0 )( | . ] : 0 'D9: 1 ' 6 )e f l u l ev 0 , З 0 с
liINl.l0пD,ЕXЕ (l2l2) г€ л оve'doс I1iсгosoftl,lord

п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з