프로시저(Procedure)는 특정 기능을 수행하는 코드 조각을 말합니다. 프로시저를 사용하면 반복되는 연산을 프로시저 호출로 대체할 수 있어서 전체 코드의 크기를 줄일 수 있으며, 기능별로 코드 조각에 이름을 붙일 수 있게 되어 코드의 가독성을 크게 높일 수 있습니다.

x64어셈블리 언어에는 프로시저의 호출과 반환을 위한 call, leave, ret 명령어가 있습니다.

 

call addr : addr에 위치한 프로시저 호출

연산

push return_address

jmp addr

 

leave : 스택프레임 정리

연산

mov rsp, rbp

pop rbp

 

ret : return address로 반환

연산

pop rip

'Dreamhack - Reverse Engineering' 카테고리의 다른 글

IDA 사용법  (0) 2022.02.18
Exercise: Helloworld  (0) 2022.02.18
x86 Assembly🤖: Essential Part  (0) 2022.02.18
Windows Memory Layout  (0) 2022.02.18
Background: Computer Architecture  (0) 2022.02.18