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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Problema al sobrescribir
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problema al sobrescribir  (Leído 6,720 veces)
MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Problema al sobrescribir
« en: 30 Septiembre 2010, 21:33 pm »

Hola. Estoy escribiendo un programillo que, aunque no está destinado a ser malware (aunque quien sabe... xD), tiene una estructura con cierta similitud a un virus (o eso me parece a mi). Como creo que el error no es de programación, sino que está causado porque windows no deja realizar una acción, os escribo este tema en este subforo.
Si pensais que no corresponde a esta sección, aceptad mis disculpas y el tema.

Comencemos: lo que trato de hacer es un programa (en c++) que se ejecute cada vez que abro el firefox. Lo estoy intentando de esta manera: (solo pondré la parte del codigo que nos interesa)

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <windows.h>
  4. #include <stdio.h>
  5. #include <dir.h>
  6.  
  7. int main()
  8. {
  9.     char filefox[]="C:\\Program Files\\Mozilla Firefox\\filefox.exe";
  10.     FILE *fl = fopen(filefox,"r");
  11.  
  12. if( fl ) {    //Compruebo si el archivo filefox existe
  13. fclose(fl);
  14. exit(0); //Si existe se cierra el programa
  15. }
  16. else
  17. {
  18. CopyFile("C:\\Program Files\\Mozilla Firefox\\firefox.exe","C:\\Program Files\\Mozilla Firefox\\filefox.exe",FALSE);
  19. //Si no existe hago una copia de firefox llamandola "filefox"
  20.  
  21. //AQUÍ ES DONDE ESTÁ EL FALLO, ahora intento sobrescribir firefox con este archivo
  22. if(CopyFile("proyecto2.exe","C:\\Program Files\\Mozilla Firefox\\firefox.exe",FALSE)==1)
  23. {printf("bien hecho"); //Se sobrescribe
  24. }
  25. else
  26. {
  27.    printf("mal hecho"); //No se sobrescribe
  28. }
  29.  
  30. }
  31. getchar();
  32. }
  33.  

(finalmente quedaría ejecutar "filefox.exe" para que se abra internet normalmente)

Por desgracia se imprime en pantalla "mal hecho". Lo estoy ejecutando como administrador, y con firefox.exe cerrado.

¿Hay algo que haya olvidado tener en cuenta?
¿Lo que intento hacer es posible?
¿Hay alguna otra forma de hacelo?


PD: por si hace falta, uso win7 =P
Gracias... MasterPunk
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Problema al sobrescribir
« Respuesta #1 en: 1 Octubre 2010, 00:11 am »

Que tal si matas el proceso de firefox.exe?  :xD Si el proceso esta abierto no te deja ni sobrescribir ni eliminar el archivo...

De todas formas, podrias leer sobre BHO para ejecutar cosas con el explorador.
En línea

Killtrojan Syslog v1.44: ENTRAR
APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Problema al sobrescribir
« Respuesta #2 en: 1 Octubre 2010, 00:53 am »

También podrías crear un stub que ejecute ambos firefox y tu programa, para que siga siendo funcional el firefox.
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Problema al sobrescribir
« Respuesta #3 en: 1 Octubre 2010, 01:07 am »

Que tal si matas el proceso de firefox.exe?  :xD Si el proceso esta abierto no te deja ni sobrescribir ni eliminar el archivo...

servirá
Código
  1. system("taskkill firefox.exe");
??
En línea

APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Problema al sobrescribir
« Respuesta #4 en: 1 Octubre 2010, 01:10 am »

Mmh, mejor system("taskkill /f /im firefox.exe");
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Problema al sobrescribir
« Respuesta #5 en: 1 Octubre 2010, 01:21 am »

Mmh, mejor system("taskkill /f /im firefox.exe");

/f??

hara falta forzar para cerrar el firefox?? bueno, lo añado al programa y ya os cuento si funciona (pero ya para mañana)
En línea

APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Problema al sobrescribir
« Respuesta #6 en: 1 Octubre 2010, 01:25 am »

Porque si no lo forzas, puede llegar a no cerrarse.
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Problema al sobrescribir
« Respuesta #7 en: 1 Octubre 2010, 01:35 am »

Nada, no se cierra xD
algo he hecho mal.

De todas formas he cerrado el proceso "a mano" y tampoco sustituye el archivo.
En línea

APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Problema al sobrescribir
« Respuesta #8 en: 1 Octubre 2010, 01:39 am »

Debería cerrarse, probá el comando a mano.
Por que no usas GetLastError para ver cual es el error que te arroja?
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
Jaixon Jax


Desconectado Desconectado

Mensajes: 859



Ver Perfil
Re: Problema al sobrescribir
« Respuesta #9 en: 1 Octubre 2010, 05:41 am »

  TerminateProcess, GetExitCode, ProcessNext32 lee las msdn de esas apis con apis no hay falla a no ser que el proceso este protegido en ring 0 ;D eso de estar llamando cmd a cada rato es asqueroso  :P

  La cuestion es enumerar los procesos con ProcessNext32 comparas el nombre con firefox.exe si coincide obtienes el pid del proceso con OpenProcess y luego obtienes el exitcode con GetExitCode pasandole el pid como parametro y al final lo terminas con TerminateProcess pasandole el exitcode y el handle como parametro  :) ....
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No puedo sobrescribir EIP (Linux) « 1 2 3 4 5 »
Bugs y Exploits
zhynar_X 46 26,968 Último mensaje 7 Enero 2011, 12:50 pm
por Garfield07
Sobrescribir addEventListener en todos los objetos
Desarrollo Web
patilanz 2 1,744 Último mensaje 1 Enero 2016, 16:40 pm
por patilanz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines