프로그래밍/Win32 Deep Inside

Kernel Object Handle의 정보(Type, Name) 구하기

초록생선 2009. 9. 29. 09:02
SysinternalsProcess Explorer를 실행하면, 임의의 Kernel Object Handle의 Type과 Name을
다음과 같이 알려줍니다.



Win32 API에서는 이러한 정보를 구하는 방법을 제공하고 있지 않습니다. Windows Native API를 사용해야
해당 정보를 구할 수 있습니다. (ntdll.dll::ZwQueryObject(...))

백문이 불여일견.
해당 정보를 리턴하는 다음 코드를 공유합니다.
(코드가 좀 길어 보여서... "view plain"으로 보시면 수월할 겁니다.)

자료구조를 포함하는 헤더 파일입니다.


Kernel Object Handle의 Type을 구하는 함수입니다.


Kernel Object Handle의 Name을 구하는 함수입니다.


위 두개의 함수를 이용하면, Process Explorer에서 나열해준 정보 (Type, Name)을 구할 수 있습니다.