NtQueryInformationProcess, ZwQueryInformationProcess - ProcessDebugPort
참고URL : https://docs.microsoft.com/en-us/windows/desktop/procthread/zwqueryinformationprocess
NtQueryInformationProcess는 ZwQueryInformationProcess의 wrapper 함수이다.
[ ZwQueryInformationProcess 함수 ]
[Syntax]
ProcessHandle
: 정보를 받기를 원하는 프로세스의 핸들
ProcessInformationClass [in]
: 받고자 하는 프로세스 정보 타입. (참고 URL을 보면 목록을 볼 수 있다.)
ProcessDebugPort (0x07)을 넘긴다.
ProcessInformation [out]
: ProcessInformation을 받아올 버퍼 주소
ProcessInformationLength [in]
: 받아올 정보의 길이
ReturnLength [out]
: 성공적으로 잘 받아왔다면 ProcessInformationLength와 값이 같고, 실패했다면 information을 받는데 필요한 최소 크기를 명시해줌.
[안티 디버깅]
1) 두번째 인자의 값을 문서화 되지 않은 값인 ProcessDebugPort(0x07)를 넘기면,
2) 함수 호출 후 3번째 인자 결과 값
[ 0xFFFFFFFF : 디버깅 중! / 0 : 디버깅 아니네? ]
[우회 방법]
3번째 인자를 메모리에 띄워놓고 함수 호출 후 0으로 바꿈.
'취약점 분석 > 안티 리버싱' 카테고리의 다른 글
CheckRemoteDebuggerPresent, 우회방법 (최신) (0) | 2019.02.27 |
---|---|
NtQueryInformationProcess - ProcessDebugObjectHandle 우회방법 (0) | 2019.02.27 |
NtQueryInformationProcess - NoDebugInherit 우회방법 (0) | 2019.02.27 |
안티 리버싱 - BP를 찾자. (0) | 2019.02.26 |
SeDebugPrivilege, 우회방법 (0) | 2019.02.26 |