일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시스템해킹
- kernel
- radare2
- 시그널
- css
- pwn.college
- 리눅스커널
- 시스템 프로그래밍
- 컴퓨터구조
- 시스템
- 어셈블리어
- C++
- 취약점
- C언어
- Pwnable.kr
- 시스템프로그래밍
- write up
- Leviathan
- 리버싱
- 프로그래밍
- 리눅스 커널
- 드론
- 리눅스
- 워게임
- pwncollege
- 커널
- 알고리즘
- wargame
- Bandit
- px4
- Today
- Total
목록정보보안 (179)
Computer Security
프로세스를 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..
fork API를 사용해보자. 1. 기본 뼈대를 작성한다. 2. fork API를 사용해보자. #include #include pid_t fork(void); 파라미터 - 없음 반환 값 - 성공 시 - parent process : Child process의 PID - child process : 0 - 실패 시 - parent process : -1 - child process : 생성되지 않음 과정 i) pid_t pid; child pid를 받아올 변수를 선언한다. ii) pid = fork() ; 복제를한다. 3. 간단한 함수를 하나 만들고, fork가 된 이후 호출해서 같은 text가 실행될 수 있는지 알아보자. 4. fork를 예외처리 해주고, test_func을 호출해준다. i) pid = ..
Program 실행 가능한 코드, 바이너리, 파일로 저장 Process 실행 중인 프로그램 프로그램 이미지,메모리 인스턴스, 커널 리소스 등의 정보 Thread 프로세스 내의 실행 단위 가상화 된 프로세서, 스택, 레지스터, 명령어 포인터 등 프로세서의 상태 포함한다. 프로세스 내의 모든 쓰레드는 같은 주소 공간을 공유 Process in memory text : compile 된 프로그램 코드 data : 전역 변수 등 heap : 동적 메모리 영역 stack : 함수 지역 변수, 함수 호출/리턴 Single-thread vs Multi-thread Muti-thread 하나의 thread가 registers와 stack을 따로 가지고 있다. code , data, files 같이 공유한다. Proce..
epoll API를 이용해서 inotify fd 와 stdin fd에 대해서 read 이벤트를 감시하고있다가 이벤트가 발생하면 해당 fd에 가서 정보를 읽어오자. 1. 이전에 작성했던 select.c 파일을 epoll.c로 카피한다. 아래는 select.c 코드이다. 2. select 부분을 삭제해주고 int epfd 선언 후 epoll_create를 이용해서 instance를 생성한 뒤, 예외처리 해준다. #include int epoll_create(int size); int epoll_create1(int flags); 3. struct epoll_event ep_event 선언 후, epoll_ctl API를 통해서 감시를 원하는 fd를 설정 해준다. int epoll_ctl(int epfd, i..