Autor
|
Tema: dll inyectada (Leído 3,411 veces)
|
manu801004
Desconectado
Mensajes: 13
|
Hola foro:
he conseguido inyectar una dll en el notepad. Todo va bien con el messagebox,pero al incluir una funcion que cree un archivo de texto en el directorio C:\. el notepad deja de funcionar.
Lo puedo solucionar con AdjustTokenPrivileges????
#include <windows.h> #include <stdio.h> bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason==DLL_PROCESS_ATTACH) { MessageBox(0,"hola","",0); FILE *arch=fopen("c:\\archprueba.txt","w"); fclose(arch); }
return TRUE; }
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
¿Que queres decir exactamente con "deja de funcionar"? ¿Se produce una excepcion no controlada? ¿Hay un deadlock? ¿Simplemente retorna ACCESS_DENIED el CreateFile que hace fopen?
Depuralo y averigua que pasa exactamente.
|
|
|
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
|
|
|
manu801004
Desconectado
Mensajes: 13
|
como decia, es una dll con 2 funciones. A la hora de depurar sale la siguiente advertencia: Primera excepción en 0x76e69a6f en llamadoreon.exe: 0xC0000008: An invalid handle was specified. , doy a continuar, el programa sigue y se muestra el messagebox pero al quitarlo,con el boton de aceptar pasa a la siguiente funcion y el programa en la que la dll esta inyectada deja de funcionar y se reinicia, sin ejecutar la funcion que crea el archivo .txt. P.D: ...compila perfectamente en modo release
|
|
« Última modificación: 26 Octubre 2010, 17:33 pm por manu801004 »
|
En línea
|
|
|
|
flony
Desconectado
Mensajes: 584
|
no seria asi? #include <windows.h> #include <stdio.h> bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason==DLL_PROCESS_ATTACH) { MessageBox(NULL ,TEXT("hola"),TEXT(""),0); FILE *arch=fopen("c:\\archprueba.txt", "w"); fclose(arch); }
return TRUE; }
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
como decia, es una dll con 2 funciones. ¿Donde decias eso y donde estan las funciones? ¿O te referis a que LLAMAS a dos funciones? A la hora de depurar sale la siguiente advertencia: Primera excepción en 0x76e69a6f en llamadoreon.exe: 0xC0000008: An invalid handle was specified. , doy a continuar, el programa sigue y se muestra el messagebox pero al quitarlo,con el boton de aceptar pasa a la siguiente funcion y el programa en la que la dll esta inyectada deja de funcionar y se reinicia, sin ejecutar la funcion que crea el archivo .txt. No es lo suficientemente claro para saber que pasa exactamente pero proba a usar la API de Windows (CreateFile/CloseHandle) en lugar de la CRT (fopen/fclose). PD. Para poder solucionarlo con AdjustTokenPrivileges tendria que ser un caso donde retornara error de la funcion fopen.
|
|
|
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
|
|
|
manu801004
Desconectado
Mensajes: 13
|
PD. Para poder solucionarlo con AdjustTokenPrivileges tendria que ser un caso donde retornara error de la funcion fopen no error, pero si advertencia cuando compilo: Advertencia 1 warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
P:D: ..gracias flony pero pasa lo mismo. Probare con "createfile"
|
|
« Última modificación: 26 Octubre 2010, 18:09 pm por manu801004 »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Decia que retornara error, es decir que no pudiera abrir el archivo, su valor de retorno fuera NULL y errno fuera INVAL, pero el programa continuara normalmente su ejecucion.
El warning este no tiene importancia, proba con CreateFile/CloseHandle.
|
|
|
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
|
|
|
manu801004
Desconectado
Mensajes: 13
|
Probare Createfile Gracias Eternal
|
|
|
En línea
|
|
|
|
|
|