windows kernel버전이 6이상이면 시스템 프로세스는 seession id가 0으로 셋팅되고 user seesion id가 1부터 시작하게 된다. 그리고 CreateRemoteThread() 에서는 session 0의 프로그램을 대상으로 한다면 오류를 내뱉게 된다. 이것을 우회하기 위해서는 NtCreateThreadEx()를 이용하면 된다.
p.s os 버전에 관한 정보는 GetVersionEx()함수를 이용하여 dwMajorVersion을 통해 커널 버전을 확인할 수 있다.
'윈도우' 카테고리의 다른 글
SEH 예외 처리 (0) | 2019.10.31 |
---|---|
TLS 콜백 함수 (0) | 2019.10.30 |
exe ASLR 특징 (0) | 2019.10.29 |
32 bit 와 64bit에 따른 cpu 종류 (0) | 2019.10.28 |
64bit 에서 32bit 파일, dll , 레지스트리 (0) | 2019.10.28 |