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-
tekiDLLsąspecjalnietworzonewceluzaoferowaniafunkcjonalnościwykorzystywanej
przezplikiEXE,eksportowanefunkcjesąnajczęściejspotykanewbibliotekachDLL.
PlikiEXEniesązaprojektowanewceluzapewnieniafunkcjonalnoś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ćdokumentacjaMicrosoftnazywatęfunkcjęServiceMain,aprogra-
miścizazwyczajnazywająją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