336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
2. 함수호출규약
1) 스택프레임 (Stack Frame)
2) 함수 호출 시 스택의 변화 순서
3) 호출규약 종류
▣ cdecl
1. c/c++에서 사용되는 기본 규약
2. 인자를 스택을 통해서 전달 ( <-- : 마지막 인자부터 )
3. Caller에서 인자정리
☞ 가변인자함수가 가능
▣ stdcall
1. Visual Basic, WinAPI에서 사용
2 . 스택을 통해서 인자전달
3. Callee(처리부)에서 인자정리
☞ RET op1 : ESP를 op1 값만큼 증가시킴.
☞ 고정된 크기만큼 항상 정리를 해주니까 가변인자를 가지는 함수 못 만든다.
▣ fastcall
1. 델파이 언어
2. only 스택이 아닌 스택+레지스터를 통해 인자 전달 (인자 : ecx, edx, 스택)
3. 체감은 힘드나 속도가 더 빠름.
4. Callee에서 인자정리
cdecl |
std |
fastcall |
스택 |
스택 |
스택+레지스터 |
caller(가변인자가능) |
callee |
callee |
[TIP]
▣ _declspec(naked)
: 프롤로그 에필로그 같은 코드들을 아예 만들어주지 않고 직접 손으로 모든것을 다 짜야함. 변수마저도...
i2sec 대구지점 23기 수료생.
'해킹&보안 > 리버싱' 카테고리의 다른 글
[D+9] 패킹&언패킹 (1) (0) | 2017.04.11 |
---|---|
[D+8] PE 구조 (0) | 2017.04.10 |
[D+6] 리버싱 소개 (6) (0) | 2017.03.28 |
[D+5] 리버싱 소개 (5) (0) | 2017.03.27 |
[D+4] 리버싱 소개 (4) (0) | 2017.03.26 |