Thứ Bảy, 1 tháng 6, 2013

Ntdll.dll

Ntdll.dll là một thư viện hỗ trợ hệ thống đặc biệt chủ yếu cho việc sử dụng subsystem DLLs. Nó chứa hai kiểu functions:

  • dịch vụ hệ thống gửi stubs đến Windows excutive system services
  • Các hàm hỗ trợ nội bộ (internal support functions) được sử dụng bởi subsystems, subsystem DLLs, và các native images khác.
Nhóm đầu tiên của functions cung cấp interface đến Windows excutive system services mà có thể được gọi từ user mode. Có hơn 200 hàm giống như vậy, ví dụ như NtCreateFile, NtSetEvent, và các hàm khác nữa. Hầu hết tính năng của các hàm như trên đều có thể được sử dụng thông qua Windows API. (Tuy nhiên, một số lượng hàm không thể truy nhập thông qua API, và chúng được sử dụng bên trong hệ điều hành)

Đối với những hàm kể trên (có thể truy nhập trong qua API), Ntdll chứa một entry point cùng tên với hàm đó. Code bên trong function chứa các lệnh đặc trưng kiến trúc để tạo ra một sự chuyển đổi vào trong kernel mode để yêu cầu dịch vụ điều vận hệ thống (system service dispatcher), dịch vụ điều vận này sau đó xác minh một vài tham số, gọi dịch vụ hệ thông thực sự trong kernel-mode chứa những mã thực (real code) bên trong Ntoskrnl.exe.

Ntdll còn chứa nhiều hàm hỗ trợ khác, ví dụ như image loader (functions bắt đầu với Ldr), heap manager, và Windows subsystem process communication functions (functions bắt đầu với Csr), cũng như là run-time library routines (functions bắt đầu với Rtl). Nó còn chứa user-mode asynchronous procedure call (APC) dispatcher và exception dispatcher.

Không có nhận xét nào:

Đăng nhận xét