Process Explorer
- 프로세스 익스플로러는 시스템의 현재 상태를 가장 간단하면서 명확하게 체크할 수 있는 도구
- 장점
- Parent/Child 프로세스 트리 구조
- 프로세스 실행/종료 시 각각의 색깔(초록/빨강)로 표시
- 프로세스 Suspend/Resume 기능(실행 중지/재개)
- 프로세스 종료(kill) 기능(Kill Process Tree 기능 지원)
- DLL/Handle 검색(프로세스에 로딩된 DLL 또는 프로세스에서 점유하는 Handle 검색)
함수 호출 규약
함수 호출 후에 ESP(스택 포인터)를 어떻게 정리하는지에 대한 약속
용어설명
Caller(호출자) - 함수를 호출한 쪽
Callee(피호출자) - 호출을 당하는 함수
cdecl
- 주로 C언어에서 사용되는 방식이며, Caller에서 스택을 정리한다
- C언어의 printf() 함수와 같이 가변 길이 파라미터를 전달할 수 있다는 것이 장점이다
stdcall
- Win32 API에서 사용되며, Callee에서 스택을 정리한다
- Callee내부에 스택 정리 코드가 존재하므로 함수를 호출할 때마다 "ADD ESP, XXX" 명령을 써줘야 하는 cdecl 방식에 비해 코드가 작아진는 장점이 있다
fastcall
- stdcall방식과 같으나, 함수에 전달하는 파라미터 일부(2개까지)를 스택 메모리가 아닌 레지스터를 이용해 전달한다
- 어떤 함수의 파라미터가 4개라면, 앞의 두 개는 ECX, EDX 파라미터를 이용해 전달한다
- 빠른 함수 호출이 가능하다
- ECX, EDX에 중요한 값이 저장되어 있으면 백업해 놓아야 한다.
'리버싱 > 리버싱핵심원리' 카테고리의 다른 글
PE File Format(EAT) (0) | 2019.12.01 |
---|---|
PE File Format(IAT) (0) | 2019.11.29 |
PE File Format(Dos Header ~ Optional Header) (0) | 2019.08.26 |
3, 4장 요약(바이트 오더링, IA-32 Register) (0) | 2019.08.24 |
1, 2장 요약 (0) | 2019.08.24 |