Fascination
article thumbnail
[Dreamhack] Background: Calling Convention
Hacking Tech/System Hacking 2022. 8. 31. 02:13

Background: Calling Convention # 서론 1. 함수 호출 규약 함수 호출 규약: 함수의 호출 및 반환에 대한 약속 한 함수에서 다른 함수를 호출할 때, 프로그램 실행 흐름은 다른 함수로 이동함 호출한 함수가 반환하면, 다시 원래의 함수로 돌아와서 기존의 실행 흐름을 이어나감 함수를 호출할 때는 반환된 이후를 위해 호출자(Caller)의 상태(Stack Frame) 및 반환 주소(Return Address)를 지정해야 함 호출자는 피호출자(Callee)가 요구하는 인자를 전달해줘야 하며, 피호출자의 실행이 종료될 때는 반환 값을 전달받아야 함 2. 함수 호출 규약 종류 컴파일러는 지원하는 호출 규약 중, CPU 아키텍처에 적합한 것을 선택함 x86(32bit) 아키텍처는 레지스터를 ..