Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Riki_89D en 17 Septiembre 2011, 16:06 pm



Título: No me carga la DLL LoadLibrary
Publicado por: Riki_89D en 17 Septiembre 2011, 16:06 pm
Hola que tal,llevo un buen rato intentando cargar una funcion de una dll pero no me funciona,e googleado pero nada de nada nigun ejemplo me sirvio.


aqui les dejo el code:


DLL:

Código
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. BOOL APIENTRY DLLMain(HINSTANCE Inst,DWORD Razon,LPVOID Reserverd)
  5. {
  6. switch(Razon)
  7. {
  8. case DLL_PROCESS_ATTACH:
  9. break;
  10. case DLL_PROCESS_DETACH:
  11. break;
  12. case DLL_THREAD_ATTACH:
  13. break;
  14. case DLL_THREAD_DETACH:
  15. break;
  16. }
  17.  
  18. return TRUE;
  19.  
  20. }
  21.  
  22. int _stdcall escribe()
  23. {
  24. MessageBox(0,"Hola","",0);
  25. return 0;
  26. }
  27.  



Exe:

Código
  1. typedef int * (__stdcall *Function)();
  2.  
  3. Function fn1;
  4.  
  5.  
  6.  
  7. HINSTANCE DllEntry = LoadLibrary("\\LoadKernel.dll");
  8. if(DllEntry != NULL)
  9. {
  10. FreeLibrary(DllEntry);
  11. MessageBox(0,"No se encuentra la DLL","Error",0);
  12.      return 1;
  13.  
  14. }
  15. else{
  16. fn1 = (Function)GetProcAddress(DllEntry,"escribe");
  17. int * ejecuta = fn1();
  18. }
  19.  
  20.  


pero nada,no carga NADA!! :(


Título: Re: No me carga la DLL LoadLibrary
Publicado por: The Swash en 17 Septiembre 2011, 17:11 pm
Tratas de llamar a una función que jamás exportaste para uso externo.
Aquí hay un ejemplo claro:
Código:
http://www.infernodevelopment.com/simple-c-dll-loading-message-box

Un saludo.


Título: Re: No me carga la DLL LoadLibrary
Publicado por: Riki_89D en 17 Septiembre 2011, 17:29 pm
Hey que tal,ahora el compilador me agenerado un arhcivo .lib,se agregar los LIB como wininet y otros,pero el mio como lo agrego al proyecto para enlazar con la libbreria?¿


Título: Re: No me carga la DLL LoadLibrary
Publicado por: Queta en 17 Septiembre 2011, 17:55 pm
¿No querías hacer una librería dinámica (DLL)?

Lo que te dice The Swash es que tienes que declarar las funciones como exportables.

http://msdn.microsoft.com/en-us/library/dabb5z75.aspx (http://msdn.microsoft.com/en-us/library/dabb5z75.aspx)
http://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx (http://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx)


Título: Re: No me carga la DLL LoadLibrary
Publicado por: Riki_89D en 17 Septiembre 2011, 17:58 pm
Okey,tienes razon,ya esta solucionado :)


muxas gracias por todoo ^^