29 noiembrie 2009

Cracking notepad

Nu va deranjeaza atunci cand deschideti un fisier mai mare de 100k in notepad,si apare
mesajul "the file is too large for notepad to open......."????.Haideti sa scapam de acest mesaj
si sa intram direct in Wordpad cand ne confruntam cu o astfel de siuatie.
1) avem nevoie de programul de dezasamblare w32dasm,de programul Hiew
2) cunostinte minime de assembler

-dezasamblati programul in w32dasm
-activati optiunea "string reference" si cautati sirul "the file is too large..."
-veti gasi ceva de genul "string resource ID=00052" -selectati optiunea Function submeniul Import
-cautati functia User32.messageboxA(responsabile de casetele de dialog in windows)
-dati dublu click pe ea si obtineti ceva de genul

call dword ptr [00407430] {chemarea procedurii de mesaj}
cmp eax,0000006{compara registrul eax cu adresa procedurii}
jne 00402E19 {daca eax nu este egal cu 0000006 .atunci iese din program pentru ca sunt doua optiuni
la selectarea lui OK se deschide Wordpad iar altfel iese.
Celelalte instructiuni nu mai conteza
- -selectati cu mouse-ul intstructiunile call si jne si notati adresa lor de ofset
-inchideti w32dasm

-deschideti Hiew "hiew notepad.exe"
-selectati F4 optiunea decode
-F5 si scrieti 2161 {adresa primului numar de offset (gasit pentru cmp)}
-F3 scrieti 404840484048
-F9 pentru a valida introducerea
-F5,scrieti numarul pentru jne care este 216A
-F3,scrieti 404840484048
-F9 pentru a actualiza si Gata!!!
Ce este 404840484048?
40-in hexazecimal inseamna "inc eax" adica adauga 1
48-inseamna "dec eax" adica scade 1
90 inseamna NOP adica instructiunea nula(nu face nimic)
Asi fi putut la saltul "jne" sa pun NOP dar unele programe nu accepta aceasta instructiune
asa ca am preferat sa execute un ciclu de genul "inc eax"---" dec eax"(pun 1 si apoi iau 1).

0 comentarii:

Trimiteți un comentariu