함수 호출 규약(cdecl, stdcall)


함수 호출 규약에 대해서 알아보겠습니다.


함수 호출 규약은 크게 두 가지가 있습니다.
함수를 호출 한 쪽에서 스택을 정리하는 cdecl 방식과
함수 내부에서 스택을 정리하는 stdcall 방식입니다.

cdecl 방식의 경우, 보통 C 언어에서 사용합니다.
CALL 함수 뒤에, 'ADD ESP, 4' 식으로 스택을 정리합니다.

stdcall 방식의 경우, 보통 Win32 API에서 사용합니다.
함수를 빠져나가기 전에 'RETN 4' 식으로 스택을 정리합니다.




'RETN 4'는 'ESP + 4'라고 보셔도 됩니다.


끝.



카테고리: Reversing

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

Python bytes.fromhex()

Android Minimum touch target size

tensorflow tf.random.uniform()

tensorflow tf.expand_dims()

KiCad 시작하기 2 (PCB 만들기)

Forensics .pyc 파일 .py로 복구하기

Android Java 8+ Api desugaring

Android Notification with Full Screen