출처 : 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

+ Recent posts