hexfile - conversor de binario/hexadecimal
Publicado por smith unix (última atualização em 09/01/2026)
[ Hits: 128 ]
Esse programa faz a leitura de um arquivo binário, por exemplo, um *.png e converte para um arquivo de texto *.hex, onde se encontra os valores hexadecimal, e também pode compilar um *.hex de volta para *.png, caso queira!
modo de usar:
abrir
./hexfile -a imagem.png
compilar
./hexfile -f imagem.png.hex
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main(int argc, char *argv[]){
// abre e fecha arquivos
FILE *fileOpen, *fileClose;
// byte a byte
int byte = 0;
// uso ./hexfile -a (abrir)
// ou ./hexfile -f (fechar)
if(strcmp(argv[1], "-a") == 0){
fileOpen = fopen(argv[2], "r");
// caso der merda
if(fileOpen == NULL){
perror("Erro de leitura");
return 1;
}
// concatenação com extenção .hex
char name[256];
strcpy(name, argv[2]);
strcat(name, ".hex");
fileClose = fopen(name, "w");
// caso der merda
if(fileClose == NULL){
perror("Erro de escrita");
return 1;
}
/* captura um byte de cada vez e escreve
em um arquivo *.hex */
while((byte = fgetc(fileOpen)) != EOF){
fprintf(fileClose, "%X ", byte);
}
// fecha
fclose(fileOpen);
fclose(fileClose);
} else if(strcmp(argv[1], "-f") == 0){
// faz a edição para nome original
char name[256];
strcpy(name, argv[2]);
name[strlen(name)-4]='\0';
fileOpen = fopen(argv[2], "r");
// caso der merda
if(fileOpen == NULL){
perror("Erro de leitura");
return 1;
}
fileClose = fopen(name, "wb");
if(fileClose == NULL){
perror("Erro de escrita");
}
// faz a leitura do *.hex e salva binario
while(fscanf(fileOpen, "%X", &byte) == 1){
fputc((unsigned char)byte, fileClose);
}
// fecha
fclose(fileOpen);
fclose(fileClose);
}
else{
// help
printf("use: ./hexfile -a [arquivo]\n");
printf("use: ./hexfile -f [arquivo]\n");
}
return 0;
}
Conversão integral de textos em letras maiúsculas
MakeInt - gerador de wordlist numérica
Pequeno simulador de Banco de Dados
Copia uma linha selecionada para um arquivo secundário
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Habilitando clipboard manager no ambiente COSMIC
A compatibilidade do LibreOffice com o Microsoft Office
Colocando hotcorner no COSMIC para exibir "workspaces"









