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-7==0)
printf("- ");
if(i%16-15==0)
{
int j;
printf(" ");
for(j=i-15;j<=i;j++)
printchar(buff[j]);
printf("\n\r");
}
}
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\r");
}
================
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "dumpcode.h"
int main (void)
{
char *str = "hello wolrd";
int i = 1;
int j = 2;
printf("%s\n\r", str);
dumpcode((char*)&str, 0x100);
dumpcode(str, 0x100);
return 0;
}
[출처] dumpcode.h|작성자 느림보
'System_Hacking' 카테고리의 다른 글
리버스 쉘 치트 시트 (Reverse Shell Cheat Sheet) (0) | 2014.05.23 |
---|---|
ldd 명령어 분석 ( for dynamic symbol 저장 위치 찾기) (0) | 2014.05.14 |
[ ROP gadget finder ] ROP 가젯 찾아주는 소스코드 (ARM MIPS x64 등등 지원) (0) | 2014.04.21 |
Shellcode Database (0) | 2013.12.12 |
[ 펌 ] win gdb 명령어 (0) | 2013.12.12 |