http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=6605 [º¹»ç]
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++)
{
// 16¹ÙÀÌÆ® ´ÜÀ§·Î ÁÖ¼Ò Ãâ·Â
if(i%16==0)
printf(¡°0x%08x ¡°,&buff[i]);
// hex °ª Ãâ·Â
printf(¡°%02x ¡°,buff[i]);
// ÇØ´ç 16Áø¼öµéÀ» °¢°¢ ¹®ÀÚ·Î Ãâ·Â
if(i%16-15==0)
{
int j;
printf(¡° ¡°);
for(j=i-15;j<=i;j++)
printchar(buff[j]);
printf(¡°\n¡±);
}
}
// ¸¶Áö¸· ¶óÀÎÀÌ 16¹ÙÀÌÆ® ÀÌÇÏÀÏ °æ¿ì Á¤·Ä À¯Áö
if(i%16!=0)
{
int j;
int spaces=(len-i+16-i%16)*3+2;
for(j=0;j<spaces;j++)
printf(¡° ¡°); // ºÎÁ·ÇÑ °ø°£¸¸Å space·Î À̵¿ÇÑ ÈÄ,
for(j=i-i%16;j<len;j++)
printchar(buff[j]); // ³²Àº ¹®ÀÚ °ªµé Ãâ·Â
}
printf(¡°\n¡±);
}
: // ÇØ´ç 16Áø¼öµéÀ» °¢°¢ ¹®ÀÚ·Î Ãâ·Â À̺κп¡¼
if(i%16-15==0) ÀÌ°ÍÀÌ ÀÌÇØ°¡ ¾È°©´Ï´Ù 16À» ³ª´«³ª¸ÓÁö¿¡
¿Ö -15¸¦ »©´ÂÁö Àß ¸ð¸£°Ú¾î¿ä
int spaces=(len-i+16-i%16)*3+2; ±×¸®°í À̺κеµ ³Ê¹« º¹ÀâÇؼ
¾î¶»°Ô °è»ê µÇ´ÂÁö Àß ¸ð¸£°Ú¾î¿ä Ȥ½Ã ¾Æ½Ã´Â ºÐ ÀÖÀ¸½Å°¡¿ä?
|
Hit : 3664 Date : 2018/11/06 03:06
|