< 소프트웨어 인터럽트 0x2E에 의한 커널모드 진입방식 >

사용자 삽입 이미지

- 각 native 함수별 서비스 번호를 EAX 레지스터에 넣어 주고, EDX 레지스터에는 스택 프레임

  의 포인터를 저장시켜 놓은 후, 소프트웨어 인터러브 0x2E를 호출한다.


- Windbg에서 "!idt" 명령을 사용하면 모든 인터럽트 디스크립터 테이블을 보여 주는데, 인터럽

  트 0x2E의 경우 ntoskrnl 모둘에 있는 KiSystemService()라는 루틴을 호출하는 것을 알 수 있다.

 

  * KiSystemService() : Application으로부터 입력받은 EAX의 서비스 번호를 참조하여 User  

    Level에서 호출한 함수와 매핑되는 Kernel Level의 함수를 호출해 주는 역할을 한다.

+ Recent posts