07.02.2015 Views

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

EXEStealth 2.72 - 2.73<br />

Vodjeni ideologijom koju smo usvojili u proslom primeru, na PeXu,<br />

pokusacemo da otpakujemo i ExEStealth protektor. Kazem protektor iz<br />

razloga sto i ExEStealth detektuje Olly pa cemo morati da iskoristimo<br />

HideOlly plugin da bismo zaobisli detekciju Ollyja. Meta se nalazi u folderu<br />

Cas10 a zove se Lopke.EXEStealth.exe. Pored ovoga cemo morati da podesimo<br />

Ollyjeve Debugging opcije bas ovako:<br />

Posle ovoga ostaje nam samo da<br />

postavimo i Memory breakpoint on<br />

access na glavnu .CODE sekciju mete.<br />

Kada ovo uradimo pritisnucemo F9 u<br />

nadi da ce nas to odvesti do samog<br />

OEPa, ali to se nece desiti. Umesto<br />

OEPa zavrsicemo na jednoj LODS<br />

adresi koja je zaduzena za ucitavanje<br />

sadrzaja adrese 00401000 u EAX<br />

registar. A ako prodjete ostatak koda<br />

do adrese LOOPD doci cete i do jedne<br />

STOS komande koja je zaduzena za<br />

snimanje novoizracunate vrednosti<br />

registra AL na poziciju 00401000.<br />

Posto se ovaj deo koda izvrsava vise<br />

puta postavicemo jedan breakpoint na<br />

adresu 0040548E koja sadrzi RET komandu, posle cega moramo da uklonimo<br />

nas memorijski breakpoint. Pritiskom na F9 zavrsicemo na nasem<br />

breakpointu. Posle ovoga cemo ukloniti ovaj breakpoint pritiskom na F2 i<br />

ponovo cemo postaviti memoriski breakpoint na .CODE sekciju. I konacno<br />

posle pritiska na F9 naci cemo se na pravom OEPu koji izgleda ovako:<br />

00401000 . /EB 13 JMP SHORT Lopke_EX.00401015<br />

00401002 . |2D 2D 20 52 4> ASCII "-- REGISTERED! -"<br />

00401012 . |2D 00 ASCII "-",0<br />

00401014 |00 DB 00<br />

00401015 > \6A 00 PUSH 0<br />

00401017 . E8 8E030000 CALL Lopke_EX.004013AA<br />

0040101C . A3 00304000 MOV DWORD PTR DS:[403000],EAX<br />

00401021 . EB 03 JMP SHORT Lopke_EX.00401026<br />

00401023 . 41 31 00 ASCII "A1",0<br />

00401026 > 6A 00 PUSH 0<br />

00401028 . 68 45104000 PUSH Lopke_EX.00401045<br />

0040102D . 6A 00 PUSH 0<br />

0040102F . 68 23104000 PUSH Lopke_EX.00401023 ; ASCII "A1"<br />

00401034 . FF35 00304000 PUSH DWORD PTR DS:[403000]<br />

0040103A . E8 8F030000 CALL Lopke_EX.004013CE<br />

0040103F . 50<br />

PUSH EAX<br />

00401040 . E8 5F030000 CALL Lopke_EX.004013A4<br />

00401045 . 55 PUSH EBP<br />

00401046 . 8BEC MOV EBP,ESP<br />

00401048 . 83C4 F4 ADD ESP,-0C<br />

Sada nam ostaje samo da uradimo dump pomocu LordPEa i da popravimo<br />

importe pomocu ImpReca. Kada budete popravljali importe moracete da<br />

uradite jedan level1 trace da biste ih sve nasli i to je to. Izgleda da<br />

ExEStealth i nije toliko “nevidljiv”...<br />

<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 242 <strong>of</strong> 293

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!