call instruction
2018. 5. 27. 09:47
CALL (Call a Procedure)
함수 호출시 사용된다. JMP명령어 같이 프로그램의 실행 흐름이 변경되지만 JMP명령와 다른 점은 되돌아올 리턴 어드레스(CALL 다음 명령)를 스택에 저장한다는 것이다. 되돌아올 주소를 저장하기 떄문에 함수 호출 후 원래 위치로 실행 흐름을 되돌릴 수 있다. 호출한 함수가 일을 다 마치면 원래 위치에서 다시 프로그램이 실행될 수 있음을 의미한다.
call & jmp 명령의 차이
- call 명령은 함수가 호출되기전 Return adress 인 EIP(다음명령주소)를 Stack 최상단에 넣고 함수를 호출
'Pwnable!!' 카테고리의 다른 글
bash drop privileges (0) | 2018.07.06 |
---|---|
매직 가젯, 원샷 가젯 (64bit O / 32bit eax라면 O/ rax X) (0) | 2018.05.28 |
ROP gadget 찾기 (gdb-peda, rp++) (0) | 2018.05.26 |
linux에서 lib64의 base address 확인 및 팁 (0) | 2018.05.24 |
64bit ROP & 64bit BOF (0) | 2018.05.24 |