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.

Passwords – Olly & VB<br />

Visual Basic kao uvek je prica za sebe pa ce i uklanjanje zvezdica sa<br />

password polja u VB programima biti prica za sebe. Meta za ovaj deo knjige<br />

se nalazi u folderu Cas8 a zove se pwdMe2.exe. Otvorite ovu metu pomocu<br />

Ollyja. Sada pocinju muke, treba pronaci kako se zove forma u kojoj se<br />

nalazi, nepoznati textbox sa passwordom i kako se konacno sklanjaju<br />

zvezdice. Otici cemo u string reference i tamo cemo pronaci sto vise<br />

informacija o samoj meti. Videcemo koji se to objekti pojavljuju u exe fajlu.<br />

To su:<br />

004013F8 DD pwdMe2.00401410<br />

ASCII "Form1"<br />

00401814 DD pwdMe2.00401474 ASCII "Form"<br />

0040183C DD pwdMe2.00401500<br />

ASCII "Command1"<br />

00401864 DD pwdMe2.0040151C ASCII "Text2"<br />

0040188C DD pwdMe2.00401524<br />

ASCII "Text1"<br />

Znaci imamo samo jednu formu sa dva Textboxa i jednim dugmetom. Posto<br />

se objektima dodeljuju vrednosti na samom pocetku fajla kliknucemo na<br />

sadrzaj jednog od textboxova iz istog forma. Kliknucemo 2x na ovo:<br />

Text strings referenced in pwdMe2:.text, item 7<br />

Address=00401297<br />

Disassembly=ASCII "CrackeR",0<br />

jer ne znamo sta je sadrzaj password polja a ono se nalazi dovoljno blizu.<br />

Ovo iznad nam izgleda mnogo sumljivo:<br />

00401260 > \1D 010B0B00 SBB EAX,0B0B01<br />

00401265 . 70 77 JO SHORT pwdMe2.004012DE<br />

00401267 . 64:55 PUSH EBP ; Superfluous prefix<br />

00401269 . 6E OUTS DX,BYTE PTR ES:[EDI] ; I/O command<br />

0040126A . 48<br />

DEC EAX<br />

0040126B . 696465 4D 650><br />

IMUL ESP,DWORD PTR SS:[EBP+4D],1120065<br />

00401273 . 0022 ADD BYTE PTR DS:[EDX],AH<br />

00401275 . 0100 ADD DWORD PTR DS:[EAX],EAX<br />

00401277 . 2A00 SUB AL,BYTE PTR DS:[EAX]<br />

00401279 . 2803 SUB BYTE PTR DS:[EBX],AL<br />

0040127B . FF03<br />

INC DWORD PTR DS:[EBX]<br />

0040127D . 26:0000<br />

ADD BYTE PTR ES:[EAX],AL<br />

00401280 . 0001 ADD BYTE PTR DS:[ECX],AL<br />

00401282 . 05 00546578 ADD EAX,78655400<br />

00401287 . 74 31 JE SHORT pwdMe2.004012BA<br />

00401289 . 0002 ADD BYTE PTR DS:[EDX],AL<br />

0040128B . 04 78<br />

ADD AL,78<br />

0040128D . 00F0<br />

ADD AL,DH<br />

0040128F . 0007<br />

ADD BYTE PTR DS:[EDI],AL<br />

Da li je ovo podatak koji nam treba Ako pretrazimo ovaj kod naci cemo<br />

tacno jedan 2A bajt. Ovo bi u ASCIIju znacilo *, tako da to moze biti bas ono<br />

sto trazimo. Selektovacemo adresu 401277 i kliknucemo na desno dugme -><br />

Binary -> Edit. I izmenicemo ovaj bajt 2A u 00 vodeci se onim sto smo<br />

naucili od Delphija. Startovacemo program sa F9 i videcemo da u password<br />

polju sada pise: pwdUnHideMe. Dakle uspeli smo provaliti smo u VB<br />

passworde. Naravno postoji laksi nacin da nadjemo ovaj bajt pomocu nekog<br />

Hex editora cemo samo potraziti 2A bajtove i pogledacemo gde se oni nalaze.<br />

Ako se nalazi blizu nekog textboxa moguce je da je on bas taj bajt koji<br />

trazimo. Ako postoji vise ovakvih polja moracete malo da pogadjate na koji<br />

se textbox odnosi 2A bajt i da li on uopste pripada nekom textboxu.<br />

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

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

Saved successfully!

Ooh no, something went wrong!