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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Porque falla esta inyección?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Porque falla esta inyección?  (Leído 3,498 veces)
Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Porque falla esta inyección?
« en: 1 Octubre 2013, 01:02 am »

Hola! Como andan? El codigo es simple, el problema debe ser aun menor.. pero no lo hago andar.. :/

Código:
// dllmain.cpp : Define el punto de entrada de la aplicación DLL.
#include "stdafx.h"

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
char *URL = "http://cplusplus.com/img/cpp-logo.png";
char *File = "C:\\cpp-logo.png";

switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
URLDownloadToFile(NULL, URL, File, 0, NULL);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
Bueno, muy simple.. esto se inyecta en chrome.exe o en el proceso que sea y cuelga :/
Podria ser quizas por el espacio que ocupa en el proceso??


« Última modificación: 1 Octubre 2013, 01:04 am por Vaagish » En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Porque falla esta inyección?
« Respuesta #1 en: 1 Octubre 2013, 01:21 am »

Para saber si el codigo que se inyectara funciona, primero se depura o se prueba, si se require de algun recurso del proceso host, se emula. En este codigo no hay un error donde se pueda colgar, que hay del codigo de inyeccion?
por cierto te falto el break en el case DLL_PROCESS_ATTACH, nota que el compilador podria hacer una optimizacion es por eso.


En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Porque falla esta inyección?
« Respuesta #2 en: 1 Octubre 2013, 01:33 am »

Gracias por responder x64! El inyector funciona, porque si cargo una dll con un MessageBox no hay problema.. Ya lo probe con los breaks, pero aun asi lo cuelga, es con esa api el problema  :silbar: ahora estaba por probar la "descarga inyectada" con peticion GET HTTP, pero me interesaria que funcione de las dos formas, si se precisa algun análisis lo hago y lo posteo,, (no se mucho de depurar y de aqui a que pueda depurar un proceso inyectado... es la muerte)  :(

Saludos!!
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Porque falla esta inyección?
« Respuesta #3 en: 1 Octubre 2013, 02:26 am »

Gracias por responder x64! El inyector funciona, porque si cargo una dll con un MessageBox no hay problema.. Ya lo probe con los breaks, pero aun asi lo cuelga, es con esa api el problema  :silbar: ahora estaba por probar la "descarga inyectada" con peticion GET HTTP, pero me interesaria que funcione de las dos formas, si se precisa algun análisis lo hago y lo posteo,, (no se mucho de depurar y de aqui a que pueda depurar un proceso inyectado... es la muerte)  :(

Saludos!!
Pues si dices que funciona, entonces lo mejor es hacer una depuracion en tiempo real, depurar el proceso objetivo ( pueda quieras notar que  el chrome tiene procesos hijos ).
selecionas tu depurador de preferencia digamos ollydbg que se detenga en cada modulo cargado asi podras detenerlo cuando se cargue tu modulo o puedes escribir esto al inicio del codigo fuente:
__asm int 3
Para que se detenga cuando se ejecute esa instruccion. si genera una excepcion copia el desemsablado , pila de llamadas, registros , el ultimo error aqui, lo voy
a analizar.

-----
O talvez tu problema no alguna excepcion sino creando otro hilo para hacer la descarga?
« Última modificación: 1 Octubre 2013, 03:43 am por x64Core » En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Porque falla esta inyección?
« Respuesta #4 en: 1 Octubre 2013, 06:35 am »

Efectivamente x64! Un hilo soluciono el problema.. Muchas Gracias!

Ahora puedo hacer otra pregunta? Porque el otro dia pregunte y nadie me respondio.. Tu sabes como es eso de agregarle funcionalidades a un programa con inyeccion dll? Yo tendria que debuguear a fondo para conocer las funciones del programa objetivo, no? Para asi modificarlo a gusto?

Gracias otra vez!
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Porque falla esta inyección?
« Respuesta #5 en: 1 Octubre 2013, 07:35 am »

Efectivamente x64! Un hilo soluciono el problema.. Muchas Gracias!

Ahora puedo hacer otra pregunta? Porque el otro dia pregunte y nadie me respondio.. Tu sabes como es eso de agregarle funcionalidades a un programa con inyeccion dll? Yo tendria que debuguear a fondo para conocer las funciones del programa objetivo, no? Para asi modificarlo a gusto?

Gracias otra vez!
Dependiendo del programa y de que tipo de funcionalidades quieras, que es lo quieres hacer?
En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Porque falla esta inyección?
« Respuesta #6 en: 1 Octubre 2013, 19:53 pm »

En realidad, no es que tenga algo pensado.. pero supongamos este escenario: Quiero hacer un wallhack para un juego FPS online (por decir algo, no me gusta hacer trampa en los juegos jaja) bueno, como podria yo saber que tengo que modificar? crackeandolo primero, no? o existen otros metodos para hacer este tipo de cosas?

Gracias!
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Porque falla esta inyección?
« Respuesta #7 en: 3 Octubre 2013, 22:30 pm »

En realidad, no es que tenga algo pensado.. pero supongamos este escenario: Quiero hacer un wallhack para un juego FPS online (por decir algo, no me gusta hacer trampa en los juegos jaja) bueno, como podria yo saber que tengo que modificar? crackeandolo primero, no? o existen otros metodos para hacer este tipo de cosas?

Gracias!
La mayoria de veces hookeando funciones del sistema operativo pero eso depende,si, a depurar.
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