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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  sobre la inyección de dll en los offsets de una aplicación
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: sobre la inyección de dll en los offsets de una aplicación  (Leído 3,426 veces)
while

Desconectado Desconectado

Mensajes: 24


Ver Perfil
sobre la inyección de dll en los offsets de una aplicación
« en: 27 Septiembre 2010, 13:31 pm »

Quería preguntar sobre una cosa sobre la inyección de dlls, a ver si podriais explicarme algo:
Quiero hacer pruebas con la programación y inyección de dlls en los offsets de una aplicación, y la importación de funciones (las hago con el Stud PE)
Estoy tratando de hacer una función "exportable", aparentemente, me deja importarla, pero luego "no hace nada" (Tampoco me da ningun error).
(Quiero que se ejecute junto al programa, y salga el MessageBox)

Os muestro el código que estoy usando:
Código
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. #define EXPORT extern "C" __declspec (dllexport)
  5.  
  6.  
  7. EXPORT int main( )
  8. {
  9.   MessageBox(0,"a","b",MB_OK);
  10.   return 0;
  11. };

Podriais decirme que tengo mal, o ponerme algun ejemplo para hacer esto correctamente?

Saludos y muchas gracias.


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #1 en: 27 Septiembre 2010, 14:47 pm »

Sin ver los cambios hechos en el ejecutable final es complicado pero te falta el DllMain seguro (mira la MSDN).


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
while

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #2 en: 27 Septiembre 2010, 15:53 pm »

Gracias, ahora estoy probando con:

Código:
#include <windows.h>
#include <stdio.h>

#define EXPORT extern "C" __declspec (dllexport)


int main( )
{
return 0;
};

EXPORT int injection( ) //lazo para inyectar la dll con el Stud PE
{
return 0;
}

BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved)
{
switch(reason)
{
case DLL_PROCESS_ATTACH:
{
MessageBox(0,"a","b",MB_OK);
}
}
return TRUE;
}

Pero sigue sin aparecer el messagebox.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #3 en: 27 Septiembre 2010, 16:50 pm »

Eso probablemente quiere decir que no es cargada la DLL, comprobalo depurando o con el Process Explorer.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
while

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #4 en: 27 Septiembre 2010, 21:56 pm »

Eso probablemente quiere decir que no es cargada la DLL, comprobalo depurando o con el Process Explorer.
Pues al parecer no, no esta cargada :/
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #5 en: 27 Septiembre 2010, 22:30 pm »

Si no llega al DllMain el problema esta en otro lado y no en la DLL.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
while

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #6 en: 27 Septiembre 2010, 22:43 pm »

Si no llega al DllMain el problema esta en otro lado y no en la DLL.
alguna idea de que podría ser/hacer?
En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #7 en: 27 Septiembre 2010, 22:52 pm »

falta ver el programa que tiene que cargar la dll.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #8 en: 27 Septiembre 2010, 23:10 pm »

Lo que intentas hacerle al PE ese ...
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
while

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: sobre la inyección de dll en los offsets de una aplicación
« Respuesta #9 en: 28 Septiembre 2010, 02:59 am »

Ya he conseguido hacer lo que quería, tenía que exportar tambien el DllMain:
Código:
#include <windows.h>
#include <stdio.h>

#define EXPORT extern "C" __declspec (dllexport)


EXPORT void injection( ){} //Anclaje

EXPORT BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved)
{
    switch(reason)
    {
        case DLL_PROCESS_ATTACH:
            MessageBox(0,"Este mensaje se muestra al abrir la aplicación","Titulo Mensaje 1",MB_OK);
            break;

        case DLL_PROCESS_DETACH:
            MessageBox(0,"Este mensaje se muestra al cerrar la aplicación","Titulo Mensaje 2",MB_OK);
            break;
    }
    return true;
}

Espero que a mas gente le sirva este hilo de ayuda/ejemplo.
Muchas gracias a todos.
« Última modificación: 28 Septiembre 2010, 03:06 am por while » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C++] Inyección de código en memoria- Aplicación crashea « 1 2 »
Análisis y Diseño de Malware
Kaxperday 10 7,592 Último mensaje 8 Abril 2016, 20:39 pm
por Kaxperday
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines