프로시저(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 |