Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: RayHack en 8 Abril 2014, 01:55 am



Título: [C++] ¿Como comunicar DLLs?
Publicado por: RayHack en 8 Abril 2014, 01:55 am
Buenas amigos hoy os vengo con una pequeña duda la cual quisiera me den una ayudita.

Bueno estoy tratando de pasar una variable tipo "char" de una DLL a otra DLL utilizando dllimport y dllexport pero no funciona ya que al importarlo a la DLL no contiene valor.

Código:
__declspec(dllexport) char *variable;

variable = "Hola";


Y en la DLL en la cual quiero utilizar el contenido de la variable utilizo:

Código:
__declspec(dllimport) char *variable;

No se que hago mal pero no se importa o exporta correctamente, todo compila perfecto al momento de vincular el .lib pero no la importacion no sirve.

¿Hay algún otro metodo o como podria hacerlo correctamente?

Un saludo y muchas gracias de antemano.


Título: Re: [C++] ¿Como comunicar DLLs?
Publicado por: x64core en 8 Abril 2014, 05:16 am
Y la manera en la que estas intentando acceder a la variable?


Título: Re: [C++] ¿Como comunicar DLLs?
Publicado por: RayHack en 10 Abril 2014, 04:54 am
Lo utilizo de la siguiente manera.

Código:
__declspec(dllimport) char *variable;
printf("%s", variable);

Un saludo.


Título: Re: [C++] ¿Como comunicar DLLs?
Publicado por: x64core en 11 Abril 2014, 09:25 am
Lo utilizo de la siguiente manera.

Código:
__declspec(dllimport) char *variable;
printf("%s", variable);

Un saludo.
Decis que estas importando la variable de una DLL a otra , lo que tienes que hacer es obtener su dirección ya sea 'manualmente'
parseando la imagen o usando estas funciones:

VarDireccion = GetProcAddress(GetModuleHandle("Nombre_De_La_DLL"),"Nombre_De_La_Variable")

Agregado:

Si se hace directamente importando la funcion entonces simplemente la direccion deberia estar en la IAT/Import Directory