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 레지스터를 사용해 전달