Apelarea funcțiilor sistemului în Windows

Deci, pentru a apela funcția în mod direct, fără a utiliza Ntdll.dll ar trebui să îndeplinească următoarele etape:

De exemplu, ZwOpenKey de apel, având următorul prototip:

Cheia publică trebuie să fie închisă folosind ZwClose următorul prototip:

Luați în considerare codul de funcție care deschide cheia HKEY_LOCAL_MACHINE \ Software, și închide-l. Rețineți că numele cheii, care este necesară pentru a transfera funcții scrise în spațiul nucleu de nume, adică, "\ Registrul \ UTILAJ \ Software":

Verificați la numărul de funcții pentru sistemul folosind următoarea funcție:

Apoi, se determină dacă sistemul de operare poate utiliza această funcție:

În plus, această tehnică poate fi utilizată pentru dezvoltarea de software și de a oferi o mare plăcere pentru hackeri, depana programul :). Pentru a face mai ușor de a apela funcțiile de la Ntdll.dll, declară următoarele tipuri de date, funcții, macro-uri:

pot fi programate cu ajutorul funcției macro-uri noi numim după cum urmează:

Un exemplu de utilizare a funcțiilor. De exemplu, lista de registru cheie HKEY_LOCAL_MACHINE \ Software plug-in:

În general vorbind, funcționalitatea funcțiilor API nativ ar trebui să fie suficient pentru tot ceea ce este conectat cu sistemul, deoarece Toate API documentat folosește API nativ.

Atunci când se utilizează această tehnică în dezvoltarea de software reduce semnificativ viteza de dezvoltare, dar avantajele tehnologice sunt evidente: dificultatea de depanare binar de by-pass hacker funcții de interceptare UserMode.

Codul sursă, codul din acest articol: sdttest.c