Obtener direccion de funcion

Iniciado por Vaagish, 6 Mayo 2015, 02:33 AM

0 Miembros y 1 Visitante están viendo este tema.

Vaagish

Hola!

Capaz que es una pregunta estupida, pero no encuentro como solucionar esto:

Necesito obtener la direccion a una funcion...

Podria usar un puntero a funcion, pero esa no seria la direccion "real", sino que me devuelve la direccion a un JMP "direccion que quiero"

Gracias! Saludos!

x64core

Cita de: Vaagish en  6 Mayo 2015, 02:33 AM
Hola!

Capaz que es una pregunta estupida, pero no encuentro como solucionar esto:

Necesito obtener la direccion a una funcion, o a toda una sección dentro del programa, si consigo las dos respuestas mejor..

Podria usar un puntero a funcion, pero esa no seria la direccion "real", sino que me devuelve la direccion a un JMP "direccion que quiero"

Gracias! Saludos!

¿Te referis a la especie de VTable de generan algunos compiladores? La generan en modo Debug, intenta en modo Release, igual se puede configurar para que no generé en modo Debug, es ese el problema?

Vaagish

Citar¿Te referis a la especie de VTable de generan algunos compiladores? La generan en modo Debug, intenta en modo Release, igual se puede configurar para que no generé en modo Debug, es ese el problema?

Pero con que exactitud x64! Era eso exactamente.. no se me ocurrio que solo se generaba en modo debug, a que vendrá esa tabla de jmp's?

Gracias!! Saludos

Miseryk

Me imagino que se carga de la misma manera o similar a la que se carga una dll en el proceso con sus funciones.
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

Vaagish

CitarMe imagino que se carga de la misma manera o similar a la que se carga una dll en el proceso con sus funciones.

La funcion o la tabla como se carga?

Si es la funcion si, la importo desde un modulo .obj, si es la vtable esa ni idea, pero si se carga como una dll digamos, de donde sale? Del obj? De algun otro archivo de depuracion quizas?

Saludos! Gracias!

x64core

Cita de: Vaagish en  6 Mayo 2015, 05:53 AM
Pero con que exactitud x64! Era eso exactamente.. no se me ocurrio que solo se generaba en modo debug, a que vendrá esa tabla de jmp's?

Gracias!! Saludos
Exactamente no se, pero podria ser alguna optimizacion para acerlar la recompilacion. Seguro encontras informacion sobre eso, los parametros son OPT:REF, OPT:ICF para el linker.

Vaagish

CitarExactamente no se, pero podria ser alguna optimizacion para acerlar la recompilacion. Seguro encontras informacion sobre eso, los parametros son OPT:REF, OPT:ICF para el linker.

Genial! Muchas gracias x64!

Saludos!