OLLYDBG E DELPHI PARTE I
Autore : Coco
Traduzione Italiana : DesTroYer
Published at: http://quequero.orgTEORIA:
Per tutti i programmi fatti in delphi esiste un trucco per per far fermare il programma quando si clicca su un Bottone.
E’ chiaro a tutti che per tutti gli elementi di un programma che si possano "Cliccare" si genera un evento "Click", ora vedremo come il nostro OllyDbg è tanto potente che non avremo bisogno di un attrezzo ausiliare quale DeDe per poter operare con i programmi in Delphi.
Non ci credi?, bene allora incominciamo……
I PASSI A SEGUIRE:
Eseguire l'Applicazione, supponiamo che vogliamo fermare il programma giusto quando premiamo un bottone, questo è specialmente utile quando non riusciamo ad entrare nel codice mediante le APIs,: , qualcuno disse che siamo morti senza hmemcpy ?) nah.
1 - facciamo attenzione al nome del bottone, supponiamo che il bottone dica: "REGISTRARE"
2 - aprire l'Eseguibile con OllyDbg, segnare la prima linea del disassemblato ( sopra di tutto),
3 - clic destro SEARCH FOR - BINARY STRINGS- ( CTRL +B ), e inseriamo la stringa "Click" in ASCII e premiamo OK, lasciare disabilitata la casella SENSITIVE,
4 - Olly fermerà la ricerca, in tutti gli gli eventi "CLICK" che a noi interessano
Allora noi dobbiamo cercare:
"Register*Click" il "*" è perché non sappiamo quanti bottoni, menues, etc. hanno il nome "Register" che potrebbe averne più di una:
Register1Click-Register2Click-etc.
CONTINUIAMO
Nella finestra di CPU saliamo verso l'inizio, e cerchiamo, CTRL +B "Click"
Pressiamo OK ed Olly si tratterrà nella prima coincidenza con "Click" ricordare che a noi solo c'interessano gli eventi ossia "il nome del pulsante CLICK"
Continuiamo cercando, con CTRL+L, fino a trovare: "nome del pulsante CLICK"
Seguiamo…
Ed in 00446158 troviamo:
Questo è il nostro.
Ora quello che bisogna fare è salire su di alcune linee, sempre verso l'alto, per trovare dove comincia l'evento Click.
Non ci rimane altro da fare che FOLLOW .
Su 00446153 pressiamo ENTER, o INTRO, e finiamo:
Dove comincia il codice ;)
Vediamo in DeDE se tutto quello che abbiamo detto corrisponde:
E come possiamo vedere corrisponde perfettamente (446214), quindi il metodo funziona.
Ciao a tutti
Traduzione Italiana : DesTroYer