| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- write up
- radare2
- 시그널
- Pwnable.kr
- wargame
- pwncollege
- 시스템 프로그래밍
- px4
- 시스템
- css
- C++
- 드론
- 워게임
- 리눅스커널
- pwn.college
- 리버싱
- 시스템프로그래밍
- kernel
- 커널
- 어셈블리어
- Bandit
- Leviathan
- 취약점
- 프로그래밍
- 리눅스 커널
- 리눅스
- 알고리즘
- 시스템해킹
- C언어
- 컴퓨터구조
- Today
- Total
목록exec (2)
Computer Security
fork를 한 이후에 exec을 통해서 외부에 다른 프로그램을 실행하고 child process가 종료되면 종료코드를 작성해보자. 1. 이전에 작성했던 fork.c 를 exec.c 로 카피해주자. 2. child process인경우 execl() 명령어를 통해 다른 명령을 실행해보자. int execl(const char *path, const char *arg, .../* (char *) NULL */); ls 명령은 /bin/ls 에 있다. execl을 이용해서 ls를 출력해보자. i) path : "/bin/ls" ii) const char *arg : "ls", "-al" iii) NULL iv) 예외처리 해준다. 3. wait() API를 이용해서 child process가 종료될때까지 기다리자..
프로세스를 fork한 이후, 새로운 프로그램을 실행시키는 exec계열의 API와 프로세스를 생성한 이후에 child process가 종료될 때, parent process에서 child process를 처리할 수 있는 API를 알아보자. 1. 하나의 프로세스(parent process)가 fork 하면 child process가 생긴다.(parent process 랑 동일한내용복제) 2. exec() API를 호출하게 되면 원래는 parent process와 동일한 코드나 데이터를 가지고 있었는데, 내용이 전부 없어지고 새로운 내용으로 채워진다. exec APIs int execl(const char *path, const char *arg, .../* (char *) NULL */); int execl..