Enviado em 06/08/2022 - 12:33h
<stdio.h>
#define BLOCOS 16
FILE *Abre_hexdump(const char *caminho, const char *mode) {
FILE *fp;
if (!(fp = fopen(caminho, mode))){
printf("error ao abrir '%s'", caminho);
return 0;
}return fp;
}
int main(int argc, char const *argv[]){
FILE *fp_in, *fp_out;
unsigned char buf[BLOCOS];
size_t nread;
int i, c, npos;
if (argc < 2 || argc > 3){
printf("use: %s <file-in> [file-out]\n", argv[0]);
return 0;
}/* Abre o arquivo de entrada */
fp_in = Abre_hexdump(argv[1], "r");
/* Redirecionar a saída se um arquivo de saída for definido */
fp_out = (argc == 3 ? Abre_hexdump_open(argv[2], "w") : stdout);
npos = 0;
/* Exibir BLOCOS de bytes dos dados hexadecimais de cada vez */
while ((nread = fread(buf, 1, sizeof buf, fp_in)) > 1) {
fprintf(fp_out, "%04x: ", npos);
npos += BLOCOS;
/* print valores hexadecimais, exemplo 3f 62 ec f0*/
for (i = 0; i < BLOCOS; i++)
fprintf(fp_out, "%02x ", buf[i]);
/* print valores ascii ..A6..ó.j...D*/
for (i = 0; i < BLOCOS; i++) {
c = buf[i];
fprintf(fp_out, "%c", (c >= 33 && c <= 255 ? c : '.'));
}fprintf(fp_out, "\n");
}fclose(fp_in);
return 0;
}
(buf[i] >= 33 || buf[i] <=126); ou, >0x20 && <=0x7e
"%c", (c >= 33 && c <= 255 ? c : '.')
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
Instalação do Programa Imposto de Renda Pessoa Física 2023 [RESOLVIDO]... (6)
Instalando e compilando o GCC/G++ erro (4)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter