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