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.
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