Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 대학원
- Kublet
- 계정 탈취
- 보안
- Mac
- 무선채널
- SecurityMetric
- ip forwarding
- AttackGraph
- Chrome 작업관리자
- Social Network in Game
- 액티브스캐닝
- 강의
- dnsenum
- 넷크래프트
- 패시브스캐닝
- 공격그래프
- davtest
- NMAP
- 프로젝트
- airdecap-ng
- OIDC
- Mimikatz
- Shift + ESC
- OpenID Connect
- Container
- 화이트해커
- recon-ng
- cgroups
- decap
Archives
- Today
- Total
네른
Calling Convention 본문
컴파일러별로 함수 호출시 사용하는 규약이 다름
x86 : 레지스터 수가 적어 스택을 통해 인자를 전달
- cdecl
- stdcall
- fastcall
- thiscall
x86-64
- System V (SYSV)
- MS ABI : Windows Syscall에 사용됨
cdecl
- 인자 전달에 사용한 스택을 "호출자(Caller)"가 정리함
SYSV
- 인자를 레지스터에 담아 전달함 (RDI, RSI, RDX, RCX, R8, R9 순서대로 + 이후에는 스택)
- Caller가 스택을 정리함
- 반환값은 RAX에 담김
- push 하나당 rsp가 8씩 감소함을 생각하자(esp의 두배)
- callee가 종료되면 leave 명령어고 rbp를 꺼내고 ret 명령어로 rip를 되돌림
- 이후 caller가 사용된 rsp를 더함(스택 정리)
'강의 정리 > 드림핵 정리' 카테고리의 다른 글
Stack Canary (0) | 2022.02.17 |
---|---|
Stack Buffer Overflow (0) | 2022.02.15 |
pwntools API 정리 (0) | 2022.02.11 |
orw shellcode (0) | 2022.02.11 |
2. FSB - Format String Bug / Double Free / Use After Free (0) | 2021.02.24 |
Comments