Load Of Bof

./dumpcode.h

wakira 2014. 8. 2. 16:39

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");

}






사용법




int main(int argc, char *argv[])

{   

    char buffer[256];

    if(argc < 2){

        printf("argv error\n");

        exit(0);

    }

    strcpy(buffer, argv[1]);

    dumpcode(buffer,60);

    printf("%s\n", buffer);

}