The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
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