일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 시스템해킹
- C언어
- kernel
- 컴퓨터구조
- 시스템프로그래밍
- 리눅스
- px4
- 프로그래밍
- 드론
- Pwnable.kr
- pwncollege
- 시스템 프로그래밍
- 워게임
- radare2
- css
- Bandit
- 시스템
- 리눅스 커널
- wargame
- 리눅스커널
- pwn.college
- 취약점
- 시그널
- 리버싱
- Leviathan
- write up
- 커널
- 알고리즘
- 어셈블리어
- C++
Archives
- Today
- Total
Computer Security
#7 저수준 파일 열기/닫기, 스트림 포지션 (실습) 본문
반응형
실습1
low level API 를 이용해 파일을 열고, 간단한 데이터를 써보자.
1. 기본적인 뼈대를 잡아준다.
2.파일을 생성하고 그 안에 데이터를 써놓는 코드를 작성하자.
1. open API를 사용하기 위해선 아래를 추가 해줘야 한다. 추가해주자.
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
2. open("datafile", O_WRONLY | O_CREAT, 0644);
O_WRONLY : 쓰기권한
O_CREAT : 없으면 만들기
0644 : 권한 설정
파일을 생성하면서, 열고,쓰기권한이 있게끔 만든다.
3. dprintf() 함수를 이용해서 파일에 적어준다.
3. 전체적으로 완성된 코드이다.
4. gcc 명령어로 컴파일 해준다.
5. ./open 을 입력하고, ls -al 명령어로 확인해보자.
위에 만들어진 datafile을 살펴보면 권한이 아까 내가 설정 해놓은 644 ( rw, r , r)권한으로 된 것을 알 수 있다!
6. cat datafile 명령어를 이용해 내용이 잘 입력됐는지 확인 해주자.
실습2
파일이있는경우 파일 사이즈를0으로 만드는 trunc플래그를 테스트해보자.
1. 위에 만들었던 소스코드에 아래의 trunc_file 함수를 추가해준다.
2. 완성된 전체 소스코드이다.
3. gcc 명령어를 이용해 컴파일 한후, cat datafile로 읽어보자.
정상적으로 그 전에 썼던 것이 사라지고, byebye file만 출력된 것을 알 수 있다.
실습 3
append 를 이용해 내용을 추가해보자.
1. 위에 만들었던 소스코드에 아래의 append_file 함수를 추가해준다.
기존에 만들었던 파일에 쓸 것이기 때문에, O_CREAT나, 권한설정이 필요가 없다.
2. 완성된 소스코드이다.
3. gcc 명령어를 이용해 컴파일 한후, cat datafile로 읽어보자.
정상적으로 byebye file 뒤에 추가 된 것을 알 수 있다.
반응형
'리눅스 시스템 프로그래밍' 카테고리의 다른 글
#9 저수준 파일 문자/문자열 읽고 쓰기 (실습) (0) | 2022.09.14 |
---|---|
#8 저수준 파일 문자/문자열 읽고 쓰기 (2) | 2022.09.13 |
#6 저수준 파일 열기/닫기, 스트림 포지션 (0) | 2022.09.11 |
#5 파일 읽고 쓰기 (실습) (0) | 2022.09.10 |
#4 파일 읽고 쓰기 (0) | 2022.09.09 |
Comments