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.

ReEnable buttons - ASM<br />

Ovaj deo poglavlja ce vas nauciti kako da ukljucite neke iskljucene<br />

opcije u programima. Ovo je narocito korisno ako je neki program zasticen<br />

bas na ovaj nacin. Na primer, moze se desiti u nekoj “meti” da je recimo<br />

Save opcija zatamnljena i da se ne moze ukljuciti. Naravno vecina vas je<br />

naucila da ovakve probleme resava preko raznih ReSHackera i slicnih alata.<br />

Nemam ja nista protiv takvog pristupa ali morate i sami priznati da je skroz<br />

lame. Primer koji sam specijalno za potrebe ovog poglavlja “iskopao” na netu<br />

pristupa ovoj problematici na sasvim drugaciji nacin. Naime fajl crackme.exe<br />

koji se nalazi u folderu …\Casovi\Cas8\ je specifican po tome sto ne koristi<br />

resurse nego sam programski pomocu Win32Apija pravi elemente koji se<br />

nalaze u njemu. Kao sto vidite ovde ReSHacker ne pomaze :) Naravno NAG<br />

do sada sigurno znate da ubijete a ono sto je predmet razmatranja ovog<br />

poglavlja je kako ukljuciti iskljucen<br />

meni. Posto se ovaj “tajni” meni<br />

pravi preko API komandi<br />

iskoristicemo to da pronadjemo<br />

mesto odakle se poziva procedura<br />

koja pravi ovaj meni. Otvoricemo<br />

ovaj program u Ollyju i potrazicemo<br />

sve string reference ka stringu Secret. Evo spiska svih referenci koje se<br />

nalaze u tom crackmeu.<br />

Text strings referenced in crackme:.text<br />

Address Disassembly Text string<br />

0040104E PUSH crackme.0040315C<br />

ASCII "Secret Unrevealed!"<br />

....<br />

004010F2 PUSH crackme.00403018<br />

ASCII "&Secret"<br />

00401103 PUSH crackme.00403010 ASCII "&About"<br />

00401112 PUSH crackme.00403008 ASCII "&Help"<br />

....<br />

004011D7 PUSH crackme.00403190 ASCII "Crackme #1"<br />

004011F0 PUSH crackme.004031C0<br />

ASCII "Error!"<br />

004011F5 PUSH crackme.00403170<br />

ASCII "Aishh..msgbox takleh create!"<br />

Kao sto vidimo samo zeleni red sadrzi string koji je istovetan onom koji<br />

vidimo u crackmeu. Ne dajte da vas zbuni ono & ispred stringa. Kada su<br />

meniji u pitanju ono & oznacava da je prvo slovo stringa podvuceno. Ako 2x<br />

kliknete na taj red docicete dovde:<br />

Kao sto primecujete osim razlike u prvoj PUSH komandi, koja nam je nebitna<br />

jer predstavlja samo ID menija, imamo razliku i u drugoj PUSH komandi. Kod<br />

Secret menija imamo PUSH 1 a on je iskljucen a kod About menija imamo<br />

PUSH 0 a on je ukljucen. Dolazimo do zakljucka treba samo da promenimo<br />

PUSH 1 u PUSH 0 da bi i Secret meni bio ukljucen. Kao sto vidite ovaj<br />

problem je bilo veoma lako resiti.<br />

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

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

Saved successfully!

Ooh no, something went wrong!