출처 : http://ziscuffine.tistory.com/74
ZwQuerySystemInformation()
NTSTATUS ZwQuerySystemInformation(
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
IN OUT PVOID SystemInformation,
IN ULONG SystemInformationLength
OUT PULONG ReturnLength
);
IN, OUT, OPTIONAL은 아무 의미없는 #define으로, 인자가 입력인지, 출력인지, 그리고 사용하지 않으므로 NULL을 넣어도 되는가 등을 예기해주는 겁니다.
NTSTATUS : 윈도우 커널에서 제공하는 API들을 호출한 후 해당 결과값들을 체크하기 위해 DDK에서 제공하는 리턴값 형식 해당 API의 성공/실패 뿐만이 아니라 실패했으면 해당 실패의 원인등의 각종 정보가 미리 정해진 비트 포맷으로 제공 (SDK에서 사용하려면 LONG형을 typedef해야 합니다.)
ZwQuerySystemInformation() API는 실행 중인 모든 프로세스의 정보(구조체)를 연결 리스트 형태로 얻을 수 있음
이 연결 리스트를 조작하여, 해당 프로세스를 은폐 (탐지 가능한 것들을 다 없애버림으로써 은폐되는 효과)
'Reversing(리버싱 핵심 원리) > API 함수' 카테고리의 다른 글
WaitForSingleObject() 함수 (0) | 2018.09.04 |
---|