ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Windows API
    windows system 2015. 5. 8. 17:11

    걍다 wiki자료들.ㅋ



    windows Library 

    https://ko.wikipedia.org/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC_%ED%8C%8C%EC%9D%BC



    KERNEL32.DLL

     메모리 관리, 입출력 명령, 프로세스와 스레드 생성, 그리고 동기화 함수들 같은 대부분의 Win32 베이스(base) API들을 응용 프로그램에 내보낸다. 대부분의 것들이 (NTDLL.DLL에 의해 내보내진) 상응하는 네이티브 API를 호출함으로써 KERNEL32.DLL의 내부에 구현되어 있다.[7]


    GDI32.DLL

    그래픽 장치 인터페이스(GDI) 함수들을 노출시키는데, 이것들은 디스플레이나 프린터에 출력되는 원시적인 드로잉 함수들을 수행하는 역할을 한다. 응용 프로그램들은 GDI 함수들을 낮은 수준의 드로잉을 위해 직접적으로 호출한다.[7][8]


    USER32.DLL

    윈도우 USER 구성 요소를 구현한다. 윈도우 구성 요소는 창이나 메뉴 같은 윈도우 사용자 인터페이스의 표준 요소들을 생성하고 다룬다. 그러므로 프로그램들에게 그래픽 사용자 인터페이스(GUI)를 구현할 수 있게 해준다. 프로그램들은 창 생성이나 관리, 그리고 창 메시지 받기 등을 수행하기 위해 윈도우 USER에서 함수들을 호출한다.

    GDI에 관한 많은 USER32.DLL 함수들은 GDI32.DLL에 의해 내보내진 것들이다. 어떤 종류의 프로그램들은 또한 GDI 함수들을 직접적으로 호출하여 낮은 수준의 드로잉을 수행하기도 한다.


    MSVCRT.DLL, MSVCPP.DLL, CRTDLL.DLL

    MSVCRT.DLL은 비주얼 C++ 버전 4.2부터 6.0까지의 마이크로소프트 비주얼 C 런타임 라이브러리(C++ 라이브러리로는 MSVCPP.DLL)이다. 이것은 이 버전의 비주얼 C++로 컴파일된 프로그램과 C C++ 프로그램이 요구하는 일반적인 라이브러리 함수 집합들을 제공한다




    windows native API

    ref.https://ko.wikipedia.org/wiki/%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C_API


    대부분의 네이티브 API 호출은 ntoskrnl.exe에서 구현되며, ntdll.dll에 의해서 사용자 모드로 노출된다. 

    어떤 경우에는 사용자 모드에서 직접적으로 ntdll.dll 내부의 네이티브 API가 호출되기도 한다.

    네이티브 API 호출은 SSDT를 통해서 커널에 의해 관리된다.


    함수 그룹으로 되어있음. 대표적으로 Nt, Rtl.

    Nt 또는 Zw는 ntdll.dll과 ntoskrnl.exe에서 선언된 시스템 호출이다. 사용자 모드의 ntdll.dll에서 호출되면, 이 그룹들은 다음과 같은 면에서 거의 같다. 커널 모드에 들어가서 SSDT를 통해 ntoskrnl.exe의 같은 의미를 가진 함수를 호출한다. ntoskrnl.exe에서 직접적으로 호출될 경우(커널 모드에서만 가능)에는 Zw는 Nt와 달리 커널 모드인 것을 보장한다. [1] Zw 접두사는 아무것도 의미하지 않는다. [2]



    Rtl은 ntdll 함수 중에서 두번째로 많은 그룹이다. 이것은 (확장된) C 런타임 라이브러리를 구성하고 있다. (확장된) C 런타임 라이브러리는 (커널 지원을 직접적으로 포함하지 않지만) 네이티브 응용 프로그램들에 쓰이는 많은 유틸리티 함수를 포함한다.



Designed by Tistory.