Security/Reversing
함수 호출 규약
래울
2020. 3. 7. 16:33
주요 함수 호출 규약으로 cdecl, stdcall, fastcall 의 3가지가 있으며, 이외에도 clrcall, thiscall fortran등등의 규약들이 존재한다.
함수 호출 규약의 구분
- 인자 전달(인자 전달의 순서)
- 인자 전달에 사용하는 매체(스택, 레지스터)
함수 호출 규약의 종류
규악 | 정리하는 쪽 | 인자 전달 매체 | 인자 전달 순서 |
cdecl | Caller | 스택 | 오른쪽에서 왼쪽 |
stdcall | Callee | 스택 | 오른쪽에서 왼쪽 |
fastcall | Callee | 레지스터, 스택 | 오른쪽에서 왼쪽 |
*Caller, 호출자 - 함수를 호출한 쪽
*Callee, 피호출자 - 호출을 당한 함수
9 10