13 Security Lab

Windows 핸들의 이해 본문

Computer Science/Windows Externals

Windows 핸들의 이해

Maj0r Tom 2014. 4. 15. 23:17

간단한 윈도우즈 핸들의 이해


응용프로그램을 사용하고 제어함에 있어서 윈도우즈는 핸들이라는 개념을 사용하는데, 단순한 응용프로그램에 대한 제어를 포함하여, 윈도우즈와 통신하기 위해 핸들을 사용한다.


핸들은 '티켓'이라고 생각하면 쉬운데, User가 커널을 제어할 수 없기 때문에 커널에 "나는 누구이고, ~를 하겠다"는 이미 약속된 티켓을 갖고있다가 API 호출시 그 티켓과 함께 파라미터를 함께 넘김으로서  커널로 부터 원하는 수행결과를 얻을 수 있는 것이다.


 




+ 핸들을 얻는 함수가 다르면 그 핸들의 성격도 다르므로 혼용해서는 안된다.

(e.g. CreateFile()로 부터 얻는 파일핸들과 fopen()으로 얻는 파일 핸들이 다른데, CreateFile()과 한 세트인 파일 입출력 관련 Winapi 함수를 fopen()으로 얻은 핸들로 사용해서는 안됨)









Comments