main() 호출과정 :: Hide

main() 호출과정

Posted by Hide­
2015.10.05 01:07 Security/System

1. fork()를 통해 process 복사

2. execve() system call -> sys_execve() 호출 (User mode -> Kernel mode)

3. do_execve() 동작 

4. open_exec()로 file 정보를 읽어 적합한 binary handler 호출

5. flush_old_exec()가 기존 프로세스 정보를 삭제하고 현재의 프로세스를 "current"로 설정함

6. 새로운 프로세스에 사용할 Memory Layout 설정

7. 동적링커를 로딩하여 elf포맷이면 load_elf_interp()가 동작하여 /lib/ld_linux.so.2를 로딩

8. start_thread()로 elf_interpreter 실행

9. sys_execve() 종료 (Kernel mode -> User mode)

10. _start에 의해 main() 호출



다른 사람들이 많이 읽은 글

'Security > System' 카테고리의 다른 글

64bit 인자전달 순서  (0) 2016.08.13
바이너리 실행권한 확인  (2) 2016.04.21
main() 호출과정  (0) 2015.10.05
리눅스 보호기법 확인  (2) 2015.02.26
Stripped 된 바이너리의 Symbol 정보찾는법  (0) 2015.02.21
Stack, Prologue, Leave, Ret  (0) 2014.05.13
이 댓글을 비밀 댓글로

티스토리 툴바