-
BOF 준비운동 (3)Wargame Site/BOF 2019. 4. 22. 17:13
STEP6 > 인자
함수의 인자가 없는 경우 STEP 4 에서 다뤘던 방식으로 프로그램이 작동한다.
하지만, 인자가 있는 경우에 Stack 에서는 인자를 처리해주는 과정이 추가된다.
한 마디로 정리해서 인자들을 끝에서 부터 PUSH 하는 과정이 추가된다.
위의 사진 처럼 c, b, a 의 순으로 스택에 저장되는 것을 알 수 있다.
이 다음 Sum Function 의 Prolog 가 진행되며, Sum 함수가 Stack 에 쌓이는 최종 모습은 다음과 같다.
STEP7 > 지역변수와 인자
자, 이제 좀더 들어가서 지역변수와 인자에 구분되는 특징을 이해해보자. 자 바로 지역변수와 인자를 접근하는 방법이다.
결론부터 말하자면 인자는 EBP 를 기준으로 + 방향에 놓이게 되고, 지역변수는 EBP 를 기준으로 - 방향에 놓인다는 것을 알 수 있다.
'Wargame Site > BOF' 카테고리의 다른 글
BOF ASLR (0) 2019.04.24 BOF 들어가기 앞서 (0) 2019.04.24 BOF 준비운동 (4) (0) 2019.04.23 BOF 준비운동 (2) (0) 2019.04.22 BOF 준비운동 (1) (0) 2019.04.21 댓글