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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Llamar a una funcion de una DLL cargada dinamicamente en: 12 Julio 2021, 03:08 am
Hola:

Estoy haciendo un interprete y necesito llamar a una funcion tomada de una dll cargada dinamicamente, esto es asi ya que quiero que el programa interpretado cargue la dll y no el interprete. Ademas necesito que los parametros se encuentren en un pila de enteros.

aqui tengo un fragmento del codigo que estoy probando

Código:
HANDLE hStdout;
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
 
HMODULE hLib=LoadLibraryA("KERNEL32.DLL");
if (!hLib) {
     printf("Load Error");
     return 0;
   }else{
     printf("Load OK");
     hFunc=(int64_t)GetProcAddress(hLib,"WriteConsole");
     printf("Address=%x ",hFunc);
 
// WriteConsole(hStdout, "coso", 5, 0, 0);  // Esto funciona correctamente
 
// **** quiero que funcione de esta manera ***
      hFunc=(int64_t)(* (int64_t(*)(int64_t,int64_t,int64_t,int64_t,int64_t))hFunc)((int64_t)hStdout,(int64_t)"coso",5,0,0) ;
 
printf("ok?");
   }

la llamada comentada funciona ok ya que no lo esta haciendo por la direccion de la funcion (hFunc)

pero quiero llamarla por esta direccion y le hago un cast para poder llamarla, aqui quiero aclara que necesito que todos los valores sean pasados int64, me imagina que la funcion a la que llame interpretara el valor segun le corresponda (esto no se como funciona)

Alguien sabe como puedo hacer esto?, desde ya gracias.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines