hex editor에서 보는 것처럼 데이터를 hex로 dump해주는 코드이다.
void hexdump(const uint8_t *buf, const uint32_t len) {
const uint32_t size = 16;
for (uint32_t i = 0; i < len; i += size) {
printf("[0x%04x] ", i);
for (size_t j = i; j < i + size; ++j) {
if (j == i + size/2) putchar(' ');
if (j>=len)
printf(" ");
else
printf("%02x ", buf[j]);
}
putchar(' ');
for (uint32_t j = i; j < i + size && j < len; ++j) {
if (j == i + size / 2) putchar(' ');
if (buf[j] >= 0x20 && buf[j] < 0x80)
putchar(buf[j]);
else
putchar('.');
}
putchar('\n');
}
putchar('\n');
}
/usr/include같은 디렉토리에 hexdump.h에 저장해두면 #include<hexdump.h> 후 간편히 사용할 수 있다.
'Documents' 카테고리의 다른 글
Core Dump 파일 생성 (0) | 2015.11.03 |
---|---|
기계어(opcode)와 어셈블리 서로 바꾸기 (0) | 2015.10.01 |
Using Multiple(Virtual) Desktop in Windows 10 VMware (0) | 2015.08.22 |
Windows 10에서 MS Office 에러 (0) | 2015.08.19 |
Diophantine Equation(디오판틴 방정식)과 파이썬 코드 (0) | 2015.04.20 |