일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 최강욱
- 픽크루
- 제넥신
- 고민정
- 미국 금리인하
- 은혜의 강 교회
- 스콜피온킹
- 김영권 아내
- 뭉쳐야 찬다
- 성남은혜의강교회
- 홍혜걸
- 김영권
- 이상형 만들기
- 불가피
- 폰폰테스트
- 킹덤 고근희
- 리리남매
- 김재석
- 유튜버 김재석
- 조희연
- libtins
- 이태원 클라쓰 15회 예고
- 양적완화
- 금리인하
- 임영규
- 이지혜
- 학교 개학 연기 4월
- 해킹
- 성남 코로나 확진자
- 스페인 코로나
- Today
- Total
Dork's port
FTZ Level10 Write-up(FTZ Level10 풀이) 본문
문제 10번 시작합니다!
힌트를 보니 공유메모리를 이용해 대화를 나누고 있다고하는군요!
이번 문제는 구글 검색 능력과 약간의 C능력만 있으면 풀 수 있는 문제인 것 같습니다!
먼저 공유메모리에 대한 설명을 보시죠!
shmget() 함수는 공유 메모리를 생성합니다.
공유 메모리는 단어 뜻에서 알 수 있듯이 하나의 프로세스에서가 아니라 여러 프로세스가 함께 사용하는 메모리를 말합니다. 이 공유 메모리를 이용하면 프로세스끼리 통신을 할 수 있으며, 같은 데이터를 공유할 수 있습니다.
이렇게 같은 메모리 영역을 공유하기 위해서는 공유 메모리를 생성한 후에 프로세스의 자신의 영역에 첨부를 한 후에 마치 자신의 메모리를 사용하듯 사용합니다.
즉, 공유 메모리를 사용하기 위해서는 공유 메모리를 생성한 후에, 이 메모리가 필요한 프로세스는 필요할 때 마다 자신의 프로세스에 첨부를 한 후에 다른 메모리를 사용하듯 사용하면 되겠습니다.
설명 및 이미지 출처 : http://forum.falinux.com/zbxe/index.php?mid=C_LIB&document_srl=423456
그럼 공유메모리를 읽는 코드를 작성해보도록 하겠습니다! 가장 중요한건 특정한 Key 값인데 친절히 hint에서 제공해주고 있군요!
아래와 같이 간단하게 짤 수 있습니다!
소스코드는 이미지 출저에서 제공하는 소스를 제 코딩 스타일에 맞게 조금 변형하였습니다!
소스를 간단히 살펴보면 키값과 사이즈로 id값을 만들고 id값으로 해당 주소를 얻어와서 해당 주소를 문자열로 출력해주는 간단한 소스코드 같네요!
그래서 이걸 컴파일 하고 실행해보도록 하겠습니다!
$ gcc -o shareMem shareMem.c
실행시키면 패스워드를 친절히 구타가 알려주네요!
그럼 역시나 다음문제로 고고싱!
'Hackerschool FTZ Write-up' 카테고리의 다른 글
FTZ Level12 Write-up(FTZ Level12 풀이) (1) | 2018.03.24 |
---|---|
FTZ Level11 Write-up(FTZ Level11 풀이) (0) | 2018.03.24 |
FTZ Level9 Write-up(FTZ Level9 풀이) (0) | 2018.03.23 |
FTZ Level8 Write-up(FTZ Level8 풀이) (0) | 2018.03.22 |
FTZ Level7 Write-up(FTZ Level7 풀이) /bin/wrong.txt 내용 포함 (0) | 2018.03.22 |