[- Disclaimer -]
아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
Process 고유 환경 변수 관련 함수
✦ Parent Process의 환경 변수 Table을 Child Process의 환경 변수에 복사
✧ SetEnvironmentVariable(Key, Value)
✧ GetEnvironmentVariable(Key, Value)
Process 간 통신
✦ OS에서 다른 Process의 메모리 간 접근은 보안 및 안전성 이유로 막아 놓음
✧ Process 간 통신 기법을 사용해야 함
→ 3가지 방식 존재
Mail Slot 방식의 IPC
✦ 파일 기반 처리
✦ 용도
✧ Connection
Receiver Process
✦ 우체통 주소 생성
✧ 단방향
→ Data 송신 불가능
#define SLOT_NAME _T("\\\\.\\mailslot\\mailbox") // 자기 자신 == .
int _tmain(int argc, LPTSTR argv[]) {
HANDLE hMailSlot; // Mail Slot Handle 생성
TCHAR messageBox[50];
hMailSlot = CreateMailslot(
SLOT_NAME; // Mail Slot명 (=우체통 주소)
0, // Mail Slot Buffer 크기. 0은 최대 허용치
MAILSLOT_WAIT_FOREVER, // ReadFile() 함수 특성
NULL);
ReadFile(
hMailSlot, // Mail Slot 지정
messageBox, // Data 수신 Buffer (=배열)
sizeof(TCHAR) * 50, // 읽어 들인 최대 Data 크기
&bytesRead, // 읽어 들인 Data 크기 확인
NULL);
CloseHandle(hMailSlot); // Kernel Object 소멸을 위한 UC -1
}
Plain Text
복사
Sender Process
✦ 우체통 주소를 알고 글 전송
✦ 중복 우체통 주소 가능
✦ 한 번의 Sender로 Broadcast 가능
✦ 단방향
✧ Data 수신 불가능



