반응형


이전글에 연속으로 글을 써본다.

1. 서비스에서 CreateProcessAsUser 로 프로세스 A 를 실행 시키면 A 프로세스는 관리자 권한이라는
높은 권한으로 프로세스가 실행이 된다.


이때 다른 B 프로세스에서 A 프로세스로 SendMessage 등의 IPC 통신을 시도 하게 되면 Access Denied 가 발생한다.
이는 권한이 약한 B 프로세스가 권한이 높은 A 프로세스에게 메시지 전달을 할수 없기 때문에 발생한다.
(권한 때문에 막혔기 때문)


이때는 권한이 높은 B 프로세스에 ChangeWindowMessageFilter 를 이용하여 특정 메시지를 받도록
승인 처리를 해주어야 한다.


예를 들어 WM_COPYDATA 를 받기를 원한다면
ChangeWindowMessageFilter(WM_COPYDATA,1);


이렇게 해주면 된다.


쉽죠잉~~~ ^^


반응형

+ Recent posts