Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
istniejądwieróżnewersjefunkcji:jednadlałańcuchówASCIIidrugadlałańcuchów
znajszerszymzestawemznaków.NależypamiętaćopominięciukońcowejliteryAlub
WpodczaswyszukiwaniafunkcjiwdokumentacjiMicrosoftu.
Importowanefunkcje
NagłówekplikuPEzawieratakżeinformacjeospecyficznychfunkcjachużywanych
przezplikwykonywalny
.NazwytychfunkcjisystemuWindowsmogądaćnamdobre
wyobrażenieotym,corobidanyplikwykonywalny
.Microsoftdoskonaledokumentuje
interfejsWindowsAPIzapomocąbibliotekiMicrosoftDeveloperNetwork(MSDN).
(WzałącznikuAznajdujesięrównieżlistafunkcjiczęstoużywanychprzezzłośliwe
oprogramowanie).
Eksportowanefunkcje
Podobniejakwprzypadkuimportowania,bibliotekiDLLiplikiEXEeksportująfunk-
cjewceluinterakcjizinnymiprogramamiikodem.BibliotekaDLLzazwyczajimple-
mentujejednąlubwięcejfunkcjiieksportujejedowykorzystaniaprzezplikwykony-
walny
,którymożejenastępniezaimportowaćiwykorzystać.
PlikPEzawierainformacjeotym,którefunkcjeeksportujeplik.Ponieważbiblio-
tekiDLLspecjalnietworzonewceluzaoferowaniafunkcjonalnościwykorzystywanej
przezplikiEXE,eksportowanefunkcjenajczęściejspotykanewbibliotekachDLL.
PlikiEXEniezaprojektowanewceluzapewnieniafunkcjonalnościdlainnychpli-
kówEXE,aeksportowaniefunkcjijestrzadkie.Jeśliwplikuwykonywalnymodkryjemy
eksport,częstomożeonnamdostarczyćużytecznychinformacji.
Wwieluprzypadkachtwórcyoprogramowanianazywająswojeeksportowane
funkcjewsposób,którydostarczaużytecznychinformacji.Jednązpowszechnychkon-
wencjijestużywanienazwstosowanychwdokumentacjiMicrosoftu.Abynaprzykład
uruchomićprogramjakousługę,musimynajpierwzdefiniowaćfunkcjęServiceMain.
ObecnośćeksportowanejfunkcjionazwieServiceMaininformuje,żezłośliweoprogra-
mowaniedziałajakousługa.
Niestety
,choćdokumentacjaMicrosoftnazywafunkcjęServiceMain,aprogra-
miścizazwyczajnazywajątaksamo,totakafunkcjamożemiećdowolnąnazwę.
Dlategonazwyeksportowanychfunkcjimająwrzeczywistościograniczonezastosowa-
niewprzypadkuwyrafinowanegozłośliwegooprogramowania.Jeślimalwarekorzy-
stazeksportu,częstoalbocałkowiciepomijanazwy
,alboużywanazwniejasnychlub
wprowadzającychwbłąd.
MożemywyświetlićinformacjeoeksporciezapomocąprogramuDependency
WalkeromówionegowDEksplorowaniufunkcjidołączanychdynamiczniezapomocą
DependencyWalker”nastronie16.Abywyświetlićlistęeksportowanychfunkcji,na-
leżykliknąćnazwępliku,którychcemyzbadać.Narysunku1.6okienko4pokazuje
wszystkiefunkcjeeksportowanewpliku.
Analizastatycznawpraktyce
Teraz,gdypoznaliśmyjużpodstawyanalizystatycznej,przeanalizujmyprawdziwe
malware.Przyjrzyjmysiępotencjalnemukeyloggerowi,anastępniespakowanemu
programowi.
18Rozdział1