Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - <<<-Basura->>>

#11
Depende del sistema que se este usando pero:
int     : 4 bytes
long   : 4 bytes


En lo mas profundo son siempre lo mismo
#12
La respuesta es no. Que compilador estas usando ??

Nota: Falta cerrar el Fichero: newFile
fclose (newFile);
#13
Gracias por publicar tu código: rir3760
Gracias la ayuda brindada me ayudo a resolver el problema: do-while

Ya tengo mi solución también, para quien la necesite:


#include<stdio.h>

int main(){
FILE * pFile;
FILE * newFile;
long size;

pFile = fopen ("Hola.exe","rb");
newFile = fopen("EXE.exe","w+b");

if (pFile==NULL && newFile==NULL) perror ("Error opening file");
else
{
printf("Leyendo archivo\n");
fseek ( pFile , 0 , SEEK_END );
size=ftell (pFile);
printf("Total de bytes: %d\n",size);

fseek ( pFile , 0 , SEEK_SET );
unsigned char buffer;
for(int i = 0; i < size ; i++ ){
fread(&buffer,1,1,pFile);
//printf("%c",buffer);
fwrite(&buffer, 1, sizeof(buffer), newFile);
}

}

fclose (pFile);
getchar();
return 0;
}
#14
Cita de: x64Core en 28 Febrero 2014, 19:24 PM
La salida esta bien, así es como son representados los caracteres en ANSI-ASCII.
Los ejecutable no tiene nada que ver con la codificacion de caracteres. Podes abrir algun ejecutable con un editor hexadecimal
y se mostrara la representación en hexadecimal y la codificación que tenga establecida generalmente ANSI-ASCII. para hacerlo
así como ellos podes usar sprintf pasando byte por byte.



La salida esta mal ya que no representa lo que necesito, estoy viendo el mismo contenido del "exe" en el notepad++

También se hex y binario, y ASCII code

Se lo que necesito pero no se como hacerlo.


Cita de: do-while en 28 Febrero 2014, 19:49 PM
¡Buenas!

No intentes utilizar la función feof para saber si has llegado al final de un archivo binario. Te puede dar falsos positivos, y la mayor parte de las veces te los dará (no me preguntes porqué), y no podrás leer el contenido del archivo.

Primero tienes que saber el tamaño, en bytes, del fichero (utilizando por ejemplo ftell y fseek), y luego empiezas a leer datos desde el principio hasta alcanzar el numero de bytes que tenga el fichero.

Si no conoces las fuciónes anteriores en www.cplusplus.com encontraras mas información.

¡Saludos!

Gracias por tu información voy hacer la prueba de lo que me dices!! Muchas gracias!!
#15
Listo mire tengo este código simple:


#include<stdio.h>

int main(){
FILE *file;
unsigned char buffer;

//file = fopen("Prueba.txt","r+");
file = fopen("HolaMundo.exe","r+");
if(file!=NULL){
//printf("Archivo Abierto con exito.");
//fread(&buffer,1,1,file);
//printf("%c",buffer);

int linea = 1;
while (fread(&buffer, 1, 1, file) == 1) // expecting 1
// element of size
// BUFFER_SIZE
{
// process buffer

// print format
if(linea>=1 && linea<=8)
printf(" %c",buffer);
if(linea==8)
printf(" - ");
if(linea>=9 && linea<=15)
printf(" %c",buffer);
if(linea==16){
printf("\n");
linea=0;
}
linea++;
}
if (feof(file))
{
  // hit end of file
}
else
{
  // some other error interrupted read
}



fclose(file);
}else{
printf("Apertura del Fichero no fue exitosa.");
}

getchar();
return 0;
}


Bueno el código expuesto puede leer archivos de texto plano y los va a leer perfectamente. ya lo probé.

A la hora de leer un archivo *.exe tengo el pequeño que lo lee mal.


Como pueden ver es absurda la salida, si pueden leer en la salida se puede leer algo como:
This program can be run in dos mode
Este programa puede ser corrido en dos modo


Pero cuando lo abro con notepad++ y lo guardo como txt si realizo lo que necesito,  el problema es que no necesito abrirlo con notepad++ sino necesito hacer un programa que lo haga...


NOTA: que se parece absurdo transformar un exe a texto. pero es que realmente lo necesito.
#16
Ok gracias a todos;

Para mi si tiene sentido pasarlo a texto.
No necesito des ensamblarlo.

Voy a realizar pruebas en mi LAB y voy a traer código
#17
Claro que tiene mucho sentido, para lo que estoy realizando. Eso busco. pero digamos cuando leo el archivo y lo paso a texto pasa que se pierden bytes o algo. y no pesa igual que el archivo exe entonces mi duda es.... Si esto se puede realizar es que lo necesito urgente! voy a intentar con algunos código en internet si conoces alguna fuente puedes pasarme la por favor
#18
1.  Hola bueno lo que necesito es simple, Quiero tomar un fichero binario y transformarlo en texto... luego cuando tengo el texto quiero transformarlo a exe.

2.  Quisiera saber también como leer este fichero en Binario.
#19
Programación C/C++ / Offset, Significado ??
7 Enero 2014, 18:45 PM
He visto en varios lugares el parámetro offset y no se que significa si alguien me lo puede aclarar?? :huh: :huh: :huh:
#20
Programación C/C++ / Re: valor de Retorno
2 Enero 2014, 18:25 PM
Te refieres a si tengo estos bytes:

00001111

Al yo aplicar el complemento a uno cambiaran a:

11110000