
Enviado em 01/02/2018 - 18:26h
Olá, estou trabalhando em um programa que converte arquivos binários em código hexadecimal, depois de muita pesquisa consegui converter os arquivos corretamente para HEX, mas estou tendo problemas em fazer o processo inverso.char *fnp = "imagem.png";
size_t size;
FILE *fp;
fp = fopen(fnp,"rb");
if( fp == NULL )
{
perror("Error while opening the file.\n");
exit(EXIT_FAILURE);
}
// Move o ponteiro para o final do arquivo
fseek(fp,0,SEEK_END);
// pega a posicao atual do ponteiro no arquivo
size = ftell(fp);
// Volta o ponteiro para a posicao inicial do arquivo
rewind(fp);
/*
* Listagem do conteudo do arquivo em hexadecimal
*/
char *sfinal = malloc((size * 8) + 1);
size_t i;
char *buffer = NULL;
int brk = 0;
buffer = malloc(size + 1);
fread(buffer, 1, size, fp);
for(i = 0; i < size; i++)
{
char hex[8];
sprintf(hex, "%.2X ", (unsigned int) buffer[i] & 0xff);
strcat( sfinal, hex );
if( !(++brk % 16) ) strcat( sfinal, "\n" );
}
free(buffer);
buffer = NULL;
//Fechamento do arquivo
fclose(fp);
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Aderencia a Obsolencia Programada. (2)
Não consigo criar pasta em um HD secundário. [RESOLVIDO] (0)
Jogos baixados na Central de Aplicativos mas que não abrem (2)









