Security/System Security

[System Security] 6.2 함수 호출 규약

잉숭 2021. 5. 10. 16:58

cdecl

- c언어 표준 함수 호출 규약

- caller가 함수 파라미터를 정리

- callee가 파라미터 정리하는 것이 더 빠르지만 가변인자 함수를 지원하기 위해 caller가 정리

- 호출 직전, 호출 후 모두 caller가 정리

 

stdcall

- 윈도우 표준 함수 호출 규약

- callee가 함수 파라미터를 정리

- 함수 파라미터가 고정되어있기 때문에 callee가 정리

- 호출 전에는 caller가, 호출 후에는callee가 정리

- ret 8 : add esp, 8 + ret

 

fastcall

- 레지스터를 이용

- callee가 정리

- ecx, edx 레지스터를 사용해 전달