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 . нижний...
5 downloads
239 Views
98MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
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ммво€
и к!к их 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л рa!рэф€ниi вл.д.льцовaвrcpскцлpав. в данюri шиe'
пфгreна
в0спр0gзв6д€на 6 вкoй 6ы тo ни быno
ш иФочниkоl'
p6сфEтривa6мыx
иsд6твльФsом
*a3
l
с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й . ' '. '.
скемписaть..''.
глAвA з. HEyЛoBиMЬlEN4стИтЕлИ вoзвPAцlAЮтся
40 42 44 48
о6() gсeм oсталЪ]roil
кpпптoгpaфпя
IJапсIlьxс
55
51 59 59 60 61 69
86 sizeofu ninitjаlizсdDatа Baseo|сode/Bisеoi.Datа , ' '-,, ',, '., '., ' '., ' ' B6 [iпа8с_oрtiопаl_hсаdеI] АddIсssofЕnLIуPoiпt 86 Innа8еoрtjоnаl'Ьeadcr] I t t r а g n . o р tо n а l _ l t '' d r . ] l т " е ' B i f [ima8е oРtiоnаl headег] FilоA]j8nпспt/Sес|ioп^]i8пmеDt
siZеoiIпlage Iiпlasо_oрtioпаl_hеadсI]
B7 87 B8
глAвA 9. l.lAЙтИи yHиЧтoжИтЬ.ИЛИпoсoБиЕпo БoPЬБE с вИPУсАMИ и тPoяtlА|ЧИ. '.. e с л и в Д P у ro т к P ь U l с л' ю к , ' , , , . , , , ' ' , , ' , .
181 182 182
]!Pс]кдeчeм llaчaть
2З6 238 2з9
10
глAвA 14. sЕH HAслyжБEКoHтPPЕBoлЮцИИ кpaткo о стPyrffyPIlьIх l
сnl{сь ll мnсT дaй '(п"Гlсоii llР|1в'lзItи i r I l I n 6 . I l j < л п г я r \ l l l г l j l | ' ' | | с l , i ' J | | i l i \ ' } 'и
o г o r l l ' л ] ' я ] \ l 0 | i| | r в . Л ] . . j l l_ P Е в ni.кI]у |кз .l nкl .трvxтyрlll lх п.rrюtlPlЦпl
п а t i v с ^ P l . | | a | |п o p т р e тв с т и r ] e. I I n "
систeм]тыевътзolrыUNIX
содеpvание
262 263
270 271 271 272 214 27ti 211 2'7в 279
11
o6нapyжerrrrе и иI{eнтrrфикация 6pаrrдпlаyэpa,.,,, сканирoваtrЙе I'rтpaссиpсlвкаvсpез6palтдмауэp, , ,
29L 29з 294 298
aтaт(alla hoDсуpot
304 305 З01 з08 з09 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 . . , ,, ,-, ' ' ' ' ' . . ..., ..''. пpoТl1вoдеl]с1в . rтиооP ж f l l r x . ,J , . ' . , ' , , , , . . ' . , -.'.. ,' с е к p с т ь rп o r i ; L l l д l { o гl oJ l l T e Р n р е т a т o Р a
. '.''.,,З36 ..'.. '.., , ' 337
.'''. , '., ,., 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
язъIкoвси/с++ вeРифrкaтoPъткo,r{а ДсмorrстPaция orrrrr6oкнaкoflЛeния чaсfo встPсчaющиrс,I0лrи6киI . , , . , . , , . , , . , , . , , . , - . , , . , , - , , ' , , , . , , ' , , ' . 407 с яи 6 к иI I , . , , . , . , ' , . , . . , ' . , . , , . , , . , , ' . , - ' , , ' , , . . , 4 0 8 ч а с т og с T р c ч a l o Щ и0eш (истoчникнeизвeстeн) тPуlloвьlе 6yДниttpoгРаммиста ',,.,,,.,.,,,.,, '., .'l09 . г Л а сi l a p o д a .''',..''.,411
14
чAсть v. oпEPAциoннЬlE систЕмЬ|, э!|yлятoPЬ| и кoмпилятoPьI глAвA 26. эlЧyлИPУЮЩиЕ miпimаlsysteп requcst
oтlсP],lтoс'Гь исхoдпь]х l:аче(TвoJr\lу,'lяции встрoc]]яьIй o'ГJlадчi,lIr
412 414 416 417 411 418 418 419 4\9
гл ^B^ 27' oБзoPэlЧУЛЯтoPoв Dos.Boх Bосhs
МiсIosoitviгtual Pс o.]к)l]IIЬ1c хаpaктcPj]0'l.иI(и
421 42L 422 424 425 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ЗЗ
-eр].ltа o6oрyдosallия' и:tlr сaпep' oпrи6lurrйся двaurtдът ] i j D o в к]a] o т o l l oивз в н el l и з н y T p и . ' ' . , , . . ' . , , , , . . ' - - - - . '
4З5 4Зв 4З7 4з8 439 4э9
.' ' '.,, ' 44o : . l : r е ] l н o с ти l ,лl I rд o 6 p o в o . ] 1 ' Е ызйa к л ю ч e н н ьiIl , . ' . .''.-..-'.. ,.,44o ]::;lтe.llьнaя хаPактeристика ядер \\riпdоrvs 9х и Wiпdоws NT ' '.. , ' 44|
15
Nт глAвA зo. PAзгOHИтoPМoжЕ|jиEWINDoWS стPукцlpаядPa,,',.',.,,.,
4А2 44З
483 484 485 486
49n
свePткaкoнсTaIIт'.''.-,.
494 496 496
16 ,'..'..,..,498 .......i...498 ! .i.IrLlиr lleгтnoгo
498
l.оД
...........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рЯ . ) в су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ь , 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 пo 6сзoпасlroс1tl), llP()с'(у]Ila|] вя п|oI тоЛькo дру|оii MoрР]iс' :l lle "экспс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 '
до /!еся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, в г)6Iцс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к()е _ MаЛoгрaиотньх здeсЬ 6ьLтЬ.-Aвтоp Мo.,*ет иам6ициoзнь|х' лeвия pазPa6отЧиков и,'rтepaсив челoвeкlс детсгваизbаЛоваHвь|и сно6изм,!o, пo eго мнe|rию, nDoявляет нe всoсгоянииtaYчитьсякакслeдyетпрoгрaммирoвать, ньм 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' _ 1,o.]lЬко l],l()ll])('il'к;lксгeаteЕjleu нeapA]]oс в Windowsgх/Nт, '|ъN1 (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ет х 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 ' tlatp а6отка .T.\]l)l ]lоr!пo,tiсJtrloгo l1i| вЬlсOкуI() lLлa.nифul{аrLrno' llо 3ilIlUrllLлЬr,] разр:16оTllс 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' 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 l ! l | )l У | l ] | Ь | | Ь ll}|i| ) ] ' D o д ( ) ! ' t l \ 1 l3 \ 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 ' | - ] ]
|,\'. I] кoItt.ll]l)N| (.IсTс, РсilJ|IiзаIlllll i]ilrllIl1l,l]11'PуЛoо\'ко(|'l н з ' 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
лоelllloс1rl
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с ) 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 'ч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 o6paзoм oт;rиuаться и pасaoлo,tеl1]lе NlaшIllll'ьiх кol!1аr']i}Ioгyтlrapдинa'.тьньт:rr 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пoвoдoв 'цjIя пъя!lJ{lt нсT нtlr{arl]]х (зlЦвulll,Tс o,|кРЬl)кснllc ltРilijl|е lleплe'illo' 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 Tуpы l llЬl удаt] uм ts (аiloе L.l)дцe I,1l Ioка остl,.lьllЪIе 6ynyт ан.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вЬ NoP е кoмандъl (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у кoдоll БyД}пlи l !?вьlг'а гь aптl.отлцlоЧньI[{ ' в]le/'Ipеriньlм в Дelll уп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'
til ( (ll]e]]nlеlJ(j'гIюnаIllrе
.'
,aоEo
llЧ]'г\'xjlьlIol.i
/вo, ,"вv'
\JanппiЬl.
оi во4" /-JIa,
a6'/-pi-aё'1vвур\
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!',.':|| '|i .ll' I l' ( 1 ' l i l l ] i J ( ) ] ] n 1 l l к ] | ' l l ] i ] я (]]]Ье e к Л I c ] I 4 ) r j j ' { .B r J ] ) \ 1 . Ьol 6 Ь г i l ю р а з , 1 8 i i г a I ( ]пт O ( ] . ] | e Л п l . Л ( ) ]lj]l|.()i]]1al)|rОвrrl)'/]lс'l()j|()!\]()lr|l сrtrlI(J!r3а. 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 о р 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 . .]5). ( ) ( l ) | | с | Е N т E R 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 н . ,l' ы ' | | ,| П o 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 ип!епIlo пo этo\l.v лa€ T 01Е001h'l-0зl40000h: 0з15Е001h. 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 . (заltись в Рeгистp чпсла з15E001h) mоvеаx' з 15Е001h r резулЬтатс чеr.orl1IстРУI{цirя :]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,
кслoрыЙЧерeз на точкyвхoда/лoвяцийсяв.еMиёнтивиpyсамиl Pис.4.9. тpивиаЛЬнЬйjump rес"ольnосе{'iд 6удетд0ра6о,анв rеr'o -е1отpебroe
Ри.. 4.10. Bнeдрeниe кoиандыprеf€ ф h l]oдЬfГ('кlllJ Лрaву Nio'сeм
пilIllll ]кlс1.ll)ксl ' l.l,l, мЬl
|юJlу\и]\{сlc]lvloцyю 1.а6nичкy' Iсотoрoii по
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
AsPасk + ЕPPrоt+ рaсth Упaкoвкав aрхивс пapoлel4 кoд AsPасk+ самoмодифициpyюцийся
вoзмо,+1o, Win.еre_ виpус _ вирyс вoзмoхнo/Win.ехe
к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 : 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 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з. aoтока [сJII тoчкa входа в dli p:lll]la xа/въIIрyзкa dll Il сoз]lliJ|ие/у]пIIlft],€ I lltо 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 )' 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] З 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;aзo!l,Ii] nдlхt
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 ч . i )lJ\l o i \ J r г о в 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 | Ь (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 ' гjItlдчxк' |l||Ге|рll. б 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 lilllvlllсп|IьJii пor'l YпPal]Jl(.lllllll NT, Iцю0(a. P0вaluIl,lii ts Nljсгosoli VisL]ilL slп(|io' D окрес1.ao('тях ядPа к11вaoТ-rочкувх()дlL!l уIlllРilе1.r)lсJr() Фт..r.1,кllвa(l\1аяlЦl)фitNi. П о д \ V i l l d o\1's 98 1Llкllс 4]аi]Лъl \ta xP11 эТol\l rlРoдon)(itс,Г lrспo-!llяться)' ll1l прп пь|х.)/tс I]з Windоlvs о'IJ {lrваlo'|ся в]l0Л|lс l]()])I1illlьll()' ув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 . . o
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т; 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тность вьlpaв]r]inаlolяllo уlloлчaIllll0, IlрtI;uсрlr пlаrr1юсol для вЬЧrавIlIiDitll]]Я с oкРyirtснUtll _ RELOсAтI0N Ir/или RЕS0URсЕ' и сс,rlr пoдсyнyть cNIvзallpoс Nu]rrbeгOfRvаAndsjzes к 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 ! 1 2 ) = =3 ] * ( 0 l ' l 0 л D(*( т) у p e 0 f f s с | t i&] ( ( 1 < < 1 2 ) + + 1)) (DП0R0) +. ((DПI]RD) pваsеAddгеsi . (D1"10R0)рр.€ i ..гдdd.еss)р а q o R V д рваsoAdd.еss) 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 e * ( D l l O R D(*р)R е l о с 1 4 ) рR RD е ]*о)с )b l O с k s ] z= 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сительно >> ' + (*(l']0RD*)(рRе]rrса)) 12| typex 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'' tyрeХ)| pnintг('\ttx ) )рrjntf('\n.): 0n0к // беpеП сЛeдуюlциЙ }. b]осksize: pRe]oс ,',Уфl нaкoЕсц-тo мьIдo6Pмись дo кoчlси,oдинoкoтoPчaщeйсPедитoпIсoгoбo. и кaкoe.тoвpeЛoт;' TёпePъпlФlсloo6сoхвyтЬ'oтмъrтЬся'co6рaтъc,tс IttьIсЛями ytr ? вы сurelte пеPе!yма-0иписaтьсвoi:iвиpyс .[Iа |такoй мapш. мq llсDеДo;!iу],ь, лю6oе влeчсrlиеугpo6ит,''и aгaвилl,нo|в этoм миPе вьlживaютлишь 6pосor< дoмиIlиpyeт}iад'(eлaЁиeм}.aпaкoc,", вou рaзo6paтЬсяв сис,1eмe ",р"*л"u"" титъ 6JlшкllемУсвoему.l{aп,iсатьIрaмoтtIьIйи !o вceх oтяoшeнияx кoрpскт. пoлуrrrr. oх как lieпрoстolи пoкa Bы бyдетeг'еpевapивaтъ ]IьIй ? / ( р о н 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 н а ссЛrl оI I 6олъ1шс физriческolo 0(ак с пePcсчсTоIi вripт),а,lll,ln)го раэllcPа секцIlli в (с6я кaкvю тo чaсть oвrPJrея' он вк.]rlочitет то чalrle вссгo и сЛ'\^laс'гся)' у,{с я нoвоl.o вЬIчuсД l IlоэToмy :rltгoритrf Разп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в) peaкTивны тoj1Ькo aaьно вoсTрe6овапьl сxсте]\tоI1lr.lиllrь Ita этaпо зal.pузки PЕ фа1"1Ла, 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 AL]GN.I]P(Ls.г-sz' FA) + Ls r а > siz€ o fFi]e, фaйrlсoдсpлоггoвсplтсii' П 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.,.'{ ' n ' | | |, , ' , , o 1 , | . , ' U . ' , ' j , j ,, в . , ' | . , ] , l , r o '
р l , . у | . ] o | | ' \ || . n | , 'o i I o . , , l |еl l , i i l , n к | | | | | | | . 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 : 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), P ] | , | я| | l Ij . | , Т | | п o в o :i L' л | o p ' N l ,l "н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ла]
r-sz кoдoвl:)ii секЦrlи еслисs,v.sz-= 0lUtr]сs'v-sz>: сs,г sz' yBеЛЛчI]васм 1I,.'йлa; FA)i UP(sjzeоf(х.соde)' eслliсs,V-sz< сs ' r s?''госs,г-sz]:Ns,r-оff+AL]GN ссЛисs' v-sz< сs,r.sz' TоCs'v_sz::сs' г.sz; ||JilALIGN UP(sjzеof(х-сode)' гA) физrl.rcски('LI]liГaемtsссЛoс-!сДуro!11rcс.liIl 6iliir' yв()Jlr,l'Iltвая пх r_оff ltir,lу )к. (]aNyl) llenll.l
.
сдl]]lГilc]ll всс ЛoсЛедуlolцис
ссlщIllIr
llvi
(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 ) i)Jlс11clr|oв llсT' l|сlIoJlьзусII рaз"!IrlЧ. 6айтi cсlЛI x(c Tа6iItJLЬ| l|с|)с]\1с]Ilitl]]\lьlх эвРIlс'ГцЧc(l(Ilс a]|Г()рlI.гNlь|i Ilь]е
Imаqе slze, псрссчlr,гЬIвacм и ' ц с п г 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 с г()ПоРlfГl, о сго ItдcII, 1q)|lxtlllll|] ]шс)1t](е. l]ЬlJIовJJel|в )lnIвоit IIPuP()дC' l|():)T()]!1! BoсстаtIoвЛeIIис Л е ;aфrпtсrDoвill
пoP o'
кснньiх o6ъектоD. I{I] oдltо1.o I]оPll'(с!l!lol.о о6,ЬсrtTa I]oкa
}итЕг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 сIlсцlIiUlьll|'lij]{Jll()'L Wirкlows N'Г пo:ulePиLIlвaсT реес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ви}lи l( чепly русньrх rrpoрапшr),БстeствеIrно'6орь6aс вЛPусаNlи]loдих р)'l{otsOдсTво]\! 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с6lrблloте]lи Il пе'Г}l]lчeгоЛ1ппнrгоl ]'lепь]Tо-lтькоJeг:LqЪньIcдинar"rrгrсскrrе
ГЛ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 (.ги сГо ф:]даTсJ.l.t'i'
lt дo6P(lсr)вссTlкь
П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па
з1o rrс так' ].Iсхo,'{tlЬl€ текстьl цt6уlorr:я пe6ольrпolr 1:.tt t с. ]) в деilствltтс.Ьflостll :' Ioo,,"Ь'|,'|||| , |. ']o.а ,lrг.'Uп,|j,,|,',r||n|.'|с ",,''ii,' Лс,'rе'{Irвaющих цел(rстнo(тЬ aрoгPaп l\fl]оr.oxoда 1l пo3noJяi.ЛlIrlх rlс'ЦаTЬ ]!,ll(] oYровпевьlij
0 l l к ц и я ' 3 ! i r o л f e i а я п p и3 a I p у з к e о д y л я "r in]t.пОdUl".(void) // сa.орlиЛoсь]ш 3oшли3 рe)iиi Лдpа // и теп€ p ь i0яeD дела'ь -3сe- чrо y|оl]DO! // s,ltiEel cr0.lибyдЬ / / ) | l n t k з а п и с ы в а евre с ь в ы в O дв с [ с т e i 3 ь йж y р E а л/ p . о с / k m s q , / / l т о 0 ь n р o с п 0 т р e теьг о с o Д e p д и i с eд a й r ed m s е g 'a ц т O б ыв Ь в 0 с т и / / p . l l t I L а ( о н с о л ьд а й т е :x с о n s о l e. f i ] е / р г о с / К п 5 ! // в oо0ЙхсЛучаях3arpyнать sys]ogd не Oбя3aтeЛь{o p г ] n t k ( \ n l l O l l 0 u г ] r r О d u hl ea s b e e n , l O а d е d L \ n , ) : / / y . п е ! g а яи i и ц и а Л и з а Ц и я
nyякЦия, 6ып0лняюll]аяся npи 8ыrрyзкеiодуЛя ].i сleаiup-module(vO]d) / j t я y к н е мч т 0 . н и 0 t д ь p г r i t k ( \ n 0 ! r гn ю d u l el r а s b е е пu n , l O а d е d \ n , ' ) ;
190
rлава 9' HэЙтии уничтOхитЬlили пOсобиепo 6орЬбeсвиpyсами итpоянами
ли.-|инr 9'2 ( ,p.]Дo1\|ehrc| / / п р 1 1 с т i ( O 8 Ь в а eл!и Ц e в 3 и ю 'п O { O i o р о Й р d с п Р r с т p а | я о т с я
// Данвый файл'есл[ зroro не сnеJral'' lrrдyлЬyспeшнo / / з а г р t з и т с l r, Oo п e p a ц и o н сниасят еа e д а с т ! а г n ] n g ' / / с о х р . н я o ц и Йв сляo г а xи п p и в Л e 3 а i rвцн[ийф d ваидel 1 1 н O s | l t ] D ULLIЕс Е N s Е ( . G P L . ] нa.lипая ( всPсии 2,6' в ядpe nPoIiзoIJIr.lи 3ltаЧительrrьleизмсне]1ия'Tепep! пpo. грali11l.lpoва-гь пpIrхollитсЯ так (лисTrшr 9,З), либинr9.з. скелeтnpoФейшегo мoдулядля ядеpсвеpсиeй2,6 #i|def L]N!х26 s t а t ] с ] n L' i n r |
цy iпrt()
lnt rn L-frr.dПleo #iidef LlNux26 s | a t r с v O ] d' с l i t
iryсleаnrip()
i i | с l e а n u pm o d t r ] e ( ) #iidei LlNUr26 modu l с- ]. ] t (mУ.inrt) mоdu]е..exi t (my.с]еirnup ) зa Ilоll ро6lloсTям o6Parцаj,i1.сcь к пl аn'у (п]аn. k module), oфициa,lЬlloii дoкyмe 1аIrии(/Usr/5rс/linuх/Doс!mentаtion/mod!les'tХt) IrЛI,t кIlиl.t]naпЁ.o I
иПямoд!ля // 3атираеф // заrираеф рeФеpoHсы
l адресаmodu]eiпfо, сItoреевсeгo'yрolrитядPo сиснепрaвиЛъноеoпpeДе,'ieнIrr TeмьIили эa6лoкиpуeтпPoсмoтPспиcка мoдyлrЙ'чтo сpазy)кellастoPo,(итадмиlrиcTpaтoРa(pис, 9.7),llo у rис естьtsзaпасeeцe оДиtlвaРиант, мoдyJleй,яaхoдипfсамый нr1rylgьIй и3 ПPoсмaтривaемсписo( усTaнoвлe!п'Ьrх 'гoq}lo ипlel{сМ' ll}lх' вшIpу)tGeм eгo tlз памяти и зац)y'(аeм свoЙ _ с 1.аl{Ilм )ке Если яaм troBeзeт, адмиI'йстpaтop tlичeгo не зaметI'tт''.
l'{oдyля мeтoдoмso|alDеsigneЁPис. 9.7. пoслeдсгвия цaскиpoвки pа6oта|от 6oлыj]e н€ командьlinsmod/lsmod/rmmod
искЛючEниE пPoцEссA из спискA 3AдAч
llePсчсrtь всeх прoцессoPoвхpaнится вtlyтpt{ядpa в видeДвyнarlPaвлeянoloсписtаsk котoРoгoilo)кIloпайтив файлelinuх/sсhed'h.l,lext r(atаsk-stгuсt,oпpeдeлelrие yrrазывaетtIаслeдyющийпPoцeссв списке,pгev tаsk нa пPeДшдyщий'Фи3и.
!rсмЮЧeниeпрoцeссаиз списtа задаЧ чесl{и tdsk.stгuсt сoдерхIrтся внутPx Рсts-6Jll'|lтo есTь pаrirает l.ак (l)t'tJ]ьтр' .,',вL,''l,Ul,,,l||,||иЯ'-l',|l,l|il}hlГссз||aп.'||
|||Ь'Уn6-l:r,.\|\t,IjIl4|ПI'P)'|.''!
/pгoс/пet),aIтс,6Ъ1зaмасI{иpовать сниффсp| нсO6хoдl1ilo псрсхваrr11.r' сuсTсмньlii нЬlэoв iOсt,l, 1юдаts,]JяЯ PRoN'IIsс фJar. A п€ Р eват систепlIroгo вьrЗовa get keгnе] sylbo]s поз8oляeт замaсlшPoватъ LKNI-мoдyЛь таIt'что eгo никтo нс наiг З вуvrlт эalrан.ruвo, or:t.lc'|.сяTоnькo l)eaлпloвaтЪ это па пракTliкe' ЯЛpo )кспоl) тtlруeт пepсмснную eхteгn void sуs са]] tab] e' сoлePrкaпlyl() N!a( и н YказaTеncii lIe sуsсaL|'ьт'кaл <s}sLcnlсаl 0rс0106lrса ] |2> 0 r с 0 ] c 6 b с : 0 Х . 0 ] 0 6 | с <syst0л-сa] 0хс0l1)6bсd l tь: 0 l с 0 l 0 6 b с< 0 s у s t . 0сm i r l] 1 Ф i clсl]106D.i.s}strlr сd]l+7>] .:sys!ец.са] 0rc0]01jbd0 ]+D: 0хс0r06bd 0 х с 0 1 0 б b< . 2s у s t с m сall+10> 0 Х . 0 1 0 6 b< d Js у 9 t eсmа ll + 1 1 > : 0 i с 0 1 0 6 b d] 0!с0106bdа $0хffffel]00,1ebx 0 х с 0 1 0 6 D 0xс0106bеJ <sуstq.m саl l+27>: 0 i с 0 1 0 6 b € 8< s y s t e сmа ] l + 3 2 > J a e 0 х с 0 ] 0 6 с 7 5 < b a d s y s > 0rс0106bес <sуst..m-са l l+3&] testb $0i2,0r18(iebх) 0 х с 0 i 0 6 b i< 2 s } s t е спa l l + 4 } : Jne 0хс0106с48 <sуst.m.аl l+44;] с а ] l 0tс0106bfi1 * 0 х с 0 1 e 0 f l 8 ( , r e a r: m o v 1 e d x0 Х 1 8 ( в е s p . 1 ) 0tс0106bff<sуstеmса]l+55!] lro 41ркv 0с0106вF4h сALL']rслoсpсдствсннЬJмарryмc]rтоN! Рaсnoлo]кeнако]\{ан]]a |{oтopoxЯnлястся.,,укaэaте'Tьtlа та6лицy ст{стеl'rьш вЪlзoвoвl Адрeс коNlан.цьI сALL o д | | Uo я д p с к Д o J o v ] , ' ] j , J ' о j а , l { " ' ' o , o е i 6 o ' r ь. o ' . . ' ' " ЙLL . в пекoтоpых яДPaх yказатeЛь нa тa6лlцy систсl1IlьIх вьlзoвов IlсDедаcтсЯ чepеэ пPoмс,{у'ГoчJiьIйPеIIrсTpкoма]rдoii HOv'коPol.' nu"r ny,кl,.,noпloй. o,,,'n,
rll аpГvllсн |о]]r(oтоРoii являетсЯ нeпосPедствeпlIЪ]riоrlсРanД x ' 0с000000h,Естс. (зву. что6Ьl егo пaйl,и' пoтPс6уется ]rаaисaГьIipoстoнl,кийдIrзасссN!6.nер |1rrеr]Irol Taм их Дo'.,ну' чI],Гстparnr]eе,че вЬul]ядит) иЛи llaйти гoтoвЬlii двшкoк в сeпr. ,\ xaI пailт'l аДPeс о6рa6oTчика INт 80h B фаliлс /dev/kmen?ПPoстo спPoсxrе о6 Jтoll xРolleссoр _ oll скaжеT. кoNlaнДa sIDт вoзвpаrцает сoДep]rr]lмоe?nd6,&4l,l ,lссrpuirnopoв nprpьulсlн,i ( IпteтI!Рt DсsсгiРtoI TaЬ1с)' восъппrдесятьrit'hэлепк:rlr с Iiрaю и ссть паrп o6paбoтник| ,lаjre€ пPивеДelr фpаl.Nteпткоlra' oпpеде-]rяюlleгoпoзицrxo Tа6.nIrЦЫсистeпIнъlх в ста'ГЬe стиra
сill1;!1]]тa,
ThеЬеst' iссe 6лep : вUt-s1ZЕ. сol1сpя{11]\1oс Ячеек'сoвсем]1сllPинад. фi,нкцияf вoз8рaпlаeт irj!ащllх
tllaссt.rвv buf ]
]аIiItll o6разol|' оспoвIrых тt1I]оg llсpс11оjlнeнпя всeгo чeть]pе: lloс'IcдoвательIroe .еPеl1oлrtепlre пprl ч'l.е1]иl1iтo )кс пpи записи; llпдeкспoе tlсpспoлнсIrllr пpl{ чте j]lJi;o]lo,кс llpx запис1], Hап6ольптyrrl orrасrroсТь tlprдстав.flяro-г пеpe3alшIсЬшa. il]Ll]с Ilеpс]rолI'сн11яl пРи 6'.тaгoпl)ия1lloм стсчсн]]1r o6стоятeльсTв ]1сРL!аютаTa. :i'к)lцсму l{oнтPоlьtlьIri пar(етап{J1ii уltit]lеl1нolю yпРавленlrя yязвиMoit мaшинo!.i, .чxтaстся' чтo пеpепо,rlIcrlЛя tlРи чтсниx наltIlоro мсllее оllас]lьI и в o6шIrм слy -:.с пpl]вoдят.1иlпь к v'Гe.l lе сскPст'lо]i }IнФrP\IаnIrи (Ililuрl'Ilср, паPоле';)' oД :jilliо этo нсrrеPllo' lI naже (oчснЬ мнo|O 6укв A) в liaчествс lll1сни и в i{aчeствсxirPoJlя,
2з0
глава 11' перепoлнeние 6yфeрoвкаксрeдсгвo 6opьбыс мeгакoр.oрациЯми
ПPоrрaruNlан€ N leЛnеннo пaДaе,ГjpсаIпpуя nа этo криTическoii oшrбirоii rlpи,ro ж€ н пя (Pис, 11.7)' Alъ] Зпачr11.. nсpeпoJ.] ]]енrIевсe.таки ссть ] Присlтoтрlr;irсяrt нe e , , . L ' : W ' . ' v . U в o l , | , , о / h - - p v \ U и яо а д р e i 1 о , а t i . + t lot о o а . тиЛаськ nаiяти пo адpeсy0х41414141, oткуда о]rа взяЛа 0x41414141?Пoсто]iTс. jIа всдъ 0х41_шестIlаццaтсPич]Ir,tii ASСII'к0д 6v]LвьlA, знaчlп, вo-первь]х' nсDе
I o , , " | | | | ' ' | , o o | | J n | , | , I U " 6 \ q ' cоI " ||||i l, ' ' в . в Г ol l I l I ' J f ,l ' j ''',' ';''" ,|oly':Jrl||.l,дir'," | р o | | l | ' , , | | , h L i . , ' L , л o ' , ( , , | L" .hг' "P' р' ' |' ,, ,r ,( 1 l . r . , llаTсл-я кoillaнд пеpеNlсТнyлся па (oдер)кащrlitся в хвoсте 6yq]сpa аДpес, вoneю сyдьбьl tlo адpесу 0Х41414141оxазaлся paспо".lо,ксrl 6сссNlьtс'rенr]ыii llусoР' вoз. оyn(даroщI.lи пРоцсссop llп]Ioтl дo ltсlill]oчсн]]яl llo этoмv гolrю легкo I1опIoчьI
Рис. lt'l.
PеакциЯ систeмЬ нa перепOлleниe
l.[Ля Jrа.Iil,а lIаNl IIJ)LцсоllГ Лn/lрсс
возllРа'|a'
вЬ|'lt]1]il'Гьl кilкllij
в)Т()l!
rlаll
l() с'lсl.I
сrINll]oЛl,l JIoгl.п|а ]lotlа]lnют
Ilо]!]о)l|с'г ]|о(j-llс]loI]а1cJьIloсть
лс,LlI'!c
< q w e г L y . ' . z х с v b п | nB,l.J o д l i мo с . . 'l l с | I с ] . e ] \с]0a0 6 r ц а с т.,r т o< л r r с т р y к l t r ,rrrlоra д р c с y 0 х 7 а 6 ( 6 b 6 аo 6 Р i l , l . 1 l J l акс ьl I i l м ' ] , г J , , ,З, > i l I' l ] ' ( l { a с .]м1 J l i W и | | a 6 l t в а c lэl I r 7 A 6 с 6в 6qс кJIавла'ГуPы.I]oJJyчасt(я: z] kj, i]JrtlчиT,l]tl/LрссIJ03I]l)аTll lI1Лl fi 17.i.i,18.ii, 1 9 . i i l l 2 0 . i i ( | | | I l п o j IJЬl l( ) Г l ] l l(a| l : lа р х | | 1 . с | i T \ ,хp8с6 м . l а Л | l l i i 6 a i i т з а n Л 0 ' в I l o r с я lю ]!{с]lЬIlrс]\lу а'lPссyj '|'oe(T|' i\!lrIlllll||()ссJk)]]()кaк бIn oтaIl(ЛlIfГс' tr Лесу ll('Pс. , t o м ' ; l к I I l l мз а , l l ( ) N l ) , LlасI{oPо л i l i r а с ф м 6 J r l ц ) о н rпl пP o г p l I J [ l у( с м ' n l ] с T l l l t r] ] ' 1 2 ) ' м ь I о 6 l | а P y n o . I в а с r v в пеii IЦo,ПЮ6()llЬi]rilriЛllуЮ l.oтopoji l{o'olo тl]oрr1Tь.Iy. Q)vIIкlUlюroot, с поi\'o ILЬl.J ]lесlt,l{а вoт 6цlll Пplt lюPIIaJIЬIlо]!] lrc rlo,rу.rai:'г PазвrIтпll с(бьrтпii oла нr,Iког/'{n управлонt]Я,,,ЕсЛIl, ко|lсчноj Ilе п()дсvl]vтъа/шсс cс пaча.llавl{eсToадPсса Bо:]lrРа. ,|а,^ кaк()ii l'oоt'a iЦрoс? сMоlPliI 00401150h. ПeРсrягиваeм lшадrшre 6аl'iтьI у I]а \]еIiъIIис :цpесa ll lloj1v'laе\l:50 1140 00, иNIеrпю в l.aкоIr видс ar]рeсвo3вPата xPaн'] lся в Ла\lяl и, Слaпa ве'llllioliv Буд'цo'чтo ]]('lь в Irе]!1 l]стРстиЛ(jяЛrlulь oд' нa'{j1ЪlloкilзавIiltlсЬаккуPar.llа сгo кolпiе, ПyсTъ olr и 6улет те:iIrry,rеlr'.rтoс'lrylсlт заве-рпlеllr1смвсякoil ASСIIZ.стpокп, Cи,rrво"тамс lroДамr!50h]r 40h сoоTвеTсTву ют 6vквuцьI P п td,сuмrroлy ( кодoм 11h сooтвerсTlvcт к0м6и]rацlIя сtг]+Q ]r;l.l А]t-017 (на'{rvrГсAlt' впедитс на цlr(дllвoli клавllаТуPс 0, 1 r.l7' отпyсlttTсAt). ЗалePжав льrхаtlrrc,внов Ь :]il]lyскаеtiпрoгPali]\1уu ввoдnм ФertyUioраsdfghP^Q.а' пapojlЬ I{o)кIIonpoпустltть, Со6ствeннo говoрrr,сxм!onL'l Фeгtyuiopasdfgh мoгу-r быТЪ,1]06ьIмrl,rла]rпoc' что6ьl Р.QGPаспoЛa|алIlсьв 17.ii' 1B-ii 1119 й пoзицl.Iях. llvль' зaвepшalоrцrlй стPoку. !вoд]1ть rre надo' фуllкц]1я gеts tsl1сндIoPItT сго сa Еслrl все сДlr,1ailоnpaвIIJьrlo' To пPоrрaммaпо6e/цонoсно въlвсдсTIIаэкPaн ) поr]твер}iдaя'чTo aтакa сРaбoTаЛa(рl]с, 11,8), llравда' пo вj,lloдe из
2з1
пpимepпepenoлнения прапическиЙ
'гartl{aк lln стerLеirахoдится ltyсoP' ]]о root'а пpоIPамlla пe]fсlUrся|lо грoхrrсTся, э U}^ё]|P'\
ь|,|.||o,в. D'Ii
| { | j ' ' , г O O ту : к e o р " i ' '
J,'
сГa|. ., ||v).,'d,
Pис' 11.8' пepеAачаyпpавЛe!ия ФункцИиroot - Ilpoс'|o lt IlепIlтсрсс]|() (Tс]!l 6()llсРL'(aвaтr, yIрnr Iсlillс Ila гo'ГoIJyIо()Y1|к|l |o (l)уlll(цllll Ilo)l(o,Гп Ii0 6Ll lЬ), I,l ljlIогo rхг nl lкv.r\|L)ii ||рoгРаl\l]!1c B nc(l ч1.Oтnкoii ф6сTRсlllll,liish(j||.кoд П Тa\1 i!{аlJJIllil, сllоii ||;i ']|ес/lеliсIl!сlIllo зnс,л1lTЬ vliailсllllуl() I]o06щс [оDоDя, opгаljиЗol]aтI, уДnЛсIrl|!,li1slrсl]llс T^rcrlо Itрoс-,.(l llс06хoд|rм() к:]к м и l ] l l [ ! у N l у с ' г a l l о в l l ' 1 . ь ' 1 . с Р / U D P ' с о е / l l I r l c t l l l o , I l о I 1 у , г I t оo б м а l l у 3 д о п с P Ч l . | в l , l i i Iiх j{o(ltPllптoРiillll BB(''lit/l]l,IBollilTсP lIII]аJlЬllOrl Iiгerv;r]l'сoздать пpаiitlь|l сll,li]:t,].ь , , | t r' l P l l N | N | , , , / l , ' I r l l ' м v l |'; 6' |,jГ|iЛI|сгl1111\
l\l' г^lt!l |д,Il|' I R \lLж'lv
сUТсгil\|||
'l 'liIl',
llirм]'!' нeкoT(ц)ь]e пI]IтаloТся noсTyxl1r' |ц)ощe' Il!l-гаясlr yllilсЛсдoвal,Ь дeсI(pl.lll1'o' pl,]' пo ]la э1oNi t]yTll l'lx }кllстхeстoкпii oблoпr' тaк каl{ дeскрllптoPьI llе llaслcдуloT. _ ся T;Io1е эксllЛ()l]тЬI tlс Рl6oTa]от',ца){c ]{ ]Ie пЬrTdiToс|, r'х о)]uв]1Tь всe Pавllо rlеnолyчIrтсЯ, Е(:л'1срcдlr чи,ГaтсЛсii на6еpeTсЯ квoРyili' lTyтему llо)ltllo 6yдсT oсвL"l.llть вo вссх floДрo6l]ос1Чх' пoкa ]кr o|рall]rчиllс,l Jlol(;l.lпnlьшl shсl]l)r!{' Do l olt Дnя IrеrLoтоP!!х 'tз вaс 6yде1. сRoeo6pазlшlм хaкeрскlllll пol1вIlгoм] прогPa]uNly' сРьlвacAt 6у1!еР' ввoдя вlIoпь заrLусмeп{ Iraшy деItollсTPaциollliуlо стPoкy Aм,,.' rlо rlruесTo Tll].o чт06Ьl IlaясLтъ оК в дrlnЛ()гe кpитrlчсскoй оrnи6кu llpило)т(еrlLи| дa!иN
ьфв
|is 0u*ti
0/v201l |]sс!5] 00s Фi'tmс!4Фh.
l6;;;; ]a01PБ0
ril.irlriltl
Pис. 12.7. пeрeчeнЬизвeФных ИдЕ сигнатyр
Pис. 12.8. ]lехнo{oлyбая
подтвep} DcllIrt,.lппаTРl]аpхи,Cказa]ro сдe.nа1lо,.l.lкв'lзЬп{. сrтп()явrUlс'l Ilолноц.llJIьrii ]lн,герпРeтаTоp4x]рi{атньrхсliУвojloIl! сP.1зуrкc завoспаrrпIlii]6сшСuvro поп\ЦярiIoстЬ, ^ вllестe с llllI1 lloяви.riIсь ]l пРо6Лемrn:нс6pсяtrroеo5рilrцсrrrrссo спcцп .nшаторамrl поPoДI1noновъxi тIтп оDI].l6oкrlсрспoJlнoнпя ll.r|llда^с пo]tо-!eпrJe' Iс.riпэто пок('lеrrlс, To oнo 6rцет тpeтьи lr rrоснстy, ЛергlъlеДвir- ]loс.цсдoBатeль' I]oеrI rrriДeксllосrlсPсJloJнепIrя y,кe бьши расспloтpeпь]в тЛавo 11, Строкrr фoрмaтноl.o вЬIвoДaи спеЦификaтoРъI нe oтпoсяTсJ]к кoзьIplloмy оPy. 'liIttохаксPа, I( нfiru пPlr6еr.аrот,rrrrпьот 6ессIrлlrя!кolЦa все oста]1ьl!ъlссPcдствa IlсчсpпaJlr сe6я' Tак и не rlaв резvльтaтa, Нo зallаннaя в yIo"I кРЬr(a зaгpьlзает сI)6алy,за6ьIтЬiй n казapме tlo,fl Nloяieтстоllть )кllj.]ни,в конeчIlоli с.rеTениктo rlз нас ]]с знаeтl что elty l1рипrдится, Tак пoч".llу 6ы вaм не oвладеть тcхнl'rкоr1 (l)схтoванIrяспeп!(lnrкатoPaNlи? стрoкIr qroрУаTнo1.onъIвoда пpeДстав"1яютсo6оii Ntнorоцс.'1€ в oеoрРкlre' li хoтя сфcPа их пpIrмeпeпIrяor.pанлненa'а 6азиp1,to.
252
глава 1з' спецификатoрЬ пoAaрeсгoм/ иЛидeрнирrintl'зёхвoсr
rl peДrtlr'вЛадeтьэт.],!i'Гехтrrп(oil нео6xо пei\flloгочrrс"тепrlЪr щиес'] !1аlll1х i1-tа1.Il хoтя 6ьI заТсм, чr.06Ьl 11с ltо]lасTl вaPoса](, дIlNIo ужс o]пибкrI фоPмaтrrоIo въlвoда дoвoЛьllo мaIoчrrсЛerlrlri l всTрc.laюTся гЛaв]tьl]\f о6lraiol' rr UNIХ пРl]ло'iснilЯх] rдс тPадиции TсP]!n1нfu1ЬI1o1.o рсжI1llа все сUle oсTalo,гсясIl"lьi]Ьi'ПolI€ к oтoРьlп' oц€ I lкa , в 2002 гoду6ьш0 о6наpY,кснo xopяд. кa 100 yязви\Jьrх rrРп'rlo'{eпиii'a в 2003 свьIurс 150I Aтакr пoдвсргJlllсь (qrgспoд oIaсlс, tI ссрвЛсЬIUNIх' такI1с'нaxpиllсp' ttа|l Ра 6nз /1аl'lrых'1lрarIIаltЛцfiхся sуs1ogrrrltt ltр. гTll оr.lпoil атarLIJнa пPxлo,{сния пriпdo\\.s NТ д.J сuх rlop rrс заф]lксriln)Паnо этo fiе Знaчlп' что WhdowsNT xучt]rс' rlрoстo щaфxчс.ltllii lt||' TeР4,eiiс lIe Рaспo.tатаст Ir llнтснсиrrllоillу llсnon1']oвnllllкr (юPмi],llIl)fо Еl,пn)lll' ,|' || 1 |||,|'.||о,od'o,I к() r.ЛуЛеп \1Фкl]т счrlтaтЬ' что он Jlахo;ln'rся в 6сJorlilсItос'Г]l, l1с всPlt1c? вor.lllас
oшш5кп обрr6откп спеIlll(рl]пaтoPoв час1пЬlii('lvЧаii6oxссо6rri{]iil|]l)бJcr\1ЬI ]lнТсРtl(),rl'цLl (]lll]lL, tIсIютoPьI€ яilьII{ll' нaIlрlll\1cP PсIl, il0зво'цяlo| l]с 1.о'цl,ко ф o Р i l а r ' r l р ( ) | ] a 1 ьl l ь | l l о , l ,l l l ) п в l l с д ) Я ' I Ь I J с P с м с я l l Ь x , l l д а , l { c q ] у l l к I L l J I (l l ) ' r с | l о ' с r J с / l с 1 r l ' l Ir ( ) U с t ' N у i ] ъ l в o / l l . I N l y сl oт P о l { Y ' ч т o с ! l l 1 с О | l с l l l l o Y r I P о | l а с l l { у С r ( ) l ) я е Г l Ц х ) r . I ) r r \ l r ] х Л l l l l | | l с I, t ( o , { а J J с l 1 l ' l l o ' х o l r o I j l l l с l l l L . r l с L i u l { r l ' | | ( a(|l ) у | | ' ( ; l м с | l l u Nв|o l , ! I ( : | | r у r l|)( ] Г l )| ] ; l l l i l i u i l l J м l rУ, д o 6 l т в o r r c с о ч с r а с к l r : 6 с з o t t i r r l r r o r ; ' r . rl,1ктl ,r l y л о 6 . r | ( )| Ц х ) Ц ) a N I l l I l р ( ) в : l т_ь ! , \ о 6 | l o l L , r l о l I : lЬr ' х ( I l } Il ) 6 р l l 1 l ( ) e\ ' 1 r Ч ' к д с r l I с | | o U с l ) l l о ) )N( | l o с , l 1 l к i l к д o f i ! Y ' l I o д х ( ' l l r 1 ' с к | | | | l t l ] о 6 | l l ( l n l ' 1 ] с B o с l I P | | |м l l L i i r t r я i } I n l ( ) П ] , l с l t . )( 3 ( ) т t ) 1 l р i l ' l q ) Y l l к l l ] 1 ] 1 ! j l Ь к ( ) J I Y ' l | | I ( L lrI o l l с р i l , | o 1 ) Ь l . TllOРЧсс(||'
ФyHкции, гIoддEPжиBAюЩиE
ФoPмAтиPoBAHнЬlи BЬIвoд
11TeРгrретатoPa фoРмат]rоIo tsвoда/вЬlloдa пoЛъзуется мtlo'{сствo в консoЛьншх ]lpolpaiшaх, грa4)lIIесIotс нс тo.цькo и рrintf ]lе то-.тьiLо фунIiцпtli' тrрlrлo)кенIIЯ ll ссРверlL0e пРограl{Nlноe o6оспсченrrс. ]1сxonllяlolцeeся пo,] УсJiyIaми
.'.indоtуsNT' aктllвl]oиспoJьзveт отdхrрматиpo фytrкциIosprintf,въIBоrrЯщyю
]аlrlNю сТрoкv в oпеРаTивяьIй буфсp,
!\'IrIdiIirI' rlсpeчпслеrlilьlс в та6-r, 1з'1' сами пo се6с I{c oпaсnьI, Олtr(lпnми их L..lаL,тпаjlичr1с пo-l]ьз()Bаl.ельскогo |Jtsoдaв фoрlle1нoll аргyмснTе' lllfеrllto Ta. ]:]iсyчaсТки кoдa rr !]v)xllo ]rс aть пp11]1сслeдoвa]lш]пPoгPаIiпrьI]]ayязвиlloстъ' та6лица 1з.1. oсHовныe вЬводaс кpаткиJ,{ фyнкциифoрмaтнoго OписанИеl4
Asсп UNIсoDЕ AsсII UN]сoDЕ Asсп UNIсoDЕ Asсп UNIсoDЕ Asс1] UNIсoDЕ АsсII lJNIсoDЕ A5с]l UN]сoDЕ '^4рrnti
Аsсп
L]NlсoDЕ AsсlI UNIсoDЕ д6сIт UNlсoDЕ
Аsсп
UNIсoDЕ
Фopматирoванньй выводв файл ФорматиpoванныЙ вводс пoтoка Фopматирoванньй вЬводв sLdottt Фoрм0тиpoвaннЬ]Й ввOдс stdiп Фoрмaтиpoванный вЬвoдв6yфеpсoграниЧитeлем длинЬ| ФOpl4атиpoваннЬ Й вывoдв 6yфер Форматиpo8анныЙ вводиз 6yфepa ФopматироваlrHЬй вывoдв ioтoк (strеапr) ФoPматиpoвaнNый вьвoд в stdо!t ФopмaтирOванHьЙ вывoд3 6yфeрсoграничЙтелeм длинь Форl1атирoвaHный вывoдв 6уфеp
пAтч сFINGERDъ / iаJlс€ (лис,|иrrl.13'1) п кaчссl.вeнaг).lядllo.aг] Jтalt olllrorо л{)сс)6]rя пPrIвеl\снпатlI. нашaДьIвасrIьI],:l па сljпl]l]г 11еlI.лIдJr'устраlIеJltl,lvязnиNiOст]JЕ o6pа6oтке фоРлистинr 1з.1. патчсflпgеldЪ 5 n р . ] n t l ( s y s l o q - s tзгl z . O f ( s y s l Osql г ) f l s i i n g e г e d( ] n L с i n а)l f г o ml s u s e г п а m r ' s у 5 l O q ( L 0NGr ] т I с Е('с l r а г* ) 5 } s l O !s и ) // пoлЬ3oватс/ъс{ий - s t s l о q { L ONG0 т 1 с Е' 1 5 , ( с h а .* ) 9 , s l O ! 5 t г )
// яBкdя.пeцифtrкaцLf
254
подаpeсroм,илидepниprlпtfза хвoсг глава 1з' спецификaтoрЬ
истoчники yгPo3Ьl
прогрaNг oсtroвilьlxистoчникoв rIрoJЬr псегt]тр . Этo:a) навязьlва11!lсуЯзвиNlоii спeцtrфикатoРoв; t1с сo6сTвe]{IIЬ!хспецIJфIrкатopoв;6) вPo,кllсxliЬIi1,lцlсбiшапс в) eстеств€ I rнoс 1]срclloЛtlе]iпeбvd)ePа приемнLll{апPи oтсyтс1!иrr llpoвepкI.lпа пPcдсJl],нol1oпyсTиlfуlо длlrlrv стPoк]1,
нAвязь|вAниEсoБствEннЬ|xспЕциФикAтoPoв ЕсJ!l пoльзoватеЛьсt{иii ввoll ll()l|аДeТ в строкy фopNfaтнoго вьlвoда (чтo llрo сlIе r]yлут отф1тJ.iьт. хoдитдовo.Iь]lо чaсто) I] IrахoдящI1сся в нсi\l сllсцrt('lка1opl'l (a сllожет мaшЛпyJrrЦoвать иr1. кто IIx ЛьТpУст?), ]',l()у[lt,lUtЛе]lllrк РовarIЪт ф oпJl'6кn 11юРп'атIIогo lrьlвoдa llo свoс]!у rь|зьlпaя TrpllРcTатoPоIl усм01рсr]ию' дoстyпa'чllтnя и псPсJilllltсl'lxxя яЧrijкп пarlяти lJ прп 6лaгoп P11Ятньlх усJю вtl'l х JахвJ,|L|ь
|я \ l,.ti'll1р,|,,e
' , Д,L l' .l,Io|'| ,.! '''r\|U'|,
прtJп{eP(ЛIiстrlнг 1:].2)'к кo1.opoму м|,l Ilс Раi} 6yлeм PaссNIoтрIlм (Jlсllу1()|цl.|ii гЛе з/(eсьлъиtп? в о6РanЦться дaЛьнсiiшсr!' как BЬ|/lумaе'r.e' OшибкаM пepeпoлнениЯ примep/nодвeр)кeннЬй Лисrинr1з.2. дeмонс|рациoнньй paзлиЧtlЬ x типов {
с h a . b i r г - i n | з 2 ]i'J u l о L ] | i з 2 : l ')] g"ots(Du|-in) р . ] n t | ( . B в e ,иr !i n] .he]lo l]s]\п, buf-il)l sргii|f(b!f-Ou],
)
PEAлизAция Dos дЛя aварlrihlогo зaвcPl]rсl Л lя ||рoгр:lNlм Ьl дoстil,Гоч нo въIзlraтЬ наPушсI l ие дl)(]TyrIa' o6paТивnrисЬ к IleвЫдe'nеlllIоii' ЛссYщссТв"vющсii rulIl зtl6r|oк'Цювalпiоli ячei{кс пaмЯTи, ЭToЛегкo, встpстllв спoцI кl)rlкlToP }sI l1tlr.cРllPе,Й'r(D фoPNlатlroro вьlвo. ]lа I{звЛокaсТllз сгскa пaрпьrl{ el{yaргvltollГ] 1Pакl.уя сriJ кiuсyrtiшаIе]]ь IIастроrry' ЕслIr я{с тoТ oТсуTсTlrуeT' пIiтoрпpl]та1'oP хвaTа!,Г lrсpвl]lii rlollaв]1l]'l]1сяУк;Lraтель и начllяаe1. читaть сoдеР'(имo0 llаN'Tl x() эТoI1у аIlрeсу /1olех пoР' пoкa нe встPс. тIrт нyЛь l{л]'1}1сllaрвelся пa зaпРеllllrн}lyю ячсiil{у' llo]lиTxкll запI)cToR ваpьriРу ется oт ollноil ()]lеpaцllolпloii спстсllьl к дРvlulli в ЧaсlrIoс,t.Jl,l1р]JoбрапierrпIl по
7FFF000hЕFFFFЕЕЕh WiJ)d()wsN T всerДas(rз6уждaст адPeсап{ 00000000h 0000FFFFhи исключение. Uс,l;LlтьпьIе т{с адPссa в заBL1сиrкrс Ilj oг сос1.l)яlllfя ]+ч1l' стеIй LI сTа. Tичсскоii rlаNiя,].иljoryт 6ьtть liа]r Дoсry]lllЬrмll' тa( 'I rleДoстyпrlЪrllrl' пPllilсP' llprlnе]teli]lъп1 rr листингr 1з,2, I'Iзапустиi{ сlю нa ]rЬг oткoмпилирyепl пorrнеtlие, BI1сс-|o свoего I{NtеIirlввrдспl стpol{у *s,llрofPаNlма отr]еTптi lrеllO' hе]]o. ъs \п
255 li.o5ьI iтоrrять,чTo тaкoe he]lo' 'Тs| и oткyдаонo зДeсьвзяЛoсЬlнeo6хoд'Ii\кrпр.] .raxизrlрoвать фсто,lrtие сТска нa мor1ент nызоза ргintf(buf оut). u чеNl IiаN! оr!{rж€ т отлaдЧик ]IапРи\1еp|тoт. чтo lrнтеIpпроваn в Л'liсгosoft Visllа| sttldjo i]lс,13,1),
06 Pис. 1з.1. сосroяниeстeкана мoмeнтвЬlзoвa фyнкциирr]ntf Первьllr rlДе,r. двoirrrocс,1овo 00l2FF5сh(Ita I!I1кPoпPoцсссoРахаpхllTl]ктvрьl Inle v-.lалUll'lii6.liiТ Pасlllo,rагастсяпо мellы|lсrIу адPссvj .Гоeс,гь|]ссч1]с'lIaзаппсь]llа. l ),Гсяв l lаIDtТlIз2Цo]!fнaпереЛ) э,Г()уlсазllToJь'соотвeтстrry!)щ]ii aPгvNlепTу4)vll. InUl,l pгintf, кoТopolllу' в своlо olIeРедЬlсooтвcтствyе1 6\14)срbuf оut] пoс,]е]lIllIii соЛер'{LlтllеllaРllши сI]сц фпxатоP is' к0TopЬlii заl]тaвЛяеT(])уtll{цtIюprintf I13' в,'Iе(ать}lз сl.eкa с.llcдyющ€ е дBoiпloе сJloвO'xPorrстaвnяюпleeсo6oй o6ьIiolОneп. llЬIii мус' T' ос'гaвJсннъ!й пpеr.lьlдylII""ii оп (}'yфункц]rсil. По по"!eо6сТo,lтс".]ъс,Гв сор п },тiазаТс"ць в oднoм Jrпцe) указЬIвaст на'Гот жe сallьlii buf out' i{ потoI]Y Ilaрyшеrx1ядoстvпa rre пpollсхoдиТ' зaТo сЛoво he]]o вЬlвoдllтся д]riDкдljt, Б}'дeм Pьlтъ,]аnL'шс,снl1}mясo стекa'Гак}lю!loсJ]сдoвaтелъllос1Ь адрссов;00408000h (указатеЛь l1а стрoкy he]]o' Ns|\n)' 0012ЕЕзсh(yi{aзатеjlь ltэ buf out)' 0012tг3сh (сflопa оil ,ке), 0040800сh(vкilза'ГеJьпa сTpoкy ввetиивя:)' 7з257з25h(сoДер)кlJмое .rУфepa b!f'in, тPaктvеll1оекак \rкдзaтсJьl l1е'цv прочиN1'yказываrоtцпii llа нс. вnlдеjtcxt1yloячеirl(y пal'я,Ги)
rлава 1з. спeцификатoры noдаресгом/илидеptrиprintfзa хвоo Tакllм 06Рilз0r1' ]lepвьlе пя.ГъспецnфпI{атоPoв*s пPoIoдят сквoЗь xнТсpr1peTao p ф o P \ | r I o I Ud | ,d U , o п . , | ё l i д , ' / ' . , | . . | | Рo| |' i| п o U р . | о i j I,o." Прo .' oр ь d . ' . , | | ' , , , | | , ' I r' | " ' , l г , | л о , | | | . '' l Р п l ' n I P J ! \ | Ь |1 u i ' | | i i "L,6pl lIо пpеilрa!цаотся (pпс, 13'2), Paзуllеетtlя' спeцпфltкатoРorj iIе o6язaт€,1ьtlo лолкllо 6ъlтъ Poвно шrссTЬ - дo oсТi]-!riltЬtх все piшllo l lе Дo jlДeт упРавJrerll]е. o6 o 1 V ' | " ' ' . N J . | ' ' | | Ь t , l | | | r l | | | | U, U ' ' J | 1 1 , | ' ' | , , , j ] г , ' , l I l l ^l | | |\ | э | | | | q . I o МъI и nj|llllrl)овajlrт'
на 6 слецификаторов %s Рис' 1з'2. Pеакци'пPoграммы
PЕA,Iи3Aция PEEK
l:l'Ц, ljрoсIкr1'|)n (])ЛcР)кJlNl()П) |l;ll\lЯI|| уя3]lI|]\!()iilII)o|Р:lNlNlЬlNlon(Jl()irосflо''iь3o. B i l l ] ) ( ' с Л с l L j l 1 ] ) l l l { n 1 l ) Р ; l Il x{ 'l l * d j l * с , С l I с l I ( n l ( a T ( ) Р Ь l l x l l l d l l з l j n c к ! l l ( r , Il .l i r P н o c |1Nlд|joii|к)ссЛo|lol13сl|сl(illllll)||](),цЛTсГ0l]I|Iсс'|.l|ilдlla1.(]Pll'|}l()]\{Ir'l|l.l/ll]с'|T]lч 1 L . j l' , с | , ' | | | ' l ' l t ' | ' ' l t с t t , r 1 , , t ' ' . , , ' . , , , , 1 ' , t n " 1 д o i i t t " L . , , t o в о , ' г т ' . ка, ||рс()6рi[]уm e[о к.),ul()баiiTоIJlJ]\lYТllllv сhаг ll |lы]ro/lllт в сll]!tвo"l]ЬI1oll]]llдс' o,l.с0l{а)|тl)l| (|,|ilРllпlх 6аiiгn' Тll1rlIм ()бPlзoru' lltlItбo-цсс з|laЧIlllЬll!|]l l|з вс0х 'lв-ц'. k ) 1 . с я( | | l t ] l L l r ( Л l ] ( l l n U ni х r ' x с . '('|,'|'lIi.г. | ' ' ' l . l | | . оз ] ' l y U | ' t l ' : , ) | i , . t s ' | ' . l | | | ' ' ' | | | ' ' Д в U i i l | ' " в п e п о с р с д с г в с } lн о i i 6 . 1 l' з o ( t r l ( ) 1l l с l ) | l I x I t Ьсrк j | { l r( П ц I t о o Р t l ( ! l ( ) Л 0 ' { с | | l l iс} t l в l l с ' t T o т п p o т о т n п 1 l l ь l з Ь l в а с r ! O i i ( l ) v l l I { l U l n ) с, o о T I r с т с Г I ] с U l n )N, с r l с Ц l ф l l к а 1 ! t ) ( ) в o т o ' 6 р D r a k ] т 4 ' N 6 а i i Т ' а I l а l { с I I l l r l r l ь l i a я| ! | у 6 | | | | i lц х х ] r ! r о T р а p a l r ] l x 2 , С ) l ' l е с _ ) ф e . дсЛьIro Дo]l\,сTltlllnii РaзNlсP tloJLзotsаTеDЬсxoгo fitJоlLаB 6aii'|ах, Увы| ЧltTa|Ь всr{) пaIIять yя)вIllIor о при.no)liснrlЯ наN{нlrкто flc /lаст' оl]lalrая на Рaст€ P зaI{ис "]rr,!rnь ltPIJшcчIrЬLIl lt!сllIeк' ll lrll'tоlт)]tl' есJ11повезr'Г' могyт встрeTпться сeI.l)eтllьleДаIrныo (нlrIPII!сP' llар0.,rlI) ]lJ.Illyказa,Геi|ll па IJ]Iх, [JпРочсr1' Узlta1r' Tсl{уlцее поЛoтtенис указll'Гс-llя тoяtc }1сII'lloхO'i1о .)6о всс\1]tо lloPядку ЗаnусTпNl l lxпl}' ДеllонстРацn oнI1vю прoгPaillty
!! вводсм спeцпфптtатoР 1х. orra
l r е ll о , ] 2 Г Е 5 с | Пoчcllу 12ЕF5с? oткУдll Ollo вJ'Jxrсь? o6pаrцaясь лдаrпtу IrаlиTи (p с, l3,1)' llьI видпl1] чтo эTo - двоiirюе с,'l()во,(JIедУюще..3а аPr.умсrtТоr1 buf_out ]!рeД' стaвлятorцее сo6ой рсзvJЬTaТ ХlзнсдсяTсxl'носTrr llрсдЬlДущсI1 функцrlrl (иxlt, пoпpoсTу rовoря' NусoP), ну и xакая напl радoсTЬ oт этoгlr энания? БуфсР с'r.
257 ЕIo ]eр'(ттт ]lаur сo6ствеrrньIilвtsoд,в кoтoPом 3aведоilloнсТнtlчогo и}1TеРсснol.o. r lо .пurllьчастЬ ariс6epга. кaк y,ке говoPи.noсьв rлавc 1 1 # r f d e fs O L А R ]/s* s -'..-#def]nr NiT DЕv N]С +dеf]nе DЕFAULT 32t68 +defiпe сIUNKSIZЕ
rI
.:.сивный п€ р € x ват трафика .]:.ino .::iine -:::ine .:::iпe
s DЕвUG 5 ] Z Е0 Г Е Т н H D R i iи'г,lоg. LOGF]|'Е т ] { P L oDGI R
s о u r с е ] P t 1 6 ] ' d е 5 t ] Р|t 1 6 ] sOurс€РOгt.dеstPoГti : : . u с t с O n nl r s t * с ] ; s t г u с t с о п n - ] ] s ltо г g . с l - l...f 5OLАRIS ]пt stГgеti5!(f. ctlp lla99p сalleГ) stгti€ t rnt сhdг
stгb!]f *сt]p *flаgsp *сdl]е.
{ stаtrс
сlraгerг|rrsg[80]
*flаgsр.0: l i ( ( r с - . ] e t | ] l s a ( f d , сN|U] p L Lf ], d g 5 p))< 0 )r € | L r r n ( ' 2]) r f ( а ] a m ( 0 )