본문 바로가기

[Rookiss] brain fuck - 150pt 보호되어 있는 글입니다. 더보기
2016년 1월 10일 일요일 오늘은 OS를 조금 공부하고 pwnable.kr crypto1문제를 풀었다. 운영체제에서 사용하는 메모리 관리 기법에 대해서 저번부터 보던 것을 다시 봤는데 여전히 어렵다. 그래도 볼 때마다 조금씩 더 이해가 되는 것 같아서 다행인 것 같다. 빨리 다 익히고 자료를 만들어야겠다. 그리고 pwnable.kr의 crypto1문제를 풀었다. AES암호화랑 암호화 모드에 대해서 다시 한 번 알아보고 공부할 수 있는 계기가 되었다. 조금 어렵긴 했는데 AES의 특성을 이용해서 풀 수 있었다. 머리에서 잊혀져 가던 AES를 다시 되새길 수 있어서 좋았다. 내일은 echo2를 풀고 OS자료를 만들어야겠다. 더보기
프로세스 끼리의 통신 - pipe() 파이프는 프로세스끼리의 통신(IPC)를 할 때 사용되는 방법 중 하나입니다. pipe()로 생성하는 파이프는 프로세스 내에 생성되는 것이 아닌 커널에 생성되며 파이프를 사용할 수 있는 파일 디스크립터만 프로세스에게 주어지게 됩니다. 그러므로 하나의 프로세스가 파이프를 생성하고, 그 파이프의 파일 디스크립터를 사용하여 프로세스간 통신을 할 수 있게 됩니다. 여기서 생성된 파이프에서 신경써야 할 것은 바로 파이프의 입출력 방향이 이미 결정되어 있다는 것입니다. 따라서 파이프를 생성하면 이를 이용할 수 있는 2개의 파일 디스크립터가 만들어지게 됩니다. pipe함수의 원형은 int pipe(int fd[2]) 입니다. 인자로 들어오는 두 개의 파일 디스크립터 중 fd[0]은 파이프의 읽기 전용 파일 디스크립터이.. 더보기