03/04/10 13:06
vincenzodicicco
Salve, è da un po di giorni che mi pongo la domanda su come ottenere tramite c++, l'entry point di un eseguibile scelto.
Lo scopo sarebbe di riuscire a leggere i vari indirizzi di un eseguibile, come fa un diassemblatore, qualcuno sa aiutarmi?
aaa
03/04/10 13:51
Se parliamo di un "file eseguibile", trovi tutto nell'header del file stesso (secondo il formato PE, Portable Executable).
Ma se parli di un "eseguibile a run time", il discorso è diverso.
Dato che parli di "indirizzi di un eseguibile" (che non ha molto senso), spiegati un po' meglio ... soprattutto dicci chiaramente, cosa vuoi fare (solita questione di modificare valori contenuti in memoria per ingannare i giochi?).
03/04/10 17:08
vincenzodicicco
No non devo modificare nessun gioco, e neppure programmi altrui.
Bensi devo apportare delle modifiche ad un mio programma nato proprio per questo scopo.Devo applicare dei Jump all'entrypoint di questo eseguibile per dirottarlo ad un altro indirizzo più infondo.
Queste procedure le riesco a fare manualmente con un diassemblatore come ollydebug ma a me serve farle in automatico.E' tutto per un piccolissimo software di sicurezza e più che altro per passatempo e approfondimenti.Quindi a me interessa riuscire a leggere i vari indirizzi.grazie spero di essere stato più chiaro
aaa
04/04/10 7:38
Overflow
in pratica il tuo programma dovrebbe disassemblare un programma, e inserire "all'avvio" di questo l'istruzione assembler jmp che lo fa saltare quindi ad un altro indirizzo di memoria?
Auguri di buona Pasqua a tutti!
Ultima modifica effettuata da Overflow 04/04/10 7:38
aaa
04/04/10 10:22
vincenzodicicco
Overflow ha centrato in pieno.
aaa