#include #include #include #define ALIGN(x,y) ( (((x)%(y))==0) ? (x) : ((x)+((y)-((x)%(y)))) ) int main(int argc, char **argv){ if (argc<2){ puts("usage: xview "); return 1; } FILE *fp = fopen(argv[1],"rb"); fseek(fp,0,SEEK_END); size_t filesize = ftell(fp); fseek(fp,0,SEEK_SET); unsigned char *data = malloc(filesize); fread(data,filesize,1,fp); unsigned int i; for (i=0;i' ' && data[i-backset-1]<'~') putchar(data[i-backset-1]); else putchar('.'); } } putchar('\n'); } if (i%8==0) putchar(' '); if (i>filesize-1){ printf(" "); }else{ printf("%.2X ",data[i]); } } return 0; }