![]() |
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. |
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. |
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.