Reversing
C언어와 어셈블리어로 스택프레임 공부하기
C언어와 어셈블리어로 스택 프레임 이해하기! 우선 더하기를 해주는 간단한 함수를 만들고 그 함수를 예제로 설명해보겠다. #include int sum(int a, int b) { return a + b; } int main(void) { int c = sum(1, 2); printf("%d\n",c); return c; } 위 함수는 두 인자 a, b 를 받아서 더한 값을 반환한뒤 그 값을 출력해주는 함수이다. 그럼 이제 어셈블리어로 살펴보자 위 사진은 앞서 보았던 함수의 main 부분이다. 순서대로 내려가 보면 push rbp 로 rbp를 깔아주고 mov rsp, rbp 로 rsp를 rbp 위치로 끌고온다. sub 16, rsp 로 16만큼의 공간을 만들어주고 mov 2, esi 로 esi의 2라는 값..
2019. 11. 11. 01:40