안녕하세요~!
웹 서핑을 하다가 다음과 같은 글이 있더라구요..
=============================================================
#include<string.h>
void main(int argc, char *argv<>)
{
char a;
float b;
double c;
int *d;
int e;
char *f[100];
char buffer[700];
if (argc>1)
strcpy(buffer, argv[1]);
}
위의 코드에서 buffer의 어드레스를 기준으로 덤프(dump)해 보면 다음과 같다.
이를 분석해 보면,
・00000~00699 : char buffer[700];
・00700~01099 : char *f[100];
・01100~01103 : int e;
・01104~01107 : int *d;
・01108~01115 : double c;
・01116~01119 : float b;
・01120 : char c;
・01121~01123 : garbage data
・01124~01127 : saved frame pointer (0x00000000)
・01128~01131 : return address (0x08048496)
================================================================
이렇게 있는데요, 어드레스는 예제라 실제와는 틀리겠지만, 어떻게
Dump 해서 각 변수나, return address 를 추적하나요?
조언 부탁드립니다.