elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] ¿Como comunicar DLLs?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C++] ¿Como comunicar DLLs?  (Leído 2,339 veces)
RayHack

Desconectado Desconectado

Mensajes: 11


Ver Perfil
[C++] ¿Como comunicar DLLs?
« 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.


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: [C++] ¿Como comunicar DLLs?
« Respuesta #1 en: 8 Abril 2014, 05:16 am »

Y la manera en la que estas intentando acceder a la variable?


En línea

RayHack

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: [C++] ¿Como comunicar DLLs?
« Respuesta #2 en: 10 Abril 2014, 04:54 am »

Lo utilizo de la siguiente manera.

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

Un saludo.
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: [C++] ¿Como comunicar DLLs?
« Respuesta #3 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

« Última modificación: 12 Abril 2014, 02:53 am por x64Core » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines