Programming/C
dumpcode.h
Tribal
2016. 7. 5. 16:46
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | void printchar(unsigned char c) { if(isprint(c)) printf("%c",c); else printf("."); } void dumpcode(unsigned char *buff, int len) { int i; for(i=0; i<len; i++) { if(i%16==0) printf("0x%08x ",&buff[i]); printf("%02x ",buff[i]); if(i%16-15==0) { int j; printf(" "); for(j=i-15;j<=i;j++) printchar(buff[j]); printf("\n"); } } if(i%16!=0) { int j; int spaces=(len-i+16-i%16)*3+2; for(j=0;j<spaces;j++) printf(" "); for(j=i-i%16;j<len;j++) printchar(buff[j]); } printf("\n"); } | cs |
/usr/include 에 저장하면 편하게 쓸 수 있음
헤더 호출 후 사용방법 :
1 2 3 4 5 6 7 8 9 10 11 | #include <dumpcode.h> // /usr/include에 저장한 경우.. #include "./dumpcode.h" // 그냥 저장한 경우 int main(void) { char buffer[128]; int i = 0; dumpcode(buffer, 128); dumpcode(&i, 4); } | cs |