Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   leer ficheros *.exe en C (http://www.forosdelweb.com/f96/leer-ficheros-exe-c-584551/)

maria1 09/05/2008 02:50

leer ficheros *.exe en C
 
Hola, quiero crear un programa en C que lea un fichero *.exe y modifique su contenido.
La lectura la he hecho tanto co fgets como con fread (una para tipo texto y otra para binario),. Con la lectura en binario obtengo una seria de caracteres ininteligibles la mayoria de ellos.
Con un software que tengo he abierto el *.exe y lo que allí aparece no es lo que a mí me sale por pantalla. El código que he puesto ha sido:

char cadena[100];
fichero=fopen("C:\ejemplo1.exe","r");
while(feof(fichero)==0){

fgets(cadena,100,fichero);
printf("%s",cadena);
}

char cadena[100];
fichero=fopen("C:\ejemplo1.exe","r");
while(feof(fichero)==0){

fread(cadena,sizeof(cadena),1,fichero);
printf("%s",cadena);
}

Alguien me puede decir cómo hacerlo o si existen otras funciones para hacerlo. Gracias.

GagleKas 09/05/2008 06:26

Re: leer ficheros *.exe en C
 
No se puede leer directamente un ejecutable, solo archivos de texto y binarios. Prueba a abrirlo con el notepad++ y veras que salen simbolos raros.

Eternal Idol 09/05/2008 06:50

Re: leer ficheros *.exe en C
 
¿Con que software lo abriste? El codigo fuente no lo vas a poder leer ya que no esta ahi, lo que tenes es justamente un archivo binario con el codigo compilado y enlazado, en caso de que quieras seguir adelante - es algo muy complejo modificar un ejecutable - informate sobre el formato PE:

http://en.wikipedia.org/wiki/Portable_Executable
http://www.microsoft.com/whdc/system...re/PECOFF.mspx


La zona horaria es GMT -6. Ahora son las 06:26.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.