-
[System Security] 6.1 스택 구조 분석Security/System Security 2021. 5. 10. 16:13
함수 호출 프로시저
파라미터 저장 -> 함수 프롤로그 -> 함수 call -> 함수 Body -> 함수 ret -> 함수 에필로그 -> 파라미터 해제 순서로 진행
파라미터 저장: 파라미터 패싱을 위해
sub esp, 8 : 8바이트 크기의 파라미터들을 사용
함수 프롤로그 : 호출 전 스택 정리
push ebp : 이전 함수가 사용하던 스택의 ebp를 저장
mov ebp, esp : 새로운 함수가 사용할 스택의 ebp를 지정
함수 call
call add = push eip, jmp add
push eip : add함수의 return 주소를 지정
jmp add : mov eip, &add
함수 ret
ret = pop eip
pop eip : add 함수의 return 주소를 eip에 저장
함수 에필로그 : 호출 후 스택 정리
mov esp, ebp : 새로운 함수가 사용하던 stack 정리
pop ebp : 이전 함수가 사용하던 스택으로 ebp 복귀
파라미터 해제
add esp, 8 : 사용한 파라미터 해제
'Security > System Security' 카테고리의 다른 글
[System Security] 6.3 Hello World! 리버싱 (0) 2021.05.10 [System Security] 6.2 함수 호출 규약 (0) 2021.05.10 [System Security] 5.3 Assembly 기본 문법 (0) 2021.05.10 [System Security] 5.2 Addressing Modes (0) 2021.05.10 [System Security] 5.1 Assembly 개요 (0) 2021.05.10