Native API

Native API (с главно М) - най-вече без документи Приложен програмен интерфейс (API), е предназначен за вътрешно ползване в семейството на Windows NT операционни системи. издаден от Microsoft [1]. Тя се използва главно по време на зареждане, когато други компоненти на Windows са на разположение, както и системните функции на библиотеката (например, kernel32.dll), които изпълняват функциите на API на Windows. Входната точка на програми, използващи Native API, е функция DriverEntry (), както и в драйверите на устройствата на Windows. В същото време, за разлика от програмите на водача с помощта на Native API, се извършват в третия пръстен защита. както и редовното приложение на Windows. Повечето от местните API повиквания изпълняват в ntoskrnl.exe. и достъпът до тях е осигурен от потребителя режим програми ntdll.dll. Някои индианци API повиквания се прилагат директно в режим на потребител на ntdll.dll.

Въпреки факта, че по-голямата част от операционната система Windows NT използва добре определени и документирани API Windows. Някои компоненти, като подсистема на времето за изпълнение клиент / сървър (CSRSS), използването на стандартното API, ако се движат в ранните етапи на процеса на стартиране на Windows NT. когато API функциите на Windows все още не е на разположение.

Някои злонамерен софтуер използва Native API, за да скрие присъствието си от антивирусен софтуер [2].

Native API включва доста голям брой функции. Тя включва стандартни библиотеки на функциите на C. като strlen (), sprintf () и етаж (). В същото време, тези чести разговори стандартната библиотека като изчистване (), ФОРМАТ (), scanf () липсват. Повечето от други функции Native API има две или три писмо префикс. Той се използва, по-специално, следните представки:

  • Nt или Zw - системни функции са обявени в ntdll.dll и ntoskrnl.exe. Когато те се наричат ​​от ntdll.dll за употреба режим, тези групи функции държат по същество по същия начин: те причиняват преход към ядрото режим и да причини еквивалентната функция на ntoskrnl.exe използване разклонения маса. Когато функциите се наричат ​​директно от ntoskrnl.exe, което е възможно само в режим на ядрото, варианти, започвайки Zw, изпълнение гаранция в режима на ядрото и изпълнения с никаква гаранция prefikom Nt [3]. Префикс Zw не декриптиране [4]
  • RTL - на второ място в броя на обажданията ntdll група. В него са включени функции, които правят по-добра работа на библиотеката на C по време на работа. Това много функции за комунални услуги, които могат да бъдат използвани от приложения Native API, които не са пряко свързани с достъп до базовата система.
  • Csr - клиент-сървър функции, се използват, за да си взаимодействат с процеса Win32 подсистема, csrss.exe (CSRSS е подсистема на клиент / сървър по време на работа).
  • DBG - Отстраняване на грешки поддържащи функции, като например софтуер точка на прекъсване.
  • Ki - изискуеми функции на режима на ядрото се използват, например, за насрочване асинхронен процедура повикване (АРС)
  • LDR - товарач функции за подпомагане на PE изпълним файл формат и да започнат нови процеси.
  • NLS - в подкрепа на различни естествени езици (подобно на кодови страници).
  • Pfx - за лечение на представки.

Gdi32.dll включва няколко функции, които правят прехода към режима на ядрото. Те не са били първоначално предвидено дизайнери на операционната система Windows NT и не са налични в Windows NT 3.5. Въпреки това, поради липса на изпълнение на компютърен хардуер NT 4 освобождаване се решава да се премести подсистемата за графика в режим на ядрото. В резултат на това системни функции се изпълняват в обсег 0x1000-0x1FFF Win32k.sys на (за разлика от 0-0x0FFF обсег обаждания, направени ntoskrnl.exe) и обявени в gdi32.dll. Тези характеристики представят GDI префикс.

Има няколко групи от функции, изнесени от ntoskrnl.exe, които могат да бъдат използвани само в режим на ядрото. Те могат да се разглеждат като част от Native API, или които не са включени в него, в зависимост от гледната точка на източника на (както Native API е напълно документирана официално, няма окончателен отговор). Такива групи включват Як (кеш контролер), Ex (Windows Изпълнителният), FsRtl (призовава по време на работа файлови системи), Йо (IO Manager), Ke (основна функция на ядрото), Ks (ядрото конци), Lpc (градски разговор процедури), Lsa (сървърът проверява местната удостоверяване на сигурността), Мм (управление на паметта), Об (обект за управление), Пс (управление на процесите), Se (безопасност), Po (управление на захранването) и други [5] [6] [ 7] [8] [9] [4].