10.5(금) 이론-함수호출 과정

from Study/System 2007/10/13 17:37 view 21219
1. 함수의 원리
  - USER 레벨
    1) exe 에서 CreateFile() 호출(kernel32.dll 에 있음 - 시스템함수)
    2) kernel32.dll 에서 내부적으로 NtCreateFile 호출( ntdll.dll 에 있음 )
    3) ntdll.dll 에서 기계어 코드를 수행한다.
mov    eax  서비스번호 5
mov    edx  스택주소
Int      2E        // 2E핸들러는 인터럽트를 사용하여 kernel 모드로 온다. eax를 확인하여 함수 호출

  - 보호모드 , 특권 레벨
    1) ZWCreateFile -> OS가 제공해주는 함수를 수행한다.
    2) SSDT ( System Service Dispatch Table )   정리 잘해 놓은 문서~
서비스 번호 함수 포인터
1  
2  
3  
4  
5 ZWCreateFile

  - Windows에서 파일을 열기 위해선 CreateFile을 호출해야 한다.
    1) SSDT Hooking 을 이용하여 이러한 함수의 호출을 막게 된다면 파일을 생성을 막을 수 있다.
    2) Native API는 도움말을 제공하지 않는다. !  포함헤더와 사용법은 다른 자료들을 참고!
    3) 디바이스 드라이버를 만들어야 SSDT를 후킹하여 접근할 수 있다.
    4) 프로세스 열거와 같은 기능은 Native까지 내려가야 한다.( 자세한 정보 표현 )

Tag |

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다