#include #include int main(int argc, char *argv[]) { int offset; int size; int i; unsigned char byte; FILE *rw; if (argc < 3) { fprintf(stderr, "Usage: %s file address_of_header\n", argv[0]); exit(1); } if ((rw = fopen(argv[1], "rb")) == NULL) { fprintf(stderr, "Could not open file: %s\n", argv[1]); exit(1); } sscanf(argv[2], "%X", &offset); fseek(rw, offset, 0); fseek(rw, 4, SEEK_CUR); fread(&size, 4, 1, rw); fseek(rw, 4, SEEK_CUR); offset += 12; for (i = 0; i < size; i++) { if ((i % 16) == 0) printf("\n"); byte = getc(rw); printf("%02X ", byte); } printf("\n"); return 0; }