Co budeme potrebovat?
NUT2
PEiD
UnUPX plugin pre PEiD
Olly Dbg 1.10 s mnozstvom pluginov
Predpokladam, ze vsetko ste si rozbalili. Dufam, ze rozbehavanim UnUPX pluginu sa tu nemusim zdrziavat, zvladne to fakt kazdy.
Co teraz?
Mame uspesne vsetko nainstalovane a ... co teraz.
Pomocou PeID otvorime nut2. Vidime
UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo => je to pakovane UPX. A kedze sme si stiahli UnUPX plugin, nebudeme musiet viac pisat
upx xxx.exe -d. Staci kliknut na
-> a dalej
Plugins->Unpacker for UPX. Za chvilku zbadame hlasku, ze unpacknuty nut sa ulozil do
unpacked.exe (v tom istom dir ako nut2.exe). PeID zavreme.
Subor unpacked.exe otvorime v Olly pomocou F3. Je mozne, ze nam vyskoci hlaska
Unable to write to memory .... Kasleme na nu. Dame OK. Prepneme si na okno
CPU (Window->Cpu). Uvidime nieco podobne
tomuto.
V okne kde sa nachadzaju prikazy assembleru klikneme lavym tlacitkom ->Search For->All referenced text strings. Vidime vsetky stringy v danej aplikacii. Dame
search for text a napiseme
Nezadali (tu si treba dat pozor, ledo vyhladavanie je defaultne nastavene na case sensitive!!!). Posunieme sa az na
Spatne heslo, dvojklikneme nan a odrazu sme opat v CPU a priamo tam, kde sme chceli byt :) . Tak. A kedze vieme, ze program pri nespravne zadanom sn vyhodi hlasku
Spatne heslo ...., tak ho v tom potrebujeme nejak prerusit. Urobime to pomocou breakpointu, ktory umiestnime na adresu 0045411E
Brakpoint->Memory, on acces. Pytate sa preco prave na tuto adresu? Lebo :) Schvalne, skuste ho zadat o adresu vyssie, ze co sa stane .... (vacsinou sa
nastavuju breakpointy na Cally, API funkcie a podobne)
OK, breakpoint mame nastaveny, mozme stlacit F9 (Run). Spusti sa nam oriesok. Zadame svoje reg meno a nejake cislo (samozrejme nespravne :) ), lebo potrebujeme, aby sa zavolal dialog, na ktorom mame nastaveny breakpoint (Spatne sn...). Dame register a co sa stalo? Objavil sa olly. Pozreme sa do praveho dolneho rohu a.... je tam serial na nami zadane meno. V mojom pripade pre ::[brwm]:: je sn 791999640.
screen
Do slovnicka
breakpoint: prikaz debuggeru, aby za urcitych okolnosti (dane podla typu a parametrov nastaveneho breakpointu) rusil beh programu a umoznil jeho debugging
Dufam, ze som clanok napisal zrozumitelne. Keby nie, tak komentare ...