Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ovom slucaju) da se vratimo iz 2 CALLa to jest da izvrsimo dve RETkomande. Kako ovo znamo??? Ne znamo, nego se jednostavno vracamo izjednog po jednog CALLa sa F8 dok nedodjemo do koda koji izgleda ka<strong>of</strong>unkcija za prikazivanje ovog stringa na ekranu. Za ovo je potrebno malovezbe. Kada se konacno vratimo iz drugog CALLa videcemo ovo:0045077E /74 13 JE SHORT Memory_C.0045079300450780 |. |8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]00450783 |. |8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]00450789 |. |BA E0074500 MOV EDX,Memory_C.004507E0 ; ASCII "Error -Modified"0045078E |. |E8 C1F1FDFFCALL Memory_C.0042F95400450793 |> \33C0 XOR EAX,EAX00450795 |. 5A POP EDXOvo vec izgleda kao deo koda koji sluzi za prikazivanje poruke na ekranu.Ono sto treba da uradimo da se ova poruka nikada ne prikaze na ekranu jeda skok na adresi 0045077E promenimo iz JE u JMP i to je to. Progam ceuspesno umesto poruke o modifikaciji memorije prikazivati poruku o novommemory checksumu. Sada mozemo snimiti ove promene pritiskom na desnodugme -> Copy to executable -> All modifications -> Save...Napomena:Ovaj problem moze biti resen i mnogo jednostavnije ako znate koji jeto Win32API zaduzen za citanje memorije. Taj API je ReadProcessMemory.Vezba:Ova nasa modifikacija ce raditi samo u slucaju da smo promenili NAGpomocu RET komande. Probajte isto ovo samo umesto RET komande unesiteRET pa NOP. Naravno program ce se zatvoriti. Na vama je da otkrijete gde sevrsi provera da li je neka adresa NOPovana i da je zaobidjete.Resenje:Promenite skok na adresi 0045070C iz JNZ (JNE) u JMP.<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 73 <strong>of</strong> 165